A Clojure library that implements the Logo programming language
github.com
github.com
1. Yoko's talk at the recent Clojure/West about ClojureBridge curriculum (https://www.youtube.com/watch?v=fiIJuthOhnk) shows that the inflection point for difficulty for students happens around functions, especially higher-order-functions. That's exactly what REPEAT is in Logo, and kids handle that just fine. So maybe clojure-turtle can be used to smooth out the learning curve in Clojure curricula?
2. My talk at Clojure/West was about programming in Clojure in other languages, which could open up accessibility to programming to non-English speakers (https://www.youtube.com/watch?v=MqjMZNwnYCY). I think translating clojure-turtle shortens the first step to reaching a new human language -- the set of constructs you need to translate is much smaller and more tangible. If Logo works for kids, it should work for anyone. For those who have seen my talk, clojure-turtle is sort of my successor to clj-thamil (programming in other languages) in the sense that they can make programming and/or Clojure more accessible to much wider audiences.
3. Logo is used to teach kids programming, and it's fun! MIT's Scratch is based on Logo -- it's a visual version of it. UC-Berkeley uses a modified version of it for its intro CS 10 class, and code.org uses a version of it in its projects to teach kids programming. So we're teaching Lisp (Logo) to beginners because it's simple (and easy), but why is it that when they get older, Lisp/Clojure is all of a sudden hard and "weird"-looking? That ought to be a short gap to bridge, right?
4. clojure-turtle uses Quil because the ClojureBridge curriculum uses it for capstone / advanced concept material. But Quil is a great choice on its own merit. Since Quil shares a codebase between Clojure & ClojureScript code, it easily compiles to Java and JS, meaning we ought to be able to make a try-X.com website out of this, too.
Let me know if you have any other feedback, thoughts, etc. about the code or anything else.
I've had a good experience introducing DrRacket to early-elementary-aged kids; it's much more approachable than anything in Clojure-land.
Of course, for pre-typists you can't beat Scratch: http://scratch.mit.edu
I hope that something in Clojure can be made to be as effective as DrRacket has been for you.
If you really want just typing, there are a few LOGO implementation in browser, see http://logo.twentygototen.org/ http://www.calormen.com/jslogo/
if you want to use iPython, have you looked at http://mail.scipy.org/pipermail/ipython-dev/2014-April/01372... ?
ucbLogo https://www.cs.berkeley.edu/~bh/logo.html
or FMS Logo http://fmslogo.sourceforge.net/
...no IDE, but there is a REPL. As for resources you might like to investigate:
I ran into a problem though. I can run the commands in the REPL and I can see the new turtle position in the terminal, but there is no quil window with graphics. I can also run the example function, but I get "quil.Applet cannot be cast to clojure.lang.IFn".
What is the command you're running that gives you the error "quil.Applet cannot be cast to clojure.lang.IFn" ?
As for the second error - I was incorrectly trying to run the core.clj, so no problem there.
Thanks for the help! I had fun drawing circles :))