Hello all Some of you in the audience may have read Dave Keenan's paper, [To Dissect a Mockingbird][]. A subset of that may have wondered if it was possible to generate those pretty pictures programmatically. For that subset, I can answer to you -- yes, yes you can. [To Dissect a Mockingbird]: http://dkeenan.com/Lambda/ Sylvia is a lambda calculus visualizer. It takes in an expression in the untyped lambda calculus and spits out a pretty picture. 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. Obligatory links ---------------- Hackage: http://hackage.haskell.org/package/sylvia Source: https://github.com/lfairy/sylvia Documentation: https://github.com/lfairy/sylvia/wiki ----------------
On Wed, Sep 26, 2012 at 11:51 PM, Chris Wong <chrisyco+haskell-cafe@gmail.com> wrote:
Hello all
Some of you in the audience may have read Dave Keenan's paper, [To Dissect a Mockingbird][]. A subset of that may have wondered if it was possible to generate those pretty pictures programmatically. For that subset, I can answer to you -- yes, yes you can.
[To Dissect a Mockingbird]: http://dkeenan.com/Lambda/
Sylvia is a lambda calculus visualizer. It takes in an expression in the untyped lambda calculus and spits out a pretty picture.
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.
Obligatory links ----------------
Hackage: http://hackage.haskell.org/package/sylvia
Source: https://github.com/lfairy/sylvia
Documentation: https://github.com/lfairy/sylvia/wiki
----------------
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
This is actually a lot of fun, thanks for sharing! I am looking forward to the animated reductions. :) Cheers, Darren
Sylvia is a lambda calculus visualizer.
Such a thing is certainly nice to have. I use this one for teaching: http://joerg.endrullis.de/lambdaCalculator.html
On 27 September 2012 14:51, Chris Wong <chrisyco+haskell-cafe@gmail.com> wrote:
Hello all
Some of you in the audience may have read Dave Keenan's paper, [To Dissect a Mockingbird][]. A subset of that may have wondered if it was possible to generate those pretty pictures programmatically. For that subset, I can answer to you -- yes, yes you can.
[To Dissect a Mockingbird]: http://dkeenan.com/Lambda/
Sylvia is a lambda calculus visualizer. It takes in an expression in the untyped lambda calculus and spits out a pretty picture.
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.
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. (Lambda calculus really should be a kids' game, grown-ups always make it seem more complex than it is). Conrad.
On 2 October 2012 15:23, Conrad Parker <conrad@metadecks.org> wrote:
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.
(Lambda calculus really should be a kids' game, grown-ups always make it seem more complex than it is).
Not sure if it's what you're after, but I was reminded of this (models untyped lambda calculus): http://worrydream.com/AlligatorEggs/ Alistair
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
participants (5)
-
Alistair Bayley -
Chris Wong -
Conrad Parker -
Darren Grant -
Johannes Waldmann