Earlier quoted context omitted.
If you're interested in lisp without the JVM, there's always ClojureScript. Once the JVM compiler is up an running it compiles most of my ClojureScript code in about 1 sec, and there's utilities that auto re-compile code as files change.
"without the JVM" ... "Once the JVM compiler is up" Does not compute! :P
Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
21–30 of 52 posts
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#22As somebody who contributes to ClojureScript, I genuinely do not understand the purpose of this project. If you want a JavaScript with Lispy syntax, there are a few things like http://lispyscript.com/ -- Spiritually similar to CoffeeScript. But if you want Clojure semantics, there is ClojureScript: Very different than a simple transpiler like CoffeeScript. ClojureScript includes a standard library of rich data struct…
Update:
Also, on the projects web site [0], it says that "Homoiconic syntax and macros are the primary motivations!"
[0] https://github.com/Gozala/wisp
I don't know how this project is in practice, but I think those goals are worthwhile. When it comes to Clojure proper, one of the many selling points is that it does Java better than Java. This project may be able to do the same for Javascript.
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#23Earlier quoted context omitted.
Those are 3 distinct types in Clojure; unfortunately they have no equivalents in JavaScript, thus they become strings.
To my knowledge, keywords are actually functions in Clojure, which do have an equivalent in JS. "Looks more like Clojure" seems like a good enough reason to me.
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#24Earlier quoted context omitted.
Those are 3 distinct types in Clojure; unfortunately they have no equivalents in JavaScript, thus they become strings.
To my knowledge, keywords are actually functions in Clojure, which do have an equivalent in JS. "Looks more like Clojure" seems like a good enough reason to me.
public class Keyword implements IFn, Comparable, Named, Serializable, IHashEq
https://github.com/clojure/clojure/blob/master/src/jvm/cloju...Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#25As somebody who contributes to ClojureScript, I genuinely do not understand the purpose of this project. If you want a JavaScript with Lispy syntax, there are a few things like http://lispyscript.com/ -- Spiritually similar to CoffeeScript. But if you want Clojure semantics, there is ClojureScript: Very different than a simple transpiler like CoffeeScript. ClojureScript includes a standard library of rich data struct…
Clojurescript's heavy dependence on the Clojure environment (JVM, leinigren etc) make it a real pain to get setup for. I have looked into clojurescript several times but thought "I better master clojure first". I have been getting a hang of Clojure slowly and plan to tackle learning clojurescript eventually but something like Wisp opens up the possibility of diving in without needing to be comfortable with all the Java crap.
I only tend to take up something when it takes me five minutes to start learning. I think most are the same way; it's the reason why Codecademy is so popular and why clojurescript's primary user base is Clojure users. The more users that can start learning a language in five minutes the better it is for that language. Clojure beat out other Lisp implementations primarily because it was easier to dive into for a greater number of humans than any other Lisp.
Wisp and other implementations like it make diving into Lisp->js languages much easier. It removes the large roadblock that is Java, a roadblock that is unnecessary if your target language is JS not Java.
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#26Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#27Personally, I'd rather see lisp with JS syntax (CoffeeScript would be even better)
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#28Which is basically a subset of common-lisp that compiles to human-readable javascript. It's a good idea.
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#29Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#30What is the benefit of having three ways to write strings? \a ;; compiles to "a" :a ;; compiles to "a" "a" ;; compiles to "a" This is not meant as destructive criticism; I'm genuinely interested in the motivation for that.
Seems like a disadvantage to me. It's mostly just confusing and the only thing it affords is the ability to use :keywords as functions (:like so) which is just sugar for property access, so["like"]. This is broken, though. The coolest thing about :keywords in Clojure is that they really are functions and you can do things like (map :keywords ontoSomething) to extract the same property out of many things. It don't wor…
That's basically what keywords do -- they are human-readable and compile down (prob. using some hash) into some integer, and the integer is stored globally only once. The biggest savings in memory comes when using maps, and that's how & why keywords get their name.