5:21:57drmeisterSo there is no point at looking at the get-setf-expansion?
5:22:21Bikeget-setf-expansion takes an environment argument the same way macroexpand does, and by default uses the global environment, same way as macroexpand
5:22:27Bikeso you could do a similar thing if you want
5:22:32Bikei don't know what particularly you want to do
5:22:58drmeisterI want to find out where and why the broken bootstrapping code is different from the working code
5:23:54drmeisterIn particular, the broken code fails on: (with-early-accessors (+the-standard-class+) (setf (class-id class) name))
5:27:17drmeisterI'm going to back up - and go back to the original bootstrapping sequence for bclasp.
5:27:38drmeisterThat will move the problem to earlier - but I'll only be changing one thing then.
5:28:49drmeisterHmm, the problem seems to have disappeared.
5:43:33drmeisterNo - sorry to hit you with whiplash - but I think the class-id issue was because I was avoiding loading this earlier code - that just caused another problem.
5:50:16Bikeokay, so it tries to do (subtypep vector (or list vector)), presumably to make sure the defstruct is valid
5:50:19drmeisterThis is a problem that has come up several times that I've tried to improve the bclasp compiler - the bootstrapping always fails on the first defstruct
5:51:36drmeisterThat's the predlib.lsp code for canonical-type
5:52:30drmeisterI'm about to put some code in to print debugging messages when I bind a dynamic variable to T
5:53:47Bikewell, here's a dumb idea: i think that defstruct doesn't take a subtype of vector, it only takes literally vector, list, or (vector some-element-type)
5:54:00Bikeso you could take out the subtypep, maybe
10:01:05larsenarduo: if you're looking for an italian Lisp channel, I'd like to resurrect #lisp-it (currently no traffic, but it is not completely desert)
10:02:17arduook I'll add it to my autoconn list so we'll meet there
15:12:11jurovwhich says about :number lol "Benefits: Programmer expectations that any useful behavior can be portably relied upon in this pathological case should be soundly trounced."
15:12:51flip214phoe_: yeah, a function would be better here. it's just an example, I guess?!
15:13:00phoe_flip214: I want my examples to be sane.
15:13:13ogamitaphoe_: double quotes in default values for macro arguments is not strange, because macro arguments are source code!
15:13:31phoe_ogamita: yes, I got it after some internal brainwork.
15:13:47ogamitaphoe_: on the other hand, the fact that it seems unnatural to you is a hint it should be written as a function, not as a macro. ;-)
15:13:48flip214phoe_: then just change that to a function.
15:13:48phoe_One quote is for evaluating the source code, second quote is for evaluating the function argument.
15:14:03phoe_flip214: looks like SETF will break this way.
15:14:21flip214phoe_: as you said, a SETF expansion would then be needed.
15:14:27phoe_so I need a clever defsetf or a define-setf-expander.
15:19:16ogamitaflip214: with (setf getf) can change a nil into a list. (defun (setf …) …) cannot do that, you need a define-setf-expander.
15:20:05ogamitaphoe_: : on the other hand, with get, we have already an object, since get works on symbols, so there's no point in using the macro, (defun (setf age) (new-age p &optional d) (declare (ignore d)) (setf (get p 'age) new-age)) works nicely.
15:20:05phoe_but SETF GET seems to expand into something sane.
15:20:40phoe_ogamita: yes, that was my point - why the macro?
15:21:18ogamitaTo spare the double definition defun and defun setf…
16:20:05phoe_ACTION pushes chapter Symbols to CLUS
16:20:34shka_i am glad that lisp allows you to optimize memory allocation to a some extent
16:20:54shka_sometimes it can make huge difference
16:37:41d4ryusHi, is there a way to check how many bytes i can read off a stream (iam using usocket socket-streams)? because read-sequence blocks if my buffer size is bigger than the amount of available bytes.
16:39:02d4ryusI guess i could loop with LISTEN and read off one byte each time, but that sounds horrible performance wise :D
16:50:04ymTrying to build last sbcl from git on OpenBSD I get "./src/runtime/sbcl[1]: ELF: not found" and "./src/runtime/sbcl[2]: syntax error: `(' unexpected" messages. Google says nothing. Am I doing something wrong?