freenode/#lisp - IRC Chatlog
Search
3:28:16
PuercoPop
Is there a good reason why SBCL doesn't provide the restart to finalize class when one calls class-slots on a class that hasn't been finalized?
3:34:17
axion
Is there a simple way to split a string delimited by #\Space into a list of strings, without using a library?
3:56:38
fiddlerwoaroof
What's the best way to split a pathname into a list of directories + the file name?
3:58:22
fiddlerwoaroof
JuanDaugherty: I actually can't find anything "off the shelf", although I've managed to hack something together that sort of works
4:03:11
JuanDaugherty
i was think about the end function, the path name elements and finally the file name
4:21:08
White_Flame
ugh, my old slime won't build on new sbcl, (*ASSEM-INSTRUCTIONS* not found in SB-ASSEM), and I need old slime to talk to long-running programs without version mismatches
4:21:34
White_Flame
guess I need a separate old sbcl to run that, too. And a separate emacs just to be configured for that
4:25:14
White_Flame
I would pay money to have somebody change SLIME such that the emacs side of it downloaded the instance-specific elisp into a closure only for that connection, instead of having a singular full slime client in emacs itself
4:28:19
White_Flame
if the swank end of things held a copy of the elisp specific to that swank, all would be swanky
4:29:38
White_Flame
heck, actually I guess I could still connect, but I can't build anything with swank at the moment
4:30:25
White_Flame
I don't know if there are variations for the emacs side of things, but still, the generic code can come along
4:31:18
SAL9000
and you're back where you started unless all Lisps that you want to co-host are on the same shim-version
4:31:38
White_Flame
I've written many thin launchers, and they stay put, because all the brains are in the downloaded code
4:32:00
SAL9000
my point is that eventually you'd need a new API which can't be backwards compatible for one reason or another
4:32:59
SAL9000
I thought you wanted to be able to use different SWANK versions concurrently in the one instance of Emacs
4:33:10
White_Flame
the idea would be that when you did slime-connect, it would download a copy of emacs-side slime specific to that connection
4:33:33
SAL9000
if it blindly executes the code blob it won't be able to evict old-swank when loading new-swank
4:33:36
White_Flame
instead of requiring installed emacs-side slime client code to version match the swank-side version
4:35:26
White_Flame
but it would solve the problem of having long-runnign servers with naturally older versions of swank
4:36:06
SAL9000
yes. If you don't care about evicting version 1 of swank to replace it with version 2 of swank -- all in the same Emacs instance -- then blind blob execution seems OK to me.
4:36:19
White_Flame
(either that, or bloat the crap out of emacs-side slime, retaining all older versions :-P)
4:36:52
SAL9000
well, I imagine that the "proper" way would be to formalise the SLIME/SWANK APIs more
4:37:17
White_Flame
yeah, I'm sure some of the eclipse or whatever packages that connect to swank would appreciate that as well
4:37:46
White_Flame
but still, I think you need to s/swank/slime/ in a lot of your statements, if you're understanding me
4:38:50
White_Flame
I can issue .lisp files to be eval'd into the system, but that wouldn't persist a restart
4:39:37
White_Flame
in any case, this has been a nuisance multiple times, but still a nuisance, not a breaking issue
4:40:25
fiddlerwoaroof
Hmm, I wonder if you renamed the swank package to SWANK-OLD (or the like) before loading new swank, if things would be alright
4:41:17
fiddlerwoaroof
That way you could keep old swank up and running until new swank has been tested
4:42:59
fiddlerwoaroof
Yeah, I was thinking about the situation where swank was part of some critical infrastructure
4:43:15
White_Flame
(well, and I can't start SBCL locally at the moment, because emacs is pointing at old slime, but whatever)
4:45:20
fiddlerwoaroof
But, in theory, renaming the package shouldn't affect the things in the package, unless the package relies on interning symbols in "PACKAGE-NAME" or the like
4:46:00
fiddlerwoaroof
So, it should be possible to run old and new versions of a package next to each other
5:03:46
BW^-
Hi! A question about Franz Inc. AllegroCache: Is its store automatically garbage collected, or??
5:27:09
White_Flame
that's their normal object store, not their triple store, right? I believe you manually remove
5:28:43
White_Flame
"Once the deleted object is garbage collected out of Lisp's memory any future persistent values that are read from the database that contain a reference to the deleted object will have that reference replaced by nil."
5:29:03
White_Flame
so certainly smells like no propagation of reference tracking, just deletion of individual objects
5:30:38
White_Flame
ORMs in general suck, though. Programmatic use of objects is almost never a good mesh with serialization needs
5:36:57
fiddlerwoaroof
Most of the issues with ORMs are that the simulation is a very leaky abstraction
7:47:11
earl-ducaine
I'm revisiting my knowlege of eval-when. My rule-of-thumb is: use it when you have a macro that's dependant on a function that's defined in the same file. Is that a reasonable summary? Any other considerations that should be raised to the level of rule-of-thumb?
7:48:04
beach
If you have an initial value of a variable that is required at compilation time later in the same file.
7:51:45
phoe
earl-ducaine: you have (defun foo () 2) (defmacro bar () (foo)) in the same file - this is going to fail, most likely
7:53:14
earl-ducaine
Oh, and a style question. How bad of form is to always use the full set of situations (:load-toplevel :compile-toplevel :execute) even one one's not needed...
7:55:56
phoe
you should not need to use other combinations unless you're meddling with the Lisp compiler or seriously play with how Lisp compiles files in general.
8:17:51
earl-ducaine
No meddling in the dark arts tonight. Learned my lesson with the pail and broom. Thanks for the help!
12:31:36
Thetabit_
I'm having some trouble with Emacs + Slime + SBCL. I have a fairly bare bones setup because I have to do my development on a windows box. But SBCL keeps crashing and locking Emacs up. I don't experience the crashing in a linux environment so I am wondering if Emacs + SBCL + Slime are the best when working in Windows. What do you guys think?