Computer Science Canada

4dl

Author:  mirhagk [ Tue Nov 02, 2010 2:13 pm ]
Post subject:  4dl

I found this link while searching through old posts.
http://www.cliff.biffle.org/esoterica/4dl.html
It's a very interesting concept, although vastly unneccasary it does challenge one to thing beyond three dimensions. I would like to actually try to implement a program like this for fun... well what passes for fun for me lol.

K first I don't get the character movements... like what does that do... and second is there any advantage?

Maybe Ill make a 2D version.

Can someone help me?

Author:  TerranceN [ Tue Nov 02, 2010 3:01 pm ]
Post subject:  RE:4dl

Pretty much execution can move in a certain direction (by default x+), when it hits a command it executes the command then continues in the direction that is set. If it hits something thats not a command, it is ignored. I guess its up to the programmer to make sure it does not go off the grid.

The way the hello world worked was a 0 was added to the stack so you could tell when its empty later on. Then "!dlroW ,olleH" was added to the stack one character at a time (so when you popped letters off later they would be in order), then the stack was printed one by one until it found a 0, then the program ended.

I just don't understand how it was printed, as I didn't see a '.' which pops the top character off the stack and prints it. Perhaps he meant '.' instead of '2'?

I don't see any advantage right away, but I'm sure someone could come up with a use for it.

I would try 2d first, at least you can visualize it if you're confused.

Author:  mirhagk [ Tue Nov 02, 2010 9:02 pm ]
Post subject:  RE:4dl

Oh my goodness, thank you so much, I didn't understand what they meant by "Pushes the character adjacent along X-. " or w/e. And yes I think your correct in assuming it's a . not a 2.

Okay, well my first step will be doing it in 2 dimensions, then I will crank it up to 3, then 4. (maybe 5, lol jk).

And a 2 dimensional one could be useful for if the program branches into 2 paths, it'd be convenient to just switch paths rather than have 2 paths defined in 1 dimension. (ie no jump command, just move to start of next column)

I couldn't find any sort of complier/interpreter so Ill just make my own, should be pretty easy.


: