I'd really like to see an snippet in the front page. There are some samples in the tutorial, but I like to see an example to get some feeling of the language. For example, a mix of (define (factorial n) (if ( and ;; here the type of y is inferred (fn ([x : int] y) (+ x y))
Good idea, thanks! I'll try to come up with something representative.
Kashmir: A statically typed Lispy language compiling to Go
21–30 of 75 posts
Re: Kashmir: A statically typed Lispy language compiling to Go
#22I'm mostly just annoyed because everyone releases all these incompatible Lisp wannabes, when Common Lisp, Scheme, and even Clojure, are all perfectly good languages. Common Lisp has a few really good compilers (sbcl, lispworks, etc.) that produce code that's competitive with C in some situations. QuickLisp has really modernized the CL library ecosystem, and while there aren't as many libraries available as there are for Python, Ruby, and Java, the situation has drastically improved recently, and is continuing to improve.
Re: Kashmir: A statically typed Lispy language compiling to Go
#23What is the advantage of targeting go for a new language project? Could you explain about why this made sense for your project?
Re: Kashmir: A statically typed Lispy language compiling to Go
#24Re: Kashmir: A statically typed Lispy language compiling to Go
#25I understand this project, along with most of the other "Lisp compiling to ..." projects are just for fun, but it's still annoying to see so many of them announced. Half the time it's a stretch to even call them "a Lisp." It's a little silly to call your language a Lisp if it's missing a lot of the stuff that Lisp is associated with. Does this Lisp even support macros? Just say it's a new language that uses s-express…
Anyhow, I wanted to get some feedback on this project and perhaps involve people early on, so not having macros yet is nothing that I'm ashamed of. I hope to implement them soon.
And yes, there are a lot of good compilers out there. Kashmir is not a replacement for any of them or any of the established Lisps. :)
Re: Kashmir: A statically typed Lispy language compiling to Go
#26Earlier quoted context omitted.
Good idea, thanks! I'll try to come up with something representative.
Do you know how much effort/time it would take to spin up a "play.kashmir", similar to "play.golang"? If it is minimal, it could be one of those items that really lowers the barrier to entry into the language.
And a comment withe original code and a link back to your site :)
Re: Kashmir: A statically typed Lispy language compiling to Go
#27Re: Kashmir: A statically typed Lispy language compiling to Go
#28What is the advantage of targeting go for a new language project? Could you explain about why this made sense for your project?
A few of the motivations:
* A lisp with an amazing startup time
* A lisp that can tap into a big and vivid ecosystem, like Clojure is tapping into Java's and its own
* Cross compilation and self-contained binary (I've personally tried doing this with various lisps, and none of them really support it)
* Go as a platform is improving version by version and is very performant already
Another way to think of it - if only Clojure compiled to binary directly, then this would be pointless. Because chances of that happening are virtually zero, is why this project made my day.
Go is the assembly language of cloud infrastructure, just as Javascript is becoming yet another "assembly" language. I believe Go is perfect for this, because it is also simple (as opposed to ES6, for example).
Re: Kashmir: A statically typed Lispy language compiling to Go
#29What is the advantage of targeting go for a new language project? Could you explain about why this made sense for your project?
Re: Kashmir: A statically typed Lispy language compiling to Go
#30Has anybody come across a list of languages that compile to Go?
There are a number of Lisp interpreters written in Go [0-3]. There is a Lua interpreter [4]. The only compiled language I know is Gisp [5] by jcla1. I also built on top of Gisp with Gsp [6] to provide wrappers to the Go stdlib and support more standard lisp functionality. However, Kashimir is the first statically typed language implemented in Go that I have seen. The rest are dynamically typed. [0] GLISP - https://gi…