freenode/#lisp - IRC Chatlog
Search
6:12:13
elderK
Guys, question: How am I meant to parse: " defgeneric function-name gf-lambda-list [[option | {method-description}*]]"
6:12:28
elderK
As far as I read that, it says we can have only /one/ option. But we can have zero or more method-descriptions.
6:12:52
elderK
But the CLHS states you can have multiple options - as long as each is specified once?
6:51:56
beach
It is quite confusing, but I think if one takes the time to read it, it might become clear. :)
7:58:47
cupholder
I'm doing the exercises from Norvig's PAIP to learn CL, and noticed something weird. He says compilation makes functions 300+ times faster, but trying his "f" function on an input of a billion (to see the running time difference on a modern computer) gives me 4.919s for the interpreted version and 4.918 for the compiled version.
8:00:13
cupholder
To make sure I wasn't crazy, I wrote a basic recursive fibonacci function and timed it. It came out to 4.063s for the interpreted version and 4.064s for the compiled version. In both cases, I ran the function with the timer after defining it in the repl, entered (compile 'f) or (compile 'fib), and ran it again.
8:08:32
cupholder
The explicitly-compiled version runs with the same time on subsequent runs. Did SBCL produce a different binary for the same code? Is it non-deterministic?
8:11:35
jdz
I don't know. I'd rather forget a thing or two now and then than one bit flip in my brain crash the whole thing.
10:53:47
jmercouris
both logs are not working, can someone please remind me what I need to put in my SBCLRC to enable debugging?
10:57:09
jackdaniel
what is "enable debugging"? what logs? you'll get dropped in a debugger for unhandled errors without any magic things in sbclrc
10:58:20
jmercouris
sorry yes, I mean with regards to stepping through a restart after recompiling a function
10:58:45
jmercouris
so, when a signal is raised (I think that's how you say it) and you get the debug menu, I want to be able to recompile the function and restart from a previous frame
10:59:09
oni-on-ion
(declare (optimize (debug 3))) in sbclrc though, i've been suggested here before.
10:59:40
jmercouris
there was someone who had posted a slightly different solution, I just can't find it in the logs :\
11:00:23
oni-on-ion
or -> https://stackoverflow.com/questions/4638710/maximum-debug-info-from-steel-bank-common-lisp-slime
11:00:26
jmercouris
if I remember or find what that other user had posted, I will repost tot his channel
13:58:18
dim
that's with Welcome to Clozure Common Lisp Version 1.11-r16635 (DarwinX8632)! on macOS Mojave
14:03:25
jdz
dim: I think there's a release of ccl compatible with latest macOS, read something about those lines on the mailing list.
14:04:56
jdz
"sudo installer -store -pkg ccl.pkg -target /" on the http://setf.clozure.com/~rme/ccl.pkg
14:18:33
dim
seems to work fine, thanks, but I need to learn how to use it from SLIME rather than with the integrated GUI
14:25:41
jdz
If it's about Common Lisp, then iterate predates CL (year 1990, http://dspace.mit.edu/handle/1721.1/41498?show=full).
14:36:06
pfdietz
I'm grumpy about ITERATE. It doesn't work with COVER. Hacking COVER to make it work with it is on my to-do list.
14:44:01
astalla
There's also my "doplus" library that predates FOR: https://bitbucket.org/alessiostalla/doplus/wiki/Home
17:13:51
beach
HAH! "A key concept in all operating systems is the /process/." From Tanenbaum and Bos: Modern Operating Systems.
17:16:27
shka_
"mr Tanenbaum, just like you have passed judgment on operating system design, i have come to pass judgment on you!"
17:16:47
beach
Though, he might be forgiven, since the book restricts the domain to "modern" operating systems. :)
17:17:53
beach
It reminds me of when I was a child and my parents were forced to replace their gas stove with an electric one (which of course is much worse, at least with the design at the time). My mother said "well, I guess it's more modern".
17:49:58
jcowan
Well, it depends on how they define "process". I don't want to see everything in the system put into one great big event loop for all applications simultaneously, like the Mesa OS from Xerox did.