Saturday, March 2, 2013

First Preview of New LOGO Language


Argh. So many half-written updates that I still haven't finished. For the moment, here's a sample of something pretty that I've been working on that just came alive today:

The above is not a mock-up, but a result of running the following chunk of Javascript:


lisp(
["meta",
{ en: "First LOGO Program" },
["do",
["import","logo"],
["to","square",["fn", ["length"], 
["pendown"],
["repeat",4, ["fn",[],
["forward",["length"]],
["right",90]
]],
["penup"]
]],
["canvas","drawing"],
["setpen",2,"red"],
["square",50],
["right",45],
["setpen",3,"black"],
["square",30]

]]
);

What you're seeing is:

  • A LISP-like language encoded in JSON
  • LOGO-like expression library which draws SVG content
  • An interpreter (written in Javascript but designed to be portable) which runs the code, generating the coloured squares.
  • An IDE 'editor' which pretty-formats the code for display, intended for use on a touch screen.
  • Everything running in the browser, client-side, in a sandbox.
Why? Long story. "Parametric content" is about the pithiest explanation I can give. (eg: animation!) And perhaps a little pining for the 80's thrown in. These are old ideas. But they were also considered "too far ahead of their time". I think it might be time.


No comments:

Post a Comment