Genuine curiosity as to why. I've heard arguments against using it because of speed and type-issues, but you're using a derived language that doesn't change either of those things. I've never heard anyone just blatantly dislike the language itself.
Genuine curiosity as to why. I've heard arguments against using it because of speed and type-issues, but you're using a derived language that doesn't change either of those things. I've never heard anyone just blatantly dislike the language itself.
Hy gets rid of both the significant whitespace, and the syntax too. Yet, allows me to have bidirectional interop, so people using my modules are none the wiser, as long as I make a little effort to remain python compatible (macros used only internally, and not exposed in the API, and using valid python names for functions and other stuff).
As for "getting rid of the syntax", I think that's a bit disingenuous. Much like Clojure, Hy cheats by collapsing nesting:
(for (i (range 1 10)
j (range 1 10))
...)
{1 2 3 4} ==> {1: 2, 3: 4}
I mean, this isn't just getting rid of syntax. It's getting rid of structure. As a purist, my stance is that you either keep the structure (`{(1 2) (3 4)}` or you add syntax (`{1 2, 3 4}`, and unlike Clojure, make the comma significant). What you don't do is tuck syntactic information in the parity of the rank of an argument.EDIT: Thanks for the perspective.