Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
1–10 of 52 posts
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#2Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#3Wonderful, one more language for me to consider in addition to Roy and Parenscript. I guess there's also Whalesong for Racket, but I don't know how clean the cross compilation to JS is. I've always been drawn to Clojure but the JVM kept me at bay. The fact that it's not "Lisp all the way down" also clouds my decision for it. I guess Wisp would be highly compatible with Lighttable?
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#4 \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.Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#5What 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.
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#6If 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 structures and utility functions.
But why would you want Clojure syntax without Clojure semantics? Especially since Clojure syntax implies several data types that JavaScript can't provide natively. It just doesn't make sense...
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#7Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#8What 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.
Those are 3 distinct types in Clojure; unfortunately they have no equivalents in JavaScript, thus they become strings.
Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#9What 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.
\a ;; becomes 'a' in java. The character of 'a'
:a ;; a keyword of :a. More efficient than using 'a'. Also it can act as a function. If you have a map with a key of :a in it, instead of having to say "get me the value for :a" you can say (:a map)
"a" becomes "a" in java. The string of "a"Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros
#10Wonderful, one more language for me to consider in addition to Roy and Parenscript. I guess there's also Whalesong for Racket, but I don't know how clean the cross compilation to JS is. I've always been drawn to Clojure but the JVM kept me at bay. The fact that it's not "Lisp all the way down" also clouds my decision for it. I guess Wisp would be highly compatible with Lighttable?