4 ms·
Although it's not human-readable [1], the simplicity of the language makes it appealing for teaching courses on Turing machines. Sometimes the students get los
by sounds 15y ago
Although it's not human-readable [1], the simplicity of the language makes it appealing for teaching courses on Turing machines.
Sometimes the students get lost in all the tapes, read/write operations, and digits.
Ok, after a little more thought this might get them just as lost, but teaching beginner CS students from a functional foundation instead of a procedural one just seems appealing to me.
[1] v is defined as ```s``k``sii``s``s`ksk`k``siik
- Sniffnoy 15y agoNo, Unlambda is made to be deliberately perverse, using black-hole functions and call/cc. Lambda calculus or the calculus of combinators, the mathematical systems that Unlambda is a deliberately twisted version of, could be suitable; not Unlambda itself. (Maybe you could use Iota... that's (sort of) mathematically nice and kind of on the border... but you probably don't want to be so close to that border in the first place...)
- smosher 15y agoI keep seeing Unlambda (and co.) in literature here and there. It's sort of surprising to see an esolang show up in computer science theory. It's fitting at the same time. I was on the mailing list, and I can tell you the people who come up with these are incredibly brilliant—even when they're producing nonsense languages or incomprehensible ones with little if any research value, it's the product of a greater than average insight trying to construct a Dalí or an Escher in computational terms. (Needless to say, I wasn't one of the greats. I was mostly there to pester everyone and generally be a nuisance. I've learned a lot from that experience and you can probably tell I'm grateful for it. Most importantly, I'd learned to think differently, that there's always another computational model just outside of peripheral vision.)
- masklinn 15y ago> the simplicity of the language makes it appealing for teaching courses on Turing machines. I'm not sure. Untyped lambda calculus can be implemented on a universal turing machine and a UTF can be emulated through lambda calculus as they are equivalent, but they're not the same thing. So teaching untyped lambda calculus[0] would not help much with turing machines. And then, you're got the fact that unlambda removes lambda and uses combinators instead, making things even more perverse. [0] via e.g. Programming with Nothing http://experthuman.com/programming-with-nothing http://experthuman.com/programming-with-nothing