Live data from Hacker News

How to write Common Lisp in 2017 – an initiation manual

articulate-lisp.com

121–130 of 271 posts

Re: How to write Common Lisp in 2017 – an initiation manual

#122
post #49

Hi, HN! I made this! Ask me any questions you like. I'll try to respond as the workday progresses and I wait for deploys to complete! paul@nathan.house if you want to email me instead. (or @p_nathan on Twitter, if that's your thing).

Also, the ASDF information is somewhat dated. It will work, but the central-registry has been deprecated for years. I'm not even sure how it might work on windows.

If you're recommending quicklisp, there's the local-projects approach, otherwise there's $HOME/common-lisp/

Re: How to write Common Lisp in 2017 – an initiation manual

#123
post #120

Earlier quoted context omitted.

Curious over why CL vs Clojure? Any comments.

I have used both in production setting and can say that the tooling for most CL implementations is just plain light years ahead of Clojure, and there is no sign of it really improving. For Clojure the interactive debugging experience is just plain dreadful and for a dynamic language this is pants on head crazy imo. For me a dynamic language has to have a good interactive debugging experience because you have foregone…

Have you tried out recent versions of CIDER? I find it works good for that I need. But I have to say that the big problem I have is Emacs and its inability to handle long strings.

Re: How to write Common Lisp in 2017 – an initiation manual

#124
post #89
post #85

Earlier quoted context omitted.

Neat. Does Roswell do all this without modifying your current lisp/emacs/slime/quicklisp if you already have them set up the way you like but want to play around with it? And is there something like Roswell for Clojure?

I don't know about emacs/slime, but it can manage local quicklisp and local implementations (and even have e.g. multiple sbcl versions installed simultaneously).

This sounds a lot like Pyenv and Virtualenv for Python. Neat!

Re: How to write Common Lisp in 2017 – an initiation manual

#125
post #120

Earlier quoted context omitted.

I have used both in production setting and can say that the tooling for most CL implementations is just plain light years ahead of Clojure, and there is no sign of it really improving. For Clojure the interactive debugging experience is just plain dreadful and for a dynamic language this is pants on head crazy imo. For me a dynamic language has to have a good interactive debugging experience because you have foregone…

Have you tried out recent versions of CIDER? I find it works good for that I need. But I have to say that the big problem I have is Emacs and its inability to handle long strings.

I may be missing some massive leap but until it does this http://malisper.me/2015/07/07/debugging-lisp-part-1-recompil...

Re: How to write Common Lisp in 2017 – an initiation manual

#126
post #8

Earlier quoted context omitted.

Nope, it has new problems that are (IMO) worse.

I have dabbled in Common Lisp over the years and am quite comfortable with it. I know nothing about Clojure. What are the problems with Clojure? I am just curious. Thanks!

For me, it is firstly a computing resource issue. I dont have much RAM or processing power for clojure to be creative or productive. It is like playing in a sandbox in the rain rather than the sunshine. Which leads into my second thing about it as well as scheme for me, it feels to inspire toward too much symmetry in a place that is supposed to be asymmetrical.

Re: How to write Common Lisp in 2017 – an initiation manual

#127
post #65
post #32

Earlier quoted context omitted.

In addition to the other problems described, Clojure just breaks the value of Lisp's syntax. Common Lisp does have its irregularities but code littered with Java imports and square brackets might as well just use C formatting and be done with it.

The primary value, to me of Lisp syntax is that code is represented as data structure literals which can be manipulated as easily as any other data structure prior to execution. Clojure has that; it just comes with literals for a few more data structures and uses two of them, vectors and maps in the syntax of built-in forms.

Emacs Lisp also has syntax for vectors.

Re: How to write Common Lisp in 2017 – an initiation manual

#128
post #98

I started a big project at work using Common Lisp in 2017 and could not be happier. Sure, most nice features have trickled down to other languages, but they are rarely as nicely integrated. And Lisp still has many advantages that are not found elsewhere: Unmatched stability, on-demand performance, tunable compiler, CLOS, condition system, and Macros to name a few. It has its warts too but which language does not? I f…

which lisp interpreter did you use ?

No interpreters used, mostly SBCL and CCL. Folks over at Grammarly have a blog post which mentions few reasons for the combo http://tech.grammarly.com/blog/posts/Running-Lisp-in-Product...

I write portable code and use libraries which abstract away implementation specific stuff so it will be easy to run on any other conforming implementation should the need arise.

The community is quite responsible when it comes to portability and utility libraries which help with it, but on top of that Quicklisp maintainer tests library compilation on most major implementations and reports bugs.

Re: How to write Common Lisp in 2017 – an initiation manual

#129
post #125

Earlier quoted context omitted.

Have you tried out recent versions of CIDER? I find it works good for that I need. But I have to say that the big problem I have is Emacs and its inability to handle long strings.

I may be missing some massive leap but until it does this http://malisper.me/2015/07/07/debugging-lisp-part-1-recompil...

AHHH, not quite the same, nor as good but sayid(https://github.com/bpiel/sayid) is a step in the right direction

Re: How to write Common Lisp in 2017 – an initiation manual

#130
post #110

How does Common Lisp compares to Racket nowadays? I've seen a lot of activity but I can't decide which one to try out. I only have time for one of them ATM.

1. Racket is a multi-paradigm programming language. It has Java-style class/object system, a CLOS-like object system(swindle) and a prototype object system (like self and JavaScript). 2. The macro system is arguably the most sophisticated available. 3. Functionsl programming! including '(purely)Functional Data Structures'. 4. Parallelism (futures) 5. concurrency 6. Contracts 7. Typed Racket 8. Pattern matching 9. Modules 10. Units 12. Pattern Matching 13. Exception, continuations 14. Reflection 15. arguably the most sophisticated tools for creating full languages and DSLs 16. Datalog language (like in datomic) 17.an amazing IDE - it has a tool to debug macros! (but you can also use Emacs) 18. Typed Racket 19. Functional pictures (pict) 20. OpenGL 21 cross platform (win, mac, Unix, Linux) it will even run on a raspberry pi 22. Amazing community 23. Math library (and plot library) 24. Scribble/@-expressions (like markdown but much more powerful) 26. Quite a few libraries
Post reply on HN