last day (16 days later) » 

16:53
Hi
Z is documented but not very well I guess - at the very bottom in the ~Z section it says what it's predefined to
I'll add it so it turns up in the rest of the instructions
hi
It's documented down there, but I don't understand why it would imply a ~ there
Ok
in my last commit I broke all the examples
I'll roll that back
Could you reload the page? I think the examples are back
Yep, they're working now
@Score_Under I set it so that all generic variables that don't actually do anything don't show up in the table of chars
So anything that isn't in the list of opcodes does imply a ~?
17:03
Anything that isn't in the list of opcodes either means it doesn't exist or is hidden deliberately
@Score_Under Yes
The * in that code multiply Z (first time round) by oeX
Each time it repeats in V it multiplies the previous output by oeX instead
Also see some meta posts on Pyke
3
A: Advocate languages to golf in

muddyfishPyke Pyke like most first golfing languages is stack based. It uses a multi-type system combined with attributes of the stack to decide which functions to call and what the output should be like. Pyke has lots of features to help with code-golf. It's tree-like structure makes Pyke to be among th...

2
A: What programming languages have been created by PPCG users?

muddyfishPyke Pyke is a stack based code golf language created by me, muddyfish, starting in February 2016. I decided to build it to test my knowledge of Python and how long it would take for me to get a basic golfing language. I got the language fully extendable in two days using a homebrew plugin syste...

17:20
as I understand it, mostly from the docs at the online "try it out" page:
from the warning given, if you pop the stack and the stack is empty, it will instead eval input. From the first answer you linked there I can see that this is cached and only takes input the first time it happens.
Then, something like this happens
h → push(pop() + 1)
Z → push(0)
R → a = pop(); b = pop(); push(a); push(b)
V → (according to the docs) count = pop(); while (count--) push(eval(pop()))
(or according to how it behaved in the interpreter earlier) count = pop(); item = pop(); while (count--) push(item);
in that second link you call the stack FIFO (which is a queue rather than a stack) but in the github documentation you call it FILO (which is a stack)
I didn't notice the site was down
Ill restart it
(It is FILO)
I'll edit the page
Site's back up and Ive edited that page
V pops the entire stack when entering and pushes the modified stack when leaving
I've added some test cases for repeat to the online docs
17:35
So it's something like: `count = pop(); while (count--) stack = map(eval, stack)` ?

Or, if not `map`, is there a special meaning to eval'ing a whole stack at once?
    stack = copy.deepcopy(list(stack))
    repeats = stack.pop()
    for i in range(repeats):
        stack = self.ast.run(list(stack))
    return stack
Literally the code for V
I feel like I'm missing something funamental when reading the 5V1 example
I'd expect that from 1 5V
but I don't know why it's allowed to look ahead
1 5V would repeat do_nothing 5 times and output 1 because the stack hasn't changed
hi @Adnan
Hello :)
When using a repeat (like V), is there a way to get the iteration number?
Like N in for N in range(...)
@Adnan No there isn't
17:38
Oh okay
I was thinking about doing it
You can simulate it by using o
if that's the only time you use it
`5V1` does
repeat 5 times:
push 1
I'm really wondering what the 5 byte solution is
Hmm, okay. I have an idea.
I came up with it before I came up with the OEIS thing
I looked up to see if it was a sequence
oooo will return [0,1,2,3] because the contents of o increments each time you call it
reading the docs again and comparing with that code, does "fixed params" mean something that comes after the opcode? (if that's right, how far does it consume until it the end of the parameter?)
@Score_Under That's correct
Is there another wording that would make it more obvious
@Score_Under For strings, until a closing ", for ASTs, until a ) and for numbers until a non-base10 number or decimal point
17:44
I think it just needs describing somewhere that's not in the table
@Score_Under Create something on github wiki or something?
If I'm honest I forgot that github had a wiki (a lot of projects host their docs in the repo)
that said I can't access the wiki on your project, it just silently redirects me away. Github being mysterious I guess.
@Score_Under How do I do that?
spoke too soon, it's back again
Playing around are you?
I actually used that in an answer
17:48
I don't understand what you mean
Oh it was probably @Adnan
Never gonna give you up
in The Nineteenth Byte, 2 hours ago, by Adnan
Hahaha, check this: http://pyke.catbus.co.uk/?code=Never+gonna+give+you+up&input=4
I haven't been in TNB yet today
You can do actual string manipulation with it
Never gonna give you upt -> ever gonna let you down
Hahahaha
It's actually a special case of the output being Never gonna let you down
so "Never gonna let you down does it too
17:53
So, it's like a constant
yeah
would be too hard to implement on the web side otherwise
like a boolean with rickroll the user?
not the worst idea in the world :P
actually that would be AMAZING for April Fools day
not so great for me who undoubtedly forgets
But yeah
Add more documentation on fixed_args
But yeah @Adnan you will have to think about it quite hard - the 5 byte version only has a couple of bytes in common
I don't think I'd be able to work it out and I know the language
What do you mean?
It's not intuitive (at least not to me)
18:03
Oh
You do know that the robbers only need to golf off 1 byte, right? :p
so just to make sure I have the right idea:
oe...oe could be replaced with o...~ot btw
push(pop() + 1)
push(0)
a = pop(); b = pop(); push(a); push(b);
count = pop(); while(count--) {
    push(counter++)
    push(pop() // 2)
    push(pop() ** 2)
    push(pop() * pop())
    push(counter++)
    push(pop() // 2)
    push(pop() + pop())
}
is that vaguely what's going on in your code
each line ≃ each character in the original
@Score_Under Yes I'm pretty sure it is
Hi @m654
Except push(counter++) returns what counter was before it incremented
Ugh my messages are timing out
Hi @muddyfish!
18:08
hi
So I'll be happy to respond to any language queries here and in any of my answers
> Except push(counter++) returns what counter was before it incremented

Yup, using C idioms here where that's what happens. It's also why some people avoid postfix-`++` in C. :D
@Score_Under I don't know C(++) but I've been meaning to learn for a while
18:26
I've added some more information about some of the nodes without any docs
(every node in the 5 byte solution is documented somewhat)
@User, hZRVoX*~ot+ is the equivalent you're looking for
found out how to save one byte :^) getting it down to five will be a little more interesting
@Score_Under that's actually really clever... I'll have to use that in the future
(I have a terminal up with what people are running to see how they think and how broken my docs are)
When I was talking about order of arguments earlier, it was things like this: https://0x0.st/BNQ.png
it uses "a" and "b", where "b" is the top of the stack and "a" is below it
it's the opposite to a lot of stack-based languages (and the opposite to a lot of real-world ABIs)
yeah that's a bit weird
More docs
6
A: Showcase your language one vote at a time

muddyfishPyke Factoid: Pyke is a stack-based golfing language with lots of implicit inputs. It was created to be easily extendable in February 2016. 1 byte: r Try it here! This is the shortest semi-infinite loop in Pyke (Pyke has a setting that breaks out of it early turned on by default). It is equ...

if you refresh the page some more of the docs will have filled in
Instead of doing o1- you can do ot
18:53
ah, I had an idea there would be something like that but I searched for "dec" and didn't find anything
would dec be better than sub_one?
Matter of opinion I guess but I'm more familiar with that. It's named like that in x86 asm at least, and the ++/-- operators in C are usually called (pre-/post-)increment and (pre-/post-)decrement.
I guess the other one's called add_one so
I think I will change it
I'll be back in ~1 hour for a bit
 
2 hours later…
21:19
To anyone looking for help - I'll be back tomorrow, took a bit longer than I expected

  last day (16 days later) »