origin story?

51 views
Skip to first unread message

Duncan McGreggor

unread,
Feb 6, 2021, 6:33:23 PM2/6/21
to slic...@googlegroups.com
Two questions for you, Pascal:

1. What was the impetus for you to create a Lisp for Go? (so glad you did -- I've been dabbling as I have waited for someone to do this "correctly" ;-))
2. How/why did you come up with the name "slick" for this Go dialect?

d

pc

unread,
Feb 8, 2021, 5:21:06 AM2/8/21
to slicklang
Thanks a lot for your kind words! :)

1. For several years now, I have been contributing to Charlotte Herzeel's elPrep project, which we originally implemented in Common Lisp. See https://github.com/ExaScience/elprep/ for that project, and if you select for example the version v2.61 tag, you can still see the Common Lisp roots of that project. At some stage, we have encountered some limitations when using Common Lisp. The language itself is great, and I would still consider it my most favorite programming language. However, until a few years ago, it was not possible to get hold of a Common Lisp implementation with a proper concurrent / parallel garbage collector, and some better memory management that works well for parallel programming became really important. The only mature choices at that stage were C++ (using reference counting through its STL), Go, and Java. We have made some detailed performance comparison, and Go turned out to perform the best out of these three languages. You can read more details about this in two papers:


I started to like Go quite a lot, because it gets a lot of concepts really right (proper lambda expressions - still unique with regard to getting /every/ aspect right about it; using work stealing as the basis for parallelism; proper garbage collector; etc., etc.). I have doubts about other aspects (error handling, but there are panics and recover, so that's fine ;), but overall it is a really well-designed language.

I still prefer Lisp syntax, and would especially like to have a proper macro facility in my language, and that's the main motivation for Slick. (I also need a somewhat minimal Lisp dialect for some other ideas I am currently working on, but I cannot share more information about that yet.)

2."Slick" came out of a search for a name that suggests both "Lisp" and "Go." The letters S, L, and I are in "Lisp", and the sounds of "ck" and "g" are somewhat similar. "Slig" might have been more obvious. ;)

Pascal

Duncan McGreggor

unread,
Feb 8, 2021, 12:01:38 PM2/8/21
to pc, slicklang
I love it!

I got into Go only reluctantly (and for a CTO I adored), and have been quite surprised by how much I enjoy it, given my overwhelming proclivity for S-expression languages. Error handling is definitely my big gripe with the language (but in fact, that is the case for many languages ... Haskell has a solid approach, as does Rust).

I did take a peek into elprep last week; given the background you've just provided, I'll be taking a deeper look!

As for "slick" ... I had tried to imagine an acronymic connection a la SLIME, and amusingly enough found myself thinking "slig" half the times :-) (even went so far as to examine the etymology ...)  

Thanks for all the insight!

--
Github: https://github.com/exascience/slick
---
You received this message because you are subscribed to the Google Groups "slicklang" group.
To unsubscribe from this group and stop receiving emails from it, send an email to slicklang+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/slicklang/98f3e4b2-5dd3-4da2-a9f7-12b23b96d774n%40googlegroups.com.

Duncan McGreggor

unread,
Feb 8, 2021, 12:13:30 PM2/8/21
to pc, slicklang
On Mon, Feb 8, 2021 at 11:01 AM Duncan McGreggor <dun...@mcgreg.gr> wrote:

As for "slick" ... I had tried to imagine an acronymic connection a la SLIME, and amusingly enough found myself thinking "slig" half the times :-) (even went so far as to examine the etymology ...)  

 I should have said, the PIE reconstruction for slick is *sleig :-) 

Also, gotta love this evolution of definitions/connotations :-) 

  1. early 14c., "smooth, glossy, sleek" 
  2. 1590s, sense of "clever in deception" is first recorded
  3. 1833, "first-class, excellent"
Reply all
Reply to author
Forward
0 new messages