So I'm trying to solve the clock challenge. Using ØHḟp” (trailing space) I can create what I think is the map to replace everything but the input into a space (input in hex for now).
But I can't get it to act as a map, see here (as a nilad for first experiments).
If If just take the output from ØHḟp” as a string literal it does work, but not if I use it as a niladic chain.
make a string just with the * and O and the rest spaces, then place the other * in at a location by looking it's index up in a list formed from a base conversion of a number using the base-250 compression form.
It tells the parser that stuff to the left is of the form nilad + some link(s) (+possible last nilad). It does not do anything specific to the right hand side, other than that direct effect.
found a two byte save using some of my own contributions...
yeah, so the code could end with a nilad too (since you dont need it for a single nilad on it's own and it's useful to be able to end with one, a simple example might be that you want the string "123456 " within your chain, and you know you can join a space onto the end of the list [1,2,3,4,5,6] to do so, so you want to do 6R;⁶ but you want that all as one nilad...
so you add the ¤ to instruct the parser that's what you want - it goes left to the next nilad, but ignores the ⁶, since if you just want a space you dont need the ¤.
if you have two nilads in the piece of code you may need to use two ¤, but then it might be cheaper (or the same and more readable) to use ¢.
Jelly, 12 bytes
L!_UÆ¡$œ?J’U
Try it online!
Explanation
We can basically see the two lists (the input and the output) as encoding an integer; the input encodes an integer in factorial base, and the output encodes an integer as a permutation. Luckily, Jelly has builtins that are already very ...