Earlier quoted context omitted.
CIDER has had debugging abilities like this for a year, there's a sexp based interactive debugger that allows injection, evaluation, stepping etc. Here's a 39 second video about it https://www.youtube.com/watch?v=A3JAlWM8qRM
The debugger needs to 'instrument' the code with breakpoints...? That's something different. In a Lisp system I would have an arbitrary amount of code and can halt and inspect/debug any code without any prior need to 'instrument' code.
How to write Common Lisp in 2017 – an initiation manual
201–210 of 271 posts
Re: How to write Common Lisp in 2017 – an initiation manual
#202I wrote in Common Lisp the star map generation software at the core of my startup, http://greaterskies.com , and could not be happier. But now that it's getting off the ground I wonder whether it may adversely impact my chances of being acquired. Are there any known examples of recent CL-based startups?
Re: How to write Common Lisp in 2017 – an initiation manual
#203Earlier 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.
Re: How to write Common Lisp in 2017 – an initiation manual
#204Earlier quoted context omitted.
The debugger needs to 'instrument' the code with breakpoints...? That's something different. In a Lisp system I would have an arbitrary amount of code and can halt and inspect/debug any code without any prior need to 'instrument' code.
To debug a function, yes, you need to eval the form using instrumentation. Then the debugger starts when this form is evaluated. This is the the only major difference to what SLIME provides. Adding breakpoints is somewhat easier with cider, you don't need to call break but you can just add a breakpoint to any sexp by pressing b.
You mean the stepper using break-instrumented code? That's just a part of what one would call 'debugger' in Lisp.
What CIDER calls 'debugger' would be mostly called 'stepper' in Lisp.
http://franz.com/products/allegro-common-lisp/stepper_dialog...
http://www.lispworks.com/documentation/lw70/IDE-M/html/ide-m...
> Adding breakpoints is somewhat easier with cider, you don't need to call break but you can just add a breakpoint to any sexp by pressing b.
LispWorks does that, too. Usually via a break icon in the window toolbar or the context menu.
Re: How to write Common Lisp in 2017 – an initiation manual
#205I 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…
Curious over why CL vs Clojure? Any comments.
Easy access to the tens of thousands of person years worth of effort put into the Java/JavaScript ecosystems in return for dealing with a bit of ugliness is a win in my books.
Re: How to write Common Lisp in 2017 – an initiation manual
#206I wrote in Common Lisp the star map generation software at the core of my startup, http://greaterskies.com , and could not be happier. But now that it's getting off the ground I wonder whether it may adversely impact my chances of being acquired. Are there any known examples of recent CL-based startups?
Re: How to write Common Lisp in 2017 – an initiation manual
#207If somebody is not comfortable to use emacs (I am), there is a atom plugin for use with CL: https://atom.io/packages/atom-slime It doesn't replace emacs, but it works as a first Lisp ide.
Hmm, this just gave me an idea: Visual Studio Code Common Lisp plugin might also be a good way to expose the language to people unfamiliar to the language.
Re: How to write Common Lisp in 2017 – an initiation manual
#208If somebody is not comfortable to use emacs (I am), there is a atom plugin for use with CL: https://atom.io/packages/atom-slime It doesn't replace emacs, but it works as a first Lisp ide.
Really! Do you use it? Would you feel comfortable submitting a PR explaining how to set it up? I HATE recommending emacs as the IDE for Common Lisp if it's not something people are comfortable with already.
Eventually though this will be a huge boon.
Re: How to write Common Lisp in 2017 – an initiation manual
#209The biggest problem with lisp adoption imo is that the first step of every path begins with emacs. Emacs needs to die for lisp to flourish in a more modern editor. Light Table was a good start, but we need some power behind similar projects. I always thought guilemacs was the obvious successor, but it still hasn't happened.
Re: How to write Common Lisp in 2017 – an initiation manual
#210Earlier quoted context omitted.
I am sure there are plenty of people who have a preferred Lisp. It does drive me nuts how if there is a post on R the top comments are people touting Python as being the bigger player in statistics and data science (Which it isn't) or a ton of other languages. PS I perfer Racket :)
R is pretty pointless though. Unless you want to rewrite everything between prototyping in R and real deployment with a real language, you are better off writing in Python.
Why would you ever have to rewrite the code? Python isn't faster and has less function then R and if you want you can just drop a few lines of Python in a cell of a Notebook. I like Python and its a good choice but R is a great language that in fact that Python's pandas library is trying to make a R equivalent.