purescript-free-turtle
purescript-free-turtle copied to clipboard
A toy turtle graphics interpreter based on the Free monad, in PureScript, with HTML Canvas graphics support.
#+title: PureScript Free Turtle interpreter
A simple Turtle graphics system implemented using a ~Free~ monad, intended for educational purposes. It comes with an interpreter that translates programs in the Turtle language to HTML canvas graphics.
[[file:img/two-stars.png]]
#+BEGIN_SRC purescript main :: Effect Context2D main = CanvasInterpreter.render "turtleCanvas" do color Purple star
forward 40.0 left 100.0
color Red star
star = do penDown right 144.0 forward 100.0 right 144.0 forward 100.0 right 144.0 forward 100.0 right 144.0 forward 100.0 right 144.0 forward 100.0 penUp #+END_SRC
- Usage
In your shell, type:
: npm install : npm run build : npm run bundle
Then point your browser to [[./html/index.html]].