libera/#commonlisp - IRC Chatlog
Search
6:51:26
jackdaniel
I've once discovered a bug in sbcl. it happened that it was sitting in front of the monitor; fixing the code got rid of it ,)
16:11:25
gendl
Hi does anyone know how, in a typical CL, we could implement a file watch watch capability, Whereby some function will be triggered when it's detected that a file has changed on disk.
16:13:15
gendl
I could imagine a background thread which sleeps and wakes every 10 seconds and checks the file but that sounds kind of inefficient - node has a --watch flag where the command reacts instantaneously to file changes — But I can't believe they are doing busy waiting or even sleep & wake loop... are they?
16:17:32
gendl
My only issue with Shinmera's libraries are they are written with a case convention that breaks modern-mode allegro and the author has stated that on principle he would refuse fixes for same (He doesn't see them as fixes of course) And so if I want to use the libraries I have to fork them and maintain my own fork
16:18:03
Shinmera
or you could just, you know, not load libraries with modern mode active. as it should be done, anyway.
16:21:53
semz
wouldn't any kind of symbol generation like (intern (concatenate 'string "FOO-" name)) also break it?
16:23:14
gendl
The intern example above would not per se break it, But you would end up with a symbol exactly as you created maybe upper case maybe lower case maybe mixed case
16:23:54
gendl
Which I think is the same behavior in ansi mode depending on how you construct the symbol
16:24:06
smlckz
is there a system of common lisp standard library reference in the manner of man pages?
16:26:20
gendl
Anyway most of what I'm doing these days is not modern mode stuff so I can try shinmera's libraries there. Then try porting to modern mode if and when that seems to make sense.
16:28:03
jackdaniel
shouldn't intern take the string as it is? (i.e disregarding modern or normal mode)
16:28:35
pjb
jackdaniel: the question is (intern (concatenate 'string "FOO-" name)) vs (intern (concatenate 'string "foo-" name))
16:29:18
jackdaniel
then the question is lost on me, one will give a symbol with a name "FOO-/something" and another with a name "foo-/something/"
16:29:59
pjb
jackdaniel: but in modern mode, I guess (intern (concatenate 'string "FOO-" name)) would or should give |foo-/something/|
16:30:29
pjb
smlckz: some distributions have a hyperspec package, or you can download the tarball from lispworks site.
16:30:32
jackdaniel
pjb: that doesn't make sense though? because you deliberely supplly the symbol name?
16:36:28
gendl
Modern mode has a case sensitive readable (which by itself doesn't violate ansi) but then all CL symbols are interned in lowercase. And that last part violates ansi just a tiny bit.
16:37:44
gendl
It reads T case-sensitively and that does not match the Lisp's idea of t which is lowercase.
16:45:17
gendl
So.. either port the Shinmeraware to work on modern mode.. or port the few modern mode apps I'm supporting off modern mode. That latter is sounding like it might make sense.
16:46:08
gendl
I remember how mad Erik Naggum got at Franz when they released modern-mode. After he'd loved them so much.
16:47:24
gendl
Readable-case :invert gives most of the benefits of modern mode w/o running afoul of ansi.
16:48:22
gendl
And Dropping modern mode from our builds would cut allegro-based build times in half.
16:51:21
gendl
I think I was talked into modern mode back in the day without real good reason (it was not someone at franz). I think modern mode made some internal stuff Franz was doing more convenient for them, so since thay had it they said what the hey let's release it people might like it. Bit I don't think they've ever heavily promoted it.