Wow, this is very impressive- Very clean, Haskell-like code in the programming examples. I'm still looking for the right tool to get my young daughter started on programming, and this is probably the best option I've seen so far (gotta start 'em early with that Hindley-Milner type inference :-)<p>The main weaknesses I see are (1) the sample programs are all 20+ LOC long... a young child doesn't want to write more than ONE line of code without a meaningful result. (2) The syntax is so unforgiving... I think the ideal tool for learning programming would follow the mantra "do what I mean not what I say" and fill in gaps to generate a result (sort of like how web browsers will go to great lengths to render even the most flawed html.)<p>These are not really limitations in your software, just additional enhancements that could be added to your software that would really make it shine!
It's interesting to see that the drawing functions are defined using tupled parameters: <a href="https://github.com/google/codeworld/blob/master/codeworld-base/Internal/Picture.hs#L139" rel="nofollow">https://github.com/google/codeworld/blob/master/codeworld-ba...</a><p>Is this to make it easier for beginners?