00:08:22 minion [~minion@common-lisp.net] has joined #sbcl 00:19:02 -!- Krystof [~csr21@csrhodes.plus.com] has quit [Ping timeout: 276 seconds] 00:32:01 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Quit: Leaving.] 00:32:06 Krystof [~csr21@csrhodes.plus.com] has joined #sbcl 00:32:06 -!- ChanServ has set mode +o Krystof 01:42:56 pr [phil@unaffiliated/pr] has joined #sbcl 02:41:11 jeti` [~user@p54B47801.dip.t-dialin.net] has joined #sbcl 02:45:26 -!- jeti [~user@p54B46BA2.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 02:53:31 -!- nyef [~nyef@pool-64-222-179-143.man.east.myfairpoint.net] has quit [Quit: G'night all.] 04:50:23 I just noticed the bug in launchbad about 16-byte stack alignment on x86. I've been screwed by this too, interfacing with libraries provided by my Linux distro (probably mentioned back when blogging about Shuffletron and libmpg123 woes). 04:50:55 It seems reasonable, nevermind if the ABI says 4-byte alignment is sufficient. 04:52:18 (x86 Shuffletron binaries are currently built with an SBCL patched to use 16-byte alignment) 04:56:12 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Quit: hargettp] 06:03:43 stassats [~stassats@wikipedia/stassats] has joined #sbcl 07:16:36 rmarynch [~roman@88.135.194.233] has joined #sbcl 07:19:52 Hello all:) 07:21:13 Could somebody please help me to understand whether this is a valid class definition: (defclass foo () (pi)) ? 07:22:35 *`3b`* can never remember where the bit about what you can do with cl: symbols is in clhs :/ 07:23:18 The same question for (defclass foo () (t)) 07:23:27 clhs 11.1.2.1.2 07:23:28 http://www.lispworks.com/reference/HyperSpec/Body/11_abab.htm 07:24:14 <`3b`> yeah, that one... doesn't seem to object there though 07:24:40 clhs defclass 07:24:41 http://www.lispworks.com/reference/HyperSpec/Body/m_defcla.htm 07:25:21 "Slot-name--a symbol. The slot-name argument is a symbol that is syntactically valid for use as a variable name." 07:25:58 well, I know it. But what do you think about PI as a slot name? 07:26:18 why does it matter what somebody thinks? 07:27:49 <`3b`> seems like it is by definition syntactically valid for use as a (constant) variable name 07:29:18 *`3b`* isn't sure which symbols wouldn't be by that interpretation though 07:30:19 the problem is a bit more complex, guys. Try (defconstant foo1 1) (defclass foo (foo1)) 07:30:35 your defclass is malformed 07:30:48 sorry, missed () 07:31:01 (defclass foo() (foo1)) 07:31:16 and it's the same issue 07:36:24 Why? The constant is not in CL package 07:36:26 <`3b`> stassats: are you forgetting that a bare slot-name is a valid slot-specifier? 07:36:43 <`3b`> if not, i don't understand what you are saying is wrong 07:36:53 `3b`: (defclass foo (foo1)) was wrong 07:37:08 <`3b`> foo1 is a slot-specifier, no? 07:37:31 <`3b`> oh, the missing superclass on that one? 07:37:34 well, it's malformed, i can't say anything about it 07:37:52 `3b`: it's either missing a superclass or slot descriptions, yes 07:38:27 rmarynch: well, you can't use constants to bind lexical variables 07:38:29 <`3b`> right, that one is broken, you aren't saying the (defclass foo () (foo1)) is malformed as well? 07:38:51 `3b`: no, i wasn't 07:39:43 <`3b`> ok, in that case i think i see how your statements go together now :) 07:41:19 "syntactically" bit is misleading, but if you ignore it, forbidding constants makes sense 07:41:32 <`3b`> constants are variables though :p 07:41:50 they are, but you can't bind them lexically 07:42:06 <`3b`> you don't bind slots though, do you? 07:42:25 <`3b`> at least not in the same namespace as lexical variables 07:42:49 i do, actually 07:42:55 (with with-slots) 07:43:11 <`3b`> ah, that's a better argument 07:43:17 it's symbol-macros, but it's the same issue 07:43:40 although you can specify a different name in with-slots 07:47:52 interesting. But above examples work fine with CLISP and Clozure. Are they both buggy? It may be so, of course 07:48:49 they accept normal slot names, don't they? then they're not buggy 07:49:37 they accept the example definitions which are rejected by SBCL 07:51:26 *`3b`* sees nothing requiring an error there, and i wouldn't reject the argument that it shouldn't be accepted either 07:51:33 and that doesn't make them buggy either 07:56:25 they accept even T and NIL (CLISP), so I think they just don't check too much 07:57:32 t and nil isn't any different from any other constant 08:03:26 <`3b`> mop isn't much clearer about validity, but requires an error if it is invalid 08:07:47 thank you for your help. I think that I will put a workaround description into LP, and we will wait for more opinions to come 08:21:42 <`3b`> https://bugs.launchpad.net/sbcl/+bug/309072 points to old c.l.l posts pointing to even older comments on the subject as well 08:23:54 this seems to be a bit unrelated - it is about the initialization, not about the names. Or I am missing something? 08:24:13 <`3b`> http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2006-03/msg00408.html specifically 08:24:46 thanks 08:25:01 <`3b`> the bug is about some ways to get around sbcl's error checking on slot names using the MOP 08:45:30 lhz [~shrekz@c-dba672d5.021-158-73746f34.cust.bredbandsbolaget.se] has joined #sbcl 08:48:50 (defclass c1 () ((pi :initform 773 :accessor myconst))). With the workaround, it is possible to define a class like this. Reading and writing with myconst work, but (with-slots (pi) c (print pi)) fails due to CL package lock violation. The question now becomes: is that better to fail in WITH-SLOTS, but to be able to use such slots names in other cases? Or it is better to leave the things as they are now? 09:37:24 -!- rmarynch [~roman@88.135.194.233] has quit [Quit: Leaving] 09:56:41 tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has joined #sbcl 10:00:47 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #sbcl 10:00:47 -!- ChanServ has set mode +o nikodemus 10:08:52 homie` [~user@xdsl-78-34-249-13.netcologne.de] has joined #sbcl 10:11:26 -!- homie [~user@xdsl-87-79-232-166.netcologne.de] has quit [Ping timeout: 264 seconds] 10:33:59 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 250 seconds] 11:28:02 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 11:42:14 -!- hefner [~hefner@ppp-58-9-115-98.revip2.asianet.co.th] has quit [Ping timeout: 255 seconds] 11:48:27 hefner [~hefner@ppp-58-11-47-6.revip2.asianet.co.th] has joined #sbcl 12:16:48 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #sbcl 12:16:48 -!- ChanServ has set mode +o nikodemus 12:30:09 hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has joined #sbcl 12:32:07 rmarynch [~roman@88.135.194.233] has joined #sbcl 12:37:32 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 13:10:20 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Quit: Leaving.] 13:10:24 -!- homie` [~user@xdsl-78-34-249-13.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:10:51 tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has joined #sbcl 13:12:06 -!- tcr [~tcr@cpc5-bour5-2-0-cust340.15-1.cable.virginmedia.com] has quit [Client Quit] 13:14:58 -!- rmarynch [~roman@88.135.194.233] has quit [Quit: Leaving] 13:16:26 homie [~user@xdsl-78-34-249-13.netcologne.de] has joined #sbcl 14:18:18 stassats [~stassats@wikipedia/stassats] has joined #sbcl 14:55:22 so.. no plan to change the stack alignment to 16 bytes on all x86 platforms, then? 15:12:13 -!- hargettp [~anonymous@pool-71-184-181-150.bstnma.east.verizon.net] has quit [Ping timeout: 245 seconds] 15:18:46 hargettp [~anonymous@pool-71-174-141-119.bstnma.east.verizon.net] has joined #sbcl 15:39:05 nyef [~nyef@pool-64-222-179-143.man.east.myfairpoint.net] has joined #sbcl 15:39:24 G'morning all. 15:40:01 hello nyef 17:10:09 hefner: I'd vote for that 17:18:53 -!- cmm [~cmm@bzq-79-182-202-208.red.bezeqint.net] has quit [Remote host closed the connection] 17:35:01 georgek [~george@c-24-17-224-196.hsd1.wa.comcast.net] has joined #sbcl 17:45:54 hi, I'm trying to compile sbcl on windows xp, and it failed with "make: gcc-3: Command not found", though I have gcc 3.4.5 with msys -- not too familiar with msys, anyone know what I need to do to keep going with this? 17:46:26 Step one, track down what the actual name of your compiler is. 17:46:58 Step two, alter the appropriate file in src/runtime to point to it, as well as whatever needs updating in contrib/. 17:47:07 Step three, should now build. 17:47:27 Something like that, at least. 17:50:38 thanks nyef, I'll try that 18:09:36 cmm [~cmm@bzq-79-182-202-208.red.bezeqint.net] has joined #sbcl 18:25:24 georgek_ [~george@c-71-227-168-87.hsd1.wa.comcast.net] has joined #sbcl 18:26:22 georgek__ [~george@c-24-17-224-196.hsd1.wa.comcast.net] has joined #sbcl 18:29:14 -!- georgek [~george@c-24-17-224-196.hsd1.wa.comcast.net] has quit [Ping timeout: 276 seconds] 18:30:03 -!- georgek_ [~george@c-71-227-168-87.hsd1.wa.comcast.net] has quit [Ping timeout: 264 seconds] 18:54:19 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 265 seconds] 18:56:47 got farther thanks to you nyef, but running into errors compiling the contrib modules -- "Makefile:2: "../vanilla-module.mk": No such file or directory" for example. The file ../vanilla-module.mk definitely exists, is there some problem I'm not seeing here? 19:07:30 nikodemus [~nikodemus@cs181199216.pp.htv.fi] has joined #sbcl 19:07:30 -!- ChanServ has set mode +o nikodemus 19:25:11 Seems a little odd, but that's a good start. 19:25:17 A /very/ good start. 19:25:52 Unfortunately, I've never built with msys, so I don't know what the tricks and traps are. 19:26:15 I do know that you can now skip most of the build while testing things, and just use make-target-contrib.sh instead of make.sh. 19:26:23 yes, there's some tricky thing here with the pathnames 19:27:18 I went down this road trying to fix a problem with asdf, so I'm stuck with that at least I think 19:33:52 the build used to work with MSYS out of the box -- but i admit i've been using cygwin lately 19:34:01 stassats [~stassats@wikipedia/stassats] has joined #sbcl 19:34:09 mainly because i haven't set up git to work with msys 19:36:34 it just seems to be stuck on the ../vanilla-module.mk error for contrib modules...I tried specifying the full path like "c:/documents and settings/george/my documents/downloads/sbcl-1.0.44/contrib/" but then make still separated it on the spaces 19:37:18 doing "../vanilla-module.mk" in the makefile also gave the same error, 'no such file or directory' 19:42:09 Have you tried building in a path without spaces? 19:42:51 working on that...been doing everything with my normal user account, but for some reason I can't get msys to run as the superuser 19:43:09 it opens the msys console but nothing appears, it just hangs with no prompt 20:08:00 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 260 seconds] 20:29:53 -!- nikodemus [~nikodemus@cs181199216.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 20:56:13 wow it works! 20:56:51 I probably don't have to say this here but...windows makes things so annoying sometimes ;) 20:58:38 just one contrib module failed, simple-streams, on " Symbol "MMAP" not found in the SB-POSIX package. 20:58:38 " 21:20:50 -!- georgek__ [~george@c-24-17-224-196.hsd1.wa.comcast.net] has quit [Ping timeout: 276 seconds] 21:23:37 -!- hargettp [~anonymous@pool-71-174-141-119.bstnma.east.verizon.net] has quit [Quit: hargettp] 21:25:50 And that last is a long-known issue. 21:27:31 As a random point, it might be amusing to make a windows SBCL that doesn't require any outside tools to build. 21:56:42 Rewrite the build system in lisp :) 21:57:13 The entire build system, rather. 22:22:48 Been there, did that. The problem is rewriting the C runtime bits. 22:23:45 At one point I had an SBCL that I built by some equivalent of "sbcl < make-stuff-happen.lisp", but it was /very/ hacked, and didn't even have a GC in the final output. 22:29:18 How do you mean? 22:30:10 Oh, you mean rewriting the C runtime in CL so that no C compiler is needed? 22:30:43 That sounds... less than practical 22:51:11 More practical on windows than anywhere else, actually. 22:52:39 -!- lhz [~shrekz@c-dba672d5.021-158-73746f34.cust.bredbandsbolaget.se] has quit [Quit: Leaving] 22:55:37 How would you go about writing the GC in lisp? 22:57:07 I'd start by coming up with some way to arrange for the code for the GC to be located in some immovable space, such as static-space. 22:57:30 Once it's not going to be moved during GC, it's fairly straightforward. 22:58:19 Hm. 22:59:00 Alternately, use some other language that can easily be compiled. 22:59:30 A number of implementations use some sort of "system lisp" that lets them do low-level things. 23:04:00 -!- homie [~user@xdsl-78-34-249-13.netcologne.de] has quit [Ping timeout: 265 seconds] 23:04:17 What would be the advantage of defining a lisp dialect specifically for that? I would think that a couple memory-related declarations couples with a little care in which functions you call would be sufficient. 23:05:27 Given the Python compiler? Sure. But it apparently is advantageous enough that some systems do it that way. 23:06:29 Hm. 23:09:04 homie [~user@xdsl-87-79-63-160.netcologne.de] has joined #sbcl 23:11:56 I actually started working out how to make a GC in SBCL at least close to efficient, but didn't move beyond a proof-of-concept. 23:12:57 Umm... And the calling convention is a bit heavyweight, so there'd still be a bit of overhead. 23:13:43 Interesting. 23:14:30 I guess I don't under the GC well enough to comment. 23:17:46 hargettp [~anonymous@pool-71-174-141-119.bstnma.east.verizon.net] has joined #sbcl 23:19:55 -!- hargettp [~anonymous@pool-71-174-141-119.bstnma.east.verizon.net] has quit [Client Quit]