Talk:Splinter

A PDA to Splinter compiler
Very interesting work ais523 -- haven't yet had chance to run the program, but I'll try that once I get Perl installed and will also update the specs with this new info. I probably can upload your compiler, too? Funny to see the language gaining more computational power while my back was turned! :) The language was purposefully kept Turing-incomplete since it appeared to be so with its instruction set -- to keep the harmony nothing more was added to gain TCness, but it wasn't especially made to be finite-state automaton -- I only thought it was! It seems a program to increase memory ('stack') infinitely is possible afterall; I thought it wasn't, thus the finite-state machine classification (and also the fact I'm not an expert!). Great work! --Keymaker 19:32, 16 March 2008 (UTC)
 * My PDA to Splinter compiler is public-domain, although I forgot to state that explicitly, so uploading it is fine. I'm pretty sure it isn't TC, though, because the only place you can store an infinite amount of data is in the program, and that can only be accessed in a LIFO manner, which restricts languages to being push-down automata (Befunge-93 is non-TC for this reason; its only infinite data store is LIFO). I do like the language, though. (Incidentally, I've been wondering how many splinters are needed for PDAness; you can combine any number of splinters that you never change the value of into three (like I do with Z, A and B in the compiler), but I'm not yet sure if it's possible to do the same with splinters that you do assign to.) --ais523 09:59, 17 March 2008 (UTC)
 * I think the Z splinter is unnecessary (if what it does is to assign the first state. I never ran the compiler.) in your compiler. The same assign can be performed in the B splinter.
 * IIRC, the Z splinter held the information that couldn't be clobbered from one iteration to another. It holds /all/ the states; A and B are used as temporaries to extract an individual state from Z. So you can't store that information in B, or you'll clobber it the first time you run an instruction. 147.188.254.127

A quine in Splinter
A{B\\B\AB\\B\{B\BB\{B\\B\BB\\B\\B\}B\AB\\B\}B\BB\{B\}B\A}\A\{B{\B\\}A\}B{}A


 * Awesome! I didn't even notice this until now!! Now this is a pleasant surprise, I thought (seemingly not too brightly) that a quine couldn't be made in it. Now why didn't I think of this? Great work, nice to see someone taking enough interest in this language to make a clever program like this. I'll have to make a new interpreter to run it, the current one can't run this without crashing, due a bug I didn't notice before but see now. --Keymaker 16:36, 20 April 2009 (UTC)
 * I've updated the interpreter, it shouldn't crash on any program anymore. I also wrote a new version of my '99 bottles of beer' program because it had a weird bug I hadn't noticed in all this time -- until tonight. --Keymaker 21:15, 20 April 2009 (UTC)

A problem in the site
In the site, when I click on the links, the window is being blank. Why that happens? How I can see the programs?
 * The problem is probably related to your browser settings (the files are there and they're readable) -- .spl also happens to be the file extension of something Flash stuff. Try if you can save directly what the program links link ("Save linked content as..." in Opera, for example).

The shortest non-FSA program
A{AA}A

This is an infinite loop, that in every evaulating of A, the program is extending with one more A, so it cannot be with finite number of states. --84.228.80.158 13:40, 24 April 2009 (UTC)


 * Yes, it's known the language is a push-down automaton in which the program is capable of infinite increase in stack-like fashion. --Keymaker 09:58, 25 April 2009 (UTC)