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. |