On Tue, Oct 2, 2012 at 3:23 PM, Conrad Parker <conrad@metadecks.org> wrote:
Nice, it builds and runs fine for me. Perhaps you could include a few more example commandlines to get started? Running without arguments (as the README.mkd suggests) just prints the help text.
Thanks for pointing that out! I've added an examples page at <https://github.com/lfairy/sylvia/wiki/Examples>
This is still in very early alpha, but it renders a fair number of combinators correctly. I plan to add animated reduction (once I figure out how to do it), and eventually develop this into a sandbox game of some sort. I'm hoping to get some comments and ideas on how I can take it from here.
I'd love to see a game which incrementally teaches reduction and expansion steps in the way that DragonBox [http://dragonboxapp.com/] teaches algebra. That would be a learning mode like Angry Birds, where new combinator birds are introduced every few levels and a small selection of useful birds are provided to help solve each level.
Interesting! I'll have a closer look at it when I have the time.
(Lambda calculus really should be a kids' game, grown-ups always make it seem more complex than it is).
That's exactly the point I'm trying to make :) Heck, lambda calculus is just as simple as natural numbers (if not simpler), yet people learn the former at university and the latter a few months after they're born. I think the difference is in the way they are taught. Want to teach someone about numbers? Here's one orange. Here's two oranges. And look -- put them together, and you get three. Want to teach someone lambda calculus? Give 'em a textbook, and an hour-long lecture about programming language theory. The result doesn't surprise me one bit.
Conrad.
On Tue, Oct 2, 2012 at 4:16 PM, Alistair Bayley <alistair@abayley.org> wrote:
Not sure if it's what you're after, but I was reminded of this (models untyped lambda calculus): http://worrydream.com/AlligatorEggs/
Thanks -- I've tried that before, and unfortunately it suffers the same problem I've had with many other visualizations. Because it uses colors to refer to variables, we end up with two problems: 1. Color blind people can't play it. 2. More subtly: colors -> absolute variable names -> lots of alpha conversion. Alligators eating each other is fun. Swapping alligators frantically to stop accidental capture is not. Chris