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