Live data from Hacker News

Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros

jeditoolkit.com

1–10 of 52 posts

Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros

#2
Wonderful, 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

#3
post #2

Wonderful, 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?

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.

Re: Wisp: a homoiconic JS dialect with Clojure syntax, s-expressions and macros

#5
post #4

What 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

#6
As 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 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

#8
post #5
post #4

What 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.

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

#9
post #4

What 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.

I'm not sure because I don't know anything about this language or clojurescript, but I do know clojure and I'll explain the differences in terms of 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

#10
post #2

Wonderful, 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?

Parenscript seems pretty cool. I tried Clojurescript about 2 months ago and the build process was disturbingly frustrating. :-/ I will take a swing at Parenscript next time I get on that particular project.
Post reply on HN