freenode/#lisp - IRC Chatlog
Search
14:49:42
Ukari
i wanna use with-macro in defmacro, but found it is hard to write the inner macro due to write (list 'fn ,arg) instead of `(fn ,arg)
15:17:16
Ukari
i write (defmacro logger (&body body) `(print (+ ,@body))) (defmacro outside (&body body) `(defmacro inside () `(logger ,,@body))), (outside 1 2), (inside)
15:55:25
fouric
Ukari: you're not sure if you believe me (don't worry, i'm not sure either) or you believe me you just don't know *why*?
15:58:16
fouric
which is to start with the innermost level of backquotes, try to understand that, and then work your way up/out
15:58:58
Ukari
beach, this is one of my condition, https://tinyurl.com/y8t27qoj. another is to make macro yield accessable locally instead of global
16:01:06
beach
Ukari: That's very different. You are defining a macro with the same name each time, namely INSIDE.
16:02:29
beach
Local macros are defined using MACROLET and not DEFMACRO if that is what you are trying to do.
16:02:53
Ukari
it provides a defmacro* which returns a generator and also has lambda list arguements like defmacro
16:03:32
beach
I don't think I am smart enough today to follow what you are trying to say. Sorry about that.
16:28:08
u92urksvz78
anyone out there care to share what kind of interesting CL projects they are currently working on?
16:29:20
u92urksvz78
anyone out there care to share any details about any interesting Common Lisp programming projects they are currently working on?
17:47:16
gendl
Hi, i'm working on some interesting CL projects based on http://gendl.org, don't have a lot of time to share details right now though.
17:47:47
gendl
I do have a question though -- if I have an error object in a variable (like from a handler-case), how can I get a stack trace of that actual error?
17:48:18
gendl
like (handler-case (some-form) (error (err) ;; now I want to get into the debugger directly for err . ...
17:51:31
gendl
nirved: well, yep, that does give a debugger, it seems pretty much the same as just calling (error err)
17:52:24
gendl
in the stack, I'm still seeing let bindings and such which are connected with the handler-bind
17:53:20
gendl
what I really want is a debug stack which would be the same as what I would get just from
17:53:46
gendl
[sorry -- replace 'div' with '/' -- 'div' is our operator which always returns double-floats)
17:54:38
Bike
lisp implementations don't usually store a backtrace in the condition object, as far as i'm aware
18:11:02
nirved
gendl: if you really must have the backtrace, it is implementation dependent, look at slime/swank
18:29:39
rpg
I'm embarrassed to ask this, but does anyone have an example of an ASDF system definition that quashes warnings to avoid failures? I have been using Allegro, whose COMPILE-FILE doesn't fail (as it properly should) on warnings, and now using SBCL, I can't get compile-system to work...
18:40:55
rpg
I tried muffle-warning, but it looks like compile-file may grab up the warning and fail before I can muffle it....
18:44:04
rpg
Xach: I believe it's that SBCL's COMPILE-FILE is refusing to write an output file, not that there are warnings. At least, I *think* so.
19:06:35
rpg
Xach: Aha! *SOMETHING* is rebinding those error interpretation flags, so that they are both valued :ERROR inside COMPILE-FILE*
19:22:59
rpg
hahaha. OK, I see part of the problem -- the AROUND-COMPILE-HOOK isn't scoped around the checking of those flag variables.
19:37:00
rpg
Yes, that's it -- you can bind the behaviours in an around-compile-hook, but that isn't scoped around check-lisp-compiler-warnings
20:49:44
dxtr
So I've got a plist (:|foo| 1 :|bar| 2) - and neither (get :bar) nor (get :|bar|) works
21:14:01
Xach
aeth: pcl mentions a use of them, iirc it stores some reader/writer information in the symbol plist. or you could use it in an interpreter to store the value bound to the symbol. there are other things!
21:14:19
Xach
i don't use them often and can't think of when i used them, but it's a way to associate a bit of your own app data with a symbol
21:19:37
pjb
aeth: (length (remove-if-not (function symbol-plist) (let (l) (dolist (p (list-all-packages) (remove-duplicates l)) (do-symbols (s p) (push s l)))))) #| --> 306 |#
21:20:58
pjb
(length (remove-duplicates (mapcan (lambda (s) (loop for k on (symbol-plist s) by 'cddr collect k)) (let (l) (dolist (p (list-all-packages) (remove-duplicates l)) (do-symbols (s p) (push s l))))))) #| --> 519 |#
21:30:05
pjb
aeth: (remove-duplicates (mapcan (lambda (s) (loop for (k nil) on (symbol-plist s) by #'cddr collect k)) (let (l) (dolist (p (list-all-packages) (remove-duplicates l)) (do-symbols (s p) (push s l)))))) #| --> (com.informatimago.common-lisp.data.constant:unit com.informatimago.common-lisp.data.constant::physical-constant swank/backend::implementation swank/backend::default optima.core:pattern-expand-function) |#
23:32:39
granttrec
does lisp have good build tools? I'm interested in learning a functional language but with experience from previous languages I'd appreciate a simple build tools
23:37:56
pillton
granttrec: Common lisp is a multi-paradigm language. ASDF (https://common-lisp.net/project/asdf/) is what most people use to build common lisp software.
23:49:26
pillton
You will probably have a hard time adjusting to the fact that compilation can mutate the global environment.
23:59:59
akkad
granttrec: it's like picking a religion. one can convert you, or you can see the light on your own. build something trivial in each, and figure out which one fits your style best
0:00:31
pillton
granttrec: This channel is about common lisp. Clojure is not an implementation of common lisp.
0:01:40
akkad
At the request of John McCarthy, Lisp’s creator, no single language that is a member of the Lisp family is to be intended to be the definitive dialect; that is, none is to be called just “LISP.”
0:06:08
akkad
there is a page that shows the differences between the lisps. to give you a feel for it
0:10:00
granttrec
akkad: not be to off topic but do peopel program in emaxs lisp outside of hacking the editor?
0:14:27
aeth
akkad: This comes up from time to time. Afaik, the historical Lisps that led up to Common Lisp like Maclisp and Lisp Machine Lisp are also on topic in #lisp, it's just that obviously they come up much less frequently.
0:15:46
aeth
Since most modern Lisps deviate significantly from the tradition (Common Lisp represents the tradition + an object system), there isn't really the demand for a channel that just involves Lisps in general. There is one, ##lisp is its name, and it was (when I was in it) quite dead. #scheme is similarly not very active compared to the individual Scheme channels.
0:17:12
aeth
akkad: As I said, and you might get a different answer depending on who's on, last time this came up and I was here, people said that precursor languages to CL are on topic. And I have shared historic Lisp material here before iirc.
0:18:05
aeth
Common Lisp represents a Lisp tradition that very few other living Lisps follow. Maybe Emacs Lisp. Scheme is probably the next closest, if you ignore that it renamed practically every procedure and has slightly different terminology (like "procedure", "pair" instead of "cons", etc.)
0:18:45
aeth
akkad: Implementation-specific issues go to implementation-specific channels. I go to #sbcl when I have a question about an SBCL extension or something.
0:22:40
aeth
If there was a survey here, it'd probably be 60% SBCL and 30% CCL. 2:1 is a lot, but that's the impression I get here. Other methods seem to suggest perhaps 10:1 SBCL:CCL, so if anything CCLers are overrepresented here. (Concrete numbers would be hard to obtain, though.)
0:29:30
akkad
pillton: was told they were not opensource, thus off topic for freenode. despite the fact that the ##lisp would be the "opensource" channel
1:19:48
Bike
and regardless of that, it seems likely that you can get better specific advice about lispworks and allegro from their official mailing lists and help lines and such.
1:22:00
Xach
This is not a great place for discussion of allegro and lispworks mostly because there are few users here, but partly because it is not what freenode is for.
2:24:19
akkad
how things have changed. Aug 02 15:30:47 2002 #lisp 67 The open source lisp-wiki: http://ww.telent.net/cliki/ - sbcl 0.7.6 out - clisp 2.29 out - new site: www.lispworks.com