4 ms·
DotLisp – A Lisp dialect for .Net
- vittore 12y agoWhat about F# and Nemerle? Why you need another lisp? Oh this article dates 2003, that is why.
- chadzawistowski 12y agoYou're right, this article could do with a tag.
- bunderbunder 12y agoNemerle and F# may be functional, but neither is a lisp. One big difference is that this is a dynamic language, whereas F# and Nemerle are static.
- _halgari 12y agoFew people know that Clojure was not the first lisp worked on by Rich Hickey (I think Clojure was the 5th?). This was the last one he wrote before he started work on Clojure.
- thomasvarney723 12y agoWhat were the other 3?
- _halgari 12y agoYou know, I forget now. It was a trivia question at Clojure/Conj 2012.
- cemerick 12y ago"Only" two others, AFAIK, Jfli and FOIL: http://jfli.sourceforge.net/ http://jfli.sourceforge.net/ http://foil.sourceforge.net/ http://foil.sourceforge.net/ Both were (are? I can imagine people are still using them, Jfli in particular) interop libraries, not languages. FOIL is basically an RPC mechanism between a Common Lisp process and a JVM or CLR "host". JFli makes it reasonably easy to embed a JVM within a Common Lisp process, and thereby create Java objects from CL, call methods, and provide callbacks to Java methods written in CL. (That's all IIRC, it's been a long time.) I remember using JFli briefly during my later CL experimentation. Its model is very similar to jpype, which provides similar functionality for python, which was at the time my first committed step away from Java as my primary (production) language. The prize was a sweet nylon set-up-anywhere hammock, BTW. I think Stuart was mildly irked that mine was the only hand that was up, but I thought the hammock looked neat. :-)
- agumonkey 12y agoHe mentioned many times about past research, but never said it was public. And here's the old clojure website @sourceforge http://web.archive.org/web/20071017193208/http://clojure.sourceforge.net/ http://web.archive.org/web/20071017193208/http://clojure.sou... (now redirects to the official domain)
- platz 12y ago> It is substantially more sophisticated than DotLisp and I strongly recommend it, unless you must target .Net. > The idea behind DotLisp was to build a Lisp for .Net that yielded to the CLR those things provided by the CLR that languages normally have to provide themselves: Is the author aware that Rich also implemented ClojureCLR? http://clojure.org/clojureclr http://clojure.org/clojureclr I'm curious how DotLisp improves on the situation provided by clojureclr, especially since "It is substantially more sophisticated than DotLisp". It might be "sharing type system, GC and other runtime services etc., with transparent access to .Net w/o a FFI or wrappers", I am note sure if clojureclr requires wrappers whereas DotLisp doesn't, but I imagine it would be similar to how Clojure proper integrates with the JVM.
- Sanddancer 12y agoThe author is Rich Hickey. This was a project of his before Clojure, and he just never updated the page after Clojure became available for the CLR.
- platz 12y agoah, whoops - that was quite a mistake on my part!
- WalterGR 12y agoI was really surprised to read that > ClojureCLR development closely tracks progress in the ClojureJVM project. We index many of our commits directly to commits in the Clojure repo, so it should be easy to track our progress. We try to be within a week or so of development milestones on the main Clojure project. https://github.com/clojure/clojure-clr/wiki https://github.com/clojure/clojure-clr/wiki I thought ClojureCLR had been abandoned after Rich Hickey started working on ClojureJVM. Bug tracker: http://dev.clojure.org/jira/browse/CLJCLR http://dev.clojure.org/jira/browse/CLJCLR
- technomancy 12y ago> I thought ClojureCLR had been abandoned after Rich Hickey started working on ClojureJVM. It actually was abandoned, and then someone else came along and picked it back up.
- kazagistar 12y ago> I'm not a Lisp expert. Helpful suggestions are always welcome. > ©2003 Rich Hickey, All Rights Reserved I was amused.
- Tomasoo 12y agoHow things change. Rich Hickey is a genius. A nice man. A practical man. A modest man. A role model for our industry.
- Guthur 12y agoGenius is a little strong in my opinion. Still an intelligent and talent man I'm sure. In my opinion he has made some questionable decisions with Clojure. - Gratuitous use of [] in some forms; mainly defn and let. Why break the homonicity so often for no real benefit? - Comment strings appearing before argument lists in functions. I would like to see the entire protocol, name and args, before reading the docstring which may refer to the args. - List? predicate... (list? '(1)) => true (list? '(1 2)) => false ... - Multi arity functon, the main justification in the documentation is due to JVM limitations, JVM limitations like these can be hidden by the hidden by the guest language http://clojure-doc.org/articles/language/functions.html#multi-arity-functions http://clojure-doc.org/articles/language/functions.html#mult... These are just my superficial opinions of Clojure, I am still very much at the beginning of my journey in learning the language.
- technomancy 12y ago> Why break the homonicity so often for no real benefit? I don't think you understand what homoiconicity means.
- Guthur 12y agoI see your point, I think you may downvoted because you did not elaborate rather than just say "you're wrong". Let me see if I can elaborate on what I think you mean. Homoiconic can be interpreted as meaning that the programs structure is similar to it's internal representation and so then it can be argued that an argument list is implemented as a vector and so should be represented as such. But I would suggestion that this is an implementation detail and would hazard that many Lisp implementation might share this implementation strategy. I suppose I should have described it as something along the lines of needlessly breaking with Lisp syntax traditions. As an aside the reader macros themselves are not the problem as lists are not a one size fits all data structure within current computing so there is a need for vectors and hash maps etc.
- grkovalev 12y agowhere you will find developers to support project written by DotLisp in real production, it's just for fun, not for anything else.