freenode/#lisp - IRC Chatlog
Search
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
4:15:36
LdBeth
Is it possible to specify type for certain symbols, e.g. for symbol 'YES and 'NO, they have type 'Y-OR-N
4:29:57
LdBeth
I want to write a TCG card game, there’s certain attributes I want to check if is valid at runtime and retain the ability adding new attributes
4:57:20
beach
And I guess I don't see the purpose of the new metaclass, but that's probably normal, since I don't understand what the code is doing.
5:03:20
LdBeth
beach: I use metaclass because I want to avoid introducing a lot of global variables. That additional slot of metaclass stores allowed content