5 ms·
Language author here :) if anyone wants to learn more, we have a pretty sweet team over in #hy on freenode, and have some MLs and stuff sprinkled around.
by paultag 13y ago
Language author here :)
if anyone wants to learn more, we have a pretty sweet team over in #hy on freenode, and have some MLs and stuff sprinkled around.
- zem 13y agoi'll ask you the same questions i asked the parenjs author, and which i think are pretty much faqs if you're developing a language-hosted lisp dialect. (some of them, like the interop ones, are answered in the hy docs, but it would be nice to have a quick up-front list for reference). * lisp-1 or lisp-2? * scoping rules? * 1-way or 2-way python interop? * lisp support for python objects? * any support for tco or loop/recur? * reader macros? * speed penalty relative to native python?
- anaphor 13y agoI can answer most of these just from reading the stuff linked here and educated guesses. lisp-1, bastardized-lexical (like python, though you could create your own binding constructs with macros), 2-way, yes, yes (loop/recur, no TCO afaict or trampolining), yes, yes
- paultag 13y agotrampolining - confirmed
- anaphor 13y agoThen you should give this a read if you haven't: http://www.cs.indiana.edu/~dfried/ts.ps http://www.cs.indiana.edu/~dfried/ts.ps tl;dr you can actually generalize trampolining quite a bit in order to get co-operative threading.
- paultag 13y agoInteresting, thanks for that! I'll read it over on the train in the morning and see if I can't fudge it in :)
- paultag 13y ago* lisp-1 (Python rules) * Python (sucks) * 2-way * Yep! CLOS syntax * Yep! hy.contrib.loop - to be promoted soon * Yep, they're OK, relies on dispatch char that's static * Very little, actually - it compiles to (pretty sane) Python AST / Bytecode - so good pdb works to debug Hy :)
- zem 13y agoawesome, looking forward to checking it out :) shame about the scoping, as you say, but i guess the python interop made it the natural choice.
- TacticalCoder 13y agoIn a way Hy seems to be to Python what Clojure is to Java / JavaScript. Did Clojure influence you and if so, how? Congrats and nice looking terminal : )