freenode/#lisp - IRC Chatlog
Search
12:21:16
quipa
Pull request to add Lisp dialects support in geany https://github.com/geany/geany/pull/1922
13:14:31
jackdaniel
is such session connected to lisp process while it runs? (i.e live function recompile)
13:31:06
quipa
I mean for [Common] Lisp I didn't do as many changes,just basically added the ctags parser (which to be honest is a bit basic)
13:33:06
quipa
I am still new too lisp, but from what I asked at #geany these changes were simple enough to work on so gave it a try
13:48:03
zigpaw
emacs basically monopolized common-lisp development I think :) having something with smaller learning-curve will be beneficial.
13:50:16
shrdlu68
Emacs has a steep learning curve - if you're sitting down to read its entire user manual and use every single feature it offers.
13:53:42
pjb
shrdlu68: actually, emacs has a very (almost) flat learning curve. You learn it very slowly over a very long period. Count 50 or 100 years.
13:54:21
pjb
zigpaw: you want to aim at very steep learning curve: learn the whole editor in half a hour.
13:54:35
pjb
zigpaw: of course, that means that your editor will have a very small number of features.
13:55:24
pjb
zigpaw: have a look at https://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/sedit/index.html
13:56:32
pjb
shrdlu68: the point is that the learning curve steepness depends greatly on the learner :-)
13:59:32
zigpaw
I was using vim for a long time so spacemacs and then doom-emacs give me a familiar environment and it got me past the 'first impression', but I think most younger people would compare it to something they got to know like atom or vs code and it gives very different feel (but that's just my opinion).
14:01:41
pjb
for slime/swank, there's swank:*swank-bindings* an a-list mapping *print-…* symbols to their values when evaluating expressions from slime.
14:08:33
unanimousarc
btw I've been learning common lisp through land of lisp and I've found it good so far, does anyone know if there's anything major missing from it or if there's a reason I should avoid it?
14:09:19
pjb
thre's no reason to avoid books, even bad books, as long as you keep a criticial mind about them, and read several of them.
14:11:20
pjb
unanimousarc: and more important that the general opinion about a book, to learn something, is the personal receiption you have of it. Whether your personality actual matches the teaching style of the book.
14:12:13
unanimousarc
I do enjoy this book because it is not shy to introduce a complicated topic concisely, which is what all papers are like (I am a physics phd student)
14:14:49
pjb
unanimousarc: PAIP contains a first part that is a summary of the CL specifications. You might like it.
14:15:32
shrdlu68
unanimousarc: ANSI Common Lisp by Graham is essentially a concise summary of the spec.
14:16:05
unanimousarc
so is the spec kind of like a standard library in other languages? Since there is so little syntax
14:17:07
pjb
unanimousarc: we could think of it like this. This reduces to the question of the "primitive" set. Unfortunately, there is no unique or specified primitive set.
14:17:57
pjb
CL distinguishes special operators, macros and functions. But special operators can be implemented as macros, and macros can be implemented as special operators. And functions from the CL package can be open coded (kind of inlined, or implemented as primitives).
14:18:37
pjb
And there are also some functions that cannot be implemented in terms of the other functions (they're really "primitive" functions of CL).
14:19:27
shrdlu68
unanimousarc: Not quite, the spec if technical standard which conforming implementations ought to adhere to, including a "standard library".
14:19:49
pjb
(defun funcall (f &rest args) (apply f args)) (defun apply (f &rest arguments-and-arglist) (??? f (append (butlast arguments-and-arglist) (first (last (butlast arguments-and-arglist))))))
14:19:52
unanimousarc
Yeah, of course there has to be some level of special forms, it said in this book that you can implement almost everything using just lambda, but I don't know anything about lambda calculus
14:20:49
pjb
There are other cases of "primitive" functions, eg. (setf gethash). So you cannot blindly say that functions and macros in CL are library.
14:21:40
pjb
Event if a great part of them can be implemented in terms of the others. have a look at http://home.pipeline.com/~hbaker1/MetaCircular.html
16:50:45
didi
If I'm creating a new struct, is there a vantage of defining it as :type list? Let's say it have few slots, less than 6.
16:55:31
zigpaw
there is also gentle introduction to common lisp (which is actually really really gentle).
16:57:19
phoe
it's just a matter of notation that anonymous functions in Lisp are invoked via the symbol LAMBDA