00:00:46 nyef: yeah, will be 'til next month, and assuming things go well, on the new server(s) after that. 00:01:17 bananagram [~bot@c-98-198-236-112.hsd1.tx.comcast.net] has joined #lisp 00:01:44 nyef: /join #common-lisp.net if you have needs/wants/desires etc and you are not there already 00:03:06 Perhaps tomorrow, I'm actually about ready to leave for the evening. 00:03:28 -!- AeroNotix [~xeno@abnz120.neoplus.adsl.tpnet.pl] has quit [Quit: Uploading hax.....] 00:03:48 -!- bitonic [~user@b0fb09c5.bb.sky.com] has quit [Remote host closed the connection] 00:03:54 joneshf-laptop [~joneshf@c-98-208-37-38.hsd1.ca.comcast.net] has joined #lisp 00:04:31 bitonic [~user@b0fb09c5.bb.sky.com] has joined #lisp 00:05:21 -!- doomlord [~doomlod@host81-159-234-112.range81-159.btcentralplus.com] has quit [Ping timeout: 248 seconds] 00:06:07 -!- MrWoohoo [~MrWoohoo@pool-173-67-109-10.lsanca.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 00:06:11 nyef: cheers :) 00:08:49 -!- brandonz [~brandon@206.169.144.70] has quit [Read error: Connection reset by peer] 00:09:00 -!- adelgado [~TomSawyer@65.23.61.98.nw.nuvox.net] has quit [Quit: Leaving.] 00:09:01 Hrm... Yes, time to go find dinner. 00:09:04 -!- nyef [~nyef@c-76-119-183-159.hsd1.ma.comcast.net] has quit [Quit: G'night all.] 00:10:32 -!- bitonic [~user@b0fb09c5.bb.sky.com] has quit [Remote host closed the connection] 00:11:05 bitonic [~user@b0fb09c5.bb.sky.com] has joined #lisp 00:12:50 -!- Joreji [~thomas@vpn-eu2.unidsl.de] has quit [Ping timeout: 255 seconds] 00:15:52 are there any known bugs in cffi:with-pointer-to-vector-data? 00:16:58 the code that seems most likely to be the cause of the heap corruption is a fairly straightforward use of with-pointer-to-vector-data 00:17:21 <|3b|> are you using the pointer after w-p-t-v-d exits? 00:18:03 <|3b|> also, which lisp implementation? 00:18:08 |3b|: nope; I use it once, in a function-call inside w-p-t-v-d; sbcl 00:19:02 MrWoohoo [~MrWoohoo@pool-173-67-109-10.lsanca.fios.verizon.net] has joined #lisp 00:19:34 <|3b|> are you using safety 0? 00:19:55 |3b|: no 00:20:07 doomlord [~doomlod@host81-159-234-112.range81-159.btcentralplus.com] has joined #lisp 00:20:14 -!- Mattykins [~matt@69.43.176.6] has quit [Remote host closed the connection] 00:20:14 |3b|: that's why I'm going over all my FFI code with a fine-toothed comb 00:20:37 -!- killerboy [~mateusz@195.225.68.249] has quit [Quit: leaving] 00:22:52 *|3b|* wouldn't expect w-p-t-v-d by itself to cause any problem, or to give a bad pointer without complaining if SAFETY is reasonable 00:23:48 Guest36579 [~user@74-134-242-5.dhcp.insightbb.com] has joined #lisp 00:27:20 ah, it wasn't heap-corruption, I turned debug up and got a much more reasonable result 00:28:14 with speed high and debug low, it seems to print SB-KERNEL:INSTANCE instead of the name of the struct for structs 00:30:42 -!- samm [~samm@212.91.105.133] has quit [Quit: samm] 00:31:19 peterhil [~peterhil@91-157-48-10.elisa-laajakaista.fi] has joined #lisp 00:39:57 samm [~samm@212.91.105.133] has joined #lisp 00:41:15 <|3b|> is there any supported way to do something like cffi:foreign-funcall-pointer without the automatic type translations? 00:41:55 <|3b|> or rather with doing the automatic type translations by hand separately 00:46:32 -!- normanrichards [~normanric@rrcs-108-178-120-144.sw.biz.rr.com] has quit [] 00:47:34 |3b|: Can you even have a literal for a foreign integer? 00:47:43 (for example) 00:48:48 <|3b|> idea is to convert literal lisp values to foreign values more efficiently, for example enums -> integers, or random numeric types to single-float or whatever 00:49:13 <|3b|> preferably somewhere the compiler has access to type info, so could skip the conversion if it knows the type is already right 00:49:25 kvda [~kvda@unaffiliated/kvda] has joined #lisp 00:50:11 -!- johs [~johs@hawk.netfonds.no] has quit [Ping timeout: 255 seconds] 00:50:28 -!- antonv [5d7d2a66@gateway/web/freenode/ip.93.125.42.102] has quit [Ping timeout: 245 seconds] 00:50:47 <|3b|> the way cl-opengl is currently written, it can't inline that since it needs to look up most of the functions at runtime 00:51:45 <|3b|> but if the type translations were done separately from the foreign call, they could be moved out of the part that is updated when the function pointer is set 00:51:45 penryu [~penryu@unaffiliated/penryu] has joined #lisp 00:52:09 johs [~johs@hawk.netfonds.no] has joined #lisp 00:52:11 -!- nan_ [~user@178.233.216.230] has quit [Remote host closed the connection] 00:53:06 -!- pok [~pok@tarrant.klingenberg.no] has quit [Ping timeout: 276 seconds] 00:53:13 pok [~pok@tarrant.klingenberg.no] has joined #lisp 00:53:29 <|3b|> alternately, someone could rewrite that bit of cl-opengl yet again, to try to allow the calls to be inlined, not sure how reasonable that is though 00:54:05 -!- penryu [~penryu@unaffiliated/penryu] has left #lisp 00:55:59 -!- LiamH [~none@96.231.218.61] has quit [Quit: Leaving.] 00:57:30 -!- dt770 [dt770@c-fa1ee755.05-23-6c6b7013.cust.bredbandsbolaget.se] has quit [Quit: Fug!] 00:58:10 |3b|: can't you already do those translations ahead of time? 00:58:23 <|3b|> maybe? 00:58:35 <|3b|> doesn't help if cffi tries to do them again though 00:58:45 <|3b|> well, doesn't help much 00:58:57 for example, if you did enum -> int, then just told cffi it was an int 00:59:42 <|3b|> if you mean either using numbers directly, or wrapping every single function call argument in cffi:foreign-enum-value, then no 01:00:17 why not? 01:00:25 rpg [~rpg@216.243.156.16.real-time.com] has joined #lisp 01:00:26 <|3b|> because it would be stupid? 01:00:55 araujo [~araujo@190.73.45.171] has joined #lisp 01:00:55 -!- araujo [~araujo@190.73.45.171] has quit [Changing host] 01:00:55 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 01:00:55 isn't that what you asked for? I'm confused now 01:01:08 *|3b|* uses lisp because i'd rather let the computer do stuff like that for me 01:01:24 16:39 < |3b|> is there any supported way to do something like cffi:foreign-funcall-pointer without the automatic type translations? 01:01:48 16:40 < |3b|> or rather with doing the automatic type translations by hand separately 01:01:55 <|3b|> right, i want to do the automatic type translations separately 01:02:02 *|3b|* possibly should have deleted that 'by hand' part 01:02:08 -!- gendl [~gendl@c-98-250-10-50.hsd1.mi.comcast.net] has left #lisp 01:02:22 <|3b|> i still want them 'automatic', just not added automatically 01:02:44 <|3b|> i want to control where they are expanded by hand 01:07:31 -!- agumonkey [~agu@45.217.72.86.rev.sfr.net] has quit [Ping timeout: 245 seconds] 01:08:20 -!- CatMtKing [~CatMtKing@ed-uluka.dyn.ucr.edu] has quit [Read error: Operation timed out] 01:08:34 -!- marcux [~marco@177.32.180.211] has quit [Quit: marcux] 01:10:27 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 01:11:01 am0c [~am0c@124.49.51.146] has joined #lisp 01:15:27 -!- leo2007 [~leo@182.48.109.29] has quit [Quit: rcirc on GNU Emacs 24.3.1] 01:18:46 cfy [~ilisp@unaffiliated/chenfengyuan] has joined #lisp 01:19:00 -!- k0001_ [~k0001@host145.190-224-55.telecom.net.ar] has quit [Ping timeout: 250 seconds] 01:19:47 -!- Sna4x8 [~avejidah@c-98-208-43-235.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 01:20:52 k0001 [~k0001@host91.190-224-58.telecom.net.ar] has joined #lisp 01:28:27 knob [~knob@66-50-4-254.prtc.net] has joined #lisp 01:28:44 -!- Guest36579 [~user@74-134-242-5.dhcp.insightbb.com] has quit [Read error: Connection reset by peer] 01:29:00 Guest36579 [~user@74-134-242-5.dhcp.insightbb.com] has joined #lisp 01:29:08 -!- natechan [~natechan@216.235.140.182] has quit [Quit: ["Textual IRC Client: www.textualapp.com"]] 01:30:39 antonv [5d7d2a66@gateway/web/freenode/ip.93.125.42.102] has joined #lisp 01:30:49 -!- joneshf-laptop [~joneshf@c-98-208-37-38.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 01:35:49 LiamH [~none@96.231.218.61] has joined #lisp 01:36:10 *|3b|* doesn't get quite as much speedup from adding expand-to-foreign to %gl::enum as i'd hoped :( 01:36:42 <|3b|> still not quite constant enough to convert it to an int at compile time 01:37:03 youlysses [~user@75-132-7-80.dhcp.stls.mo.charter.com] has joined #lisp 01:37:59 <|3b|> still faster than passing an int directly to an enum arg without the expand-to-foreign though, and passing an int directly to the expand-to-foreign version is as fast as defining the function to take an int 01:38:43 normanrichards [~normanric@70.114.215.220] has joined #lisp 01:45:37 natechan [~natechan@c-71-56-124-186.hsd1.ga.comcast.net] has joined #lisp 01:45:54 meiji11 [~user@d50-99-48-31.abhsia.telus.net] has joined #lisp 01:46:16 *|3b|* wonders how hard it would be to generate a compiler-macro to look up constant enums at compile time 01:47:39 are there non-constant enums? 01:47:56 <|3b|> ones stored in variables, passed as function arguments, etc 01:48:08 oh nevermind, misunderstood you 01:50:18 -!- Guest36579 [~user@74-134-242-5.dhcp.insightbb.com] has quit [Remote host closed the connection] 01:51:19 could one use the power of macros to create a sublanguage within CL that is statically typed? 01:52:20 you can use declarations and such and hope your compiler unboxes (many do) 01:53:21 samm: absolutely; macros are turing complete; IIRC someone made a complete C compiler in lisp 01:58:31 jasom: C compiler as lisp macros, meaning you could write C alongside lisp? 02:00:15 -!- Juanito-Jons [~jreynoso@187.240.179.208] has quit [Quit: Ex-Chat] 02:01:38 samm: https://github.com/vsedach/Vacietis <-- there it is 02:02:25 it lets you read C code; looks like it's not a macro though, but rather done in readtables 02:03:42 still crazy :) 02:04:10 samm: you can use far more then just macros ... macros are actually quite 'simple' :) 02:07:09 tsuru``` [~charlie@adsl-74-179-18-42.bna.bellsouth.net] has joined #lisp 02:07:11 linse [~marioooh@bas5-montreal28-1178025976.dsl.bell.ca] has joined #lisp 02:09:04 kennyd [~kennyd@93-136-105-36.adsl.net.t-com.hr] has joined #lisp 02:09:24 -!- tsuru`` [~charlie@adsl-74-179-18-164.bna.bellsouth.net] has quit [Ping timeout: 272 seconds] 02:09:42 ahungry [~null@99-40-10-216.lightspeed.livnmi.sbcglobal.net] has joined #lisp 02:10:26 agumonkey [~agu@45.217.72.86.rev.sfr.net] has joined #lisp 02:19:47 -!- oticat` [~oticat@36-229-164-237.dynamic-ip.hinet.net] has quit [Quit: Lost terminal] 02:22:38 -!- b1rkh0ff [~b1rkh0ff@37.203.70.163] has quit [Ping timeout: 245 seconds] 02:22:42 -!- equoidean26 [~equoidean@c-67-182-147-102.hsd1.wa.comcast.net] has quit [Ping timeout: 272 seconds] 02:29:19 -!- lukas [~lukas@194.228.13.12] has quit [Read error: Operation timed out] 02:34:12 -!- slyrus [~chatzilla@173-228-44-92.dsl.static.sonic.net] has quit [Ping timeout: 276 seconds] 02:37:27 -!- boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has quit [Remote host closed the connection] 02:38:30 -!- shifty` [~user@114-198-34-246.dyn.iinet.net.au] has quit [Remote host closed the connection] 02:41:00 -!- galdor [galdor@78.193.58.122] has quit [Ping timeout: 264 seconds] 02:41:41 -!- ignas [~ignas@ctv-79-132-160-221.vinita.lt] has quit [Ping timeout: 240 seconds] 02:42:11 galdor [galdor@78.193.58.122] has joined #lisp 02:42:14 -!- cmbntr [~cmbntr@slice.loopback.ch] has quit [Quit: ZNC - http://znc.in] 02:42:42 Could someone give this a once over and tell me if there is something that could be done to make it a little better? http://paste.lisp.org/display/135822 02:43:15 cmbntr [~cmbntr@slice.loopback.ch] has joined #lisp 02:43:27 I'm still trying to get used to lisp, so I'm not sure if it's right stylistically and such and such 02:44:00 -!- ft [efftee@shell.chaostreff-dortmund.de] has quit [Ping timeout: 264 seconds] 02:45:22 ft [efftee@shell.chaostreff-dortmund.de] has joined #lisp 02:45:33 Tribal: Looks ok. With more than a couple arguments it can be helpful to use keyword arguments. 02:45:48 So I've got this C library that uses some size_t and other such structures. How is that usually handled in cffi? Do I call it an :int and call it a day? 02:46:17 Not too concerned about portability tbh, I'm just curious as to how to 'really' handle it 02:46:43 week-long40 [~week-long@c-67-182-147-102.hsd1.wa.comcast.net] has joined #lisp 02:47:01 <|3b|> i think cffi has a :size-t now 02:48:58 <|3b|> hmm, or maybe not 02:50:33 <|3b|> in general though, use cffi-grovel, or just hard code whatever works 02:52:05 milosn_ [~milosn@user-5AF50224.broadband.tesco.net] has joined #lisp 02:52:10 sw2wolf [~czsq888@171.217.3.185] has joined #lisp 02:52:19 Alternately, you could punt the problem to C. 02:52:41 |3b|: cffi-libffi has a :sizet 02:52:54 Xach, awesome ty 02:53:27 Writing a sane api in C to call from lisp can often be simpler. 02:54:10 -!- milosn [~milosn@user-5AF509B4.broadband.tesco.net] has quit [Ping timeout: 245 seconds] 02:55:33 k0001_ [~k0001@host249.181-1-161.telecom.net.ar] has joined #lisp 02:56:16 -!- bitonic [~user@b0fb09c5.bb.sky.com] has quit [Ping timeout: 245 seconds] 02:56:29 hugod [~user@bas1-montreal08-1279585004.dsl.bell.ca] has joined #lisp 02:56:42 googol [~matthew@lal-99-123.ResHall.Berkeley.EDU] has joined #lisp 02:57:03 mattrepl [~mattrepl@pool-71-163-43-88.washdc.fios.verizon.net] has joined #lisp 02:58:36 -!- k0001 [~k0001@host91.190-224-58.telecom.net.ar] has quit [Ping timeout: 252 seconds] 02:59:13 -!- Yuuhi [benni@p5DC63FE9.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:01:09 -!- week-long40 [~week-long@c-67-182-147-102.hsd1.wa.comcast.net] has quit [Remote host closed the connection] 03:01:26 lynna27 [~Lynna27@c-67-182-147-102.hsd1.wa.comcast.net] has joined #lisp 03:01:29 oticat` [~oticat@36-229-165-70.dynamic-ip.hinet.net] has joined #lisp 03:03:03 -!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Ping timeout: 245 seconds] 03:11:13 cyphase [~cyphase@unaffiliated/cyphase] has joined #lisp 03:11:30 yacks [~yacks@180.151.36.168] has joined #lisp 03:11:49 -!- impomatic [~digital_w@22.120.125.91.dyn.plus.net] has quit [Ping timeout: 246 seconds] 03:12:08 -!- mattrepl [~mattrepl@pool-71-163-43-88.washdc.fios.verizon.net] has quit [Quit: mattrepl] 03:13:29 -!- rubenrubz [~rubenrubz@pool-71-108-74-138.lsanca.dsl-w.verizon.net] has quit [Quit: Leaving] 03:17:55 Forty-3 [~seana11@pool-96-255-72-75.washdc.fios.verizon.net] has joined #lisp 03:18:41 -!- ZombieChicken [~weechat@unaffiliated/forgottenwizard] has quit [Quit: WeeChat 0.4.0] 03:19:24 ZC|Mobile [~weechat@108-222-198-111.lightspeed.nsvltn.sbcglobal.net] has joined #lisp 03:24:44 -!- natechan [~natechan@c-71-56-124-186.hsd1.ga.comcast.net] has quit [Quit: ["Textual IRC Client: www.textualapp.com"]] 03:25:28 -!- BlankVerse [~pankajm@202.3.77.214] has quit [Read error: Operation timed out] 03:30:31 -!- lduros [~user@fsf/member/lduros] has quit [Remote host closed the connection] 03:30:41 kushal [kdas@fedora/kushal] has joined #lisp 03:32:28 -!- agumonkey [~agu@45.217.72.86.rev.sfr.net] has quit [Read error: Operation timed out] 03:32:51 tsuru```` [~charlie@adsl-74-179-197-122.bna.bellsouth.net] has joined #lisp 03:34:01 redscare [~Adium@18.205.1.204] has joined #lisp 03:34:25 -!- tsuru``` [~charlie@adsl-74-179-18-42.bna.bellsouth.net] has quit [Ping timeout: 248 seconds] 03:34:55 -!- kpreid [~kpreid@50-196-148-102-static.hfc.comcastbusiness.net] has quit [Quit: Quitting] 03:35:13 kpreid [~kpreid@50-196-148-102-static.hfc.comcastbusiness.net] has joined #lisp 03:37:03 -!- Bike [~Glossina@71-34-78-123.ptld.qwest.net] has quit [Quit: Reconnecting] 03:37:20 Bike [~Glossina@71-34-78-123.ptld.qwest.net] has joined #lisp 03:37:37 -!- vert2 [vert2@gateway/shell/blinkenshell.org/x-dfvozbffuykjsdfg] has quit [Ping timeout: 248 seconds] 03:37:38 -!- zulu_inuoe_ [~quassel@184.89.111.53] has quit [Read error: Connection reset by peer] 03:37:56 -!- Tordek [~tordek@gateway/shell/blinkenshell.org/x-ctebsnrqllrslvsa] has quit [Ping timeout: 245 seconds] 03:39:09 zulu_inuoe [~quassel@184.89.111.53] has joined #lisp 03:39:20 is anyone familiar with online resources (no Dragon Book :( ) that can serve as introduction to writing a lexer without using regexes? 03:39:35 Like parser combinators? 03:39:55 -!- jrajav [~jrajav@71-82-124-223.dhcp.roch.mn.charter.com] has quit [Quit: I tend to be neutral about apples] 03:40:54 attila_lendvai [~attila_le@92.47.184.97] has joined #lisp 03:40:55 -!- attila_lendvai [~attila_le@92.47.184.97] has quit [Changing host] 03:40:55 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 03:41:02 Tordek [tordek@gateway/shell/blinkenshell.org/x-dbxtbudesxpsgvpm] has joined #lisp 03:42:12 Bike: I was actually looking for something that would summarize the available techniques, parser combinators being one of them 03:45:06 lexers are often finite state machines 03:45:16 vert2 [vert2@gateway/shell/blinkenshell.org/x-fzhevlicaeyfjqox] has joined #lisp 03:45:57 in CL implemented via tagbody 03:46:00 -!- LiamH [~none@96.231.218.61] has quit [Quit: Leaving.] 03:52:00 hey guys, using cl-ppcre how would I do a regex-replace-all to change every "," (comma) match to a line break? using #\Newline or #\Linefeed as the replacement string doesn't actually print the line break in the output 03:53:06 (ppcre:regex-replace-all "," "hello,there,man" (string #\Newline)) puts them in. 03:53:10 what are you doing 03:53:11 ? 03:53:33 I've got some json output from jsown using to-json, and want to be able to print it in a slightly more readable fashoin while working with the code 03:53:54 I mean, what's the r-r-a call that's not working? 03:53:54 thanks btw 03:54:03 I wasn't using the (string there 03:54:05 just the #\Newline 03:54:16 Oh, yeah, the replacement string has to be a string and not a character of course. 03:54:27 won't make that mistake twice :) 03:54:59 do you know of a good way to print all of a classes values short of writing a function to do it btw? 03:55:25 like, if I want to print the slots of an instance of a class (their current values) without writing a big with-slots output to get them 03:55:27 As in, print the slots of a CLOS instance? 03:55:31 yea 03:56:03 Usually you'd write a function for the class. You could do some MOP stuff but it's probably a bit silly there. 03:56:21 ether0 [~ether0@72.22.83.65] has joined #lisp 03:56:54 browndawg [~browndawg@117.201.80.171] has joined #lisp 03:57:02 ok, I have a pretty good macro set up going now for my different classes so i'll drop it in there 03:58:40 jleija [~jleija@50.8.41.50] has joined #lisp 03:59:06 from your help the other night, I now have a macro called (game-dataset classname slot1 slot2...), which creates a class with all those slots and appropriate accessors, an (add-classname '(slot1 slot2...)) function for fast adding, a global list *classname*, (classname-to-json and (classnames-to-json functions 03:59:40 so ill just drop in another one like, (classname-dump 03:59:49 You could probably make add-classname take a &rest instead, incidentally. 04:01:16 ahh, if you want to take a peek, my macros are here https://github.com/jehiva/ahungry-tactics/blob/master/lisp/macros.lisp 04:01:24 (dont feel obligated, but feel free to critique) 04:01:39 -!- ebobby [~fms@199.21.86.106] has quit [Quit: leaving] 04:01:51 I went against your advice the other night and did use the string/intern/concat stuff for defining the instances on the fly though vs hard coding 04:01:58 kliph [~user@unaffiliated/kliph] has joined #lisp 04:02:44 Just makes the code in usocket.lisp file so much cleaner 04:02:50 -!- youlysses [~user@75-132-7-80.dhcp.stls.mo.charter.com] has quit [Remote host closed the connection] 04:04:54 -!- doomlord [~doomlod@host81-159-234-112.range81-159.btcentralplus.com] has quit [Ping timeout: 264 seconds] 04:07:56 -!- cpt_nemo [cpt_nemo@rfc1459.de] has quit [Ping timeout: 245 seconds] 04:09:13 -!- antonv [5d7d2a66@gateway/web/freenode/ip.93.125.42.102] has quit [Ping timeout: 245 seconds] 04:10:50 -!- kushal [kdas@fedora/kushal] has quit [Ping timeout: 245 seconds] 04:11:32 doomlord [~doomlod@host81-159-234-112.range81-159.btcentralplus.com] has joined #lisp 04:13:38 -!- ikki [~ikki@187.208.215.72] has quit [Ping timeout: 250 seconds] 04:14:02 hlavaty` [~user@friedrichstrasse.knowledgetools.de] has joined #lisp 04:14:48 Euthy [~euthy@unaffiliated/euthydemus] has joined #lisp 04:15:33 -!- hlavaty [~user@80.153.143.144] has quit [Ping timeout: 245 seconds] 04:16:55 -!- browndawg [~browndawg@117.201.80.171] has quit [Quit: Leaving.] 04:20:33 -!- oticat` [~oticat@36-229-165-70.dynamic-ip.hinet.net] has quit [Quit: leaving] 04:20:52 oticat` [~oticat@36-229-165-70.dynamic-ip.hinet.net] has joined #lisp 04:21:51 cpt_nemo [cpt_nemo@rfc1459.de] has joined #lisp 04:27:23 kushal [kdas@fedora/kushal] has joined #lisp 04:27:41 -!- kliph [~user@unaffiliated/kliph] has quit [Ping timeout: 240 seconds] 04:28:07 -!- fe[nl]ix [~quassel@pdpc/supporter/professional/fenlix] has quit [Ping timeout: 246 seconds] 04:30:06 -!- madnificent [~madnifice@static.146.73.9.176.clients.your-server.de] has quit [Ping timeout: 264 seconds] 04:30:24 -!- leoncamel [~leoncamel@124.126.212.196] has quit [Quit: WeeChat 0.3.9.2] 04:30:58 qNemo [~qN@89.207.216.208] has joined #lisp 04:34:04 weie [~eie@softbank221078042071.bbtec.net] has joined #lisp 04:34:06 -!- qptain_Nemo [~qN@89.207.216.209] has quit [Ping timeout: 276 seconds] 04:35:48 -!- Jubb [~Jubb@pool-108-28-62-61.washdc.fios.verizon.net] has quit [Remote host closed the connection] 04:37:20 k0001 [~k0001@host228.186-125-150.telecom.net.ar] has joined #lisp 04:38:55 dto [~user@pool-96-252-62-13.bstnma.fios.verizon.net] has joined #lisp 04:39:16 fe[nl]ix [~quassel@pdpc/supporter/professional/fenlix] has joined #lisp 04:40:35 -!- k0001_ [~k0001@host249.181-1-161.telecom.net.ar] has quit [Ping timeout: 255 seconds] 04:43:40 -!- jleija [~jleija@50.8.41.50] has quit [Quit: leaving] 04:46:03 ISF_ [~ivan@189.61.220.66] has joined #lisp 04:46:58 -!- casion [~AdmiralBu@pool-71-99-141-240.tampfl.fios.verizon.net] has quit [Quit: casion] 04:50:25 -!- sw2wolf [~czsq888@171.217.3.185] has quit [Remote host closed the connection] 04:53:42 weie_ [~eie@softbank221078042071.bbtec.net] has joined #lisp 04:54:57 -!- weie [~eie@softbank221078042071.bbtec.net] has quit [Ping timeout: 248 seconds] 04:58:36 -!- weie_ [~eie@softbank221078042071.bbtec.net] has quit [Read error: Connection reset by peer] 04:59:12 weie [~eie@softbank221078042071.bbtec.net] has joined #lisp 05:05:51 -!- Dalek_Baldwin [~Adium@108-225-26-178.lightspeed.irvnca.sbcglobal.net] has quit [Quit: Leaving.] 05:06:57 -!- kvda [~kvda@unaffiliated/kvda] has quit [Quit: z____z] 05:10:23 -!- bananagram [~bot@c-98-198-236-112.hsd1.tx.comcast.net] has quit [Read error: Operation timed out] 05:15:09 leoncamel [~leoncamel@124.126.212.196] has joined #lisp 05:16:58 browndawg [~browndawg@117.201.80.171] has joined #lisp 05:17:04 -!- browndawg [~browndawg@117.201.80.171] has quit [Max SendQ exceeded] 05:17:14 enupten [~neptune@c-24-18-243-195.hsd1.wa.comcast.net] has joined #lisp 05:17:31 pyx [~pyx@d24-141-100-35.home.cgocable.net] has joined #lisp 05:17:53 browndawg [~browndawg@117.201.80.171] has joined #lisp 05:18:19 Dalek_Baldwin [~Adium@71-84-34-33.dhcp.mtpk.ca.charter.com] has joined #lisp 05:18:52 -!- stopbit [~stopbit@69.140.100.176] has quit [Quit: Leaving] 05:19:40 -!- doomlord [~doomlod@host81-159-234-112.range81-159.btcentralplus.com] has quit [Read error: Connection reset by peer] 05:22:11 -!- linse [~marioooh@bas5-montreal28-1178025976.dsl.bell.ca] has quit [Quit: zzzz] 05:25:58 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 05:27:44 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 05:30:53 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 05:32:19 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 05:33:11 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 05:34:22 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 05:36:05 When is backquote processing supposed to happen? 05:36:52 at READ-TIME 05:36:59 Is it in the reader or does a ` get converted into a (backquote ...) macro that gets expanded at macroexpansion time. 05:37:07 hi Fare 05:37:17 the reader could do the latter, no? 05:37:19 Hi Fare - I was hoping you would be on. 05:37:25 my understanding is that the CLHS all but requires the processing to happen at read-time 05:37:50 (read-from-string "`(test ,@test . ,test)") => (append 'test test test) i guess 05:37:58 I switched the way I handled multiple value returns and it broke a whole bunch of stuff. 05:38:09 might help to do (write (read-from-string some-fucked-up-backquote-form) :pretty nil) in some implementation 05:38:10 because macro expansion does NOT descend into literal, but backquote DOES 05:38:15 The current thing that is broken is backquote processing. 05:38:40 just you reuse an existing, working processor 05:38:41 jarmond [~user@93-96-213-180.zone4.bethere.co.uk] has joined #lisp 05:38:52 (write (read-from-string "`(test ,@test . ,test)") :pretty nil) => (SB-IMPL::BACKQ-CONS (QUOTE TEST) (SB-IMPL::BACKQ-APPEND TEST TEST)) 05:39:07 Fare: I thought I was -- Steele's backquote processor. 05:39:11 where backq-whatever is the same as whatever. 05:39:36 sw2wolf [~czsq888@171.217.3.185] has joined #lisp 05:40:36 In ECL (write (read-from-string "`(test ,@test . ,test)") :pretty nil) --> (SI:QUASIQUOTE (TEST (SI:UNQUOTE-SPLICE TEST) SI:UNQUOTE TEST)) 05:41:30 with unquote all by itself there, huh? well, if it works it works 05:41:35 My CL interpreter: (print (read-from-string "`(test ,@test . ,test)")) ---> ( BACKQUOTE ( TEST ( COMMA-ATSIGN TEST ) COMMA TEST ) ) 05:42:22 Bike: Yes, that was copied verbatum - weird. 05:42:26 the pretty printer is usually spruced up so that that prints back as `(TEST ,@TEST . ,TEST) but I don't think it's necessary. 05:42:38 Looks like Steele's does the same, there's a COMMA right there. 05:43:20 Fare: What do you mean by "macro expansion does NOT descend into literal, but backquote DOES". 05:43:34 actually sbcl "normalizes" it as `(TEST ,@TEST ,@TEST) looks like 05:44:23 Oh wait, you mean macro expansion doesn't look inside literals? But it does, macroexpansion can do whatever it wants with the form its given. 05:45:36 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 05:46:33 it probably can... but good luck recursing through arbitrary structures that were constructed by arbitrary reader extensions. 05:47:02 actually, you might only have to recurse through lists and arrays, though. 05:49:20 Fare: Got it. More robust backquote processing needs to be handled at read-time. 05:49:24 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Quit: Leaving] 05:49:43 -!- qNemo [~qN@89.207.216.208] has quit [Read error: Connection reset by peer] 05:50:01 considering the CL specification only. 05:50:37 other variants of backquote can do well at macroexpansion time 05:50:50 Fare: You are referring to 2.4.6 and 2.4.6.1 - is that all that is said about backquote processing in the CLHS? 05:51:11 qptain_Nemo [~qN@89.207.216.208] has joined #lisp 05:51:16 it's just that the way CL backquote interacts with various other features can be "interesting". 05:52:45 actually, it's possible for the CL reader to expand into (quasiquote ...) if you want... but it must still do some array processing at read-time. 05:53:07 pkkm [~pawel@adef155.neoplus.adsl.tpnet.pl] has joined #lisp 05:53:10 to transform `#(,a ,b) into (vector a b) 05:54:53 though... maybe you can special case #(...) processing in the quasiquote macro. 05:55:11 tbhope [~hope@125.69.139.150] has joined #lisp 05:55:15 you could define #( as (apply #'vector (read)) :P 05:55:36 -!- dto [~user@pool-96-252-62-13.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 05:55:38 -!- tbhope [~hope@125.69.139.150] has left #lisp 05:55:41 wait, that wouldn't work at all. 05:55:49 but then... how do you distinguish between something read with #(,a) from a literal object that happens to have an unquote in it? 05:56:47 the first thing that came to mind was that (,a ,b) would probably have to be read as something like (list a b) actually :/ 05:56:49 or how do you treat `#(,a . ,b) ? 05:56:58 so many problems. 05:58:49 rubenrubz [~rubenrubz@pool-71-108-74-138.lsanca.dsl-w.verizon.net] has joined #lisp 05:59:00 -!- samm [~samm@212.91.105.133] has quit [Quit: samm] 05:59:24 pkkm_ [~pawel@acvn198.neoplus.adsl.tpnet.pl] has joined #lisp 05:59:29 -!- pkkm [~pawel@adef155.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 248 seconds] 06:00:03 ramkrsna [ramkrsna@unaffiliated/ramkrsna] has joined #lisp 06:00:33 Fare: Your backquote processor handles all this does it? 06:01:06 yes it does 06:01:49 Great! Then thats one less problem to worry about. :-) 06:02:57 angavrilov [~angavrilo@217.71.227.190] has joined #lisp 06:04:23 -!- qptain_Nemo [~qN@89.207.216.208] has quit [Read error: Connection reset by peer] 06:04:37 it was rewritten in 2010 to follow the general algorithm used by SBCL, which solved many tricky issues with things like ,@,@ 06:04:45 qptain_Nemo [~qN@89.207.216.208] has joined #lisp 06:05:20 my initial implementation failed in its simplification phase and couldn't handle that correctly. 06:05:30 ,@,@ is tricky 06:06:17 Is it written in standard CL? 06:08:30 -!- pkkm_ [~pawel@acvn198.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 264 seconds] 06:09:15 ynniv [~ynniv@z69-94-206-168.ips.direcpath.com] has joined #lisp 06:09:17 Mon_Ouie [~Mon_Ouie@91.177.225.70] has joined #lisp 06:09:18 -!- Mon_Ouie [~Mon_Ouie@91.177.225.70] has quit [Changing host] 06:09:18 Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has joined #lisp 06:09:29 yes 06:09:47 I personally find my version much more readable than the SBCL quasiquote code 06:09:55 but I'm biased 06:10:01 -!- ahungry [~null@99-40-10-216.lightspeed.livnmi.sbcglobal.net] has quit [Ping timeout: 245 seconds] 06:10:04 you look at the two of them and tell me what you think 06:10:16 Do your expansions get printed prettily? 06:11:29 Fare: Sorry, I did not make myself clear. Does it use any primitive functions implemented in "C" within SBCL. 06:11:53 SBCL's reader doesn't use any C at all far as I know 06:11:53 yes, there again, I believe I borrowed heavily from SBCL's implementation 06:12:22 i'm not sure why it would, really 06:12:50 (my original implementation could not pretty print (all this to say that it's remarkably hard to get all the details right, and I don't think this thing has been reinvented independently many times)) 06:13:08 waveman [~tim@101.174.161.170] has joined #lisp 06:13:12 Why'd you write yours, out of curiosity? 06:13:13 nope, it's all pure Lisp 06:13:35 I have to deal with so much low-level stuff these past months, its such a relief when I get to work with pure CL code. 06:13:39 both sbcl's and my variant are pure lisp 06:14:49 there is a little bit of package magic in my version (shadowing cl:list, cl:append, etc.) to make things more readable. 06:15:18 toekutr [~user@50-0-51-11.dsl.static.sonic.net] has joined #lisp 06:17:17 -!- ynniv [~ynniv@z69-94-206-168.ips.direcpath.com] has quit [Quit: ynniv] 06:17:28 yup, quasiquote is hard, but in the end, it's relatively short and self-contained, and high-level. 06:18:06 I just discovered something horrible in my code. I ripped out the old multiple-values code I had and replaced it with a single array of values that gets filled using "return Values(v1,v2,v3...)" template function. 06:18:47 Question: I'm trying to write a utility application, I'm trying to test it by invoking 'sbcl --noinform --eval "(asdf:oos 'asdf:load-op :mysystem)" --eval "(mysystem:main)"' At least every other time I do this, I get an error about a constant being redefined. What am I missing? 06:18:49 cnl [~pony@bitdiddle.net] has joined #lisp 06:18:50 The problem is - I have hundreds-thousands of functions that return single values that are completely unaware of the multiple-values data structure. 06:19:32 k0001_ [~k0001@host110.190-138-105.telecom.net.ar] has joined #lisp 06:19:58 -!- bjorkintosh [~bjork@ip68-13-229-200.ok.ok.cox.net] has quit [Remote host closed the connection] 06:20:50 I think I just have to change my multiple-value-call and multiple-value-prog1 special operators to write the returned value into the first slot of the multiple-values array. Then it should be handled properly by all of the multiple-values-XXX functions/macros. 06:21:36 sdemarre [~serge@50.93-64-87.adsl-dyn.isp.belgacom.be] has joined #lisp 06:22:04 drmeister: can all those functions interop? like, does add(gethash(foo,bar),lispint(9)) still work now that gethash returns a values structure? 06:22:39 -!- k0001 [~k0001@host228.186-125-150.telecom.net.ar] has quit [Ping timeout: 276 seconds] 06:22:49 -!- sw2wolf [~czsq888@171.217.3.185] has quit [Remote host closed the connection] 06:23:09 or was that not even supported to start with, i gues 06:25:26 tigranes: maybe this is your issue: http://www.sbcl.org/manual/#Defining-Constants 06:25:48 -!- pyx [~pyx@d24-141-100-35.home.cgocable.net] has quit [Quit: WeeChat 0.4.0] 06:25:50 Bike: The way I've supported it is I have GlobalValues(v0,v1,v2,v3...) array. If you say x = hashtable->gethash(foo) it will return the value in x and the (value,present-p) in GlobalValues(v0=value,v1=present-p) 06:26:27 ah, i see. 06:26:48 So the gethash value (first returned value) is in both the GlobalValues array (zeroth element) and returned by the function. 06:27:01 bege: Oh, that's exactly it, I think, thank you! 06:27:25 It works nicely on the C++ side. 06:28:11 Odyessus [~odyessus@chello080109062130.15.14.vie.surfer.at] has joined #lisp 06:28:37 The problem was functions that simply return a value as in "return x;" don't update the GlobalValues data structure. I could change them all to "return Values(x);" but that would be a LOT of work. 06:29:04 It's only a problem for multiple-values-prog1 and multiple-values-call. 06:29:42 -!- jarmond [~user@93-96-213-180.zone4.bethere.co.uk] has quit [Ping timeout: 250 seconds] 06:30:42 I think the solution is the set the size of the GlobalValues array to 1 just before each multiple-values-call and when each call returns write the returned value into the zeroth element of the GlobalValues array. At worst I overwrite the zeroth slot with the value that is already in it. 06:30:42 well, wait, the solution you described would be having (multiple-value-call #'foo (gethash foo bar)) do Values(bar->gethash(foo)), wouldn't it/ 06:30:51 oh, that works. 06:31:17 gethash would fill in the GlobalValues array properly. 06:31:21 drmeister, of course (values) having nil as primary return value is "interesting" 06:31:38 alternately you could set GlobalValues to some distinguished "guess the function doesn't know about values" thing 06:31:50 sw2wolf [~czsq888@171.217.3.185] has joined #lisp 06:32:14 or you could have some global register contain a "number of values returned" and do special dispatch based on that 06:32:19 Fare: Yes, - then you use "return Values();" The function returns "nil" to C++ and the GlobalValues data structure will have no elements in it. 06:32:47 Fare: That is what the GlobalValues datastructure does, it stores the number of values and an array of the values. 06:33:45 -!- quazimodo [~quazimodo@c27-253-100-110.carlnfd2.nsw.optusnet.com.au] has quit [Ping timeout: 245 seconds] 06:34:23 slime-connect closes my X and exits to Console: http://paste.lisp.org/display/135872 06:34:38 drmeister, thread-local? 06:34:49 Fare: I'm not doing threads. 06:34:57 quazimodo [~quazimodo@c27-253-100-110.carlnfd2.nsw.optusnet.com.au] has joined #lisp 06:35:09 -!- ISF_ [~ivan@189.61.220.66] has quit [Ping timeout: 256 seconds] 06:35:25 I know it's heretical but I'm not going to do threads. I use MPI and thousands of processors. 06:35:32 huh, (coerce 'a 'character) => #\a. weird 06:35:44 works for me 06:35:50 how does clisp do it? 06:36:15 mrSpec [~Spec@88.208.105.6] has joined #lisp 06:36:15 -!- mrSpec [~Spec@88.208.105.6] has quit [Changing host] 06:36:15 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 06:36:16 foreignFunction [~niksaak@94.27.88.25] has joined #lisp 06:36:17 I spoke with Juanjo who maintains ECL today. 06:37:46 We're cool - I think we can help each other improve our respective CL implementations. I'll leave multithreading to ECL. 06:38:02 sw2wolf: i can't even begin to imagine what's happening there. that's really, really weird 06:38:30 -!- sdemarre [~serge@50.93-64-87.adsl-dyn.isp.belgacom.be] has quit [Ping timeout: 264 seconds] 06:38:48 like... swank starts but then emacs shuts down X somehow? what? 06:39:08 Bike: indeed weird 06:39:23 my swank command looks about the same but nothing that nutty has ever happened 06:39:32 but it can repeat 06:40:22 -!- sambio_ [~sambio@190.57.227.109] has quit [] 06:40:49 it worked before. i recall i ever run (ql:update-dist "quicklisp") yesterday 06:43:19 Here's what multiple-values-prog1 looks like http://pastebin.com/NujtLzjB. The MULTIPLE_VALUES_ACCESS(mv) macro gives temporary access to the global MultipleValues data structure within the local scope. 06:44:05 jarmond [~user@93-96-213-180.zone4.bethere.co.uk] has joined #lisp 06:44:21 i forget, are you going to open source this? 06:44:29 Bike: Yes. 06:44:53 cool. it's just a bit weird seeing all these c++ snippets. 06:45:16 why is it ocar and cdr? 06:45:35 For me it is a means to an end. I appreciate all the help everyone is giving me and I borrowed a lot of code from ECL. Also, I'm a scientist dammit - that's what we do. 06:47:54 -!- dented42 [~dented42@opengroove.org] has quit [Ping timeout: 250 seconds] 06:48:09 Bike: It's strongly typed. If you have an instance of Cons x you get the CAR using x->ocar() [this means get the CAR as the base type T_O]. If you know that it's a different type you can say x->car() and it will throw an exception if it can't be cast to that type. 06:48:33 -!- browndawg [~browndawg@117.201.80.171] has quit [Ping timeout: 248 seconds] 06:48:52 cdr gives you the CDR as a Cons type. If the CDR is a different type you use x->ocdr(). 06:49:19 er, so it's backwards? 06:49:23 x->ocdr() will give you the CDR as type T_O (T). 06:49:38 Bike: Backwards? No, just peculiar. What do you mean backwards? 06:50:47 Oh, I misunderstood. I thought you said that ocar() is car as a T and car() is car as an x, and ocdr() is cdr as an x and cdr() is cdr as a cons. 06:51:19 Can you specify compound types in C++? Like (cons integer)? 06:52:04 -!- miql [~miql@ip72-201-141-227.ph.ph.cox.net] has quit [Ping timeout: 248 seconds] 06:52:12 Bike: No. I use Cons_O::createList(_sym_cons,_sym_integer); 06:52:35 That's (cons . ( integer . nil) ) 06:52:49 dented42 [~dented42@opengroove.org] has joined #lisp 06:52:50 -!- clintm [uid1741@gateway/web/irccloud.com/x-oyvimhvgfnyijfbr] has quit [] 06:53:13 clintm [~user@c-76-121-226-80.hsd1.wa.comcast.net] has joined #lisp 06:53:15 drmeister: I mean the CL type (cons integer) 06:53:25 (which is a cons where the car is an integer) 06:53:39 mishoo [~mishoo@178.138.99.40] has joined #lisp 06:54:05 Oh, my mistake. I read something else. 06:54:40 *which is the type of conses with integral cars, might be a better phrasing 06:54:44 I would use Cons_O::create(Fixnum_O::create(1234),Cons_O::_nil) 06:54:48 Is that what you mean? 06:55:23 Well I mean, you said x->car() gets you the car as a fixnum. is there like, x->car>()? 06:55:25 lemald [~eddie@184-76-34-40.war.clearwire-wmx.net] has joined #lisp 06:55:27 Conses with integral cars? 06:56:31 Bike: No, I don't have anything like that. Do I need that? What does it mean? It's a Cons where the CAR is required to only contain integers? 06:56:45 -!- meiji11 [~user@d50-99-48-31.abhsia.telus.net] has quit [Remote host closed the connection] 06:56:48 Yes. 06:56:57 I'm just curious, maybe you don't need that on the c++ end. 06:57:21 (typep (cons 4 nil) '(cons integer)) => T, (typep (cons 'integer nil) '(cons integer)) => NIL 06:57:26 I've have never needed that on the C++ end. The predicate library on the CL end has stuff like that. 06:57:38 Kay. 06:58:24 Let me check what happens on the CL side. 07:00:06 -!- Fare [~fare@173.9.65.97] has quit [Ping timeout: 272 seconds] 07:00:09 Phew, all is right in the world (typep (cons 4 nil) '(cons integer)) --> T 07:00:31 And the second one returns nil. 07:00:55 agumonkey [~agu@45.217.72.86.rev.sfr.net] has joined #lisp 07:01:21 -!- Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has quit [Ping timeout: 276 seconds] 07:01:24 And (multiple-value-bind (x y z) 1 (list x y z)) ---> (1 nil nil ) 07:01:36 So that multiple-value idea worked. 07:01:48 very nice. 07:01:51 Now I have to put it into the compiler. 07:01:54 -!- Guest97198 [~kyle@c-98-253-60-75.hsd1.il.comcast.net] has quit [Ping timeout: 264 seconds] 07:01:59 -!- jarmond [~user@93-96-213-180.zone4.bethere.co.uk] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:02:45 -!- normanrichards [~normanric@70.114.215.220] has quit [] 07:03:46 Actually, I better sleep on the compiler change. 07:04:18 good night. 07:04:32 browndawg [~browndawg@117.208.65.219] has joined #lisp 07:04:59 Bike and Fare - thanks for your help. 07:06:35 -!- clintm [~user@c-76-121-226-80.hsd1.wa.comcast.net] has quit [Remote host closed the connection] 07:08:29 -!- tigranes [~tigranes@static-50-53-64-180.bvtn.or.frontiernet.net] has quit [Quit: leaving] 07:09:28 -!- dim [~dim@orion.naquadah.org] has quit [Ping timeout: 246 seconds] 07:10:04 dim [~dim@orion.naquadah.org] has joined #lisp 07:12:29 clintm [~user@c-76-121-226-80.hsd1.wa.comcast.net] has joined #lisp 07:12:33 -!- mishoo [~mishoo@178.138.99.40] has quit [Read error: Connection reset by peer] 07:13:46 -!- Bacteria [~Bacteria@2001:388:608c:946:e4dc:f923:957:7b06] has quit [Ping timeout: 245 seconds] 07:19:21 -!- rubenrubz [~rubenrubz@pool-71-108-74-138.lsanca.dsl-w.verizon.net] has quit [Read error: Connection reset by peer] 07:19:44 rubenrubz [~rubenrubz@pool-71-108-74-138.lsanca.dsl-w.verizon.net] has joined #lisp 07:20:04 gravicappa [~gravicapp@ppp91-77-171-176.pppoe.mtu-net.ru] has joined #lisp 07:22:31 -!- qptain_Nemo [~qN@89.207.216.208] has quit [Read error: Connection reset by peer] 07:23:39 qptain_Nemo [~qN@89.207.216.208] has joined #lisp 07:24:55 -!- qptain_Nemo [~qN@89.207.216.208] has quit [Read error: Connection reset by peer] 07:25:04 Beetny [~Beetny@ppp118-208-152-177.lns20.bne1.internode.on.net] has joined #lisp 07:26:28 qptain_Nemo [~qN@89.207.216.209] has joined #lisp 07:27:40 leo2007 [~leo@182.48.109.29] has joined #lisp 07:30:08 -!- ghast [~user@host204.190-139-61.telecom.net.ar] has left #lisp 07:36:06 -!- Bike [~Glossina@71-34-78-123.ptld.qwest.net] has quit [Ping timeout: 276 seconds] 07:37:41 -!- toekutr [~user@50-0-51-11.dsl.static.sonic.net] has quit [Read error: Connection reset by peer] 07:38:16 impomatic [~digital_w@158.195.125.91.dyn.plus.net] has joined #lisp 07:39:11 -!- dim [~dim@orion.naquadah.org] has quit [Ping timeout: 245 seconds] 07:39:58 -!- rubenrubz [~rubenrubz@pool-71-108-74-138.lsanca.dsl-w.verizon.net] has quit [Quit: Leaving] 07:39:58 lukas [~lukas@194.228.13.62] has joined #lisp 07:40:28 -!- Odyessus [~odyessus@chello080109062130.15.14.vie.surfer.at] has quit [Quit: Colloquy for iPad - http://colloquy.mobi] 07:40:56 -!- kcj [~casey@unaffiliated/kcj] has quit [Ping timeout: 252 seconds] 07:41:13 -!- lemald [~eddie@184-76-34-40.war.clearwire-wmx.net] has quit [Quit: leaving] 07:42:25 -!- robot-be` [~user@c-24-118-142-0.hsd1.mn.comcast.net] has quit [Ping timeout: 248 seconds] 07:42:35 kvda [~kvda@unaffiliated/kvda] has joined #lisp 07:44:45 Bacteria [~Bacteria@115-64-180-132.static.tpgi.com.au] has joined #lisp 07:47:13 -!- k0001_ [~k0001@host110.190-138-105.telecom.net.ar] has quit [Ping timeout: 248 seconds] 07:47:57 antifuchs: ping? 07:48:03 oh hey flip214_ 07:48:09 good morning! still awake? 07:48:15 (it's bedtime pretty soon, fading fast) (: 07:48:23 good morning to you (: 07:48:31 are you planning to return to europe again some time soon? 07:48:35 -!- flip214_ is now known as flip214 07:48:45 k0001 [~k0001@host110.190-138-105.telecom.net.ar] has joined #lisp 07:48:52 about june-ish, probably 07:49:00 -!- ASau [~user@46.115.60.24] has quit [Ping timeout: 250 seconds] 07:49:25 would you be interested in receiving a book for me, reading it, and bringing it over the ocean? 07:49:52 attila_lendvai [~attila_le@87.247.56.207] has joined #lisp 07:49:52 -!- attila_lendvai [~attila_le@87.247.56.207] has quit [Changing host] 07:49:52 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 07:50:07 -!- enupten [~neptune@c-24-18-243-195.hsd1.wa.comcast.net] has quit [Read error: Operation timed out] 07:52:35 robot-beethoven [~user@c-24-118-142-0.hsd1.mn.comcast.net] has joined #lisp 07:53:26 arrdem_x11 [~arrdem@wireless-128-62-31-128.public.utexas.edu] has joined #lisp 07:53:37 doomlord [~doomlod@host81-159-234-112.range81-159.btcentralplus.com] has joined #lisp 07:54:10 -!- k0001 [~k0001@host110.190-138-105.telecom.net.ar] has quit [Ping timeout: 252 seconds] 07:54:18 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Ping timeout: 276 seconds] 07:54:50 varjagg [~eugene@122.62-97-226.bkkb.no] has joined #lisp 07:56:12 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 07:56:15 -!- kvda [~kvda@unaffiliated/kvda] has quit [Quit: z____z] 07:56:20 -!- clintm [~user@c-76-121-226-80.hsd1.wa.comcast.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 08:03:37 clintm [~user@c-76-121-226-80.hsd1.wa.comcast.net] has joined #lisp 08:04:35 -!- arrdem_x11 [~arrdem@wireless-128-62-31-128.public.utexas.edu] has quit [Ping timeout: 245 seconds] 08:06:14 dt770 [dt770@c-fa1ee755.05-23-6c6b7013.cust.bredbandsbolaget.se] has joined #lisp 08:08:06 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 08:08:34 -!- pavelpenev [~quassel@85-130-11-8.2073813645.shumen.cablebg.net] has quit [Remote host closed the connection] 08:09:42 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 08:10:15 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 08:10:43 ;good morning! 08:13:14 -!- drmeister [~drmeister@pool-108-52-166-246.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 08:13:30 dtw [~dtw@pdpc/supporter/active/dtw] has joined #lisp 08:15:01 killerboy [~mateusz@195.225.68.249] has joined #lisp 08:16:04 dim [~dim@orion.naquadah.org] has joined #lisp 08:21:43 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 08:22:44 enupten [~neptune@c-24-18-243-195.hsd1.wa.comcast.net] has joined #lisp 08:27:48 -!- ivan\ [~ivan@unaffiliated/ivan/x-000001] has quit [Ping timeout: 276 seconds] 08:28:46 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 08:29:34 ivan\ [~ivan@unaffiliated/ivan/x-000001] has joined #lisp 08:32:28 -!- foreignFunction [~niksaak@94.27.88.25] has quit [Quit: Leaving.] 08:37:05 stat_vi [~stat@dslb-094-218-020-115.pools.arcor-ip.net] has joined #lisp 08:39:10 snowylike [~sn@91-67-171-156-dynip.superkabel.de] has joined #lisp 08:45:32 ehu [~ehu@31.137.112.147] has joined #lisp 08:49:15 peterhil` [~peterhil@158.127.31.162] has joined #lisp 08:50:53 -!- sw2wolf [~czsq888@171.217.3.185] has left #lisp 08:55:02 -!- kennyd [~kennyd@93-136-105-36.adsl.net.t-com.hr] has quit [Read error: Connection reset by peer] 08:56:37 BlankVerse [~pankajm@202.3.77.214] has joined #lisp 08:56:50 -!- gravicappa [~gravicapp@ppp91-77-171-176.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 08:57:08 gravicappa [~gravicapp@ppp91-77-171-176.pppoe.mtu-net.ru] has joined #lisp 08:57:08 kennyd [~kennyd@93-136-105-36.adsl.net.t-com.hr] has joined #lisp 09:06:52 felipe [~felipe@unaffiliated/felipe] has joined #lisp 09:07:41 pegu [~user@cF469BF51.dhcp.as2116.net] has joined #lisp 09:11:31 -!- kushal [kdas@fedora/kushal] has quit [Ping timeout: 260 seconds] 09:12:38 plantseeker [~Plantseek@77.240.63.97] has joined #lisp 09:15:06 -!- waveman [~tim@101.174.161.170] has quit [Quit: leaving] 09:16:04 -!- hugod [~user@bas1-montreal08-1279585004.dsl.bell.ca] has quit [Read error: Connection reset by peer] 09:16:20 hugod [~user@bas1-montreal08-1279585004.dsl.bell.ca] has joined #lisp 09:17:13 przl [~przlrkt@46.231.183.162] has joined #lisp 09:17:27 mishoo [~mishoo@178.138.96.124] has joined #lisp 09:18:21 kushal [~kdas@fedora/kushal] has joined #lisp 09:19:24 bitonic [~user@b0fb09c5.bb.sky.com] has joined #lisp 09:19:35 -!- enupten [~neptune@c-24-18-243-195.hsd1.wa.comcast.net] has quit [Ping timeout: 255 seconds] 09:22:55 ignas [~ignas@office.pov.lt] has joined #lisp 09:29:51 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Ping timeout: 276 seconds] 09:30:42 -!- cdidd [~cdidd@128-72-219-91.broadband.corbina.ru] has quit [Remote host closed the connection] 09:37:44 -!- mishoo [~mishoo@178.138.96.124] has quit [Read error: No route to host] 09:38:36 -!- browndawg [~browndawg@117.208.65.219] has quit [Quit: Leaving.] 09:43:13 b1rkh0ff [~b1rkh0ff@31.176.171.227] has joined #lisp 09:44:00 xcombelle [~xcombelle@AToulouse-551-1-91-164.w92-149.abo.wanadoo.fr] has joined #lisp 09:44:01 -!- gravicappa [~gravicapp@ppp91-77-171-176.pppoe.mtu-net.ru] has quit [Ping timeout: 248 seconds] 09:44:21 mishoo [~mishoo@178.138.96.124] has joined #lisp 09:47:00 cdidd [~cdidd@89-178-180-149.broadband.corbina.ru] has joined #lisp 09:49:46 attila_lendvai [~attila_le@87.247.56.207] has joined #lisp 09:49:46 -!- attila_lendvai [~attila_le@87.247.56.207] has quit [Changing host] 09:49:46 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 09:50:02 -!- cdidd [~cdidd@89-178-180-149.broadband.corbina.ru] has quit [Remote host closed the connection] 09:51:26 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 256 seconds] 09:52:11 gravicappa [~gravicapp@ppp91-77-171-176.pppoe.mtu-net.ru] has joined #lisp 09:53:22 -!- jcazevedo [~jcazevedo@188.250.121.78] has quit [Remote host closed the connection] 09:55:25 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 09:59:01 cdidd [~cdidd@95-27-109-69.broadband.corbina.ru] has joined #lisp 10:00:11 -!- przl [~przlrkt@46.231.183.162] has quit [Ping timeout: 255 seconds] 10:02:21 przl [~przlrkt@46.231.183.162] has joined #lisp 10:02:30 What is the / is there a right way to do this: buildapp --load-system ... ? Either I missed something very key in the docs, or it's not obvious. 10:05:17 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 10:05:48 Houl [~Parmi@unaffiliated/houl] has joined #lisp 10:06:12 clintm: buildapp --load ~/quicklisp/setup.lisp --load-system cxml --output /tmp/cxml 10:06:35 -!- BlankVerse [~pankajm@202.3.77.214] has quit [Read error: Connection reset by peer] 10:06:36 clintm: you'll have to have loaded cxml using quicklisp into ~/quicklisp/ before that. 10:08:28 clintm: or you can use --eval: buildapp --load ~/quicklisp/setup.lisp --eval "(ql:quickload :hunchentoot)" --output /tmp/ht 10:08:46 clintm: the key thing is to load quicklisp, as buildapp does not load your sbcl init file. 10:08:55 morphling [~stefan@gssn-4d003744.pool.mediaWays.net] has joined #lisp 10:08:57 H4ns: awesome. thanks! 10:12:22 -!- mishoo [~mishoo@178.138.96.124] has quit [Read error: Connection reset by peer] 10:13:46 Cymew [~user@fw01d.snowmen.se] has joined #lisp 10:13:47 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 245 seconds] 10:14:57 is elephant still developed? 10:15:05 paines [3e60ca24@gateway/web/freenode/ip.62.96.202.36] has joined #lisp 10:15:25 hi 10:15:34 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 10:21:51 -!- googol [~matthew@lal-99-123.ResHall.Berkeley.EDU] has quit [Ping timeout: 276 seconds] 10:23:42 i just setup lispbuilder-sdl under macosx. for some reason, all drawn windows don't have a border / frame. therefore also no inputs/events are registered by the application. any idea why this is happening? I tried my application and also some lispbuilder-sdl-examples. all behave the same way. btw, I used libsdl from macports and ccl v1.8. 10:26:24 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 276 seconds] 10:26:47 i am a little bit stuck on how the "normal lisp workflow" looks like. most of the time lisp coders run their programs in a remote or local repl right? for remote swank is used. now lets say i have a remote sbcl with swank and some code running in an endless loop do you use screen / tmux to detach? leave open the connection? start the function somehow in background? 10:27:57 in other programming languages i would code a daemon script but than i cannot attach to the running code which is the main advantage of the lisp repl style 10:28:29 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 10:29:10 paines: i can't really help but i used lispbuilder-sdl on sbcl and libsdl from homebrew a couple of months ago without a hitch. perhaps these are an option for you as well? 10:29:11 balle: what i do is start cmucl (what i use), start what i need, and leave it running. 10:29:13 balle: that's not quite true, gdb can be used over the network 10:29:44 zorkmoid, so you leave your ssh connection open and hope it doesnt disconnect? 10:30:04 balle: i only open an direct connection when i need it 10:30:11 fe[nl]ix, but gdb doesnt understand lisp or does it? 10:30:29 aerique: I will give it a try. Thank you very much. 10:30:38 balle: otherwise the system is just running happily 10:31:14 Guest38225 [~ilisp@125.119.0.184] has joined #lisp 10:31:25 zorkmoid, than how do you start cmucl and swank? or only cmucl? 10:31:41 balle: swank is started in whatever loader i have, if i plan on using swank. 10:32:39 cmucl -load swank-load.lisp -load SYSTEM-load.lisp 10:32:45 then i go away 10:33:26 but than you have an interactive repl how can you go away? or do you start it in the background with &? 10:33:37 balle: no, i just leave it. 10:35:06 but than all running code in all repls would die if my network connection goes away 10:35:31 balle: well, yes, if your system dies, then your system dies... 10:35:56 doesn't matter if you are running your system on a server, or a laptop .. 10:36:41 i think we talk of two different situation i want to run code in x repls on y remote maschines 10:36:54 so start them on remote machiens 10:37:00 and want the code to keep running even if my local maschine goes away 10:37:22 right, so start your system on a remote machine. 10:38:09 then use swank to connect it if you wish to work against it remotley 10:38:59 on box a, cmucl -load swank-load.lisp -load system-load.lisp, on box b, emacs and slime-connect ... happy happy joy joy 10:39:28 ssh tunnel for security. 10:39:51 then a cmucl is open on box a und i have to keep the connection open to keep it running 10:40:00 or am i blind somehow? :) 10:40:08 balle: I usually start my stuff from cron(@reboot) under screen using something like: 10:40:10 screen -D -m -S lisp ${sbcl_root}/bin/sbcl --no-userinit --no-sysinit \ 10:40:10 --load $quicklisp \ 10:40:13 --load load-slime.lisp \ 10:40:16 --load run.lisp \ 10:40:17 balle: Why not use screen? 10:40:19 "$@" 10:40:22 10:40:26 balle: no, why? cmucl (in this case) is running happily on box a, you are just connecting to it, and can disconnect from it... cmucl will still run 10:41:38 (unless you tell cmucl to die of course!) 10:41:44 Zhivago, there is no reason against i use screen and tmux a lot my question is just how do lisp coders handle this situation 10:42:27 -!- cfy [~ilisp@unaffiliated/chenfengyuan] has quit [Disconnected by services] 10:42:31 -!- Guest38225 is now known as cfy 10:42:32 -!- cfy [~ilisp@125.119.0.184] has quit [Changing host] 10:42:32 cfy [~ilisp@unaffiliated/chenfengyuan] has joined #lisp 10:42:39 pegu, seems to be the same solution like https://github.com/vy/swank-daemon 10:42:57 balle: by starting a lisp system on a box (local, remote doesn't matter) with swank running, then connecting to said instance via slime. 10:43:43 zorkmoid: lots of people only have experience with shells that kill backgrounded tasks on logout. 10:44:16 pkhuong: true, but balle seems to be aware of screen and such .. 10:44:25 i never use those tools, find them overly complicated. 10:44:53 i open a terminal, fire up my system, and live happily. 10:44:54 balle: similar, but somewhat simpler since I just start the server whenever the machine reboots and I connect to it using slime whenever I need to 10:48:01 balle: is it all still confusing? 10:54:22 minion: memo for Quadrescence: there are 34 four-letter horizontal monotonic chords on the qwerty keyboard. You do the progression bar. 10:54:22 Remembered. I'll tell Quadrescence when he/she/it next speaks. 10:54:46 -!- smithzv_ [~smithzv@c-71-201-59-76.hsd1.il.comcast.net] has quit [Read error: Operation timed out] 10:55:10 haha 10:59:30 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 264 seconds] 11:00:12 aerique: do you remeber which sbcl version you used ? I get FLOATING-POINT-INEXACT exceptions as soon when I load an sdl example 11:01:12 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 11:02:27 -!- spacefrogg^ is now known as spacefrogg 11:02:28 paines: OS X? You have to mask all FP traps around foreign calls. (sb-int:with-float-traps-masked (:underflow :overflow :inexact :invalid :divide-by-zero :denormalized-operand) [stuff that calls out to SDL]) 11:03:09 pkhuong: yes osx. 11:03:13 i see 11:03:30 pkhuong: thank you very much 11:04:30 foreignFunction [~niksaak@94.27.88.25] has joined #lisp 11:05:12 zacharias [~zacharias@unaffiliated/zacharias] has joined #lisp 11:08:59 smithzv [~smithzv@c-71-201-59-76.hsd1.il.comcast.net] has joined #lisp 11:13:37 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 252 seconds] 11:14:28 -!- spion [~spion@unaffiliated/spion] has quit [Ping timeout: 246 seconds] 11:15:36 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 11:16:04 mm.. elephant seems very buggy 11:16:23 -!- cfy [~ilisp@unaffiliated/chenfengyuan] has quit [Remote host closed the connection] 11:17:17 -!- mk527 [~user@csml-2.eng.cam.ac.uk] has left #lisp 11:17:30 -!- yacks [~yacks@180.151.36.168] has quit [Ping timeout: 245 seconds] 11:17:54 mishoo [~mishoo@178.138.96.0] has joined #lisp 11:24:20 -!- przl [~przlrkt@46.231.183.162] has quit [Read error: Operation timed out] 11:25:45 -!- dtw [~dtw@pdpc/supporter/active/dtw] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:26:06 -!- gravicappa [~gravicapp@ppp91-77-171-176.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 11:27:24 madnificent [~madnifice@static.146.73.9.176.clients.your-server.de] has joined #lisp 11:28:29 cfy [~ilisp@unaffiliated/chenfengyuan] has joined #lisp 11:30:21 How do I correctly (defconstant +c+ "string") sbcl gives me a compiler error. Do I have to wrap it in a eval-when form? 11:31:03 sepi: hm? that seems legit 11:31:10 Yuuhi [benni@p5DC630D6.dip.t-dialin.net] has joined #lisp 11:31:55 sepi: see http://www.sbcl.org/manual/#Defining-Constants 11:32:00 you should only get a compiler error/warning if you redefine it. 11:32:29 zorkmoid: which happens when you compile-file then load. 11:32:42 ah 11:32:52 true that 11:33:40 -!- mathrick [~mathrick@85.218.134.11] has quit [Ping timeout: 240 seconds] 11:34:21 there's a define-constant in alexandria 11:34:59 if I recall correctly, it lets you specify which equal function to use 11:37:22 Adeon: ah, nice! 11:40:10 i don't like databases today .. going for lunch. 11:41:59 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 11:46:11 Thanks for your help! 11:49:58 Has anyone implemented a mode for the slime repl where one can omit the outermost parens? 11:51:12 Keshi [~Keshi@unaffiliated/keshi] has joined #lisp 11:51:15 -!- kushal [~kdas@fedora/kushal] has quit [Ping timeout: 245 seconds] 11:51:27 i'd hate that 11:51:42 i write multi-line expressions quite often in the repl 11:52:21 przl [~przlrkt@46.231.183.162] has joined #lisp 11:52:49 I see 11:52:51 -!- McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has quit [Ping timeout: 276 seconds] 11:52:59 I don't currently 11:53:22 sepi did you try paredit? it's different but still worth taking a look 11:53:42 kennyd: I've tried some times but I never sticked to it 11:53:45 unfortunately 11:53:55 that's really unfortunate, because paredit is awesome 11:54:32 hmm, I should print out the cheat sheet 11:54:39 does not work (well, i failed to make it work) in repl, though 11:54:46 ohh :( 11:55:09 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 276 seconds] 11:55:23 mostly because pressing the enter key in repl is different than in editor buffer 11:55:46 so in the repl i close type the closing paren only when the whole expression is done 11:56:29 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 12:00:10 -!- yrk [~user@pdpc/supporter/student/yrk] has quit [Remote host closed the connection] 12:00:15 sepi: OPFR does that, but i don't think it is integrated with SLIME 12:00:39 jdz: use C-j instead when in the repl, or C-) 12:01:21 spion [~spion@unaffiliated/spion] has joined #lisp 12:02:04 madnificent: yeah, i was just thinking of doing something like that 12:02:28 madnificent: but the other problem is that in repl it's easy to confuse paredit because of the output 12:02:40 how so? 12:04:15 -!- Keshi [~Keshi@unaffiliated/keshi] has quit [Quit: Computer has gone to sleep.] 12:04:50 browndawg [~browndawg@117.201.91.238] has joined #lisp 12:05:21 mathrick [~mathrick@stud-132.sdu.dk] has joined #lisp 12:06:08 ck_ [~ck@dslb-146-060-039-032.pools.arcor-ip.net] has joined #lisp 12:08:19 mmm... plists save the day again 12:09:11 zorkmoid, when i do sbcl --load swank.lisp i get a repl prompt but it seems that most of you dont get a prompt but sbcl (or cmucl) is automatically running in the background thats what confused me ;) 12:09:34 (si (file-length "store.db")) --> 4GiB 12:10:00 balle: we do get a prompt, swank is running in seperate thread 12:12:41 -!- fe[nl]ix [~quassel@pdpc/supporter/professional/fenlix] has quit [Remote host closed the connection] 12:12:52 fe[nl]ix [~quassel@pdpc/supporter/professional/fenlix] has joined #lisp 12:13:39 zorkmoid, do you open a new repl for every lisp program you want to run? 12:14:18 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 276 seconds] 12:14:24 balle: depending on the task, since i do heavy stuff in cl, i open a new lisp instance, for smaller stuff i just have one instance. 12:15:04 balle: like, i have one instance that does number crunching, to which i use slime/swank and connect on one port, and another one for some other stuff, which i connect to on yet another port 12:15:42 do you have code that runs in an endless loop and check something every x seconds? 12:15:58 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 12:16:09 i try to execute such a function in the background to let more than one run in a single repl 12:16:17 balle: what are you trying to do? 12:17:24 zorkmoid, i am checking the content of some files in a loop than sleep and redo and if a certain event occurs send an email to myself 12:17:43 put it in a thread 12:18:32 that was my first try (sb-thread:make-thread (run) :name "check-values") but it blocks like if i executed (run) 12:18:35 araujo [~araujo@190.73.45.171] has joined #lisp 12:18:35 -!- araujo [~araujo@190.73.45.171] has quit [Changing host] 12:18:35 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 12:19:43 i don't know about sbcl. 12:20:00 what do you use? 12:20:15 cmucl 12:20:29 balle: does (run) return a function? 12:20:38 balle: if not, wrap it in a function, e.g. (lambda () (run)) 12:21:21 -!- mishoo [~mishoo@178.138.96.0] has quit [Ping timeout: 248 seconds] 12:21:23 run is a function 12:22:05 balle: the question was if it returns a function 12:22:08 balle: sb-thread:make-thread evaluates its arguments and expects its first argument to be a function to call. 12:22:17 -!- EvW [~Thunderbi@a82-92-190-215.adsl.xs4all.nl] has quit [Quit: EvW] 12:22:30 ikki [~ikki@187.208.168.228] has joined #lisp 12:22:49 if (run) does not return, sb-thread:make-thread cannot be called. 12:24:31 run doesnt return it runs in an endless loop 12:25:00 McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has joined #lisp 12:26:19 balle: try wrapping run in a empty lambda closure as xach suggested. 12:27:00 that didnt help either :-/ 12:27:13 -!- AntiSpamMeta [~MetaBot@AntiSpamMeta/.] has quit [Quit: brb code update, please pray that I didn't fry anything. Also please spam the nick 'ow' with lots of privmsgs] 12:27:13 i guess that sb-thread:make-thread is a function, so what happens is that you are waiting for run to finish, before a call to make-thread can be done. 12:27:27 and since run is a loop, well, ... have fun waiting :-) 12:28:26 balle: works for me 12:28:40 (sb-thread:make-thread #'(lambda () (loop)) :name "loop-forever") --> # 12:28:48 EvW [~Thunderbi@a82-92-190-215.adsl.xs4all.nl] has joined #lisp 12:29:35 AntiSpamMeta [~MetaBot@AntiSpamMeta/.] has joined #lisp 12:29:43 antgreen [~green@64.56.225.109] has joined #lisp 12:30:07 zorkmoid, strange that works for me too 12:30:08 Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has joined #lisp 12:30:40 anyway, sbcl is not my forte, going for some coffee... happy hacking 12:31:07 here is what run looks like maybe... i dont know *g* http://paste.lisp.org/display/135878 12:31:12 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Ping timeout: 276 seconds] 12:31:50 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 12:31:56 kushal [kdas@fedora/kushal] has joined #lisp 12:32:46 balle (sb-thread:make-thread #'(lambda () (run)) :name "loop-forever") 12:33:14 ah i see my mistake! i forgot the #' 12:33:35 so i guess it first executed run and than tried to make a thread of it 12:33:37 lol 12:34:01 evaluation is sometimes tricky for a lisp n00b 12:34:07 in theory the #' quote shouldn't be needed. 12:34:11 balle: #'(lambda ()) is (lambda ()) 12:36:06 hm now i cannot reproduce the blocking example ^^ 12:36:12 maybe i get a coffee too 12:36:22 but now its working! thanks a lot! 12:37:26 -!- AntiSpamMeta [~MetaBot@AntiSpamMeta/.] has quit [Quit: brb again, ow fubar'ed some regex] 12:37:40 AntiSpamMeta [~MetaBot@AntiSpamMeta/.] has joined #lisp 12:39:11 -!- Beetny [~Beetny@ppp118-208-152-177.lns20.bne1.internode.on.net] has quit [Ping timeout: 245 seconds] 12:39:21 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 276 seconds] 12:39:32 iLogical [~iLogical@unaffiliated/ilogical] has joined #lisp 12:39:47 segv- [~mb@dslb-094-222-244-194.pools.arcor-ip.net] has joined #lisp 12:40:34 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 12:44:38 sabayonuser [~sabayonus@14.20.9.12] has joined #lisp 12:44:47 -!- sabayonuser is now known as hyoung 12:45:22 normanrichards [~normanric@70.114.215.220] has joined #lisp 12:46:41 H4ns, you are hans huebner? i am hearing chaosradio on lisp atm ;) 12:46:50 balle: yes. enjoy! 12:46:56 i do :) 12:49:45 -!- przl [~przlrkt@46.231.183.162] has quit [Ping timeout: 276 seconds] 12:51:05 H4ns, perl was also my first "functional" language and i learned to love higher order functions, map and closures 12:51:43 przl [~przlrkt@46.231.183.162] has joined #lisp 12:53:53 kliph [~user@unaffiliated/kliph] has joined #lisp 12:54:55 linse [~marioooh@bas5-montreal28-1178025976.dsl.bell.ca] has joined #lisp 12:56:40 clox [~user@rrcs-208-125-109-116.nys.biz.rr.com] has joined #lisp 13:03:04 -!- linse [~marioooh@bas5-montreal28-1178025976.dsl.bell.ca] has quit [Quit: zzzz] 13:06:24 -!- cfy [~ilisp@unaffiliated/chenfengyuan] has quit [Remote host closed the connection] 13:06:43 yacks [~yacks@180.151.36.168] has joined #lisp 13:08:02 cfy [~ilisp@unaffiliated/chenfengyuan] has joined #lisp 13:10:00 -!- normanrichards [~normanric@70.114.215.220] has quit [] 13:10:17 -!- tsuru```` is now known as tsuru` 13:11:49 sambio [~sambio@190.57.227.109] has joined #lisp 13:16:31 -!- kushal [kdas@fedora/kushal] has quit [Ping timeout: 260 seconds] 13:25:57 ahungry [~null@99-40-10-216.lightspeed.livnmi.sbcglobal.net] has joined #lisp 13:26:11 drmeister [~drmeister@pool-108-52-166-246.phlapa.fios.verizon.net] has joined #lisp 13:28:32 LiamH [~none@129-2-129-145.wireless.umd.edu] has joined #lisp 13:31:41 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 245 seconds] 13:32:45 -!- segv- [~mb@dslb-094-222-244-194.pools.arcor-ip.net] has quit [Remote host closed the connection] 13:36:26 gravicappa [~gravicapp@ppp91-77-183-197.pppoe.mtu-net.ru] has joined #lisp 13:40:57 -!- drmeister [~drmeister@pool-108-52-166-246.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 13:41:04 normanrichards [~normanric@166.137.121.80] has joined #lisp 13:42:28 -!- LiamH [~none@129-2-129-145.wireless.umd.edu] has quit [Ping timeout: 252 seconds] 13:43:04 -!- AntiSpamMeta [~MetaBot@AntiSpamMeta/.] has quit [Quit: brb new fetaures] 13:47:45 AntiSpamMeta [~MetaBot@AntiSpamMeta/.] has joined #lisp 13:48:46 LiamH [~none@129-2-129-145.wireless.umd.edu] has joined #lisp 13:49:20 balle: which episode ? 13:49:43 BlankVerse [~pankajm@202.3.77.214] has joined #lisp 13:50:24 fe[nl]ix, cre084 13:52:57 wbooze [~wbooze@xdsl-78-35-178-222.netcologne.de] has joined #lisp 13:53:00 -!- ikki [~ikki@187.208.168.228] has quit [Ping timeout: 250 seconds] 13:53:33 -!- redscare [~Adium@18.205.1.204] has quit [Quit: Leaving.] 13:54:11 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 13:54:12 -!- otwieracz [~gonet9@v6.gen2.org] has quit [Ping timeout: 264 seconds] 13:55:28 -!- paines [3e60ca24@gateway/web/freenode/ip.62.96.202.36] has quit [Ping timeout: 245 seconds] 13:57:09 -!- normanrichards [~normanric@166.137.121.80] has quit [Read error: Connection reset by peer] 13:57:46 -!- Bacteria [~Bacteria@115-64-180-132.static.tpgi.com.au] has quit [Quit: Bacteria] 14:01:40 normanrichards [~normanric@166.137.121.80] has joined #lisp 14:03:21 loke [~elias@bb115-66-218-239.singnet.com.sg] has joined #lisp 14:05:35 Joreji [~thomas@vpn-eu2.unidsl.de] has joined #lisp 14:11:33 lduros [~user@fsf/member/lduros] has joined #lisp 14:13:01 -!- ZC|Mobile [~weechat@108-222-198-111.lightspeed.nsvltn.sbcglobal.net] has quit [Quit: WeeChat 0.4.0] 14:14:15 -!- browndawg [~browndawg@117.201.91.238] has quit [Ping timeout: 276 seconds] 14:14:20 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 14:14:38 jrajav [~jrajav@198.179.137.210] has joined #lisp 14:14:44 -!- LiamH [~none@129-2-129-145.wireless.umd.edu] has quit [Quit: Leaving.] 14:14:56 LiamH [~none@129-2-129-145.wireless.umd.edu] has joined #lisp 14:14:56 -!- bitonic [~user@b0fb09c5.bb.sky.com] has quit [Read error: Operation timed out] 14:16:16 -!- ck_ [~ck@dslb-146-060-039-032.pools.arcor-ip.net] has quit [Read error: Operation timed out] 14:17:11 segv- [~mb@dslb-094-222-244-194.pools.arcor-ip.net] has joined #lisp 14:17:47 antgreen_ [~green@64.56.247.247] has joined #lisp 14:17:51 -!- LiamH [~none@129-2-129-145.wireless.umd.edu] has quit [Client Quit] 14:18:09 -!- antgreen [~green@64.56.225.109] has quit [Ping timeout: 248 seconds] 14:18:46 what logging lib do you usually use? cl-log? other? 14:19:03 dim: format to some file 14:19:17 yeah that's what cl-log will do I guess 14:19:20 or terminal 14:19:43 I want to be able to very easily switch the debug verbosity 14:19:52 while the program is running too 14:20:03 and I think I'm going to use some existing code for that 14:20:13 dim: (defun d (...) (if *debug-leve* ...)) ? 14:20:44 what's wrong with http://www.nicklevine.org/cl-log/ and http://www.cliki.net/Log4CL 14:20:53 -!- kiuma [~kiuma@static-217-133-17-91.clienti.tiscali.it] has quit [Quit: Leaving] 14:21:00 dunno, don't use them :-) 14:21:01 dim: nothing 14:21:03 samm [~samm@212.91.105.119] has joined #lisp 14:21:40 dim: log4cl is very ambitious. cl-log is written by a very seasoned lisper (whatever that might mean to you) 14:22:10 dim: Whenever you ask "what existing code can i reuse to do X?" you are bound to find a handful of people who say "oh it's so easy, I just do it by hand". Sometimes they are right. It can take some judgement to tell when. 14:22:31 -!- kliph [~user@unaffiliated/kliph] has quit [Ping timeout: 245 seconds] 14:22:58 yah :-) 14:23:20 cl-log looks nice. 14:25:01 dtw [~dtw@pdpc/supporter/active/dtw] has joined #lisp 14:25:10 -!- impulse [~impulse@bas3-toronto48-1096586303.dsl.bell.ca] has quit [Quit: leaving] 14:25:34 "You need an X11 *library*? It's just some bits over a socket. I rolled my own." 14:25:55 somebody use lisp in embedding system? 14:27:50 mgile [~mgile@74-92-220-177-Colorado.hfc.comcastbusiness.net] has joined #lisp 14:27:59 hyoung: i ran it on a raspberry pi for some stuff in a lab, does that count? 14:28:30 Fare [~fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has joined #lisp 14:28:32 -!- przl [~przlrkt@46.231.183.162] has quit [Ping timeout: 250 seconds] 14:29:29 ,Oh,perhaps, is that for commercial use or just for research? 14:30:03 Odyessus [~odyessus@chello080109062130.15.14.vie.surfer.at] has joined #lisp 14:30:13 hyoung: commercial research 14:30:44 Hmm. I've been thinking of getting a raspberry pi. Maybe there's something fun to be done with lisp on it. I had not thought about that. 14:30:58 przl [~przlrkt@46.231.183.162] has joined #lisp 14:31:19 i needed a cheap ass little computer i could shove into resin, and put it in a quite dirty lab :-) 14:31:50 ck_ [~ck@dslb-146-060-039-032.pools.arcor-ip.net] has joined #lisp 14:32:01 -!- Joreji [~thomas@vpn-eu2.unidsl.de] has quit [Ping timeout: 248 seconds] 14:32:26 drmeister [~drmeister@wirelessNAT188.wireless.temple.edu] has joined #lisp 14:32:26 mishoo [~mishoo@178.138.97.166] has joined #lisp 14:32:50 Cymew: Are you in the USA? I have a cheap one I can ship to you. 14:32:57 Sweden? Bah. 14:33:02 MoALTz [~no@host86-138-29-106.range86-138.btcentralplus.com] has joined #lisp 14:33:09 adelgado [~TomSawyer@65.23.61.98.nw.nuvox.net] has joined #lisp 14:33:50 ,Good 14:34:54 raspberry pi, what a suprise, Once I heard it, I love it. perhaps I should think of getting one to play 14:37:39 don't understand why people find it special ... it is just a computer. 14:37:53 LiamH [~none@129-2-129-34.wireless.umd.edu] has joined #lisp 14:38:20 browndawg [~browndawg@117.208.65.175] has joined #lisp 14:38:35 -!- browndawg [~browndawg@117.208.65.175] has quit [Max SendQ exceeded] 14:39:47 browndawg [~browndawg@117.208.65.175] has joined #lisp 14:40:11 ,I thinks it special just because its size, and it's also a computer, i could put it anywhere. 14:40:27 and it's cheap 14:40:30 do whatever I want on laptop 14:40:34 yeah 14:40:38 cheap, 14:40:46 -!- foom [jknight@nat/google/x-horoosjkpyqmaqxo] has quit [Quit: Leaving] 14:41:32 -!- drmeister [~drmeister@wirelessNAT188.wireless.temple.edu] has quit [Remote host closed the connection] 14:42:04 hyoung: i used to use 386s and 486s back in the day for this.. 14:42:10 foom [jknight@nat/google/x-jvglobsudijbeyxu] has joined #lisp 14:42:24 Xach: agreed, hence my question about what's specifically wrong here :) 14:42:37 H4ns: thanks, I read that as good news, will try cl-log 14:42:46 jarmond [~user@93-96-213-180.zone4.bethere.co.uk] has joined #lisp 14:44:07 really? in fact, I also think people should use the 386s but not the newest computer,it just waste the resource God give us. 14:44:34 and program in qbasic 14:44:42 hyoung: well, 386s are hard to find today, but any random box will do... and they are small enough. it is true that the pi is very small 14:45:04 the pi is small, costs little, has low power consumption, is easy to interface with 14:45:31 that can't be said about a lot of other platforms that are actually available 14:45:34 and it runs lisp. 14:45:43 386s run lisp :-) 14:45:48 zorkmoid: "right" 14:46:13 right. 14:46:34 (and cost little, low power consumpion, and easier than the pi to interface with) 14:46:57 adelgado1 [~TomSawyer@65.23.61.98.nw.nuvox.net] has joined #lisp 14:47:38 Joreji [~thomas@vpn-eu2.unidsl.de] has joined #lisp 14:47:44 drmeister [~drmeister@wirelessNAT188.wireless.temple.edu] has joined #lisp 14:48:44 but i dont know where to get it. 14:48:56 i've been playing about with the idea of making a product that uses pi's, that run a bunch of lisp, which users connect to a monitor/screen and stuff.. 14:49:09 perhaps in our country ,it is very expensive 14:49:20 -!- adelgado [~TomSawyer@65.23.61.98.nw.nuvox.net] has quit [Ping timeout: 250 seconds] 14:49:33 faot [~faot@port-92-198-30-130.static.qsc.de] has joined #lisp 14:50:56 hyoung: sorry? 14:52:55 -!- drmeister [~drmeister@wirelessNAT188.wireless.temple.edu] has quit [Ping timeout: 245 seconds] 14:53:49 victor_lowther [~victorlow@143.166.116.80] has joined #lisp 14:53:53 redscare [~Adium@18.205.1.204] has joined #lisp 14:54:39 -!- varjagg [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 14:54:57 stopbit [~stopbit@static-108-48-124-82.washdc.fios.verizon.net] has joined #lisp 14:56:09 -!- Odyessus [~odyessus@chello080109062130.15.14.vie.surfer.at] has quit [Quit: Colloquy for iPad - http://colloquy.mobi] 14:58:15 -!- redscare [~Adium@18.205.1.204] has quit [Ping timeout: 260 seconds] 14:59:45 -!- mutley89 [~mutley89@92.40.254.79.threembb.co.uk] has quit [Ping timeout: 248 seconds] 15:01:12 mutley89 [~mutley89@92.40.254.79.threembb.co.uk] has joined #lisp 15:02:29 -!- Joreji [~thomas@vpn-eu2.unidsl.de] has quit [Ping timeout: 255 seconds] 15:03:21 -!- adelgado1 is now known as adelgado 15:03:26 oh, i'm of china ,perhaps it is imported from foreign country, then not cheap 15:03:48 i think there is a chinese version, too 15:04:04 bitonic [~user@dyn1216-164.wlan.ic.ac.uk] has joined #lisp 15:06:45 mattrepl [~mattrepl@pool-71-163-43-88.washdc.fios.verizon.net] has joined #lisp 15:07:33 -!- mattrepl [~mattrepl@pool-71-163-43-88.washdc.fios.verizon.net] has quit [Client Quit] 15:07:37 hyoung: http://www.raspberrypi.org/archives/tag/china 15:07:53 mattrepl [~mattrepl@pool-71-163-43-88.washdc.fios.verizon.net] has joined #lisp 15:12:04 invariant [~invariant@unaffiliated/invariant] has joined #lisp 15:13:28 Who is the person sitting against the wall in the left of the screen at 1:17:18 in http://www.youtube.com/watch?v=g0Pxj5FUHKk (it's a Berlin Lisp Meetup video)? 15:14:22 -!- quazimodo [~quazimodo@c27-253-100-110.carlnfd2.nsw.optusnet.com.au] has quit [Read error: No route to host] 15:14:44 invariant: a guy from Montreal 15:14:46 natechan [~natechan@50-192-61-46-static.hfc.comcastbusiness.net] has joined #lisp 15:16:07 fe[nl]ix, Dominique Boucher? 15:16:24 thanks h4ns 15:16:39 Apparently not. 15:16:54 his accent was definitely American 15:17:37 -!- jrajav [~jrajav@198.179.137.210] has quit [Quit: I tend to be neutral about apples] 15:18:55 -!- rpg [~rpg@216.243.156.16.real-time.com] has quit [Quit: rpg] 15:19:13 -!- akovalen` is now known as akovalenko 15:19:16 quazimodo [~quazimodo@c27-253-100-110.carlnfd2.nsw.optusnet.com.au] has joined #lisp 15:21:46 findiggle [~kirkwood@50-194-56-154-static.hfc.comcastbusiness.net] has joined #lisp 15:22:10 -!- normanrichards [~normanric@166.137.121.80] has quit [Ping timeout: 240 seconds] 15:23:17 -!- Guest54266 [user@nat/google/x-gpgvpdtdwnzculjq] has quit [Remote host closed the connection] 15:26:02 pavelpenev [~quassel@85-130-11-8.2073813645.shumen.cablebg.net] has joined #lisp 15:26:14 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 252 seconds] 15:27:55 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 15:29:02 SanderM [~quassel@2001:610:180:1:e2cb:4eff:fe41:41d] has joined #lisp 15:32:13 Zopieux [zopieux@jerrycraft.tk] has joined #lisp 15:32:25 NTH: -1 is not a non-negative integer 15:32:25 seriously? 15:32:49 Zopieux: ? 15:32:56 -!- bitonic [~user@dyn1216-164.wlan.ic.ac.uk] has quit [Ping timeout: 245 seconds] 15:33:23 H4ns, why is this message so complicated, with a double negative? 15:34:22 Zopieux: because the api is specified that way: http://clhs.lisp.se/Body/f_nth.htm 15:34:26 -!- agumonkey [~agu@45.217.72.86.rev.sfr.net] has quit [Ping timeout: 255 seconds] 15:35:46 it implies that you should provide a non-negative integer 15:35:59 what is the diffrence between a "positive integer" and a "non negatie integer", according to lisp? 15:36:05 zero 15:36:15 -!- mattrepl [~mattrepl@pool-71-163-43-88.washdc.fios.verizon.net] has quit [Quit: mattrepl] 15:36:27 0 is both positive and negative 15:36:51 pkkm [~pawel@acvn198.neoplus.adsl.tpnet.pl] has joined #lisp 15:36:59 (plusp 0) => NIL (minusp 0) => NIL 15:36:59 I find it very cumbersome to use this kind of double-negative where one could just remember that positive and negative include zero 15:37:03 Zopieux: is this really a problem or are you just trying to be difficult? 15:37:21 If that's your biggest complaint about CL, we're happy you're enjoying it so much 15:37:28 Zopieux: maybe you want to write a bug report for your implementation so that the wording can be improved. 15:37:41 i'm a lisp newbie and i'm trying to understand some of the concepts I find bizarre 15:38:04 Zopieux: you'll encounter more baroque things than that 15:38:14 And actually, negative zero is an important concept in many fields 15:38:18 Zopieux: some humility is helpful. 15:38:52 dlowe: negative zero isn't a negative number either. it's still a 0 15:40:08 H4ns, I do have encoutered such things I was already aware of, this one just exploded at my face a few minutes ago :) 15:40:44 jsnell: yes... 15:40:59 Zopieux: your problem has nothing to do with lisp but with mathematics 15:41:02 Zopieux: that's one of the major differences between the French and the German mathematical traditions. One includes 0 in , the other one doesn't 15:41:29 I don't think the concept and wording of non-negative can be blamed on or credited to lisp, it's a common thing in the wider world 15:42:03 colbseton [~colbseton@static.116.236.9.5.clients.your-server.de] has joined #lisp 15:42:12 hey 15:42:36 the thing is Vivitron, when used in a sentence using "not a", it's becoming odd 15:44:06 being a 'non-negative integer' is a single entity, a combined word. do not read it as an 'integer' that carries the attribute to be 'non-negative' 15:44:25 -!- LiamH [~none@129-2-129-34.wireless.umd.edu] has quit [Quit: Leaving.] 15:44:55 mattrepl [~mattrepl@pool-71-163-43-88.washdc.fios.verizon.net] has joined #lisp 15:45:29 yrk [~user@c-50-133-134-220.hsd1.ma.comcast.net] has joined #lisp 15:45:40 -!- yrk [~user@c-50-133-134-220.hsd1.ma.comcast.net] has quit [Changing host] 15:45:40 yrk [~user@pdpc/supporter/student/yrk] has joined #lisp 15:47:50 bitonic [~user@dyn1216-164.wlan.ic.ac.uk] has joined #lisp 15:48:02 normanrichards [~normanric@rrcs-108-178-120-144.sw.biz.rr.com] has joined #lisp 15:48:39 -!- mishoo [~mishoo@178.138.97.166] has quit [Ping timeout: 260 seconds] 15:49:41 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 252 seconds] 15:50:16 mishoo [~mishoo@178.138.98.59] has joined #lisp 15:50:32 Zopieux: positive and negative in lisp do _not_ include zero 15:51:29 -!- przl [~przlrkt@46.231.183.162] has quit [Ping timeout: 248 seconds] 15:52:18 eldariof [~CLD@pppoe-216-96-dyn-sr.volgaline.ru] has joined #lisp 15:55:40 -!- davorb [davor@mer.df.lth.se] has quit [Ping timeout: 240 seconds] 15:55:55 davorb [davor@mer.df.lth.se] has joined #lisp 15:55:59 hi, any ideas how to "easily" find a circle in asdf dependencies? 15:56:41 gendl [~gendl@c-98-250-10-50.hsd1.mi.comcast.net] has joined #lisp 15:58:29 The only reason it works like that is because floating point numbers happen to work like that. 15:58:34 -!- hyoung [~sabayonus@14.20.9.12] has quit [Quit: Leaving] 15:59:00 casion [~AdmiralBu@pool-71-99-141-240.tampfl.fios.verizon.net] has joined #lisp 15:59:00 "The types rational and float are disjoint subtypes of type real. " 15:59:15 (it works on real values) 15:59:36 MoALTz_ [~no@host86-138-29-106.range86-138.btcentralplus.com] has joined #lisp 15:59:43 CatMtKing [~CatMtKing@138.23.59.162] has joined #lisp 15:59:56 -!- colbseton [~colbseton@static.116.236.9.5.clients.your-server.de] has left #lisp 16:00:41 MoALTz__ [~no@host86-138-29-106.range86-138.btcentralplus.com] has joined #lisp 16:00:58 attila_lendvai [~attila_le@92.47.184.97] has joined #lisp 16:00:58 -!- attila_lendvai [~attila_le@92.47.184.97] has quit [Changing host] 16:00:59 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 16:01:45 the asdf::circular-dependency doesnt list the whole circle 16:01:46 Joreji [~thomas@vpn-eu2.unidsl.de] has joined #lisp 16:02:41 -!- MoALTz [~no@host86-138-29-106.range86-138.btcentralplus.com] has quit [Ping timeout: 248 seconds] 16:03:20 PuercoPop [~user@190.222.252.106] has joined #lisp 16:04:14 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 255 seconds] 16:04:21 -!- cdidd [~cdidd@95-27-109-69.broadband.corbina.ru] has quit [Remote host closed the connection] 16:04:44 -!- MoALTz_ [~no@host86-138-29-106.range86-138.btcentralplus.com] has quit [Ping timeout: 252 seconds] 16:06:49 -!- cfy [~ilisp@unaffiliated/chenfengyuan] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 16:08:20 it doesn't? That's a bug, then. 16:08:39 it ought to 16:08:54 -!- samm [~samm@212.91.105.119] has quit [Quit: samm] 16:09:27 edgar-rft [~GOD@HSI-KBW-149-172-63-75.hsi13.kabel-badenwuerttemberg.de] has joined #lisp 16:09:30 (error 'circular-dependency :actions (member action (reverse action-list) :test 'equal) -- it certainly tries to 16:13:37 Fare: Circular dependency: (#)) during 16:13:53 -!- MoALTz__ is now known as MoALTz 16:14:36 -!- bitonic [~user@dyn1216-164.wlan.ic.ac.uk] has quit [Ping timeout: 264 seconds] 16:14:56 there is only one 16:15:56 i was hoping somebody wrote a code to draw the dependencies 16:15:57 does gettext depend on itself? 16:16:24 not directly 16:16:35 maybe through other dependencies 16:16:45 yet that's what the error says -- directly 16:17:12 Fare: sorry, i must go now, i'll investigate tomorrow, thanks for your input 16:17:16 which version of asdf is it? 16:17:22 maybe it's an old version 16:17:38 that wasn't as good at reporting circular dependencies 16:17:50 Fare: i'll let you know tomorrow 16:17:51 -!- loke [~elias@bb115-66-218-239.singnet.com.sg] has quit [Remote host closed the connection] 16:17:52 actually, it has to be an old version, for the new one shows actions 16:17:55 -!- gravicappa [~gravicapp@ppp91-77-183-197.pppoe.mtu-net.ru] has quit [Ping timeout: 252 seconds] 16:17:56 (asdf:asdf-version) 16:18:32 2.014.3 16:19:06 deego [deego@unaffiliated/deego] has joined #lisp 16:19:53 ok, that explains it 16:20:12 try with 2.32 -- it ought to have better reporting in case of circularity 16:20:36 2.014.3 -- is that an old quicklisp? 16:22:47 yes, 2.014.3 sucked for circularity detection. Anything before 2.27 does. 16:23:08 -!- Cymew [~user@fw01d.snowmen.se] has quit [Ping timeout: 255 seconds] 16:23:09 2.27 and later do it right (reusing the same trick as I used in xcvb). 16:24:28 thomas_yzj [~user@175.0.175.48] has joined #lisp 16:24:41 gravicappa [~gravicapp@ppp91-77-183-197.pppoe.mtu-net.ru] has joined #lisp 16:24:42 Bike [~Glossina@71-34-78-123.ptld.qwest.net] has joined #lisp 16:25:01 ccl-logbot [~ccl-logbo@setf.clozure.com] has joined #lisp 16:25:01 16:25:01 -!- names: ccl-logbot Bike gravicappa thomas_yzj deego edgar-rft PuercoPop Joreji attila_lendvai MoALTz CatMtKing casion gendl davorb eldariof mishoo normanrichards yrk mattrepl pkkm Zopieux SanderM pavelpenev findiggle quazimodo natechan invariant mutley89 stopbit victor_lowther faot adelgado jarmond foom browndawg ck_ Fare mgile dtw antgreen_ segv- lduros wbooze BlankVerse AntiSpamMeta ahungry sambio yacks clox iLogical DrCode Mon_Ouie EvW McMAGIC--Copy araujo 16:25:01 -!- names: fe[nl]ix mathrick spion Yuuhi madnificent smithzv zacharias foreignFunction morphling Houl xcombelle b1rkh0ff ignas hugod plantseeker pegu felipe kennyd peterhil` ehu snowylike stat_vi ivan\ mvilleneuve dim killerboy dt770 clintm doomlord robot-beethoven lukas impomatic leo2007 qptain_Nemo dented42 mrSpec cnl angavrilov ramkrsna Dalek_Baldwin leoncamel weie cpt_nemo oticat` Euthy hlavaty` ether0 vert2 Tordek zulu_inuoe kpreid tsuru` Forty-3 cyphase lynna27 16:25:01 -!- names: milosn_ ft cmbntr galdor knob am0c pok johs peterhil MrWoohoo _veer CampinSam tensorpudding ramus __main__ sellout- sepi wc sirdancealo2 [SLB] arbscht ahoops jayne tessier akovalenko xan_ abeaumont Krystof easye dRbiG nirman varjag mcsontos zorkmoid ktx arrsim tkd scharan Jasko dkasak karupanerura stokachu subtlepath benny |3b| SHODAN tic Ralt naryl kanru Gurragchaa rvirding SeanTAllen NimeshNeema PuffTheMagic dotemacs gemelen The_third_man antifuchs 16:25:01 -!- names: sykopomp joooooo techlife s0ber cic specbot minion Nshag gigamonkey Nisstyre optikalmouse blackwolf oconnore n0vember maxm xristos Khisanth ogamita cmatei aajmakin nitro_idiot cmm paddymahoney em Tanami eli Natch Odin- wchun gienah j0ni Aperculum TristamWrk macrobat redline6561 RazWelles_ DrForr jasom igorw Praise billstclair lemoinem strobegen Tristam pjb mrdragons fmu scode jrockway copec ThePhoeron zbigniew androcles C-Keen rking cpc26 dmiles_afk wyan 16:25:01 -!- names: jeekl housel finnrobi p_l flip214 JPeterson jaimef drewc Tarential acieroid kyl gensym joshee quasisan1 yroeht1 peccu1 fasta jdz ``Erik rotty_ sklr cYmen rfgpfeiffer nitefli tychoish yeltzooo BeLucid basho___ ubii antoszka Borbus Vutral tippenein Vivitron guaqua ered eataix felideon froggey Xach pkhuong joneshf djinni` hohum_ cross insomniaSalt danlentz clog hpd aerique oGMo joast CrazyEddy Amadiro balle whartung Posterdati Mandus mtd z0d eMBee jsnell H4ns 16:25:01 -!- names: sweet_kid clop pokes cibs arrdem Tribal aoh mgs gabot surrounder r126l bege prip_ Expez spacebat rvchangue ianmcorvidae forgottenwizard karswell _schulte_ Onii-san luis Zhivago mal_ daimrod tomaw brucem Obfuscate teiresias ezakimak dfox theBlackDragon anonus dpwright koisoke rabite nightfly Patzy nuba brendyn Jabberwockey BrianRice j_king asedeno_work Spaceghostc2c ecraven derrida MrWGW- kirin` tvaalen tali713 dan64 freiksenet sfa samebchase elliottcable 16:25:01 -!- names: Fade spacefrogg renard_ KingNato ineiros adeht Subfusc yan_ kranius Viaken slava sytse pchrist setheus Yamazaki-kun Adeon vhost- fds banjiewen postfuturist faheem ozzloy newcup nullman BlastHardcheese vsync df_ eventhorizon gf3 javajax848 nicdev sbryant sshirokov dlowe phadthai ivan PaulHarris sigjuice 16:26:38 nyef [~nyef@c-76-119-183-159.hsd1.ma.comcast.net] has joined #lisp 16:28:23 -!- spacefrogg is now known as spacefrogg^ 16:28:45 -!- zacharias [~zacharias@unaffiliated/zacharias] has quit [Quit: WeeChat 0.4.1-dev] 16:29:29 -!- ramkrsna [ramkrsna@unaffiliated/ramkrsna] has quit [Quit: Leaving] 16:33:04 -!- sellout- is now known as sellout 16:34:29 ikki [~ikki@187.240.178.92] has joined #lisp 16:34:53 jcazevedo [~jcazevedo@188.251.137.196] has joined #lisp 16:38:56 enupten [~neptune@c-24-18-243-195.hsd1.wa.comcast.net] has joined #lisp 16:39:34 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Leaving] 16:48:00 bitonic [~user@dyn1218-47.wlan.ic.ac.uk] has joined #lisp 16:49:32 Juanito-Jons [~jreynoso@187.208.168.228] has joined #lisp 16:52:29 -!- ck_ [~ck@dslb-146-060-039-032.pools.arcor-ip.net] has quit [Read error: Operation timed out] 16:52:44 hello 16:52:52 I try do macro 16:52:55 http://pastebin.com/zyWMb5Pg 16:53:33 but I know if is correctly or not. 16:54:29 *p_l* isn't goingbto london yet after all, one more phone screen 16:54:31 -!- mishoo [~mishoo@178.138.98.59] has quit [Read error: Connection reset by peer] 16:55:05 <|3b|> Juanito-Jons: you seem to be calling it as if it were a function, and combining &optional with &rest like that might not do what you expect 16:55:29 Juanito-Jons: I don't know what it's trying to do, so can't say if it's correct; on the other hand you could almost certainly make it a function that does the same thing 16:57:00 -!- freiksenet [~freiksene@freiksenet.com] has quit [Remote host closed the connection] 16:57:02 generate ( ok then i change the macro to function 16:57:43 mishoo [~mishoo@178.138.98.59] has joined #lisp 16:57:47 so... about debugging, I have a situation I can't make head or tail about, how would you go about it? 16:58:19 boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has joined #lisp 16:58:20 -!- mishoo [~mishoo@178.138.98.59] has quit [Read error: Connection reset by peer] 16:58:27 dim: reduce as much as possible to something that can be easily reproduced by someone else, beg for help on #lisp 16:58:27 -!- fsvehla [~fsvehla@chello084112185050.3.11.vie.surfer.at] has quit [Client Quit] 16:58:43 I'm calling a function in a loop, and the function will throw some tag after processing each N rows so that I can get control back and commit that batch, then I prepare a new empty batch and get back to calling the same function 16:58:46 dim: before that, probably compile with debug 3, look at local variables in backtraces, etc. 16:59:35 -!- bege [~bege@S0106001d7e5132b0.ed.shawcable.net] has quit [Quit: leaving] 16:59:50 the problem is that the batch variable (a list) and the batch-size variable (an integer) seem to be reset in the handler-case block I use to process conditions 17:00:04 no backtraces 17:00:39 <|3b|> are you sure you were actually modifying the right bindings? 17:01:02 the condition management is seeing an empty batch when it should be full of 25000 rows 17:01:12 |3b|: how would I recheck that? 17:01:19 <|3b|> look at the code? 17:01:45 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 17:01:47 <|3b|> also, you can add (break) to get backtraces to look at 17:01:53 that, I'm already doing 17:02:01 I refactored a little too, added some traces, etc 17:02:46 (break) is a good idea too, thx 17:03:19 <|3b|> by 'throw some tag' do you actually mean THROW, or do you mean signal a condition? 17:03:46 -!- Vutral [~ss@mirbsd/special/Vutral] has quit [Ping timeout: 246 seconds] 17:04:06 -!- ikki [~ikki@187.240.178.92] has quit [Ping timeout: 250 seconds] 17:04:10 -!- ehu [~ehu@31.137.112.147] has quit [Ping timeout: 245 seconds] 17:04:32 throw 17:04:49 (throw 'next-batch (cons :continue batch-size)) 17:06:24 <|3b|> and you also have a handler-case being triggered by some unrelated condition? sounds confusing 17:07:16 yeah, I use throw/catch to handle my own control flow, and what I'm doing when I catch the tag is prone to signal a condition, so that's handled in an handler-case construct 17:07:22 I could easily share that code, it's open source 17:08:30 -!- Juanito-Jons [~jreynoso@187.208.168.228] has quit [Ping timeout: 264 seconds] 17:08:38 http://paste.lisp.org/display/135880 if you're interested :) 17:09:31 Odyessus [~odyessus@chello080109062130.15.14.vie.surfer.at] has joined #lisp 17:10:28 oh I pasted with the (break) addition, but the trace here is not telling much 17:10:56 zacharias [~zacharias@unaffiliated/zacharias] has joined #lisp 17:11:31 sorry, what I mean is that in the copy-from-queue frame I see no reference to the batch binding 17:12:06 -!- SanderM [~quassel@2001:610:180:1:e2cb:4eff:fe41:41d] has quit [Read error: Connection reset by peer] 17:12:46 <|3b|> do you ignore the value returned by catch 'next-batch ? 17:12:48 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 264 seconds] 17:13:05 Vutral [ss@mirbsd/special/Vutral] has joined #lisp 17:13:11 nope, it's retval in the loop form 17:14:06 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 17:14:14 retval is either what catch returned or what the function returned, when that was the last batch 17:14:30 it's not as clean as I'd like, but it's not causing a problem here that I can see 17:14:47 I had that code runing fine before, I don't see how I did break it 17:14:53 running even 17:15:12 -!- mattrepl [~mattrepl@pool-71-163-43-88.washdc.fios.verizon.net] has quit [Quit: mattrepl] 17:16:04 rpg [~rpg@23-25-144-217-static.hfc.comcastbusiness.net] has joined #lisp 17:16:18 drewc: therep? 17:16:44 ikki [~ikki@187.208.168.228] has joined #lisp 17:17:58 Juanito-Jons [~jreynoso@187.208.168.228] has joined #lisp 17:19:31 -!- Zopieux [zopieux@jerrycraft.tk] has left #lisp 17:20:37 KingsKnighted [~quassel@c-174-52-149-13.hsd1.ut.comcast.net] has joined #lisp 17:22:43 rpg: T 17:23:22 T. Lisp Humor. I get it. Funny. 17:25:32 rpg: I have a backlog of like 8 blog posts of yours to catch up on :P 17:27:36 -!- segv- [~mb@dslb-094-222-244-194.pools.arcor-ip.net] has quit [Remote host closed the connection] 17:27:48 -!- Joreji [~thomas@vpn-eu2.unidsl.de] has quit [Ping timeout: 264 seconds] 17:28:20 -!- faot is now known as zickzackv 17:29:25 ed_g [~quassel@67-5-181-3.ptld.qwest.net] has joined #lisp 17:30:07 -!- Houl [~Parmi@unaffiliated/houl] has quit [Quit: weil das Wetter so schön ist] 17:32:32 _d3f [~freedo@nl2.ovpn.to] has joined #lisp 17:33:09 <|3b|> dim: do you store the 'batch' list anywhere outside the closure? 17:33:22 nope 17:33:34 my thinking is that the binding is available from both the functions 17:34:18 Joreji_ [~thomas@vpn-eu2.unidsl.de] has joined #lisp 17:34:19 as I give it explicitely as a parameter in the fun call 17:34:37 I don't think it needs to be special, or does it? 17:35:07 <|3b|> the closure returned by make-copy-and-batch-fn sees the binding if the argument to make-copy-and-batch-fn, so modifies that, caller can't see that binding 17:35:09 mishoo [~mishoo@178.138.98.59] has joined #lisp 17:35:26 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 245 seconds] 17:35:54 ok, so I should declare batch and batch-size special and stop passing them down as arguments then 17:36:10 <|3b|> that might work 17:36:11 damn, I didn't even think to recheck how argument binding really works 17:36:19 you can think of another option? 17:36:19 -!- zickzackv [~faot@port-92-198-30-130.static.qsc.de] has left #lisp 17:36:49 <|3b|> or you could pass the list back out of the function like you do with size, or pass a function to modify the caller's binding 17:37:06 forcer- [~faot@port-92-198-30-130.static.qsc.de] has joined #lisp 17:37:23 Joreji [~thomas@109.201.152.198] has joined #lisp 17:37:24 in a previous version the function did return batch and batch-size as multiple values too, and I had the same behavior 17:37:40 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 17:37:43 -!- spion [~spion@unaffiliated/spion] has quit [Ping timeout: 246 seconds] 17:37:53 -!- forcer- [~faot@port-92-198-30-130.static.qsc.de] has left #lisp 17:38:02 now, batch and batch-size in that version where local let bindings in the make-copy-and-batch-fn, with the lambda function closing over them 17:38:03 <|3b|> were you storing both values? 17:38:46 -!- enupten [~neptune@c-24-18-243-195.hsd1.wa.comcast.net] has quit [Ping timeout: 245 seconds] 17:38:51 ickzackvz [~faot@port-92-198-30-130.static.qsc.de] has joined #lisp 17:38:57 returning them looks saner 17:39:00 Shozan [~shozan@c-d7b3e253.011-86-73746f30.cust.bredbandsbolaget.se] has joined #lisp 17:39:58 akovalen` [~user@195.18.46.21] has joined #lisp 17:41:25 -!- ickzackvz [~faot@port-92-198-30-130.static.qsc.de] has quit [Client Quit] 17:41:54 -!- dented42 [~dented42@opengroove.org] has quit [Ping timeout: 252 seconds] 17:42:00 ickzackvz [~faot@port-92-198-30-130.static.qsc.de] has joined #lisp 17:42:02 googol [~matthew@lal-99-123.ResHall.Berkeley.EDU] has joined #lisp 17:42:09 harder to do here because of other things I did, working on it 17:42:17 -!- dtw [~dtw@pdpc/supporter/active/dtw] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 17:42:48 postfuturist_ [~postfutur@stevegoss.xen.prgmr.com] has joined #lisp 17:43:17 -!- snowylike [~sn@91-67-171-156-dynip.superkabel.de] has quit [Quit: Nettalk6 - www.ntalk.de] 17:43:35 I mentioned yesterday that the startup time of sbcl was slower than ccl, and someone told me the newest version is better; I just tried 1.1.5 and found it to be better, but still more than twice as slow as ccl 17:43:50 <|3b|> are you likely to use any other functions aside from the one returned by make-copy-and-batch-fn? 17:44:29 sbcl --eval '(quit)' 0.00s user 0.01s system 109% cpu 0.009 total 17:44:33 that's not too bad. 17:44:57 jasom: do you have stuff in your ~/.sbclrc that slows it down 17:44:58 stokachu_ [~stokachu@50.58.87.197] has joined #lisp 17:44:59 Fare: it may just be that sbcl generates larger images 17:45:13 Fare: this is --no-sysinit --no--userinit loading from a memory image 17:45:15 |3b|: my refactoring problem here is due to the normal returning of map-pop-queue that I don't want to change just now, used in other places 17:45:23 so I'm doing the special dance instead 17:45:29 <|3b|> if not, might be easier to just move it to a local function... if you are, might be better to factor out the part that updates batch and batch size, and throws when size is too big to a local function, and pass that to the other function 17:45:30 madrik [~user@122.168.175.242] has joined #lisp 17:45:47 -!- stopbit [~stopbit@static-108-48-124-82.washdc.fios.verizon.net] has quit [*.net *.split] 17:45:47 -!- akovalenko [~user@195.18.46.21] has quit [*.net *.split] 17:45:47 -!- arrsim [~user@mail.fitness2live.com.au] has quit [*.net *.split] 17:45:47 -!- stokachu [~stokachu@50.58.87.197] has quit [*.net *.split] 17:45:47 -!- SHODAN [~shozan@c-d7b3e253.011-86-73746f30.cust.bredbandsbolaget.se] has quit [*.net *.split] 17:45:47 -!- kanru [~kanru@118-163-10-190.HINET-IP.hinet.net] has quit [*.net *.split] 17:45:47 -!- paddymahoney [~paddymaho@198-84-186-52.cpe.teksavvy.com] has quit [*.net *.split] 17:45:47 -!- housel [~user@mccarthy.opendylan.org] has quit [*.net *.split] 17:45:47 -!- postfuturist [~postfutur@stevegoss.xen.prgmr.com] has quit [*.net *.split] 17:45:48 -!- stokachu_ is now known as stokachu 17:46:02 Okay, got my github account fixed. Now... why the heck do I have a github account in the first place? 17:46:20 a long time ago it was a local function 17:46:31 I've been spliting it out so that code is easier to maintain 17:46:34 -!- ickzackvz [~faot@port-92-198-30-130.static.qsc.de] has quit [Client Quit] 17:46:39 was way to big a function then 17:46:39 segv- [~mb@dslb-094-222-244-194.pools.arcor-ip.net] has joined #lisp 17:46:39 Fare: ccl's image is about 40% smaller, so that might be what dominates 17:46:41 drmeister [~drmeister@farnsworth.chem.temple.edu] has joined #lisp 17:46:58 possible. 17:47:34 zickzackv [~faot@port-92-198-30-130.static.qsc.de] has joined #lisp 17:48:46 ASau [~user@92.116.206.243] has joined #lisp 17:48:54 dented42 [~dented42@opengroove.org] has joined #lisp 17:49:04 arrdem_x11 [~arrdem@wireless-128-62-31-128.public.utexas.edu] has joined #lisp 17:49:30 -!- Joreji [~thomas@109.201.152.198] has quit [Ping timeout: 256 seconds] 17:49:49 damn the *earbuff* tricks is not chaning anything here (with a (declare (special ...)) on a let binding) 17:49:50 -!- techlife [~jimmy@60.212.33.102] has quit [Ping timeout: 256 seconds] 17:50:00 should I defvar? 17:50:14 dim: You have to declare it special in the scope in which you access it, as well. 17:50:31 dang. thanks. didn't know about that, used to elisp too much 17:50:55 Also, your functions are doing too many things, you should refactor them into smaller pieces. (-: 17:51:04 Joreji [~thomas@vpn-eu2.unidsl.de] has joined #lisp 17:51:06 I began doing that 17:51:12 you should have seen before :) 17:51:40 I'm glad that I didn't. I have enough of my own crawling horrors that I've been trying to break up into little pieces. 17:51:50 we all have, it seems 17:51:56 stopbit [~stopbit@static-108-48-124-82.washdc.fios.verizon.net] has joined #lisp 17:52:10 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 240 seconds] 17:52:39 paddymahoney [~paddymaho@198-84-186-52.cpe.teksavvy.com] has joined #lisp 17:52:55 slyrus [~chatzilla@adsl-76-254-45-27.dsl.pltn13.sbcglobal.net] has joined #lisp 17:53:52 techlife [techlife@60.212.33.102] has joined #lisp 17:54:07 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 17:54:26 ok, there we go, found the right way to declare them special at the right places 17:54:36 dioxirane [~OXO@unaffiliated/dioxirane] has joined #lisp 17:54:39 -!- zickzackv [~faot@port-92-198-30-130.static.qsc.de] has quit [Ping timeout: 260 seconds] 17:55:59 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 17:57:09 nyef: github? http://drewc.github.com/common-lisp.net/ and https://github.com/drewc/common-lisp.net ... are you on twitter as well? :P 17:57:21 Now, in COPY-FROM-QUEUE, "retval" is a fairly common, and fairly poor, name for a variable. Additionally, the entire LET* form should be a separate function. 17:57:26 (@common_lisp_net) 17:57:54 drewc: No, I'm not on twitter. I think that the only reason that I'm on github has something to do with SBCL/Win32 threads, somehow. 17:58:57 well, the only reason I a on github is because it is a hub of git, and not me personally ... so I understand completely 17:58:58 -!- Odyessus [~odyessus@chello080109062130.15.14.vie.surfer.at] has quit [Quit: Colloquy for iPad - http://colloquy.mobi] 18:00:04 ebw [~user@f051128100.adsl.alicedsl.de] has joined #lisp 18:00:06 -!- Joreji_ [~thomas@vpn-eu2.unidsl.de] has quit [Ping timeout: 264 seconds] 18:01:21 -!- normanrichards [~normanric@rrcs-108-178-120-144.sw.biz.rr.com] has quit [] 18:01:45 Joreji_ [~thomas@109.201.152.203] has joined #lisp 18:02:16 -!- dioxirane [~OXO@unaffiliated/dioxirane] has left #lisp 18:02:30 -!- Fare [~fare@173-9-65-97-NewEngland.hfc.comcastbusiness.net] has quit [Read error: Operation timed out] 18:03:28 Is github the appropriate places for fixes to problems in postmodern? 18:04:24 -!- arrdem_x11 [~arrdem@wireless-128-62-31-128.public.utexas.edu] has quit [Ping timeout: 264 seconds] 18:04:30 s/places/place/ 18:04:45 nyef: yes. 18:05:02 no idea... it has been like 5 or 6 years since I was a postmodern developer, and that was a patch via email IIRC :) 18:05:34 In my CL implementation I switched how I return multiple values to putting them into a single array/thread like in ECL. 18:06:12 I've just had the horrible realization that this will not work well with my thousands of C++ functions that aren't aware of this global array of multiple return values. 18:06:44 How are multiple return values handled in CL implementations when they don't use a global array of return values per thread? Are there other approaches? 18:07:03 drmeister: Which is why you have macros for dealing with lisp return value handling, so you can just adjust the macros and everything still works, right? 18:07:41 registers? stack? 18:08:14 mattrepl [~mattrepl@SSID-MASON-SECURE-216.wireless.gmu.edu] has joined #lisp 18:09:01 a mixture of returning values in registers and on stack, with a marker for when there are != 1 return value, or a fast path that recognizes when the caller is in a normal (single) value return form. 18:09:14 SBCL has a special return convention for "unknown values", which involves hacking the return address or setting a flag (depending on platform) to indicate a single-value or multiple-value return. For single-value return, the callee deallocates its stack frame; for multiple-value return, the caller deallocates the callee's stack frame. 18:09:15 that is just what I am thinking to start off with of course ... having no idea what/how this implementation works (on what platforms)... but "global array of return values" just seems wrong to me 18:09:44 drewc: it's quick and simple. 18:09:56 drewc: It's a workable approach, saves on a number of stack games. 18:10:59 ah, quick for how to implement, but not 'quick' compared to what MVB is suppposed to be used for .. speed and quickness? 18:11:27 drewc: return the normal value as usual, and set the number of total return values to 1. To return (values), return NIL, and set the number of values to 0. For n > 1 values, put the secondary values in the vector, update the number of return values to n, and return the primary value. 18:11:28 -!- browndawg [~browndawg@117.208.65.175] has quit [Quit: Leaving.] 18:12:13 przl [~przlrkt@p54BF95C6.dip0.t-ipconnect.de] has joined #lisp 18:12:36 ah yes, ok, starting to make sense to me ... only 1/2 way through my first cup-o-coffee ... so my brain is not quite functioning fast enough :) 18:12:49 drewc: the majority of calls are in single-value contexts; that's what you want to worry about. The thread-local array of secondary return values means that these calls can use a very simple calling convention, with exactly 1 return value. 18:13:04 -!- madrik [~user@122.168.175.242] has left #lisp 18:13:05 -!- Joreji_ [~thomas@109.201.152.203] has quit [Ping timeout: 256 seconds] 18:13:21 -!- am0c [~am0c@124.49.51.146] has quit [Ping timeout: 245 seconds] 18:14:40 Joreji_ [~thomas@109.201.152.204] has joined #lisp 18:15:11 nyef: You mean C preprocessor macros? 18:15:19 drmeister: Yes. 18:15:33 or, if you have more control/are OK with returning structs, 2 return values; the boxed value and the number of return values. Depending on how things work for drmeister's innards, that + conversion constructor might be a decent way to get the compiler to update the interface. 18:16:03 pkhuong: reading your blog from around 2011. are you still using matlisp at work? 18:16:28 jarmond: "work", but yes. 18:16:51 -!- akovalen` is now known as akovalenko 18:17:07 Here's the problem. I have hundreds of functions that return single values the standard way C++ returns single values. 18:17:24 Eldariof-ru [~CLD@188.168.245.185] has joined #lisp 18:17:40 -!- thomas_yzj [~user@175.0.175.48] has quit [Ping timeout: 240 seconds] 18:17:46 how do you find it compares writing in lisp with matlisp vs using matlab? 18:18:12 jarmond: I've never used matlab (: 18:18:13 -!- mathrick [~mathrick@stud-132.sdu.dk] has quit [Quit: Leaving] 18:18:20 I set up a template function Values(r0,r1,r2...) and say return Values(r0,r1) if I want to return two values. It copies the values into the global array sets the number of valid values in the global array to 2 and returns just the first one the normal way. 18:18:26 I seem to remeber working with a monadic interface that could use VALUES rather than LIST to 'make a list' ... before realizing that VALUES was fast but not so 'great' for lists :) 18:19:13 -!- eldariof [~CLD@pppoe-216-96-dyn-sr.volgaline.ru] has quit [Read error: Operation timed out] 18:19:23 pkhuong: so, to compare: one is used by you, and the other is not lisp? :D 18:19:30 ynniv [~ynniv@66.194.102.6] has joined #lisp 18:19:44 pkhuong: you are lucky then. 18:19:54 drmeister: add a conversion constructor for Values(r0). Update the return types, leave the code as is. 18:20:15 The problem occurs in the special operators multiple-value-call and multiple-value-prog1. If code is invoked that never touches the global multiple value array then the multiple-value-XXX special operator has no idea that one value was returned or no values. 18:20:15 i'm tempted to switch to lisp for my work, but everyone around here (including my boss) uses matlab 18:20:43 jarmond: or unlucky that I can honestly say "well, it's better than calling the fortran BLAS from C" 18:20:43 -!- paddymahoney [~paddymaho@198-84-186-52.cpe.teksavvy.com] has quit [Remote host closed the connection] 18:20:46 -!- Joreji_ [~thomas@109.201.152.204] has quit [Ping timeout: 252 seconds] 18:20:46 pkhuong: What do you mean by "Update the return types"? 18:20:49 ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has joined #lisp 18:21:33 drmeister: in the prototypes. I expect they all return a Lisp_Object or something like that anyway? Make then return Values instead. 18:21:33 pkhuong: ah, in that case, matlab would have been a blessing... 18:21:33 -!- MoALTz [~no@host86-138-29-106.range86-138.btcentralplus.com] has quit [Ping timeout: 276 seconds] 18:21:43 -!- ignas [~ignas@office.pov.lt] has quit [Ping timeout: 260 seconds] 18:22:22 Joreji_ [~thomas@u-0-018.vpn.rwth-aachen.de] has joined #lisp 18:23:19 pkhuong: So have the functions that return multiple values return a structure containing the multiple values? 18:23:55 bege [~bege@S0106001d7e5132b0.ed.shawcable.net] has joined #lisp 18:24:30 pkhuong: That was the first thing I thought of but I went with a more complicated approach that I just replaced with the multiple-value global array approach. Maybe I have to go back to it. 18:24:39 drmeister: no. Just use the struct to hook your multiple-value blitting logic in the constructor. 18:25:07 pkhuong: I'm sorry - I don't understand 18:27:31 The EVAL function needs a mechanism to return whatever number of values were last returned to the caller. That's why I can't return a struct with multiple values. The multiple-values structure needs to be a subclass of T if I want that to work. That's what I had before I changed everything. 18:27:44 You want your regular functions that return a single LispObject to also set the number of return values to 1. Make them return a LispObjectWithValuesCount, and have a conversion constructor from LispObject to LispObjectWVC. 18:28:14 jarmond: what I can suggest is to use Lisp to make a syntax that compiles to matlab ... then you get to 'use lisp' while still 'using matlab'. I have done something similar for other langs (not matlab because I am not a mathematician :P) when my 'boss' and 'others' were not lispers. That is, of course, all up in the air, but may 'help' :) 18:28:28 pkhuong: That means tracking down and changing hundreds to thousands of functions. 18:28:51 drmeister: only their prototype. I'm sure there's a dozen refactoring tools for that. 18:29:51 spion [~spion@unaffiliated/spion] has joined #lisp 18:30:11 pkhuong: Do you know of any refactoring tools that can handle that? The only one I thought might be up to the job is the one I planned to write using Clang. 18:31:03 drewc: not a bad idea. sounds like a fun project itself. what langs did you compile to? 18:32:33 -!- angavrilov [~angavrilo@217.71.227.190] has quit [Ping timeout: 248 seconds] 18:33:10 -!- Forty-3 [~seana11@pool-96-255-72-75.washdc.fios.verizon.net] has quit [Ping timeout: 240 seconds] 18:33:36 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 252 seconds] 18:33:57 jarmond: C, ASM, Haskell (Gopher), Java, VB script, C++, Java, PHP, Python, Perl, Ruby, ML ... those are only what I have done for 'work' :P 18:34:32 pkhuong: Basically, every function that returns an object that is an instance of XXX which is a subclass of T needs to be refactored to return an analogous XXX_with_VC. That's what you are suggesting - correct? 18:34:37 drmeister: It seems Qt Creator, VS and Eclipse can all change a single method'function's signature. I don't know if that can be macroed up. 18:34:38 drewc: ML is nice enough that I am happy to code in it directly ;) 18:34:42 attila_lendvai [~attila_le@92.47.250.140] has joined #lisp 18:34:43 -!- attila_lendvai [~attila_le@92.47.250.140] has quit [Changing host] 18:34:43 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 18:35:37 pkhuong/drmeister: How about M-x query-replace ? 18:36:06 nyef: some people have a style that's not amenable to grepping ;) 18:36:20 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 255 seconds] 18:36:25 nyef: This is going to require deep analysis of C++ abstract syntax tree. Regexps aren't going to cut it. 18:36:44 sellout: yeah, it was only a 'look my code can produce ML' thing :) 18:36:54 Okay, fair enough. 18:38:03 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 18:38:21 I might need to revert back to returning MultipleValues as regular Lisp objects. It was slow because it was all done on the heap but it worked. 18:39:14 Having a global array of return values seemed like such an elegant solution but every "return" needs to be aware of it. 18:39:21 drmeister: if you restrict yourself to the sort of usage that CL has, a MultipleValues object can store multiple values in a global array. 18:39:28 One return that bypasses it could bring the whole thing down. 18:40:45 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 276 seconds] 18:40:54 -!- rpg [~rpg@23-25-144-217-static.hfc.comcastbusiness.net] has quit [Ping timeout: 264 seconds] 18:40:59 It just doesn't play well with C++ returns. I have to change every return that returns a CL object. And functions like EVAL need to pass through the multiple-values returned by the function that it evaluated. 18:43:05 k0001 [~k0001@host21.190-136-193.telecom.net.ar] has joined #lisp 18:44:22 ECL appears to use special return macros to return cl_object's 18:44:24 -!- mishoo [~mishoo@178.138.98.59] has quit [Read error: Connection reset by peer] 18:44:48 mathrick [~mathrick@85.218.134.11] has joined #lisp 18:45:59 rpg [~rpg@23-25-144-217-static.hfc.comcastbusiness.net] has joined #lisp 18:46:07 -!- przl [~przlrkt@p54BF95C6.dip0.t-ipconnect.de] has quit [Quit: leaving] 18:48:06 -!- gravicappa [~gravicapp@ppp91-77-183-197.pppoe.mtu-net.ru] has quit [Ping timeout: 264 seconds] 18:48:33 -!- jcazevedo [~jcazevedo@188.251.137.196] has quit [Ping timeout: 248 seconds] 18:49:19 I need to think about this. 18:49:35 drmeister: if you're already using virtuals and rtti, you can use that to detect when the object is actually a multiple value return. Regular returns are unaffected, and multiple value "objects" copy additional return values to a global vector. 18:50:53 The goal is to make single-value contexts quick, and this way only m-v-call etc need to rtti. 18:51:57 ebobby [~fms@199.21.86.106] has joined #lisp 18:52:05 pkhuong: I would still need to change every "return" to return a template function that sets the global multiple-value return structure. m-v-call and m-v-prog1 have no idea what the functions they call are returning. 18:52:28 drmeister: no, only those that return multiple values. 18:52:32 -!- zacharias [~zacharias@unaffiliated/zacharias] has quit [Quit: WeeChat 0.4.1-dev] 18:53:28 and that's why I asked about virtuals and rtti, to detect whether the returned object is a multiple value object at runtime. 18:53:46 snowylike [~sn@91-67-171-156-dynip.superkabel.de] has joined #lisp 18:54:37 pkhuong: I don't return multiple value objects anymore. I switched to the single global array. Here is what my m-v-prog1 looks like http://pastebin.com/NujtLzjB 18:56:16 pkhuong: This fails occasionally when the eval on line 17 calls anything that calls anything that is aware of the multiple-values global array and returns zero or more than one multiple value 18:56:18 drmeister: and, like I said, a multiple value object can be backed by a single global array. 18:56:32 -!- mattrepl [~mattrepl@SSID-MASON-SECURE-216.wireless.gmu.edu] has quit [Quit: mattrepl] 18:57:09 pkhuong: Oh, I think I understand. So I don't put anything in the multiple-value-object. I just use it to represent that multiple-values are being returned and that causes the caller to look into the global array? 18:57:33 yes. 18:57:43 mishoo [~mishoo@178.138.98.59] has joined #lisp 18:58:20 That would be a hybrid of my old approach and the new approach. That way I don't have all multiple values on the heap. 18:58:57 in the vast majority of cases, the multiple value object acts like a plain single value object, and the caller doesn't have to even be aware of multiple values. 18:59:48 Hmmm, that may be a very clever idea. I would only need one instance of the MultipleValues object as well. 19:00:55 I need to think on that for a while. 19:00:58 -!- googol [~matthew@lal-99-123.ResHall.Berkeley.EDU] has quit [Read error: Operation timed out] 19:01:35 drmeister: if you go for a single instance, all callers must be aware of it. If you instead subclass regular values (probably want to template this), only multiple value contexts even bother checking if it's a multiple value object or not. 19:01:40 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 240 seconds] 19:02:34 -!- k0001 [~k0001@host21.190-136-193.telecom.net.ar] has quit [Ping timeout: 252 seconds] 19:02:37 brown` [user@nat/google/x-zuvkmirpysgyavam] has joined #lisp 19:03:01 mattrepl [~mattrepl@SSID-MASON-SECURE-216.wireless.gmu.edu] has joined #lisp 19:03:24 jrajav [~jrajav@198.179.137.210] has joined #lisp 19:03:37 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 19:03:47 -!- sambio [~sambio@190.57.227.109] has quit [Ping timeout: 255 seconds] 19:04:01 By "all callers must be aware of it" you mean all callers that call functions that return multiple values and want to handle those multiple values? 19:04:17 puchacz [~puchacz@46-65-36-47.zone16.bethere.co.uk] has joined #lisp 19:04:18 I'd like to avoid subclassing every CL object class. 19:04:55 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 19:05:47 drmeister: if you go for a single instance, that's all callers of functions that return multiple values, regardless of whether they want to handle those multiple values. If you make sure that MultipleValue objects also look like their primary value object, the burden is only for callers that want to handle multiple return values. 19:05:58 pkhuong: I'd like to avoid subclassing every current class because I'm developing this as an interface between C++ and CL and every C++ class that gets exposed will then need to carry a subclass for multiple value handling. 19:06:48 I don't think you want to expose these CL side. You probably want to pretend they're regular (single value) objects. 19:07:18 -!- Joreji_ [~thomas@u-0-018.vpn.rwth-aachen.de] has quit [Ping timeout: 264 seconds] 19:07:26 pkhuong: I developed an idiom for calling functions that return multiple values in C++. It's the {MULTIPLE_VALUES_ACCESS(xxx); ; } idiom on display in http://pastebin.com/NujtLzjB 19:08:03 MusangKing [~CatMtKing@wireless-mobilenet-169-235-50-138.bulk.ucr.edu] has joined #lisp 19:08:42 Joreji_ [~thomas@vpn-eu2.unidsl.de] has joined #lisp 19:09:59 drmeister: (I'll assume you mean "for calling functions in multiple value contexts") yes, and your current scheme doesn't work. If you go for multiple value objects that is-a regular object as well, you can keep that idiom, and not have to change single-value context calls either, even when they call multiple-value functions. 19:11:06 -!- bitonic [~user@dyn1218-47.wlan.ic.ac.uk] has quit [Read error: Operation timed out] 19:11:26 -!- CatMtKing [~CatMtKing@138.23.59.162] has quit [Ping timeout: 255 seconds] 19:11:30 If a C++ function calls hashtable->gethash(xxx) it will return the single instance of MultipleValuesReturned which the caller would use the return value to tell it to go into the global array and if its not the MultipleValuesReturned it would use the returned value directly. Wouldn't that work? 19:12:49 drmeister: but now everything that might call a multiple value function must check whether it got an actual value or a multiple value marker, even if they only care about the primary value. 19:13:04 If I may summarize what I'm thinking about perhaps you could critique it. If it doesn't work I could use subclassing as you suggest. 19:14:00 I define a MultipleValues class that is like the Null class. MultipleValues has a single instance say we call it MV just like Null has NIL. 19:14:03 Again, the vast majority of call sites are single-value contexts, so you want it to be possible for multiple value returns to be handled exactly like single value in these cases. 19:14:11 -!- PuercoPop [~user@190.222.252.106] has quit [Ping timeout: 245 seconds] 19:14:43 pkhuong: Oh! Now I see. 19:17:19 I handled this before by having an ->object() method that for a MultipleValues object it returned just the first value and every instance of every subclass of T had a an ->object() method that just returned itself. A major problem early on was tracking down every place where a multiple-values return had to strip down to its first value. 19:19:32 MultipleValue : T solves a lot of things (careful that 0-value returns is-a Nil, and nothing else), especially now that all the data on secondary return values isn't in the multiple value object itself. And, since CL should never see these multiple value objects, you don't have to reflect them. 19:19:34 Ok, going back to your original suggestion: Subclass every class XXX with an XXX_MultipleValues class that says to multiple-values context "Hey! Look in the global array for additional return values. 19:19:46 -!- yacks [~yacks@180.151.36.168] has quit [Read error: Connection reset by peer] 19:20:17 right. 19:20:28 drmeister: or for 0 return values as well. 19:20:38 Got it. 19:20:47 And everything is done at compile time? 19:20:56 I kind of know the answer to that. 19:21:11 for single value call contexts, yes. 19:21:17 And it won't melt my computer into a puddle as the C++ compiler tries to compile everything. 19:22:24 pkhuong: This is very clever. You seem to grasp the essentials very quickly - have you seen this approach used previously? 19:22:45 Seem to --> do 19:23:10 agumonkey [~agu@45.217.72.86.rev.sfr.net] has joined #lisp 19:23:31 Not that it matters really. 19:23:36 The topic has been discussed on c.l.l many moons ago... and I've spent some time thinking about how I'd do things different if I had ten years to rewrite SBCL 19:24:12 antonv [5d7d2a66@gateway/web/freenode/ip.93.125.42.102] has joined #lisp 19:24:42 One thing I really appreciate about CL is how well thought out everything is. 19:24:57 -!- jarmond [~user@93-96-213-180.zone4.bethere.co.uk] has quit [Ping timeout: 276 seconds] 19:25:38 pkhuong: Thank you very much. I'll think on this and see if I can implement it easily. 19:26:16 good luck. 19:26:43 Do you think I could do something like: template class MultipleValues : public XXX { static const bool lookForMultipleValues = true;}; 19:27:09 pkhuong: there seems to be an edgecase in that kind of handling: some places in CL, the multiple values are explicitly dropped. 19:27:21 how would you handle that? 19:27:43 or is such a context what you call a multiple values context. 19:27:50 ehu: what do you mean explicitly dropped? 19:27:55 Then I could just say: return MultipleValues(v0,v1,v2) to return three values where v0 is the Fixnum. 19:29:23 drmeister: ... it depends. If you already use rtti or virtual method, I'd go for that. If you want to avoid runtime dispatch (which... why, this is CL?), you'll have to introduce a bool field in regular values as well. 19:29:39 ehu: Perhaps I could go back to my virtual object() method that returns the original object which will no longer be an instance of MultipleValues 19:30:20 ehu: either it's a tail call, and everything it's fine, or it isn't, and the copy constructor will strip off the multiple value tags. 19:30:50 I don't have a problem adding a bool field or bool returning virtual function. I have dozens of virtual predicates that are declared as members of T that every subclass inherits. That's how I do predicates like INTEGERP. 19:31:16 pkhuong: looking up the situations I was thinking of. 19:31:18 well, actuallyl, either it's a tail call and you have to be careful, or it isn't, and the multiple value tag will be stripped of 19:31:54 pkhuong: so I have to worry about tail calls? I don't use tail-call optimization yet. Will this be something to worry about later? 19:31:57 drmeister: then a number of values virtual function would probably be best. The default would just return 1. 19:32:35 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 255 seconds] 19:32:49 pkhuong: Number of values virtual function - that works. 19:32:55 drmeister: if you tail call into a function that might return multiple values, you'll have to return a multiple value object, and not slice off into the base single value object. 19:33:44 k0001 [~k0001@host21.190-136-193.telecom.net.ar] has joined #lisp 19:33:55 pkhuong: I'm using shared_ptr's for passing/returning objects so slicing shouldn't be a problem right? 19:34:18 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 19:36:00 Ok, this is complicated, I'll have to think on this hard to implement it properly. Hopefully there aren't any nasty surprises awaiting me. 19:36:41 drmeister: I don't think CL and shared_ptr are a good idea, but I'll suppose that your objects (e.g. Cons) are shared_ptr. In that case, multiple value objects must be shared ptr, not shared_ptr to shared_ptr. But, in most cases you want slicing to happen; that's why you made it so multiple value objects look like single value ones. 19:37:41 pkhuong: Then its a bigger problem that I thought. 19:37:58 I use shared_ptr _everywhere_. 19:38:46 ehu: the slicing wouldn't work in Java, if that's what you're thinking of (: 19:39:46 rwiker [~rwiker@80.202.198.32] has joined #lisp 19:39:53 I need to think on this. I'll be back. 19:41:01 Forty-3 [~seana11@pool-96-255-72-75.washdc.fios.verizon.net] has joined #lisp 19:41:56 -!- Joreji_ [~thomas@vpn-eu2.unidsl.de] has quit [Read error: No route to host] 19:42:04 normanrichards [~normanric@63.98.50.138] has joined #lisp 19:42:05 -!- xcombelle [~xcombelle@AToulouse-551-1-91-164.w92-149.abo.wanadoo.fr] has quit [Read error: Connection reset by peer] 19:45:51 -!- rwiker [~rwiker@80.202.198.32] has quit [Quit: Leaving] 19:51:20 -!- k0001 [~k0001@host21.190-136-193.telecom.net.ar] has quit [Ping timeout: 252 seconds] 19:54:41 john999 [bc7f68b2@gateway/web/freenode/ip.188.127.104.178] has joined #lisp 19:55:03 -!- zorkmoid [c2ed8e15@gateway/web/freenode/ip.194.237.142.21] has quit [Ping timeout: 245 seconds] 19:55:28 -!- antonv [5d7d2a66@gateway/web/freenode/ip.93.125.42.102] has quit [Ping timeout: 245 seconds] 19:56:47 rubenrubz [~rubenrubz@pool-71-108-81-230.lsanca.dsl-w.verizon.net] has joined #lisp 19:57:56 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 252 seconds] 19:58:47 sabalaba [~Adium@c-76-21-4-232.hsd1.ca.comcast.net] has joined #lisp 19:58:52 xificurC [~xificurC@adsl-dyn23.78-99-63.t-com.sk] has joined #lisp 19:59:55 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 20:00:11 -!- Yuuhi [benni@p5DC630D6.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:04:28 PuercoPop [~user@190.222.252.106] has joined #lisp 20:04:41 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Remote host closed the connection] 20:04:52 -!- PuercoPop is now known as Guest16270 20:05:03 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 20:08:52 -!- Guest16270 [~user@190.222.252.106] has quit [Ping timeout: 248 seconds] 20:13:21 -!- Eldariof-ru [~CLD@188.168.245.185] has quit [] 20:19:05 bitonic [~user@b0fb09c5.bb.sky.com] has joined #lisp 20:19:05 -!- mishoo [~mishoo@178.138.98.59] has quit [Read error: Connection reset by peer] 20:19:57 mishoo [~mishoo@178.138.98.59] has joined #lisp 20:21:02 Qworkescence [~quad@unaffiliated/quadrescence] has joined #lisp 20:21:49 gravicappa [~gravicapp@ppp91-77-183-176.pppoe.mtu-net.ru] has joined #lisp 20:26:12 -!- john999 [bc7f68b2@gateway/web/freenode/ip.188.127.104.178] has quit [Quit: Page closed] 20:26:51 -!- mathrick [~mathrick@85.218.134.11] has quit [Ping timeout: 252 seconds] 20:28:00 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 260 seconds] 20:29:35 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 20:31:27 PuercoPo` [~user@190.222.252.106] has joined #lisp 20:31:45 Denommus [~user@gateway/tor-sasl/denommus] has joined #lisp 20:31:50 hi 20:32:36 -!- normanrichards [~normanric@63.98.50.138] has quit [] 20:32:43 -!- spion [~spion@unaffiliated/spion] has quit [Ping timeout: 246 seconds] 20:35:17 cabaire [~nobody@p5DCD2BD5.dip.t-dialin.net] has joined #lisp 20:35:20 -!- foreignFunction [~niksaak@94.27.88.25] has quit [Quit: Leaving.] 20:36:20 solvip [~solvip@89-160-141-139.du.xdsl.is] has joined #lisp 20:36:56 can I set the settings for the compiler on a per-project basis? 20:37:08 I want a high safety for the specific project that I'm working on 20:39:09 -!- PuercoPo` is now known as PuercoPop` 20:39:25 -!- PuercoPop` is now known as PuercoPop 20:40:52 Denommus: compiler settings have arbitrary lexical scope, even. 20:43:51 Bacteria [~Bacteria@115-64-180-132.static.tpgi.com.au] has joined #lisp 20:45:26 pkhuong: I want to understand something. If I set a slot with a type (let's say, vector), but on my make-instance I try to initialize it with a wrong type, how can I get the compiler to give me a warning, or even an error? 20:45:44 I want some specific slots to be statically typed 20:46:43 Denommus: if you want types checked, use check-types 20:47:19 Denommus: in SBCL, you can optimize for safety around the defclass form. 20:47:42 -!- KingsKnighted [~quassel@c-174-52-149-13.hsd1.ut.comcast.net] has quit [Remote host closed the connection] 20:48:25 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Ping timeout: 260 seconds] 20:49:03 H4ns: is this in compile time or execution time? 20:49:40 Denommus: safe code means checked at runtime, in CL. 20:50:03 jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has joined #lisp 20:50:08 hm. So won't my compiler give me warnings? 20:50:11 -!- segv- [~mb@dslb-094-222-244-194.pools.arcor-ip.net] has quit [Remote host closed the connection] 20:50:39 it's hard to give warnings in CLOS: nearly everything can be redefined. 20:51:24 ok 20:51:27 Denommus: cl is a dynamically typed language, which basically means "type checks at run time" 20:51:50 rotty [rotty@yade.xx.vu] has joined #lisp 20:51:55 normanrichards [~normanric@rrcs-108-178-120-144.sw.biz.rr.com] has joined #lisp 20:53:28 I was expecting to have some workaround on this and have some kind of warning when a type is not being respected 20:53:33 but that's okay 20:53:47 a run time check is a lot useful already 20:54:06 -!- Juanito-Jons [~jreynoso@187.208.168.228] has quit [Ping timeout: 264 seconds] 20:54:15 Denommus: remember that type declarations are not type checks. if you want to ensure that types are checked in a portable fashion, use check-type 20:56:35 does anyone know if a lot of batch compiled code actually makes use of redefinition 20:56:50 structs are better suited to static analysis. They also tend to be less safe when you mess things up. 20:57:08 Qworkescence: if it's in the same file, they're not paying for it anyway (: 20:57:34 Qworkescence: that would be a nice lisp project to write a program to analyse asdf systems for such things. 20:58:09 -!- _d3f [~freedo@nl2.ovpn.to] has quit [Quit: ~ The Gnu went back to savannah ~] 20:59:12 hi, I would like to read an article / chapter in a book / about streams, generators, etc. I have database cursors, that can be restarted to return next chunk of rows. I would like to combine the incoming streams of data in join-like fashion, or have one cursor invoke the other. 20:59:15 ok, somebody is insisting with me that a lot of years ago, when people still worked on teletype machines, bugs had another definition. Have bugs ever meant something besides "unexpected behavior"? 21:00:28 given that majority of heavy duty processing is in database anyway, I don't mind using simulated generators (using continuations for example) 21:00:30 Denommus: http://en.wikipedia.org/wiki/Computer_bug 21:00:43 Denommus: with ASDF3 you can control the compile-time dynamic environment 21:00:51 Denommus: Short answer, no, but you could certainly twist the story in different ways 21:00:53 jrajav: already linked to him. He is really pedantic, though 21:01:12 The current usage heavily implies a logic error in software. 21:02:50 right 21:04:51 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Remote host closed the connection] 21:04:53 -!- jtza8 [~jtza8@105-236-31-118.access.mtnbusiness.co.za] has quit [Remote host closed the connection] 21:04:53 -!- mattrepl [~mattrepl@SSID-MASON-SECURE-216.wireless.gmu.edu] has quit [Quit: mattrepl] 21:05:15 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 21:05:43 puchacz: if you really don't care, you can just spawn one thread per generator (careful to kill the thread when/if the generator is closed/GCed) 21:06:41 googol [~matthew@lal-99-123.ResHall.Berkeley.EDU] has joined #lisp 21:06:46 pkhuong: continuations (interpreted) will be safer after and less error prone I think. do you know a good overview of stream techniques in CL? 21:08:14 Continuations, particularly fake ones, rarely simplify things. I can't think of anything CL specific. 21:09:16 and not CL specific? 21:09:46 MoALTz [~no@host86-138-29-106.range86-138.btcentralplus.com] has joined #lisp 21:10:26 -!- Onii-san [~Casstango@2604:2880::67c0:651b] has quit [Ping timeout: 245 seconds] 21:10:52 -!- snowylike [~sn@91-67-171-156-dynip.superkabel.de] has quit [Quit: Nettalk6 - www.ntalk.de] 21:11:02 Oleg or SICP. The Clojure people have some nice solutions, I hear. 21:12:12 pkhuong: Oleg? I don't know 21:13:19 puchacz: http://okmij.org/ftp/continuations/PPYield/ and http://okmij.org/ftp/continuations/generators.html 21:13:33 pkhuong: thanks 21:13:53 s0ber_ [~s0ber@114-25-201-152.dynamic.hinet.net] has joined #lisp 21:15:50 -!- s0ber [~s0ber@114-36-240-161.dynamic.hinet.net] has quit [Ping timeout: 245 seconds] 21:16:00 -!- s0ber_ is now known as s0ber 21:26:48 -!- jrajav [~jrajav@198.179.137.210] has quit [Quit: I tend to be neutral about apples] 21:28:51 -!- pkkm [~pawel@acvn198.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 260 seconds] 21:30:36 - 21:32:12 -!- xan_ [~xan@80.174.78.141.dyn.user.ono.com] has quit [Ping timeout: 272 seconds] 21:33:03 -!- xificurC [~xificurC@adsl-dyn23.78-99-63.t-com.sk] has quit [Quit: Leaving] 21:33:32 -!- cabaire [~nobody@p5DCD2BD5.dip.t-dialin.net] has quit [Quit: leaving] 21:36:10 -!- Bacteria [~Bacteria@115-64-180-132.static.tpgi.com.au] has quit [Ping timeout: 256 seconds] 21:36:11 so has anyone played with the preloaded-system stuff in ASDF3? 21:36:44 i just dumped an image, i want the dumped image not to reload a system which is already built in to it 21:37:10 asdf/find-system:register-preloaded-system seems to work, and 21:37:12 -!- lduros [~user@fsf/member/lduros] has quit [Remote host closed the connection] 21:37:28 asdf/find-system:sysdef-preloaded-system-search finds it just fine, 21:37:40 but (asdf:load-system ) still reloads it nevertheless... 21:38:27 i guess i need a bit of help on how to trace asdf's planning stage, to see how it is deciding that it needs to reload this thing. 21:39:00 e.g. (asdf/find-system:register-preloaded-system "cl-who") 21:39:13 -!- lukas [~lukas@194.228.13.62] has quit [Ping timeout: 248 seconds] 21:39:34 (asdf/find-system:sysdef-preloaded-system-search "cl-who") => # 21:39:40 so it finds it. 21:39:43 but then: 21:40:13 (ql:quickload "cl-who" :verbose t) reloads all the fasls. 21:43:29 -!- rpg [~rpg@23-25-144-217-static.hfc.comcastbusiness.net] has quit [Quit: rpg] 21:43:34 -!- puchacz [~puchacz@46-65-36-47.zone16.bethere.co.uk] has quit [Read error: Connection reset by peer] 21:48:59 -!- quazimodo [~quazimodo@c27-253-100-110.carlnfd2.nsw.optusnet.com.au] has quit [Ping timeout: 252 seconds] 21:51:27 mathrick [~mathrick@85.218.134.11] has joined #lisp 21:51:34 Hydan [~hydan@ip-89-102-13-27.net.upcbroadband.cz] has joined #lisp 21:52:05 -!- adelgado [~TomSawyer@65.23.61.98.nw.nuvox.net] has quit [Quit: Leaving.] 21:52:46 adelgado [~TomSawyer@65.23.61.98.nw.nuvox.net] has joined #lisp 21:54:17 sambio [~sambio@190.57.227.109] has joined #lisp 21:55:59 spion [~spion@unaffiliated/spion] has joined #lisp 21:56:00 -!- PuercoPop [~user@190.222.252.106] has quit [Ping timeout: 264 seconds] 21:57:56 quazimodo [~quazimodo@c27-253-100-110.carlnfd2.nsw.optusnet.com.au] has joined #lisp 21:59:11 -!- ebobby [~fms@199.21.86.106] has quit [Ping timeout: 245 seconds] 22:01:34 -!- clox [~user@rrcs-208-125-109-116.nys.biz.rr.com] has left #lisp 22:02:34 -!- Denommus [~user@gateway/tor-sasl/denommus] has quit [Remote host closed the connection] 22:03:43 Juanito-Jons [~jreynoso@187.208.168.228] has joined #lisp 22:03:54 PuercoPop [~user@190.222.252.106] has joined #lisp 22:04:03 -!- PuercoPop [~user@190.222.252.106] has quit [Remote host closed the connection] 22:05:01 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Remote host closed the connection] 22:05:28 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 22:06:46 kvda [~kvda@unaffiliated/kvda] has joined #lisp 22:07:04 Bacteria [~Bacteria@dyn-130-194-155-36.its.monash.edu.au] has joined #lisp 22:08:13 ebobby [~fms@199.21.86.106] has joined #lisp 22:08:25 waveman [~tim@101.174.161.170] has joined #lisp 22:11:28 antonv [5d7d2a66@gateway/web/freenode/ip.93.125.42.102] has joined #lisp 22:11:49 -!- gravicappa [~gravicapp@ppp91-77-183-176.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 22:12:35 -!- quazimodo [~quazimodo@c27-253-100-110.carlnfd2.nsw.optusnet.com.au] has quit [Remote host closed the connection] 22:12:50 quazimodo [~quazimodo@c27-253-100-110.carlnfd2.nsw.optusnet.com.au] has joined #lisp 22:14:57 joneshf-laptop [~joneshf@mail.concordusapps.com] has joined #lisp 22:22:41 dstatyvka [ejabberd@pepelaz.jabber.od.ua] has joined #lisp 22:26:25 sdemarre [~serge@50.93-64-87.adsl-dyn.isp.belgacom.be] has joined #lisp 22:32:26 francogrex [~user@109.134.205.194] has joined #lisp 22:32:39 -!- normanrichards [~normanric@rrcs-108-178-120-144.sw.biz.rr.com] has quit [] 22:33:12 -!- dstatyvka [ejabberd@pepelaz.jabber.od.ua] has left #lisp 22:33:39 there is a library called lisp-critic, it comments on the style of your code 22:34:21 It's old and critics old style. But it would be a good base to update to modern style. 22:34:57 It'd be nice if it had some decent options for controlling what it considers to be "good" style, too. 22:35:02 true, keeps telling me about "equal" even where it is pertinent 22:35:48 but the concept is good. It would be nice also to have it emit some notes on excessive or useless consing etc 22:36:00 -!- kvda [~kvda@unaffiliated/kvda] has quit [Quit: x___x] 22:36:02 "This section should be in a separate function, as it has few dependencies and would be more easily testable as a separate function." 22:36:03 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Ping timeout: 260 seconds] 22:36:45 kcj [~casey@unaffiliated/kcj] has joined #lisp 22:36:47 -!- Dalek_Baldwin [~Adium@71-84-34-33.dhcp.mtpk.ca.charter.com] has quit [Quit: Leaving.] 22:37:56 ISF_ [~ivan@189.61.220.66] has joined #lisp 22:38:27 if it emits that then it's advanced enough... 22:38:55 For bonus points, include refactoring suggestions and automated support for applying them. 22:40:42 I'm not suggesting that it make suggestions based on "conceptual completeness" or whatnot, more that it has some metrics for things that are "easy" to test and for things that are "hard" to test. 22:42:06 -!- solvip [~solvip@89-160-141-139.du.xdsl.is] has quit [Ping timeout: 245 seconds] 22:42:37 Admittedly, different environments would have different considerations for what's easy to test, but... 22:43:40 k0001 [~k0001@host243.186-109-99.telecom.net.ar] has joined #lisp 22:43:59 solvip [~solvip@89-160-141-139.du.xdsl.is] has joined #lisp 22:45:46 user52882 [~user52882@94-194-53-166.zone8.bethere.co.uk] has joined #lisp 22:50:24 -!- k0001 [~k0001@host243.186-109-99.telecom.net.ar] has quit [Ping timeout: 256 seconds] 22:50:30 Damnit, now you've got me thinking about how to build a code-style checker. 22:51:51 "This code has very repetitive structure, have you considered trying to generate it with a macro or implement it by interpreting a data structure?" 22:52:40 no paperclip ? 22:53:33 Maybe one of those funky ones that's all 45-degree angles or something. 22:53:44 nyef: go for it, don't forget that the checker would be useful when delivering insults for uesless consing and forgotten declarations... etc 22:54:20 sarcastic remarks also helpful 23:00:30 The thing is, I have enough other projects already... 23:01:25 -!- sdemarre [~serge@50.93-64-87.adsl-dyn.isp.belgacom.be] has quit [Ping timeout: 260 seconds] 23:02:31 -!- macrobat [~fuzzyglee@h-8-92.a328.priv.bahnhof.se] has quit [Quit: WeeChat 0.4.0] 23:03:24 bananagram [~bot@c-98-198-236-112.hsd1.tx.comcast.net] has joined #lisp 23:03:25 And, in fact, I need to get moving if I'm going to get done the things that I need to get done tonight. 23:03:30 -!- nyef [~nyef@c-76-119-183-159.hsd1.ma.comcast.net] has quit [Quit: G'night all.] 23:04:40 -!- findiggle [~kirkwood@50-194-56-154-static.hfc.comcastbusiness.net] has quit [Ping timeout: 240 seconds] 23:05:45 macrobat [~fuzzyglee@h-8-92.a328.priv.bahnhof.se] has joined #lisp 23:08:36 well now it is working 23:08:49 i didn't have to mess with register-preloaded-system at all 23:09:26 just (setf uiop:*image-dumped-p* t) just before dumping the image (maybe this should be (setf uiop:*image-dumped-p* :executable) instead 23:09:35 and (uiop:call-image-dump-hook) 23:09:45 also just before dumping the image 23:09:54 -!- morphling [~stefan@gssn-4d003744.pool.mediaWays.net] has quit [Quit: Konversation terminated!] 23:10:25 then as the restart-init-function (for Allegro) call 'uiop:restore-image 23:10:42 (that will be made generic as the image-entry-point when dumping through asdf) 23:11:20 for now, that seems to be enough to get an image with a clean asdf output-translations and which recognizes the already-loaded systems. 23:11:21 knob2_ [~knob@66-50-4-254.prtc.net] has joined #lisp 23:11:29 paddymahoney [~paddymaho@198-84-186-52.cpe.teksavvy.com] has joined #lisp 23:11:30 -!- francogrex [~user@109.134.205.194] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:12:12 -!- Posterdati [~antani@host228-151-dynamic.59-82-r.retail.telecomitalia.it] has quit [Ping timeout: 264 seconds] 23:13:05 -!- googol [~matthew@lal-99-123.ResHall.Berkeley.EDU] has quit [Ping timeout: 260 seconds] 23:14:28 -!- peterhil [~peterhil@91-157-48-10.elisa-laajakaista.fi] has quit [Ping timeout: 252 seconds] 23:16:59 peterhil [~peterhil@91-157-48-10.elisa-laajakaista.fi] has joined #lisp 23:17:34 tigranes [~tigranes@174.34.144.148] has joined #lisp 23:17:57 -!- tigranes [~tigranes@174.34.144.148] has quit [Client Quit] 23:18:57 -!- ebobby [~fms@199.21.86.106] has quit [Ping timeout: 276 seconds] 23:20:30 -!- user52882 [~user52882@94-194-53-166.zone8.bethere.co.uk] has quit [Quit: leaving] 23:21:12 -!- ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 264 seconds] 23:26:01 -!- dt770 [dt770@c-fa1ee755.05-23-6c6b7013.cust.bredbandsbolaget.se] has quit [Quit: Fug!] 23:29:39 -!- mgile [~mgile@74-92-220-177-Colorado.hfc.comcastbusiness.net] has left #lisp 23:29:49 -!- adelgado [~TomSawyer@65.23.61.98.nw.nuvox.net] has quit [Quit: Leaving.] 23:30:37 -!- agumonkey [~agu@45.217.72.86.rev.sfr.net] has quit [Read error: Operation timed out] 23:31:10 ignas [~ignas@ctv-79-132-160-221.vinita.lt] has joined #lisp 23:33:48 ebobby [~fms@199.21.86.106] has joined #lisp 23:39:40 -!- MusangKing [~CatMtKing@wireless-mobilenet-169-235-50-138.bulk.ucr.edu] has quit [Quit: Leaving] 23:39:59 -!- stat_vi [~stat@dslb-094-218-020-115.pools.arcor-ip.net] has quit [Quit: Lost terminal] 23:40:55 -!- EvW [~Thunderbi@a82-92-190-215.adsl.xs4all.nl] has quit [Quit: EvW] 23:44:53 jrajav [~jrajav@71-82-124-223.dhcp.roch.mn.charter.com] has joined #lisp 23:51:39 -!- ebw [~user@f051128100.adsl.alicedsl.de] has quit [Remote host closed the connection] 23:53:00 -!- stopbit [~stopbit@static-108-48-124-82.washdc.fios.verizon.net] has quit [Quit: Leaving] 23:54:22 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 23:54:23 -!- mishoo [~mishoo@178.138.98.59] has quit [Read error: Connection reset by peer] 23:55:23 EvW [~Thunderbi@a82-92-190-215.adsl.xs4all.nl] has joined #lisp 23:56:35 -!- drmeister [~drmeister@farnsworth.chem.temple.edu] has quit [Remote host closed the connection] 23:58:22 -!- victor_lowther [~victorlow@143.166.116.80] has quit [Quit: Leaving IRC - dircproxy 1.2.0]