| Fare | "Your kitten of death awaits": is it a reference to this? http://www.facebook.com/l.php?u=http%3A%2F%2Fnews.yahoo.com%2Fs%2Fap%2F20100131%2Fap_on_re_us%2Fus_death_cat_doctor&h=73a3f4a6f11b2d741b363b16075dce53 |
| housel | Fare: I always assumed it referred to http://www.sluggy.com/comics/archives/daily/000626 |
| nyef | Hello all. |
| Fare | nyef, we were discussing kittens of death. |
| nyef | Oh, goody. |
| Fare | housel, is bunbun a kitten? |
| Fare | looks like a rabbit |
| xx7sinsx | lol |
| housel | bunbun is the rabbit |
| Fare | I see no kitten of death there |
| jsnell | read a few strips forwards |
| housel | You have to read through several comics (it's a fairly long story arc) |
| housel | (It's a horror movie parody; the gist is that "The Evil" is a litter of kittens spawned by satan, which will reduce to a mist of blood and gore anyone who fails to keep them fed) |
| housel | nyef: so is that where it came from, or is "your kitten of death awaits" an independent invention? |
| nyef | Independent. |
| nyef | lose("CATS. CATS ARE NICE.\n"); |
| Fare | life justifies fiction after the fact. |
| nyef | If anything, deathkitten was inspired by Pratchett, except that I don't actually -like- the discworld books. |
| nyef | So, I noticed something last weekend: SBCL is clearly not standard-compliant with respect to PATHNAME-HOST. (pathname-host #p"") doesn't return a valid pathname host. |
| fe[nl]ix | nyef: nobody seems to have noticed it before :) |
| pr | does anybody know of some library which would allow me to read, write and convert-to fixed-size binary types, like if i'd want to deal with 12 bit vectors/"types" |
| Xach | pr: binary-types, maybe? |
| nyef | So, what I'm thinking for the UNC filespec thing is to define the share as the device and the server as the host, representing the host as a list of the hostname-as-a-string, to distinguish it from a valid logical pathname host (which must be a string), and from the local machine (which can be distinguished as a zero-length list of strings). |
| nyef | Since only logical pathname hosts have a defined syntax for parsing pathnames, we can then use //server/share/ to parse to :host ("server") :device "share". |
| Fade | ccl returns :UNSPECIFIC for that pathname-host form. |
| nyef | That's possibly a valid interpretation. |
| nyef | I'm not sure how it all works out yet, but this is the direction I'm leaning towards. |
| drewc | heh, i was reading "Macros that Reach Out and Touch Somewhere" and thinking to myself "hrmm... this is almost like monads".. then i threw the idea way because _everything_ has looked like monads to me lately. |
| pkhuong | drewc: sounds right. |
| xx7sinsx | Does anyone know the command for droping to shell mode in emacs GNU 23? |
| drewc | sure enough, the conclusion mentions that it's like monads |
| nyef | So, the other thing that's bugging me right now is that SBCL doesn't build the assembler-routines before first genesis, which neatly complicates my plan for destroying x86oid-assem.S. |
| wgl | xx7sinsx: M-x shell |
| xx7sinsx | wgl: Thank you |
| wgl | yw |
| p_l | nyef: regarding UNC spec, could we get logical-pathnames -> UNC with local C: as "\\.\C:"? |
| nyef | Not sure. |
| p_l | I mean, CL kinda isn't limited to using DOS-compatible pathnames and logical pathnames serve as IMHO nice way to slip NT pathnames in |
| HET2 | what are logical pathnames |
| nyef | clhs 19.3 |
| specbot | http://www.lispworks.com/reference/HyperSpec/Body/19_c.htm |
| nyef | HET2: That's the section of the CLHS on the subject. |
| HET2 | thanks |
| p_l | HET2: I can't decide if logical pathnames are awesome gift of god or rotten stuff to leave alone ;-) |
| Action: nyef leans more towards awsome gift, but is aware of some of the rotten stuff that got mixed in. |
| HET2 | oh my god, lispworks lisp is so insanely expensive |
| fe[nl]ix | depends on your budget |
| Action: drewc thinks lispworks is a pretty good deal if you need what it offers |
| drewc | and if you're just a hobbyist, they offer a free version... which is not expensive at all. |
| Action: nyef checks his budget... Funny, it's all allocated towards books, food, and the occasional bit of hardware, with the minor possibility of buying a 64-bit windows license. |
| Action: drewc has budgeted for a new guitar |
| drewc | the one i want makes lispworks look cheap |
| drewc | the one i'm going to get, otoh |
| fe[nl]ix | Scieneer ? |
|
|
| drewc | is about the same price range. |
| Action: p_l for some reason ended with having a 2k8r2 server license for free. It's his only personally-owned non-oem windows license o_O |
| drewc | genera still 5k? |
| antoszka | p_l: A non-edu one? Someone just gave it to you? |
| p_l | antoszka: edu one, except instead of MSDNAA I got it straight from MS |
| antoszka | uhm |
| antoszka | lucky b'tard :) |
| p_l | well, a slightly modified edu - basically, it's "don't use it for commercial purposes" and the rest is normal :D |
| p_l | antoszka: you might be eligible as well ;D |
| nyef | Oh, I might be getting a PPC G5 next weekend. |
| Ralith | p_l: "don't use it for commercial purposes?" So basically, don't own it while you have a job? |
| p_l | Ralith: no, don't use it to run business/develop commercial software |
| nyef | What about using it to develop open source software? |
| stassats | and selling it? |
| nyef | (What about using it to develop open source software -for money-?) |
| Ralith | what about using it to develop open source software *someone else* sells? |
| pastorn | i'm looking for the eval/apply picture with the two hands holding each other |
| p_l | nyef: well, in theory, you can develop open source on it, as long as it isn't directly used for commercial purpose |
| pastorn | google images gives me no luck |
| p_l | Ralith: so selling by third party is possible |
| nyef | What about a third party selling the software and giving you a "kickback"? |
| p_l | nyef: murky area |
| Ralith | p_l: even if the third party is the actual project, and you're submitting patches? |
| p_l | I suspect it depends on local laws |
| p_l | anyway, it fills my purposes nicely |
| pastorn | does anyone know what picture i'm talking about? |
| proun | is PAIP a book worth having on your desk as a reference? |
| stassats | it's not a reference book |
| drewc | it _is_ worth having mind you. |
| p_l | proun: not as reference. As an actual textbook to learn various useful things (not only for Lisp), yes |
| antoszka | Mine's on the way. |
| proun | just in your personal perference, would you get it in dead tree form? |
| Action: p_l keeps university's only "on shelf" copy for himself |
| drewc | i got my copy at the MIT coop :) |
| Ralith | stassats: the introduction suggests it be used as such. |
| p_l | I'm kinda disappointed that no-one tried to recall mine. I suspect I'm one of the few lispers around -_- |
| p_l | (on the uni, I mean) |
| proun | so all and all, worth owning? by that i mean i can go back to it again and again? |
| p_l | proun: I'd say so |
| proun | thanks |
| nyef | ... Is there a maximum length for defined constants in C? |
| Ralith | nyef: for their names? |
| nyef | Yeah. |
| Ralith | Zhivago would probably know |
| nyef | I think the longest I have here is about 35 characters. |
| nyef | And, while I'm clearly going to have trouble with the ones that try to have an *, a <, or a > in their names, I'd like to know I'm not going to run into trouble about simple length. |
| reb | nyef: There used to be absurdly short limits, such as externals needed be unique in the first 7? characters. Any modern compiler should be able to handle very long macro names. |
| nowhere_man | why would #\* be a problem in a name? |
| nowhere_man | nyef: sorry, I read CL, not C |
| nyef | nowhere_man: Yeah, I'm generating C #defines from a lisp program. |
| Ralith | reb: macros are handled by the preprocessor. |
| Ralith | shouldn't get to the compiler at all. |
| nyef | I'm also finding that there are two separate extern definitions for call_into_lisp, in separate .c files. |
| reb | Ralith: I was interpreting "defined constants" to mean preprocessor macro constants. |
| Ralith | reb: the concept of "external" doesn't apply to preprocessor symbols. |
| Ralith | nor does the modernnes of the compiler have much bearing. |
| reb | By the way, there's no demand for a separate preprocessor. It can be and often is built in to the compiler. |
| Ralith | nyef: for those very reasons I don't actually think that *<>etc are likely to be an issue. |
| reb | Ralith: I am aware of that. I was using it merely as an example of outdated limits that no compiler observes today, save perhaps embedded ones. |
| nyef | Ralith: My reason for *, < and > not being an issue is simpler: I don't actually need to refer to them from C code, they just got caught in the conversion process. |
| Adlai | what's the point of writing compiler macros for macros? |
| Ralith | reb: 'kay |
| nyef | Adlai: Compiler macros for normal macros? Very little, I'd imagine. |
| adeht | nyef: C++98 suggests a minimum limit of 1024 for "initial characters" in an identifier |
| Ralith | adeht: damn O.o |
| Ralith | I guess that's a case of "Find the largest sane limit, and raise it an order of magnitude." |
| p_l | nyef: Will go outside 255 bytes + null? |
| Adlai | nyef, I wonder why it's allowed by the spec. |
| nyef | p_l: I'd be surprised if the identifiers break 50 characters, and completely shocked if they break 80. |
| adeht | nyef: same with C++03.. C99 imposes a minimum of 63 characters limit for internal identifiers and 31 for external identifiers (but watch out for "universal character names") |
| Action: nyef tries to remember how to do a cast to a function pointer without involving a typedef. |
| Ralith | nyef: just involve typedef. |
| Ralith | for sanity's sake. |
| Ralith | think of the readers. |
| Action: nyef just didn't want to burn the extra identifier, but an _t suffix is unlikely to collide. |
| nyef | #define call_into_lisp ((call_into_lisp_t)ASMRTN_CALL_INTO_LISP), here we come! |
| Ralith | nyef: what are you doing in C, anyway? |
| nyef | Moving some assembly around, actually. |
| nyef | Uh-oh... How on earth am I supposed to convert GNAME(current_thread)@TPOFF(%rax) to something I can use? |
| Guthur | I was using function pointers there recently, what an awful form |
| p_l | nyef: is the platform constrained in any way or does it have to be very portable? |
| nyef | I'm not sure at this point. |
| nyef | I'm targetting gcc at this point, with the exepctation that someone will want to re-target to MSVC. |
| p_l | on ELF platforms, most compilers will give you *very* long identifiers, at least in C, since they usually just output the symbol literally, and C++ kinda forces the linkers to support symbol names that are way longer than 100 characters |
| Adlai | hm, why are symbol macros replacement templates, rather than expanders like normal macros? |
| rahul | erm... what would be involved in "expanding" them? |
| Adlai | same thing that would be involved in expanding a macro, except that this expansion function would have zero arguments |
| rahul | . . . |
| nyef | Adlai: You're... looking to conditionalize the expansion of a symbol-macro on some piece of dynamic state? |
| Adlai | nyef, no, I'm wondering whether it's possible to generate the expansion of a symbol macro, rather than have to write it all out. This is just out of curiosity though. |
| rahul | yes, it's possible |
| rahul | how would anything NOT be possible? this is lisp, man! |
| Adlai | I guess you could wrap the definition of the symbol macro with a macrolet that did the code generation. |
| Adlai | or maybe expand to the macrolet? dunno. I'll cross this bridge _if_ I even reach it :) |
| Adlai | *ever |
| rahul | or expand to a macro |
| rahul | or expand to a macro invocation, rather |
| Adlai | right, I guess (define-symbol-macro foo (macrolet ((generate-expansion () ..)) (generate-expansion))) |
| Adlai | eh |
| nyef | I usually wrap them the other way around, TBH. |
| nyef | But then, I usually use -local- symbol-macros. |
| Adlai | what do you mean, nyef ? |
| nyef | I have a symbol-macro that expands into an accessor form, and have the accessor defined -around- the symbol-macrolet, but it doesn't actually matter which way it happens. |
| nyef | Another cute thing you can do is have a macro that expands to a define-symbol-macro. |
| rahul | formulate has a macro that expands to define-symbol-macro |
| rahul | for implementing variables that are formulas |
| nyef | Okay, time to see if this maniac idea passes its smoke test. |
| qrush | hi there, trying to run something with sbcl, i've got it loaded up, and it has a defun run in it... |
| qrush | how the heck do i call that? |
| qrush | (run) doesn't work |
| qrush | i linked the .asd, ran (asdf:oos 'asdf:load-op :myprog) |
| qrush | and it definitely compiles |
| nyef | I would suggest that the problem is most likely something to do with the package system. Have a look for a DEFPACKAGE form in the source and try (package-name:run). |
| nyef | Oh, -joy-. all_threads is hit from lisp -before- toplevel form processing. |
| nyef | How do I make this not suck? |
| qrush | nyef: yeah, it's got a cl:defpackage in it |
| qrush | exports #:run |
| qrush | How do i call that? |
| nyef | What's the package name? |
| nyef | First parameter to the defpackage. |
| qrush | (cl:defpackage :mcpixel |
| nyef | Okay, try (mcpixel:run). |
| qrush | debugger invoked on a SIMPLE-ERROR: No CLIM-SYS:MAKE-PROCESS here. |
| qrush | i've got CLIM working with asdf |
| nyef | And now you're beyond where I can really help you, I'm afraid. |
| qrush | this whole CLIM thing is really, really frustratingly complex. |
| qrush | nyef: well, i'm just trying to run the program...i definitely have it compiled |
| nyef | ... Actually, one thing comes to mind. Are you running on a threaded SBCL or one without thread support? |
| qrush | I have no idea, whatever macports installed. |
| nyef | (Look for :sb-thread in *features*.) |
| qrush | why does that even matter? |
| pkhuong | qrush: can't make a new thread if your implementation doesn't support threads. |
| nyef | Because CLIM-SYS:MAKE-PROCESS is a function to create a new thread. |
| nyef | pkhuong: Hey, any ideas on how to resolve an assembly-routine address in Lisp code prior to toplevel-form processing in cold-init? |
| qrush | Yeah, fuck this. way too complicated. |
| qrush | Thanks for the help, just not worth it though :) |
| pkhuong | nyef: can't you do that while building th ecold core? |
| nyef | McCLIM loses again... and vendor packaging doesn't win either. |
| nyef | From outside the compiler? |
| nyef | I think I may need a parallel to foreign-symbol-dataref-sap or something. |
| pkhuong | Yeah, outside the compiler. When you build the cold core you know where the routines have wound up. |
| nyef | Sure, but how do I persuade the compiler to dump a fixup in the first place? |
| pkhuong | nyef: it's probably a matter of "port install sbcl+thread", actually. |
| pkhuong | oh. Right. |
| nyef | I have hope that this may be the last hurdle before my initial proof-of-concept for this entire demented idea works. |
| Guthur | nyef: what is your demented idea; if it can be summed up quickly |
Popular searches: