Live data from Hacker News

DotLisp – A Lisp dialect for .Net

dotlisp.sourceforge.net

11–20 of 26 posts

Re: DotLisp – A Lisp dialect for .Net

#11
post #3

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

What were the other 3?

You know, I forget now. It was a trivia question at Clojure/Conj 2012.

Re: DotLisp – A Lisp dialect for .Net

#13
post #3

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

He 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.sou... (now redirects to the official domain)

Re: DotLisp – A Lisp dialect for .Net

#14
post #12

> I'm not a Lisp expert. Helpful suggestions are always welcome. > ©2003 Rich Hickey, All Rights Reserved I was amused.

How things change. Rich Hickey is a genius. A nice man. A practical man. A modest man. A role model for our industry.

Genius 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#mult...

These are just my superficial opinions of Clojure, I am still very much at the beginning of my journey in learning the language.

Re: DotLisp – A Lisp dialect for .Net

#16
post #7

> 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 I'm curious how DotLisp improves on the situation provi…

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

I 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

I thought ClojureCLR had been abandoned after Rich Hickey started working on ClojureJVM.

Bug tracker: http://dev.clojure.org/jira/browse/CLJCLR

Re: DotLisp – A Lisp dialect for .Net

#17
post #14
post #12

Earlier quoted context omitted.

How things change. Rich Hickey is a genius. A nice man. A practical man. A modest man. A role model for our industry.

Genius 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 wh…

> Why break the homonicity so often for no real benefit?

I don't think you understand what homoiconicity means.

Re: DotLisp – A Lisp dialect for .Net

#18

Earlier quoted context omitted.

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

I 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 I thought ClojureCLR had been abandoned after Rich Hickey star…

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

Re: DotLisp – A Lisp dialect for .Net

#19
post #14
post #12

Earlier quoted context omitted.

How things change. Rich Hickey is a genius. A nice man. A practical man. A modest man. A role model for our industry.

Genius 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 wh…

"- Gratuitous use of [] in some forms; mainly defn and let. Why break the homonicity so often for no real benefit?"

[] is an array data type, () is a list. Code and data are still the same.

Re: DotLisp – A Lisp dialect for .Net

#20
post #14
post #12

Earlier quoted context omitted.

How things change. Rich Hickey is a genius. A nice man. A practical man. A modest man. A role model for our industry.

Genius 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 wh…

YMMV, but it's interesting to note that some of these decisions are interrelated: [] and {} are implemented at the reader level and the reader isn't (very) extensible. This makes implementing defn (and by extension a user macro like it) much easier. The same is true of putting the sparring first.

The other thing with the docstring, of course, is that Rich made the decision to only have one docstring on an overloaded function. The docstring/arg order falls straight out of that. OTOH if you've read the docs for "map" recently you may be wondering if that was such a smart decision. For better or for worse, muti-arity overloading that doesn't just do partial application is a big part of modern Clojure.

Post reply on HN