5 ms·
The irony here is particularly rich considering Julia's parser frontend is written in Scheme.
by ampdepolymerase 6y ago
The irony here is particularly rich considering Julia's parser frontend is written in Scheme.
- yrimaxi 6y agoWhy is that ironic?
- DannyB2 6y agoAt the very least it is amusing.
- eigenspace 6y agoI'm not sure, but maybe they're unhappy that it uses a more Clojure style syntax?
- sritchie 6y agoA couple years into fatherhood and I see puns everywhere, and suspect others of dropping them too. Particularly Rich... Hickey?
- asimjalis 6y agoI juxt ignore the puns.
- deleted 6y ago[deleted]
- canadianfella 6y agoWhere did you steele that joke from?
- mumblemumble 6y agoIt seems more fitting than ironic to me. Julia's never been shy about its lisp heritage, and the reason why this project is only a couple hundred lines of code is that Julia remains very close to those roots.
- Blikkentrekker 6y agoCertainly any alternative syntax parser for any language would be? It would also only take a couple of hundred lines to write a parser for a C compiler that would allow that.
- mumblemumble 6y agoNot any to any. You could't write a thin lispy alternative syntax for C because of some semantic differences. "If" is an expression in Julia and Lisp, and it's a statement in C. Dealing with things like goto statements and preprocessor macros would also require some extra work. Add all that up, and you're no longer looking at alternative syntax, you're looking at a transpiler.
- Blikkentrekker 6y agoBut this is also simply an alternative Syntax that mirrors Clojure, not actual Clojure semantics.
- eigenspace 6y agoWhile julia does not have full lisp semantics, it is very close. Granted, it's not especially similar to Clojure itself. It's closer to a lisp though than almost any other relatively popular modern language that doesn't use S-expressions.
- Blikkentrekker 6y agoI'm very sceptical of such claims because I do not believe there is such a thing as “Lisp semantics” and that it is primarily a language of syntax. In particular, Common Lisp has many semantic features such as dynamic variables and the function–value dichotomy that do not exist in, say Scheme, or really any other commonly used programming language. And Scheme, yet again, has many rather esoteric operations, such as continuation capturing, that exists nowhere else as well. The three most popular Lisps today are C.L., Clojure, and Scheme, and I don't see these three having unified semantics at all and they are often further from each other than they are to many other languages.