5 ms·
Show HN: Toodle.Studio is an art playground with Lisp and turtles
- jpe90 4y agoHow can I not click on a link about lisp and turtles? What a cool project, thanks so much for putting it together.
- LiouA 4y ago[flagged]
- SamBam 4y agoVery cool! Logo + processing.js in Lisp. I love that all the demos are inspired by generative art.
- svetlyak40wt 4y agoActually it is written in Janet programming language.
- phanimahesh 4y agoJanet is a lisp, though.
- lispm 4y agoBut that does not mean that the code is compatible to Lisp. To mention that it is written in Lisp is mostly meaningless, since the wider Lisp family has 100 incompatible languages. Try to run it in Emacs Lisp. Thus it makes sense to mention in what actual programming language it is written in.
- smcl 4y agoSo I understand that in some contexts it's important to specify that, for example, you've written a library for "Common Lisp" rather than just "Lisp". Here the original commenter is clearly just happy they can use a lisp for this task, and they got a snippy and slightly pedantic response that likely thousands of HNers are now reading. So the top-level comment made me think "cool I should return to Lisp and hack something fun together" and the reply made me think "ah lispers can be tribal and petty towards newbies". It's fair enough if that's true - I don't know what value me individually doodling a few things can bring to a community overall.
- lispm 4y agoThere are literally zillions of programming language for that task. Give the actual language, here used, some credit, instead of trying to needlessly advertize Lisp.
- deleted 4y ago[deleted]
- throwanem 4y agoYou're being needlessly pedantic here - especially when, despite never having seen Janet before, I was immediately able to use it at a high level of fluency thanks to long prior experience with Elisp and CL. It's not wrong to say that something written in a Lisp is written "in Lisp". It's less than maximally precise, but people who are interested in Lisp will understand that "which Lisp?" is a question of import here. People who are not yet interested in Lisp, on the other hand, could well see this sort of pettifogging by someone clearly invested in it as a reason to avoid becoming more so. I think that'd be a shame, because learning to understand the concepts that underpin Lisps has informed my approach to my work, even in other languages, and just generally made me a better programmer; I think it's good for just about anyone to have that experience in some degree. So I think it's worth not representing the language family or the community around it in ways that make it less likely more people will decide to take an interest. Besides, Lisp can be a lot of fun! As indeed it is here. So, y'know. Maybe it's worth being less concerned over how people talk about it, and more glad they find it worth the time to talk about at all.
- lispm 4y agoYou're overgeneralizing your own experience. Janet claims to be a lisp-like language without lisp-like lists. > So I think it's worth not representing the language family or the community around it in ways that make it less likely more people will decide to take an interest. People are not dumb. Tell them what it is, not a marketing label.
- convolvatron 4y agoI wonder how inaccessible the functional/pure version would be
- throwanem 4y agoThis is delightful! Enough so that I'm contemplating building an Emacs with the Webkit widget integration, just so that I can play with it in a more comfortable Lisp environment. Thanks for brightening my Sunday evening!
- tincholio 4y agoWonderful!
- mbork_pl 4y ago# Your program will be compiled as you # type, but it will not start running # until you press cmd-enter or # ctrl-enter, depending on how much # your computer cost. How cute;-)...
- katspaugh 4y agoAwesome project! I'll steal some of the ideas for my lambda.quest if you don't mind :)
- culanuchachamim 4y agoIt's really cool. Sorry for the ignorance, but how you run Janet on the browser?
- ianthehenry 4y agoI don't think that's ignorance :) Embedding Janet in the browser is hard! My real motivation for making this website was to have a simple example to point to of how to do it. Short answer: Emscripten + WebAssembly. Long answer: https://github.com/ianthehenry/toodle.studio https://github.com/ianthehenry/toodle.studio Specifically I think these are the interesting bits: https://github.com/ianthehenry/toodle.studio/blob/master/build/wasm.js.do https://github.com/ianthehenry/toodle.studio/blob/master/bui... https://github.com/ianthehenry/toodle.studio/blob/master/src/driver.cpp https://github.com/ianthehenry/toodle.studio/blob/master/src...
- liamN 4y agoAwesome! Real throwback to my first programming class; using turtles to draw stuff in GIMP using Scheme.
- smcl 4y agoThat was your first programming class? That's actually a pretty amazing idea. I think many people's first exposure to programming is something low-level on the command line (printing like "hello world" then digging around with file I/O, network and other OS stuff) or special-purpose and graphical (making a little square or something in Logo) - doing the graphics stuff with a general-purpose language probably involves pulling in external dependencies or learning a simple image format like ppm/pgm. Introducing a powerful language like scheme, having a graphical output and planting the idea that students should hunt around for ways to integrate with or otherwise poke at existing applications is smart.
- antimony51 4y agoThe default size is 512x512 how can i change it? edit: just changing the values on the canvas tag in inspect element worked!