00:00:06 who is Philip Wadler? 00:00:59 coderdad [~coderdad@ip72-200-211-242.ok.ok.cox.net] has joined #lisp 00:00:59 Guest44417 [~Zulu@c-174-58-204-235.hsd1.fl.comcast.net] has joined #lisp 00:01:00 -!- Guest44417 is now known as Zulu_Inuoe 00:01:05 http://homepages.inf.ed.ac.uk/wadler/ I take it. 00:01:21 yep 00:02:07 -!- wishbone4 [~user@167.216.131.126] has quit [Remote host closed the connection] 00:02:37 Free-man [1000@c-68-56-234-19.hsd1.fl.comcast.net] has joined #lisp 00:02:57 fyi, my rss feed content about mccarthy is already picking up!!! 00:03:15 funny none of the MSM are reporting it yet 00:03:27 is wikped part of msm? :) 00:03:35 -!- benny [~benny@i577A16F8.versanet.de] has quit [Ping timeout: 252 seconds] 00:03:36 I did that. 00:03:39 ah 00:04:01 so i guess you're MSMite ;] 00:05:04 and no, wiki is not MSM. Because it's crowd sourced it tends to show a majoritarian bourgeois perspective but it's the opposite of MSM. 00:05:32 If I have (setf x (make-array 0 :adjustable t :fill-pointer 0)) and later on I have (adjust-array x whatever), is x guaranteed to be refering to the adjusted array? My gut feeling is 'Yes' but I'd like some backup since I haven't seen specification on the matter 00:05:39 interesting to see that mccarthy's parents were "immigrant socialists" 00:05:46 heh 00:06:37 well, the wikpedites allowed my page to be stolen from me, the edits i made, so there's alot of bad bits between us. 00:06:41 Zulu_Inuoe, if it's CL there's a spec. 00:07:10 wikpedians? 00:07:13 "If adjust-array is applied to an array that is actually adjustable, the array returned is identical to array." 00:07:33 "If adjustable is non-nil, the array is expressly adjustable (and so actually adjustable)" (from make-array) 00:07:38 JuanDaugherty: Yes but I haven't seen mention of that there, unless I haven't found it 00:08:07 clhs adjust-array 00:08:18 clhs: adjust-array 00:08:31 JuanDaugherty: minion is on break. 00:08:35 ah 00:08:39 http://l1sp.org/cl/adjust-array 00:08:42 pkhuong: That doesn't completely answer the question.. How about this. (setf x (make-array ...)) (setf y x) (adjust-array x ...) 00:08:49 nanoc [~conanhome@186.12.114.23] has joined #lisp 00:08:51 is x eq to y ? 00:08:57 er 00:09:09 pkhuong: That doesn't completely answer the question.. How about this. (setf x (make-array ...)) (setf y (adjust-array x ...)) 00:09:24 Zulu_Inuoe: how does it not answer the question? 00:09:53 Zulu_Inuoe: IIR, there is no explicit requirement for an array to _remain_ adjustable, but I haven't seen any implementation that counted it as a real gray area: 00:09:56 Identical means EQL. 00:09:56 *IIRC 00:10:13 pkhuong: Oh gosh I completely mis-interpreted what you sent. I'm sorry. Thank you! 00:11:06 JuanDaughterty, akovalenko, and everyone else: Sorry for my 'duh' moment right there. Thanks all 00:11:16 (eq x y) => T, (adjustable-array-p y) => (implementor-common-sense-p) 00:13:08 -!- coderdad [~coderdad@ip72-200-211-242.ok.ok.cox.net] has quit [Quit: Computer has gone to sleep.] 00:15:26 Zulu_Inuoe, np. 00:15:53 -!- sonnym [~sonny@rrcs-184-74-137-69.nys.biz.rr.com] has quit [Quit: Leaving.] 00:16:52 replore [~replore@203.152.213.161.static.zoot.jp] has joined #lisp 00:18:47 -!- Free-man [1000@c-68-56-234-19.hsd1.fl.comcast.net] has left #lisp 00:18:51 rgrau``` [~user@203.Red-79-157-5.dynamicIP.rima-tde.net] has joined #lisp 00:19:47 -!- scharan [~scharan@169.235.25.47] has quit [Quit: WeeChat 0.3.5] 00:20:30 scharan [~scharan@169.235.25.47] has joined #lisp 00:20:51 -!- rgrau`` [~user@18.Red-95-123-239.staticIP.rima-tde.net] has quit [Ping timeout: 260 seconds] 00:22:00 -!- twist [~twist@188.231.156.169] has quit [Ping timeout: 260 seconds] 00:23:32 kenanb [~kenanb@94.54.237.227] has joined #lisp 00:28:49 This is an interesting personal reflection on McCarthy: https://plus.google.com/111164228693257897305/posts/Y5Tg8tiJrkD 00:29:51 xyxu [~xyxu@58.41.14.46] has joined #lisp 00:31:47 -!- gigamonkey [~user@adsl-99-24-218-254.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 258 seconds] 00:33:44 Cordelia Vorkosigan fanfic? hah 00:33:53 inklesspen [~jon-freen@li235-184.members.linode.com] has joined #lisp 00:40:15 may he rest in peace 00:42:17 -!- Bike [~Glossina@69.166.35.233] has quit [Quit: leaving] 00:42:42 nicdev [~user@c-76-24-21-219.hsd1.ma.comcast.net] has joined #lisp 00:42:52 in fact he will, world is not good at paying attention to brilliant people unless they get in front of the camera and start advertising consumer devices repeating "unbelievable" "unbelievable" 00:43:00 -!- neuro_sys [~Sentence@unaffiliated/neurosys/x-283974] has quit [Ping timeout: 260 seconds] 00:43:46 kennyd [~kennyd@78-1-167-85.adsl.net.t-com.hr] has joined #lisp 00:44:05 It is considered good form to use x and xs in common lisp code? 00:44:10 Similar to how it would be used in haskell? 00:44:39 Like, for example, (defun print-list (xs) (dolist (x xs) (format t "item: ~a~% 00:44:40 neuro_sys [~Sentence@unaffiliated/neurosys/x-283974] has joined #lisp 00:45:01 (defun print-list (xs) (dolist (x xs) (format t "item: ~a~%" x))) 00:45:15 sorry for the random newline 00:45:28 I don't think that convention is very common in Lisp. 00:45:40 Ah. 00:45:46 I doubt it would be considered "good form". 00:45:47 Is there a convention in common lisp for that? 00:45:51 or is that mostly a haskell thing? 00:46:04 You can call lists 'list', for one thing. 00:46:36 (defun print-list (list) (dolist (item list) (format t "item: ~a~%" item))) 00:47:32 That looks more readable! :D 00:47:46 I should try to refrain from writing haskell code in lisp. 00:49:13 djanatyn: liskell 00:49:32 -!- dnolen [~davidnole@71.249.142.141] has quit [Quit: dnolen] 00:50:23 -!- neuro_sys [~Sentence@unaffiliated/neurosys/x-283974] has quit [Ping timeout: 245 seconds] 00:51:08 anyway, i'm gone, later folks 00:51:11 -!- kenanb [~kenanb@94.54.237.227] has left #lisp 00:52:03 rvirding [~chatzilla@c213-89-147-188.bredband.comhem.se] has joined #lisp 00:52:31 -!- felideon [~felideon@184.105.242.75] has quit [Ping timeout: 248 seconds] 00:53:03 -!- McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has quit [Ping timeout: 248 seconds] 00:53:20 djanatyn: (format t "~{item: ~A~%~}" list) (: 00:53:22 -!- Soulman [~knute@175.80-202-238.nextgentel.com] has left #lisp 00:55:15 McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has joined #lisp 00:55:21 cesarbp [~cbolano@189.227.216.215] has joined #lisp 00:55:47 -!- Kharghosh [62be0d03@gateway/web/freenode/ip.98.190.13.3] has quit [Ping timeout: 265 seconds] 00:57:00 heow [~heow@colo-69-31-43-106.pilosoft.com] has joined #lisp 00:57:33 -!- rgrau``` [~user@203.Red-79-157-5.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 00:59:21 -!- sellout- [~Adium@conference/djangocon/x-veqbjcnhrnucrhik] has quit [Quit: Leaving.] 01:02:12 -!- cesarbp [~cbolano@189.227.216.215] has quit [Ping timeout: 255 seconds] 01:02:29 realitygrill [~realitygr@76.226.210.74] has joined #lisp 01:02:46 -!- tritchey [~tritchey@108.60.121.114] has quit [Quit: tritchey] 01:06:48 -!- el-maxo_ [~max@p57A5695C.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 01:07:47 leo2007 [~leo@119.255.41.67] has joined #lisp 01:08:51 -!- marsell [~marsell@120.20.176.248] has quit [Ping timeout: 252 seconds] 01:08:53 DataLinkDKT [~DataLinkD@123.208.229.130] has joined #lisp 01:09:57 -!- DataLinkDKT [~DataLinkD@123.208.229.130] has quit [Client Quit] 01:11:47 -!- nanoc [~conanhome@186.12.114.23] has quit [Ping timeout: 260 seconds] 01:12:23 neoesque [~neoesque@210.59.147.232] has joined #lisp 01:13:02 -!- hikarudo [~hikarudo@201.86.31.230.dynamic.adsl.gvt.net.br] has quit [Quit: hikarudo] 01:15:21 sysfault [~exalted@50.14.125.127] has joined #lisp 01:15:29 -!- sysfault [~exalted@50.14.125.127] has quit [Changing host] 01:15:29 sysfault [~exalted@p3m/member/sysfault] has joined #lisp 01:17:33 pkhuong: :D 01:19:35 -!- _death is now known as adeht 01:20:56 gigamonkey [~user@adsl-99-24-218-254.dsl.pltn13.sbcglobal.net] has joined #lisp 01:21:14 -!- sysfault [~exalted@p3m/member/sysfault] has quit [Quit: sysfault] 01:21:59 -!- Yuuhi` [benni@p54839F6D.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:22:03 sysfault [~exalted@p3m/member/sysfault] has joined #lisp 01:24:17 nanoc [~conanhome@186.13.112.56] has joined #lisp 01:35:56 -!- SegFaultAX|work [~mkbernard@173.228.45.162] has quit [Quit: leaving] 01:37:13 -!- cythrawll [~DarkAngel@unaffiliated/cythrawll] has quit [Read error: Connection reset by peer] 01:37:52 -!- gffa [~gffa@unaffiliated/gffa] has quit [Quit: sleep] 01:43:28 claudxiao [~claud@61.180.255.130] has joined #lisp 01:49:57 -!- X-Scale [email@sgi-ultra64.broker.freenet6.net] has quit [Quit: Time left until the Epochalypse: 26yrs 12wks 2days 13hrs 23mins 35secs] 01:50:20 -!- milanj [~milanj_@109-93-193-219.dynamic.isp.telekom.rs] has quit [Quit: Leaving] 01:52:19 -!- Daditos [~kvirc@unaffiliated/daditos] has quit [Read error: Connection reset by peer] 01:55:39 X-Scale [email@sgi-ultra64.broker.freenet6.net] has joined #lisp 02:00:49 Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has joined #lisp 02:02:10 pnathan [~Adium@76.178.165.160] has joined #lisp 02:02:48 jleija [~jleija@50.8.10.126] has joined #lisp 02:02:49 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has quit [Excess Flood] 02:05:59 tnks [~tnks@cpe-68-203-16-201.austin.res.rr.com] has joined #lisp 02:06:36 -!- tnks [~tnks@cpe-68-203-16-201.austin.res.rr.com] has left #lisp 02:12:21 -!- leo2007 [~leo@119.255.41.67] has quit [Read error: Connection reset by peer] 02:13:24 X-Scale` [email@89.180.128.169] has joined #lisp 02:13:29 el-maxo [~max@p57A57F25.dip.t-dialin.net] has joined #lisp 02:14:13 Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has joined #lisp 02:15:01 -!- X-Scale [email@sgi-ultra64.broker.freenet6.net] has quit [Ping timeout: 240 seconds] 02:15:25 paul0 [~user@200.146.125.235.dynamic.adsl.gvt.net.br] has joined #lisp 02:15:33 -!- X-Scale` is now known as X-Scale 02:15:55 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has quit [Excess Flood] 02:22:10 -!- totzeit [~kirkwood@c-24-17-10-251.hsd1.wa.comcast.net] has quit [Ping timeout: 260 seconds] 02:24:55 cfy_ [~androirc@117.136.10.153] has joined #lisp 02:26:53 -!- docgnome [~docgnome@web169.webfaction.com] has left #lisp 02:28:56 -!- cfy_ [~androirc@117.136.10.153] has quit [Client Quit] 02:34:18 totzeit [~kirkwood@c-24-17-10-251.hsd1.wa.comcast.net] has joined #lisp 02:34:55 sellout- [~Adium@12.232.236.2] has joined #lisp 02:36:24 Bike [~Glossina@71-214-97-16.ptld.qwest.net] has joined #lisp 02:37:17 -!- neoesque [~neoesque@210.59.147.232] has quit [Quit: Bye!] 02:38:19 -!- paul0 [~user@200.146.125.235.dynamic.adsl.gvt.net.br] has quit [Ping timeout: 252 seconds] 02:39:35 guidj0s [~gdjs@187.39.185.219] has joined #lisp 02:45:06 Can anything be done, or as it, to fix this: http://savannah.gnu.org/bugs/?8197 ? 02:45:16 -!- daniel__2 [~daniel@p5B32617A.dip.t-dialin.net] has quit [Remote host closed the connection] 02:45:18 daniel__ [~daniel@p5B32617A.dip.t-dialin.net] has joined #lisp 02:46:36 -!- gensym` [~user@95.156.194.105] has quit [Ping timeout: 255 seconds] 02:46:39 s/as it/has it/ 02:46:54 bobbysmith0071 [~russ@216.155.103.30] has joined #lisp 02:48:15 -!- bobbysmith007 [~russ@216.155.103.30] has quit [Ping timeout: 248 seconds] 02:49:05 guidj0s: you could use another implementation. 02:49:08 -!- sellout- [~Adium@12.232.236.2] has quit [Ping timeout: 245 seconds] 02:49:45 -!- Guest1072 [~martin@chop.xades.com] has quit [Ping timeout: 255 seconds] 02:50:14 pkhuong: What do you suggest, if I do have to use something running Windows, every now and then? The SBCL project seems to have a port under development. 02:50:21 GNU CL has not been updated in years IIRC. personally I've had most luck with CCL on windows 02:50:53 All right, I'll have a look at it. I'm just finally starting to read gigamonkey's book. Thanks, guys. 02:50:55 worked without problems, worked nicely with Emac + SLIME too 02:51:13 Sounds great. 02:52:04 I have heard that ecl and clozure cl both run under windows 02:52:06 I might be confused, but I don't think gnu common lisp is the same as clisp, which is what I have typically used on windows 02:52:25 and that sbcl works well in most cases 02:52:44 gcl and clisp are indeed different 02:53:45 I'll try and be less confusing. 02:53:50 I've usually been happy with clisp on Windows. Distributing it requires including the dlls, without which it will (or used to) silently not work. 02:53:53 Tired of niggers? Sick of their monkeyshines? We are too! Join Chimpout Forum! http://www.chimpout.com/forum At Chimpout WE ARE NOT WHITE SUPREMACISTS! I myself am a Mexican! Basically, if you are not a NIGGER and you hate NIGGERS, we welcome you with open arms! Join Chimpout Forum today! http://www.chimpout.com/forum 02:54:38 guidj0s: I was confused between gnu clisp and gnu common lisp. you weren't confusing 02:58:11 rtoym [~chatzilla@c-67-180-54-112.hsd1.ca.comcast.net] has joined #lisp 03:01:21 el-maxo_ [~max@p5DE8EE7A.dip.t-dialin.net] has joined #lisp 03:02:51 -!- gigamonkey [~user@adsl-99-24-218-254.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 03:05:08 -!- el-maxo [~max@p57A57F25.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 03:06:56 -!- rvirding [~chatzilla@c213-89-147-188.bredband.comhem.se] has quit [Ping timeout: 244 seconds] 03:09:09 -!- Bike [~Glossina@71-214-97-16.ptld.qwest.net] has quit [Ping timeout: 258 seconds] 03:09:49 shaq [~shaq@76.73.16.26] has joined #lisp 03:10:40 hello. is there a format specifier that will automatically upcase the string 03:11:28 -!- kennyd [~kennyd@78-1-167-85.adsl.net.t-com.hr] has quit [Ping timeout: 260 seconds] 03:12:24 shaq: ~( ~:( ~:@( ~@( 03:12:29 with ~) 03:12:38 joking? 03:12:58 No. Check clhs. 03:13:48 Bike [~Glossina@71-214-101-79.ptld.qwest.net] has joined #lisp 03:14:51 I can't get it to work. anyway that's not what i was looking for, wanted something less verbose than string-upcase as I'm doing this often. I'll refactor code elsewhere 03:16:17 (format t "~:@(~A~)" '("hello" world)) 03:16:36 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #lisp 03:16:41 oh 03:17:05 like that 03:17:35 and I can have more specifiers in () and they'll all be upcased? 03:17:41 Yes. 03:17:50 All the text inside the ~( ~). 03:17:59 -!- realitygrill [~realitygr@76.226.210.74] has quit [Read error: Connection reset by peer] 03:18:08 realitygrill [~realitygr@76.226.210.74] has joined #lisp 03:18:48 I thought I need all of : ~( ~:( ~:@( ~@( :). format is still like black magic to me, I need to find it's manual and read it 03:19:22 -!- rtoym [~chatzilla@c-67-180-54-112.hsd1.ca.comcast.net] has quit [Ping timeout: 252 seconds] 03:19:25 shaq: : and @ are modifiers. In the case of ~(, they specify what of string-downcase, string-upcase, string-capitalize should be used. 03:19:30 When it gets that complex, I suggest with-output-to-string. 03:19:33 -!- djanatyn [~user@173-13-139-236-sfba.hfc.comcastbusiness.net] has quit [Ping timeout: 245 seconds] 03:19:47 Then you might have a chance of maintaining it. 03:21:31 Hum... CCL seems to not have a buggy (y-or-n-p) on the windows version. 03:21:36 s/not// 03:21:37 djanatyn [~user@173-13-139-236-sfba.hfc.comcastbusiness.net] has joined #lisp 03:21:52 you consider "~:@(~A~)" to be a complex format string? 03:22:29 Tolerance to line noise depend on the trauma inflicted by Hayes modems in the early life of the programmer. 03:24:55 -!- djanatyn [~user@173-13-139-236-sfba.hfc.comcastbusiness.net] has quit [Read error: Connection reset by peer] 03:25:29 Guest17586 [~martin@chop.xades.com] has joined #lisp 03:26:18 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Remote host closed the connection] 03:26:30 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 03:27:24 djanatyn [~djanatyn@173-13-139-236-sfba.hfc.comcastbusiness.net] has joined #lisp 03:27:27 rtoym [~chatzilla@c-67-180-54-112.hsd1.ca.comcast.net] has joined #lisp 03:28:29 -!- JamesTaggart [Sheboonda@cyber.sex0r.com] has quit [K-Lined] 03:29:03 neoesque [~neoesque@210.59.147.232] has joined #lisp 03:29:43 Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has joined #lisp 03:30:55 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has quit [Excess Flood] 03:34:31 I'm reading clhs of format but can't find this. is there a specifier that repeats a character N times? 03:35:07 Not exactly. But you can fake it. 03:35:23 how? and is there a function that does this? 03:35:42 (format t "~V,,,VA" 10 #\* "") 03:35:59 (format t "~10,,,'*A" "") 03:37:05 how does that work 03:37:07 The trick is to use a field of a given width, padded with the given character, in which you format an empty string. 03:37:07 -!- oconnore [~Eric@c-66-31-125-56.hsd1.ma.comcast.net] has quit [Quit: Leaving.] 03:37:38 ah 03:38:28 tritchey [~tritchey@12.207.196.2] has joined #lisp 03:38:30 Between ~ and the (optional parameter and) the format specifier character, one can give arguments separated by comas. A "V" in those arguments fetches the actual value from the argument list of format (Similar to * in C sprintf). 03:39:14 s/(optional parameter and)/(optional flags : and *, and) 03:40:28 yes I wondered if there was something like %* a while ago 03:40:29 -!- jleija [~jleija@50.8.10.126] has quit [Quit: good night everyone] 03:41:39 -!- guidj0s [~gdjs@187.39.185.219] has quit [Quit: 0] 03:42:12 Spion [~spion@unaffiliated/spion] has joined #lisp 03:43:26 -!- Spion_ [~spion@unaffiliated/spion] has quit [Read error: Operation timed out] 03:47:00 SegFaultAX [~SegFaultA@c-98-248-241-85.hsd1.ca.comcast.net] has joined #lisp 03:49:26 there's this annoying thing about slime. if I type (in- it moves my cursor before the - character, and suggests init-p and in-package in the completion window 03:49:41 any way to avoid this behavior? 03:50:34 since I already typed (in-p I don't want it to suggest init-p, and I especially don't want it to move cursor prior to - character 03:51:12 -!- cmm [~cmm@109.67.212.191] has quit [Ping timeout: 240 seconds] 03:51:24 cmm [~cmm@bzq-109-67-212-191.red.bezeqint.net] has joined #lisp 03:53:15 shaq: M-x customize-variable slime-complete-symbol-function . "Simple" completion is probably what you want 03:55:18 -!- lemoinem [~swoog@216.252.77.209] has quit [Ping timeout: 252 seconds] 03:55:36 -!- Guthur [~user@212.183.140.57] has quit [Remote host closed the connection] 03:56:08 agumonkey [agumonkey@34.158.70.86.rev.sfr.net] has joined #lisp 03:56:55 getting this, but I never changed it manually. "CHANGED outside Customize; operating on it here may be unreliable." 03:57:14 -!- agumonkey [agumonkey@34.158.70.86.rev.sfr.net] has quit [Client Quit] 03:57:57 -!- sysfault [~exalted@p3m/member/sysfault] has quit [Ping timeout: 252 seconds] 03:59:43 have this though, that's probably what's setting it. (slime-setup '(slime-fancy)) 04:00:00 -!- ikki [~ikki@201.155.92.12] has quit [Ping timeout: 240 seconds] 04:01:30 leo2007 [~leo@119.255.41.67] has joined #lisp 04:01:58 yes much better now 04:02:11 thanks 04:02:44 -!- Cam [~x@trivialand/staff/Cam] has quit [Ping timeout: 244 seconds] 04:06:22 though now after I understand how this works I can see the advantages. (m-v-b expands to (multiple-value-bind 04:06:58 it appeared like a bug to me but now I may keep it 04:08:00 one more thing, if function takes zero arguments is it possible to have SLIME automatically add closing parenthesis on completition? 04:09:02 shaq: slime-complete-symbol* in slime-c-p-c 04:09:59 shaq: and M-x customize-variable slime-complete-symbol*-fancy 04:10:16 thanks 04:11:18 -!- daniel__ [~daniel@p5B32617A.dip.t-dialin.net] has quit [Read error: Operation timed out] 04:11:35 daniel__ [~daniel@p5082BD20.dip.t-dialin.net] has joined #lisp 04:11:46 shaq: use paredit. It closes the parentheses automatically. 04:13:16 I'll try it 04:14:48 -!- killerboy [~mateusz@users69.kollegienet.dk] has quit [Ping timeout: 240 seconds] 04:15:38 -!- Kron_ [~Kron@98.143.102.22] has quit [Quit: Kron awayyy!] 04:15:52 EL-Pipa-La22` [~La22Papa-@186.130.3.164] has joined #lisp 04:16:17 http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29 04:16:44 ? 04:16:46 Que poronga es esto 04:16:48 Aguante 04:16:49 Gimnasia 04:16:51 Manga de giles 04:16:53 gigamonkey [~user@adsl-99-24-218-254.dsl.pltn13.sbcglobal.net] has joined #lisp 04:17:52 -!- Bike [~Glossina@71-214-101-79.ptld.qwest.net] has quit [Quit: restarting] 04:18:41 -!- EL-Pipa-La22` [~La22Papa-@186.130.3.164] has quit [Client Quit] 04:18:56 slyrus [~chatzilla@adsl-99-39-234-229.dsl.pltn13.sbcglobal.net] has joined #lisp 04:19:05 shaq: if paredit and slime-complete-symbol*-fancy don't work together, and you want both, upgrading your slime will help... 04:19:48 evening #lispers 04:20:56 Bike [~Glossina@71-214-101-79.ptld.qwest.net] has joined #lisp 04:20:58 coderdad [~coderdad@ip72-200-211-242.ok.ok.cox.net] has joined #lisp 04:23:26 -!- claudxiao [~claud@61.180.255.130] has left #lisp 04:23:54 -!- knotpine [~cmsimon@c-98-246-47-184.hsd1.or.comcast.net] has quit [Quit: Leaving] 04:29:56 hi slyrus! 04:30:59 -!- tsuru` [~charlie@adsl-74-179-19-82.bna.bellsouth.net] has quit [Remote host closed the connection] 04:31:33 hey antifuchs, what's now? how's the oaktown? 04:31:47 still standing (despite some quakes lately) (: 04:32:01 pretty calm over here, temescal is treating me well (: 04:32:02 heh. yeah, I felt one of them out here too. 04:32:10 been to pizzaiolo yet? 04:32:22 yes! we went last week, and it's quite amazing (: 04:33:10 glad to hear it. I miss that place. tell charlie I say hi if you go back in. 04:33:25 I will (: 04:33:56 I take it you're not at ECLM? 04:34:07 no ): 04:34:15 I wish I had the time (: 04:34:41 yeah, me too :( 04:37:26 Wasn't ECLM scheduled only for the week end? 04:39:18 cfy [~cfy@122.228.131.76] has joined #lisp 04:39:18 -!- cfy [~cfy@122.228.131.76] has quit [Changing host] 04:39:18 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 04:39:25 cfy` [~cfy@122.228.131.84] has joined #lisp 04:39:30 kushal [kdas@nat/redhat/x-icsdmhjdtzmcfdla] has joined #lisp 04:39:30 -!- kushal [kdas@nat/redhat/x-icsdmhjdtzmcfdla] has quit [Changing host] 04:39:30 kushal [kdas@fedora/kushal] has joined #lisp 04:39:52 -!- cfy` is now known as Guest18020 04:41:25 well, the official part was only saturday and sunday, but I recall hearing that some people are staying longer 04:47:59 -!- coderdad [~coderdad@ip72-200-211-242.ok.ok.cox.net] has quit [Quit: Computer has gone to sleep.] 04:51:02 -!- nicdev [~user@c-76-24-21-219.hsd1.ma.comcast.net] has quit [Ping timeout: 252 seconds] 04:54:04 heeeeeeeey 04:54:12 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Remote host closed the connection] 04:54:12 -!- Guest18020 [~cfy@122.228.131.84] has quit [Remote host closed the connection] 04:54:18 in a let binding, can I bind a symbol to an anonymous function I define with lambda? 04:54:29 :O 04:56:28 djanatyn: iirc you need to use FLET 04:56:56 you can do (let ((foo (lambda () 'bar))) (funcall foo)) 04:57:39 djanatyn: you can bind a lexical variable to that function using LET, but you'll need to use funcall for that. FLET lets you define local functions. 04:59:41 -!- tritchey [~tritchey@12.207.196.2] has left #lisp 05:00:40 elderK [~k@pdpc/supporter/active/elderk] has joined #lisp 05:00:43 Hey guys! 05:01:00 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 05:01:12 woo! I made a thingy that reads a text file :) 05:02:16 what does it do? 05:02:36 http://paste.lisp.org/display/125486 -- here it is 05:03:04 ramkrsna [~ramkrsna@220.227.122.149] has joined #lisp 05:03:04 -!- ramkrsna [~ramkrsna@220.227.122.149] has quit [Changing host] 05:03:04 ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has joined #lisp 05:03:50 what's the preferred practice for reading a file step by step in common lisp? 05:04:04 I'm used to perl and reading a line by line 05:04:38 djanatyn: I like using LOOP for that: (loop for line = (read-line file nil nil) while line do (print line) finally (print "end of file")) 05:04:53 loop is so weird >_> 05:04:53 or something like that 05:05:03 when my friend told me about loop, I thought they were joking 05:05:18 he told me to type it into my interpreter. when I freaked out because it worked, he said, "that's the power of macros!" :D 05:05:38 I have a bulk read function that slurps the whole thing in, cobbled together from read-sequence. of course if your text file is gigantic, it requires streaming analysis 05:06:05 pnathan: alexandria:read-file-into-string? 05:06:25 man, it seems like it might be fun to make a personal library of common lisp functions for different tasks 05:06:26 No, at the time I put it together I didn't know about Alexandria. 05:06:39 ...or, use libraries other people write :D 05:06:54 djanatyn: that is common, although you might find that libraries like Alexandria already have a lot of the common utilities. 05:06:55 do most people use common lisp libraries for tasks like that, or do they write their own functions? 05:07:20 but I think pretty much every non-trivial project I've worked on has a utils.lisp (or multiple such files) precisely for such tools. 05:07:22 I saw a file io library for common lisp, but figured I didn't want to add any bloat to a simple program that just reads a file 05:07:41 lisp is fun! :D 05:07:43 sykopomp: I note that read-file-into-string isn't in the draft api spec for alexandria 05:07:46 djanatyn: what "file io library"? 05:07:54 let's see... 05:08:02 hm, so format has various uppercasing directives, but nothing that just does string-downcase? Is that right? 05:08:16 Bike: it has string-downcase 05:08:18 hold on... 05:08:19 Bike: you could conceivably use ~// for that 05:08:21 sykopomp: http://common-lisp.net/project/iolib/ 05:08:49 looks like it does a lot of networking stuff 05:08:52 Bike: ~(~A~) 05:09:11 Oh. That was a silly way to misread, thank you. 05:09:11 ooh, what do ~( and ~) do? 05:09:14 djanatyn: yes, that's for fancy networking stuff. Depending on your application, usocket might be a good first stop. 05:09:19 Case conversion, djanatyn. 05:09:22 I thought ~{ and ~} were pretty cool. are those two similar? 05:09:23 ah 05:09:46 ~:( capitalizes, ~:@( uppercases 05:09:47 djanatyn: they're paired format instructions, but they're definitely not the same (: 05:10:29 *pnathan* reads through the :export list for alexandria, noting that the api spec doesn't mention much of them. ::grumble:: 05:10:51 djanatyn: fwiw, I have not seen very much Common Lisp code that uses recursion heavily. 05:10:52 (format) is a lot different from anything I've ever used. 05:11:01 sykopomp: Yeah, common lisp is...weird. 05:11:08 it's more common to use LOOP and/or the various iteration HOFs 05:11:11 But I'm having a lot of fun learning it, and there are tons of cool libraries. 05:11:21 I want to get comfortable using common lisp, and then dip a little bit into clojure. 05:11:33 I've used Scheme before, but didn't really do anything with it, due to the lack of libraries >_> 05:11:42 I was reading through SICP 05:12:06 djanatyn: I believe that depends on the scheme. Racket (which was a scheme, back in the day) has an impressive library included with it. 05:12:14 'was'? 05:12:17 i thought it still is 05:12:22 or at least it seems to be, on the surface. 05:12:25 or, at least, can be made to be 05:13:06 I've been using the JVM more and more recently - I'm taking a Java class in my school. 05:13:12 It's...a little weird. 05:13:26 inklesspen: I don't think they consider themselves a scheme anymore, strictly. As similar as it is. 05:13:52 djanatyn: There is a CL implementation that runs on the JVM called ABCL 05:14:32 Oh, cool. 05:15:19 I'm having a bit of trouble getting a feel for the whole lisp community, since they're kind of seperated - is clojure currently the most active lisp? 05:15:28 It seems a lot of people have different opinions about it. 05:15:42 Some things I read called it a toy language, and some things said that it was the only practical lisp out there :P 05:15:59 At the same time, a lot of stuff called common lisp the most practical lisp, and some things called common lisp an unusable mess 05:16:27 it's kind of hard to get a feel for what the different dialects are actually like without diving into them, from a beginner's perspective. 05:16:31 has anyone here used clojure? 05:16:44 djanatyn: I don't know about community sizes, but this is not a channel for discussing clojure. 05:16:52 It's strictly for Common Lisp (see /topic) 05:16:59 Oh, okay. sorry. 05:17:02 I believe #clojure exists on freenode for discussions about that. 05:17:42 kennyd [~kennyd@78-1-190-102.adsl.net.t-com.hr] has joined #lisp 05:17:48 djanatyn: get a feel for the lisp community browsing http://cliki.net and http://cl-user.net/ 05:18:11 djanatyn: for what it's worth, all free (Scheme, Common Lisp, Clojure) are used commercially 05:18:23 one has to parse out 30 years history when looking at common lisp and its practicality. it seems to attract strong opinions. 05:18:28 also remember that There Is No Cabal^WCommunity 05:19:05 On the other hand, in the Haskell community there's a cabal. 05:22:40 yes, and one of their main goals is to avoid succeeding, and fail at that 05:23:02 I think they're failing at that goal 05:23:02 so they want you to think 05:23:21 they just say that so they can sneak into your home, eat your babies, and fly their red/black flags. 05:23:22 -!- Zulu_Inuoe [~Zulu@c-174-58-204-235.hsd1.fl.comcast.net] has quit [Quit: Nettalk6 - www.ntalk.de] 05:26:29 lol 05:28:08 -!- antgreen [~user@bas3-toronto06-2925098489.dsl.bell.ca] has quit [Ping timeout: 276 seconds] 05:29:27 any suggestions on how to write this cleaner (without repeating gethash so many times). 05:30:25 http://paste.lisp.org/display/125488 05:32:19 shaq: use OR, or write a macro. 05:32:43 not sure how i'd use or here? 05:33:23 shaq: (define-modify-macro orf (&rest args) or) ;; first 05:33:41 I suspect that :default could be put to profitable use, but I'd have to check. 05:33:42 shaq: (let ((hash-table (make-hash-table))) (orf (gethash "key" hash-table) "value") hash-table) 05:34:38 can that orf macro be used with other things too? 05:34:48 yep 05:34:50 not just with gethash? 05:34:53 nice 05:35:22 *akovalenko* just found the same ORF inside ASDF :) 05:35:46 pnathan: you're correct, but that would involve writing the hash table in all cases. Perhaps it's better avoiding useless writes to memory. 05:35:57 wouldn't just this work? 05:36:13 (let ((hash-table (make-hash-table))) (orf (gethash "key" hash-table) "value")) 05:36:22 to return value 05:36:26 yep 05:37:21 shaq: http://paste.lisp.org/display/125488#1 05:37:24 what else can it be used with? I'm not really sure how it works 05:37:26 cnl [~cnl@95.106.11.104] has joined #lisp 05:37:28 orf 05:37:44 pjb nice too 05:38:00 /me uses (defun %do-modify (old-value function &rest args) (apply function old-value args)) (define-modify-macro modify (function &rest args) 05:38:00 %do-modify) ;; we don't need ad-hoc modify macros any more 05:38:18 tali713` [~tali713@c-75-72-220-197.hsd1.mn.comcast.net] has joined #lisp 05:38:21 As long as I'm misunderstanding format: 23.3.3.1 says that "exactly w characters will be output, w being the first argument to the F directive, but (format nil "~4,2f" 23.23) => "23.23" 05:38:31 er, endquote before first comma. 05:38:54 so (modify (gethash bla bla-bla) (lambda (old) (...what to do?...))) 05:38:55 Bike: unless the object needs more characters to display... 05:38:58 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 05:38:58 -!- tali713` is now known as tali713 05:39:34 pjb-: It gives the example "printing the argument 6.375 using the format ~4,2F may correctly produce either 6.37 or 6.38", also, so I thought it rounded? 05:40:00 oh, but that does round. I am misunderstanding something. 05:40:36 Oh, nevermind, it explains. Sorry. 05:41:04 Bike: your example outputs 5 characters. (format nil "~4,2f" 123456789.12) --> "123456790.00" 05:42:08 akovalenko: that unconditionally assigns to the hash table, though, no? 05:43:27 Bike: the following paragraph says that more than w characters may be output. 05:43:32 just figured out a great feature in SLIME by accident. if you type (setf *foo pjb-: Yes, that's what I meant by it explaining. Sorry, "exactly w characters will be output" at first seemed strict. 05:44:29 shaq: zsh does this too. 05:44:35 very handy 05:44:52 shaq: you may also be interested in M-r, which works in most interactive emacs buffers. 05:44:59 Bike: yes, people have strange ways to express themselves. 05:45:33 cfy [~cfy@122.228.135.216] has joined #lisp 05:45:33 -!- cfy [~cfy@122.228.135.216] has quit [Changing host] 05:45:33 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 05:45:44 thanks, I'm new to emacs, switched just because of SLIME and I'm loving it 05:46:51 shaq: I've used emacs for a few years now - it's really a great editor. 05:46:58 sykopomp: my (modify ...) thing assigns unconditionally _unless you exit non-locally_ 05:48:15 (block amsterdam (modify (gethash foo bar) (lambda (old) (when (finep old) (return-from amsterdam))))) 05:50:57 -!- slyrus [~chatzilla@adsl-99-39-234-229.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 05:51:17 is it SLIME that makes common lisp so amazingly interactive or vice versa? like you can recompile function on exception and then continue with the execution 05:51:31 i 05:51:34 vice versa 05:52:03 it's a basic feature of all lisp REPL. 05:52:31 However it's not specified, it's purely a lisp culture thing. 05:52:52 popl [~1024@unaffiliated/popl] has joined #lisp 05:53:26 For example, it's not specified what a C implementation should do on: "abc"[4]=42; It's just a C cultural thing that it should have some random effect including possibly crashing or allowing a virus to take over. 05:53:37 hehe 05:53:59 You could have a C implementation with a REPL similar to lisp and a lisp compiler as silly as a C compiler. 05:54:20 (there are a few C interactive implementations such as cint). 05:54:35 well some of it is specified is it not? conditions have restarts, compiler is available at runtime, etc 05:54:42 in CL 05:54:50 shaq: notice that CL has (declaim (optimize (safety 0))). a lot of bad thing would then be allowed to occur. 05:55:12 kennyd: that's correct, but the runtime compiler needs to implement only the minimal compilation... 05:56:11 shaq: unnotice what pjb told you to notice, then substitude 0 => 3, allowed => forbidden, then notice it again :) 05:56:36 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 05:57:37 lemoinem [~swoog@216.252.79.183] has joined #lisp 05:58:00 -!- nanoc [~conanhome@186.13.112.56] has quit [Ping timeout: 240 seconds] 05:58:15 gravicappa [~gravicapp@ppp91-77-220-97.pppoe.mtu-net.ru] has joined #lisp 05:58:39 it's a scheme dialect that runs on the JVM 05:58:48 ermm, mischan, sorry 05:59:15 nanoc [~conanhome@186.13.112.56] has joined #lisp 06:01:12 -!- hugod [~hugod@70.24.179.235] has quit [Ping timeout: 240 seconds] 06:01:31 -!- Younder [~john@49.157.202.84.customer.cdi.no] has quit [Quit: Leaving] 06:05:50 -!- leo2007 [~leo@119.255.41.67] has quit [Read error: Connection reset by peer] 06:06:38 hugod [~hugod@70.24.180.190] has joined #lisp 06:07:36 khaliG [~khali@203.171.126.201.static.rev.aanet.com.au] has joined #lisp 06:10:37 -!- Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Quit: Leaving] 06:11:21 cnl_ [~cnl@95.106.27.202] has joined #lisp 06:11:43 -!- cnl [~cnl@95.106.11.104] has quit [Ping timeout: 260 seconds] 06:14:17 -!- neoesque [~neoesque@210.59.147.232] has quit [Quit: Bye!] 06:14:19 huangjs [~huangjs@watchdog.msi.co.jp] has joined #lisp 06:17:18 hey, anybody knows a good use case for this rule? ANSI CL 4.2.2 Type Relations "At the discretion of the implementation, either standard-object or structure-object might appear in any class precedence list for a system class that does not already specify either standard-object or structure-object. If it does, it must precede the class t and follow all other standardized classes." 06:18:46 huangjs: implementing standard stuff as standard objects or structure objects. 06:19:10 for example, conditions 06:19:15 hash tables, for instance. 06:19:23 H4ns [57a9ea75@gateway/web/freenode/ip.87.169.234.117] has joined #lisp 06:19:24 pkhuong: i see 06:19:39 but in general, an implementation is free to make every function generic etc 06:21:22 mal: I don't think so. Where do you read that? 06:21:43 pjb: where do you read it can't? 06:23:19 neoesque [~neoesque@210.59.147.232] has joined #lisp 06:23:24 pkhuong: but ansi also says standard stuff like hash table is pairwise disjoint to standard-object, which means any assumption on the order should be a design mistake... 06:24:24 -!- ltriant [~ltriant@lithium.mailguard.com.au] has quit [Quit: Computer has gone to sleep] 06:24:26 the order in the precedence list 06:24:40 ZabaQ [~johnfredc@135.114-84-212.staticip.namesco.net] has joined #lisp 06:26:29 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 06:27:10 and if without this rule, we can always specialized on T to ensure the order. 06:28:55 mal: granted, it seems an implementation could define CL functions as generic functions. However, a conforming program could not define any method on them (without first testing for the specific implementation). 06:30:38 pjb: of course. anyways, there are severe restrictions on what you can do with stuff in the CL package. 06:31:07 pjb: compare with conditions. The standard clearly allows them to be CLOS objects but a conforming program can't assume that. 06:31:21 did he really died? 06:32:19 mal: notice that the restriction on defining methods is explicitely put only on standardized generic function. A (defgeneric car (x)) wouldn't make car a standardized generic function, therefore, as an extension to CL, user programs could defmethod on it... (assumedly, the implementation could enforce the same or similar restriction). 06:32:36 cnl_: it seems to be confirmed, yet. 06:32:46 huangjs: the rule gives leeway to implementations. 06:33:25 sdemarre [~serge@91.176.28.90] has joined #lisp 06:34:05 pkhuong: ok, that makes sense. 06:36:32 good morning 06:36:38 morning 06:36:58 -!- ak70 [~user@c79-102.i07-20.onvol.net] has quit [Read error: Connection reset by peer] 06:36:59 gko [~gko@42-73-226-118.dynamic-ip.hinet.net] has joined #lisp 06:37:43 TeMPOraL [~user@31-187-1-188.home.aster.pl] has joined #lisp 06:40:20 TeMPOraL` [~user@31-187-1-188.home.aster.pl] has joined #lisp 06:40:20 -!- TeMPOraL [~user@31-187-1-188.home.aster.pl] has quit [Read error: Connection reset by peer] 06:42:38 is (zerop 0.0) => T guaranteed? 06:43:28 I'm only interested in 0.0 not numbers near 0.0 06:44:28 According to: http://www.lispworks.com/documentation/HyperSpec/Body/f_zerop.htm, it takes integers, floats, and complexes. 06:45:10 shaq: it is. even for negative zero if your platform has those. 06:45:19 yes sorry, should have checked CLHSbefore asking 06:45:30 lispdoc.com is nice for that. 06:46:00 -!- TeMPOraL` [~user@31-187-1-188.home.aster.pl] has quit [Ping timeout: 240 seconds] 06:46:00 cnl_: apparently yes :( 06:46:02 wish I could have CLHS opened in emacs buffer 06:46:26 shaq: w3m + SLIME's hyperspec-lookup 06:46:27 for the function under the cursor, after pressing some combination of keys. would that be possible? 06:46:50 p_l really, so it's actually possible? 06:47:10 shaq: hyperspec-lookup will grab the symbol at point as default when called interactively, and will go to that when called by keybinding 06:48:00 nice, I'll do that as soon as I learn enough elisp 06:48:41 gienah [~mwright@ppp121-44-94-226.lns20.syd6.internode.on.net] has joined #lisp 06:48:58 aerique [310225@xs8.xs4all.nl] has joined #lisp 06:49:02 no need to learn much, just remember to set emacs' browser to w3m (so that it gets called by browse-url) and set some keybinding to call hyperspec-lookup 06:49:06 -!- SegFaultAX [~SegFaultA@c-98-248-241-85.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 06:49:20 personally, I often call it interactively (that is, M-x hyperspec-lookup) 06:49:42 C-c C-d h 06:53:49 -!- popl [~1024@unaffiliated/popl] has quit [Quit: http://eff.org/nsa - They're watching you poop.] 06:55:54 -!- cnl_ [~cnl@95.106.27.202] has quit [Quit: Lost terminal] 06:57:07 leo2007 [~leo@119.255.41.67] has joined #lisp 06:58:14 nostoi [~nostoi@204.Red-79-151-42.dynamicIP.rima-tde.net] has joined #lisp 07:01:30 mcsontos [mcsontos@nat/redhat/x-gztrfdhkkccexvdo] has joined #lisp 07:10:18 -!- Bike [~Glossina@71-214-101-79.ptld.qwest.net] has quit [Quit: leaving] 07:10:50 varjag [~eugene@122.62-97-226.bkkb.no] has joined #lisp 07:11:13 -!- pspace [~andrew@adsl-76-243-177-231.dsl.bcvloh.sbcglobal.net] has quit [Remote host closed the connection] 07:13:15 -!- leo2007 [~leo@119.255.41.67] has quit [Read error: Connection reset by peer] 07:14:11 jdz [~jdz@193.206.22.97] has joined #lisp 07:14:35 cnl [~cnl@95.106.27.202] has joined #lisp 07:15:27 -!- j_king [~jking@mortar.walled.net] has quit [Ping timeout: 244 seconds] 07:15:31 -!- samebchase [~samuel@76.73.121.203] has quit [Read error: Operation timed out] 07:15:38 -!- shaq [~shaq@76.73.16.26] has quit [Ping timeout: 258 seconds] 07:15:52 j_king [~jking@mortar.walled.net] has joined #lisp 07:15:58 -!- Fade [~fade@outrider.deepsky.com] has quit [Ping timeout: 244 seconds] 07:16:34 -!- gko [~gko@42-73-226-118.dynamic-ip.hinet.net] has quit [Read error: Connection reset by peer] 07:16:41 gko [~gko@42-72-135-135.dynamic-ip.hinet.net] has joined #lisp 07:16:41 insomnia1alt [~milan@port-92-204-72-222.dynamic.qsc.de] has joined #lisp 07:16:41 -!- insomnia1alt [~milan@port-92-204-72-222.dynamic.qsc.de] has quit [Changing host] 07:16:41 insomnia1alt [~milan@unaffiliated/iammilan] has joined #lisp 07:17:36 samebchase [~samuel@76.73.121.203] has joined #lisp 07:20:35 -!- insomniaSalt [~milan@unaffiliated/iammilan] has quit [Ping timeout: 276 seconds] 07:20:36 -!- insomnia1alt is now known as insomniaSalt 07:21:08 -!- pnathan [~Adium@76.178.165.160] has quit [Quit: Leaving.] 07:21:34 Fade [~fade@outrider.deepsky.com] has joined #lisp 07:22:36 -!- elderK [~k@pdpc/supporter/active/elderk] has left #lisp 07:26:10 -!- realitygrill [~realitygr@76.226.210.74] has quit [Quit: realitygrill] 07:27:24 realitygrill [~realitygr@76.226.210.74] has joined #lisp 07:30:58 Blkt [~user@89-96-199-46.ip13.fastwebnet.it] has joined #lisp 07:32:03 -!- samebchase [~samuel@76.73.121.203] has quit [Ping timeout: 245 seconds] 07:32:34 peterhil` [~peterhil@gw.maxisat.fi] has joined #lisp 07:33:03 mishoo [~mishoo@86.124.148.84] has joined #lisp 07:34:17 insomnia1alt [~milan@port-92-204-55-161.dynamic.qsc.de] has joined #lisp 07:34:17 -!- insomnia1alt [~milan@port-92-204-55-161.dynamic.qsc.de] has quit [Changing host] 07:34:17 insomnia1alt [~milan@unaffiliated/iammilan] has joined #lisp 07:36:46 -!- insomniaSalt [~milan@unaffiliated/iammilan] has quit [Ping timeout: 260 seconds] 07:36:46 -!- insomnia1alt is now known as insomniaSalt 07:36:46 benny [~benny@i577A78E5.versanet.de] has joined #lisp 07:38:29 samebchase [~samuel@76.73.121.203] has joined #lisp 07:39:24 -!- nostoi [~nostoi@204.Red-79-151-42.dynamicIP.rima-tde.net] has quit [Quit: Verlassend] 07:39:52 pspace [~andrew@76.243.177.231] has joined #lisp 07:40:27 -!- _danb_ [~user@203.38.189.126] has quit [Ping timeout: 256 seconds] 07:40:51 k4nu1 [~rohan@59.95.18.49] has joined #lisp 07:40:56 sellout- [~Adium@12.232.236.2] has joined #lisp 07:41:18 -!- H4ns [57a9ea75@gateway/web/freenode/ip.87.169.234.117] has quit [Ping timeout: 265 seconds] 07:42:02 madnificent [~madnifice@83.101.62.132] has joined #lisp 07:42:36 -!- cafesofie [~user@ool-18b97779.dyn.optonline.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:43:16 -!- k4nu1 [~rohan@59.95.18.49] has quit [Max SendQ exceeded] 07:44:00 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 07:44:31 k4nu1 [~rohan@59.95.18.49] has joined #lisp 07:45:42 This fortune cookie is delicious! This cookie has a scrap of paper inside. It reads: Old hackers never die: young ones do. 07:49:08 nha [~prefect@imamac13.epfl.ch] has joined #lisp 07:51:41 kiuma [~kiuma@85-18-55-37.ip.fastwebnet.it] has joined #lisp 07:52:36 cyrillos [~cyrill@188.134.33.194] has joined #lisp 07:52:41 -!- huangjs [~huangjs@watchdog.msi.co.jp] has quit [Quit: Leaving] 07:57:57 cnl: ironic 07:58:34 benkard [~benkard@002608dc9535.dfn.mwn.de] has joined #lisp 07:59:43 muep [twingo@otitsun.oulu.fi] has joined #lisp 08:00:57 good morning everyone 08:02:06 Davidbrcz_ [~david@ANantes-151-1-48-19.w83-195.abo.wanadoo.fr] has joined #lisp 08:02:48 'morning 08:04:45 -!- k4nu1 [~rohan@59.95.18.49] has quit [Ping timeout: 260 seconds] 08:09:18 'moin Blkt 08:14:04 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Remote host closed the connection] 08:15:37 leo2007 [~leo@119.255.41.67] has joined #lisp 08:15:54 -!- benkard [~benkard@002608dc9535.dfn.mwn.de] has quit [Quit: benkard] 08:17:04 -!- gko [~gko@42-72-135-135.dynamic-ip.hinet.net] has quit [Remote host closed the connection] 08:17:11 benkard [~benkard@002608dc9535.dfn.mwn.de] has joined #lisp 08:17:15 gko [~gko@42-72-135-135.dynamic-ip.hinet.net] has joined #lisp 08:17:30 -!- realitygrill [~realitygr@76.226.210.74] has quit [Quit: realitygrill] 08:17:55 realitygrill [~realitygr@76.226.210.74] has joined #lisp 08:18:22 e-user [e-user@nat/nokia/x-awewxsyreyelwqyn] has joined #lisp 08:19:03 mishoo_ [~mishoo@86.124.148.84] has joined #lisp 08:19:07 -!- mishoo [~mishoo@86.124.148.84] has quit [Remote host closed the connection] 08:19:31 Younder [~john@49.157.202.84.customer.cdi.no] has joined #lisp 08:20:43 ccorn [~ccorn@84-53-64-50.adsl.unet.nl] has joined #lisp 08:23:49 -!- jasom [~aidenn@ip98-182-25-247.sb.sd.cox.net] has quit [Read error: Operation timed out] 08:25:17 jtza8 [~jtza8@wbs-196-2-106-139.wbs.co.za] has joined #lisp 08:26:46 MrMc [~user@91-65-142-36-dynip.superkabel.de] has joined #lisp 08:27:03 -!- naryl [~weechat@213.170.70.141] has quit [Ping timeout: 245 seconds] 08:31:50 -!- mishoo_ [~mishoo@86.124.148.84] has quit [Remote host closed the connection] 08:32:06 mishoo_ [~mishoo@86.124.148.84] has joined #lisp 08:32:31 Someone interested in my new ACL2 group? 08:34:02 People on the acl2 mail list? 08:40:11 Younder: is that for a new lisp standard, ie. including the CDRs? 08:41:01 jasom [~aidenn@ip98-182-25-247.sb.sd.cox.net] has joined #lisp 08:41:40 -!- X-Scale [email@89.180.128.169] has quit [Remote host closed the connection] 08:42:06 flip214, no A Proof system for Applicative Common Lisp 08:42:43 http://www.cs.utexas.edu/~moore/acl2/ 08:43:08 ok, then sorry ... not my area 08:43:36 lots of interesting things, but not enough time 08:44:21 I would argue that training in proving programs work will make you a better programmer. 08:45:29 well, the problem is that training in nearly _anything_ will make me a better programmer ;) 08:45:51 true, I suppose 08:46:38 so I have to choose wisely ... 08:46:40 But you would learn functional thinking and induction. 08:47:28 Well I'm into networking these days. 08:48:35 Networking and parallel programming are notoriously difficult to debug. 08:50:15 I advise starting those with a linda tuple machine. 08:50:16 "But you would learn functional thinking and induction" ... well, dunning-kruger applies, but I believe to know a bit of that 08:50:31 After you understand that, everything else should be easier. 08:50:34 and I'm currently doing parallel network programming in C 08:51:14 well, I strive to learn as much as possible ... perhaps I find some time for that, too 08:51:31 (and "normal" parallel programming without network in lisp, BTW) 08:51:31 -!- i__ [~none@unaffiliated/i--/x-3618442] has left #lisp 08:52:11 flip214, A pain, yes. spelling out in every detail what should run where. And all those conditions for hardware problems. 08:54:21 yes, I know ... 08:55:55 -!- gko [~gko@42-72-135-135.dynamic-ip.hinet.net] has quit [Ping timeout: 260 seconds] 08:56:25 And then there is the debugging.. 08:57:08 gko [~gko@42-72-135-135.dynamic-ip.hinet.net] has joined #lisp 08:57:14 oiiii [~oiiii@82.71.241.25] has joined #lisp 08:57:17 H4ns [57a9ea75@gateway/web/freenode/ip.87.169.234.117] has joined #lisp 08:57:59 Well wouldn't it be great if that got easier. 08:58:16 H4ns: Hello there 08:58:23 MrMc: hi! :) 09:00:42 dnjaramba [~dnjaramba@41.72.193.86] has joined #lisp 09:07:35 -!- Quadrescence [~quad@unaffiliated/quadrescence] has left #lisp 09:10:48 benkard_ [~benkard@002608dc9535.dfn.mwn.de] has joined #lisp 09:11:12 Athas [~athas@shop3.diku.dk] has joined #lisp 09:13:20 chrnybo [~user@148.122.202.244] has joined #lisp 09:14:16 -!- pjb- [~t@81.202.16.46.dyn.user.ono.com] has quit [Ping timeout: 258 seconds] 09:14:30 -!- benkard [~benkard@002608dc9535.dfn.mwn.de] has quit [Ping timeout: 255 seconds] 09:14:30 -!- benkard_ is now known as benkard 09:19:37 -!- setmeaway [~setmeaway@118.45.149.199] has quit [Read error: Connection reset by peer] 09:21:41 Sulimo [~angel@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has joined #lisp 09:24:58 -!- Sulimo [~angel@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 09:25:21 gensym [~user@dslb-088-071-149-049.pools.arcor-ip.net] has joined #lisp 09:29:01 -!- benkard [~benkard@002608dc9535.dfn.mwn.de] has quit [Quit: benkard] 09:29:05 Sulimo [~angel@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has joined #lisp 09:31:22 -!- Sulimo [~angel@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 09:32:47 ngz [~user@201.144.80.79.rev.sfr.net] has joined #lisp 09:35:06 -!- mishoo_ [~mishoo@86.124.148.84] has quit [Quit: (save-lisp-and-die)] 09:35:49 -!- Tordek [tordek@supporter.blinkenshell.org] has quit [Ping timeout: 240 seconds] 09:38:28 -!- leo2007 [~leo@119.255.41.67] has quit [Quit: rcirc on GNU Emacs 24.0.50.1] 09:39:58 mishoo [~mishoo@86.124.148.84] has joined #lisp 09:39:58 Kenjin [~josesanto@193.136.207.78] has joined #lisp 09:41:46 -!- ZabaQ [~johnfredc@135.114-84-212.staticip.namesco.net] has quit [Ping timeout: 252 seconds] 09:42:21 -!- replore [~replore@203.152.213.161.static.zoot.jp] has quit [Remote host closed the connection] 09:43:28 spacefrogg [~spacefrog@unaffiliated/spacefrogg] has joined #lisp 09:48:21 -!- nanoc [~conanhome@186.13.112.56] has quit [Ping timeout: 260 seconds] 09:48:25 -!- H4ns [57a9ea75@gateway/web/freenode/ip.87.169.234.117] has quit [Ping timeout: 265 seconds] 09:48:39 Sulimo [~angel@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has joined #lisp 09:50:27 -!- gravicappa [~gravicapp@ppp91-77-220-97.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 09:50:44 lain_ [~lain@p5795AAB8.dip.t-dialin.net] has joined #lisp 09:50:45 -!- neoesque [~neoesque@210.59.147.232] has quit [Quit: Bye!] 09:52:09 -!- khaliG [~khali@203.171.126.201.static.rev.aanet.com.au] has quit [Quit: Leaving] 10:01:15 nanoc [~conanhome@186.12.218.154] has joined #lisp 10:02:12 echo-area [~echo-area@182.92.247.2] has joined #lisp 10:03:43 -!- mcsontos [mcsontos@nat/redhat/x-gztrfdhkkccexvdo] has quit [Ping timeout: 258 seconds] 10:08:29 -!- realitygrill [~realitygr@76.226.210.74] has quit [Read error: Connection reset by peer] 10:08:53 realitygrill [~realitygr@76.226.210.74] has joined #lisp 10:11:14 wow http://herbsutter.com/2011/10/25/john-mccarthy/ :( 10:13:52 Tordek [tordek@supporter.blinkenshell.org] has joined #lisp 10:14:41 naryl [~weechat@213.170.70.141] has joined #lisp 10:21:03 Well he go to be 84 years old. 10:21:47 akovalen` [~anton@95.73.216.147] has joined #lisp 10:21:52 s/go/got/ 10:22:10 http://www.informatimago.com/articles/flpl/index.html 10:22:12 -!- akovalen` is now known as akovalenko` 10:23:39 -!- akovalenko [~anton@95.73.127.155] has quit [Ping timeout: 258 seconds] 10:23:53 -!- akovalenko` is now known as akovalenko 10:25:34 that was by accident, sorry! 10:27:32 ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); 10:27:58 MikeSeth: shoo 10:28:42 MikeSeth: no semicolon here please! 10:29:11 and we no longer use paper cards, so *that* card isn't used anymore 10:32:01 benkard [~benkard@2001:4ca0:0:f208:f1fa:218e:a76c:42dc] has joined #lisp 10:33:48 prxq [~mommer@mnhm-5f75c126.pool.mediaWays.net] has joined #lisp 10:34:08 hi 10:34:39 -!- varjag [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 10:34:50 benkard_ [~benkard@2001:4ca0:0:f208:704f:e3f5:b385:bf53] has joined #lisp 10:36:44 the prettiest comment I saw on facebook was simply ) 10:36:52 as a salute, I liked it 10:37:30 benkard__ [~benkard@2001:4ca0:0:f208:dc0c:133:4558:daaf] has joined #lisp 10:38:15 benkard___ [~benkard@2001:4ca0:0:f208:fc47:413:5184:c2f6] has joined #lisp 10:38:27 -!- Sulimo [~angel@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has quit [Remote host closed the connection] 10:38:30 -!- benkard [~benkard@2001:4ca0:0:f208:f1fa:218e:a76c:42dc] has quit [Ping timeout: 244 seconds] 10:38:30 -!- benkard___ is now known as benkard 10:39:58 gensym: don't you comment your code? 10:40:35 Sulimo [~angel@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has joined #lisp 10:41:05 -!- benkard_ [~benkard@2001:4ca0:0:f208:704f:e3f5:b385:bf53] has quit [Ping timeout: 244 seconds] 10:41:05 like i don't debug 10:41:36 -!- benkard__ [~benkard@2001:4ca0:0:f208:dc0c:133:4558:daaf] has quit [Ping timeout: 244 seconds] 10:43:41 H4ns [d4b9ee24@gateway/web/freenode/ip.212.185.238.36] has joined #lisp 10:48:48 benkard_ [~benkard@002608dc9535.dfn.mwn.de] has joined #lisp 10:50:23 -!- benkard [~benkard@2001:4ca0:0:f208:fc47:413:5184:c2f6] has quit [Ping timeout: 244 seconds] 10:50:23 -!- benkard_ is now known as benkard 10:52:29 setmeaway [~setmeaway@118.45.149.199] has joined #lisp 10:53:49 -!- Vutral [~ss@vutral.net] has quit [Ping timeout: 240 seconds] 10:54:12 _danb_ [~user@124-149-162-79.dyn.iinet.net.au] has joined #lisp 10:54:48 gensym` [~user@95.156.194.105] has joined #lisp 10:57:55 -!- benkard [~benkard@002608dc9535.dfn.mwn.de] has quit [Quit: benkard] 11:00:02 Yuuhi [benni@p5483A2B7.dip.t-dialin.net] has joined #lisp 11:00:43 (save-lisp-and-die) 11:01:11 -!- xyxu [~xyxu@58.41.14.46] has quit [Quit: Leaving.] 11:01:28 c_arenz [arenz@nat/ibm/x-ooyuutjkitdbuufk] has joined #lisp 11:05:33 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #lisp 11:05:34 todun [~todun@seasnet-58-02.seas.upenn.edu] has joined #lisp 11:06:53 -!- JuanDaugherty [~Ren@cpe-72-228-177-92.buffalo.res.rr.com] has quit [Quit: Exeunt IRC] 11:14:51 jemarch [~jco@gnu/pdf/jemarch] has joined #lisp 11:21:45 dlowe_lt [~dlowe@50-77-31-237-static.hfc.comcastbusiness.net] has joined #lisp 11:22:05 mcsontos [mcsontos@nat/redhat/x-umiojogufvfcjpqq] has joined #lisp 11:26:00 thanosQR [~thanosqr@88.218.209.49] has joined #lisp 11:26:41 -!- dlowe_lt [~dlowe@50-77-31-237-static.hfc.comcastbusiness.net] has quit [Ping timeout: 252 seconds] 11:27:07 dlowe_lt [dlowe@nat/google/x-cpsxtrrjbtgsvmvo] has joined #lisp 11:28:23 -!- thanosQR [~thanosqr@88.218.209.49] has left #lisp 11:32:01 -!- Younder [~john@49.157.202.84.customer.cdi.no] has quit [Ping timeout: 260 seconds] 11:36:20 BrianRice` [~water@174-21-117-191.tukw.qwest.net] has joined #lisp 11:36:41 -!- BrianRice [~water@174-31-153-63.tukw.qwest.net] has quit [Ping timeout: 258 seconds] 11:36:41 -!- BrianRice` is now known as BrianRice 11:39:58 fmeyer [~fmeyer@189-38-236-217.static-corp.ajato.com.br] has joined #lisp 11:41:09 nicdev [~user@c-76-24-21-219.hsd1.ma.comcast.net] has joined #lisp 11:45:26 *Xach* has many keys to sign 11:46:00 -!- echo-area [~echo-area@182.92.247.2] has quit [Remote host closed the connection] 11:48:46 milanj [~milanj_@109-93-193-219.dynamic.isp.telekom.rs] has joined #lisp 11:50:16 S1am [~guest@eth-209.20-homell.natm.ru] has joined #lisp 11:50:20 -!- mcsontos [mcsontos@nat/redhat/x-umiojogufvfcjpqq] has quit [Quit: Leaving] 11:53:51 alcuadrado [~alcuadrad@unaffiliated/alcuadrado] has joined #lisp 11:54:50 back already? 11:56:36 Yes, got back after 10 or so hours of travel yesterday 11:56:47 CPU time, not wall time 11:56:56 :-) 11:57:03 mcsontos [mcsontos@nat/redhat/x-niuxrmbzplejvfha] has joined #lisp 11:57:13 *p_l* managed to get his clock out of sync without crossing more than 1 timezone ... 11:58:18 hah 11:58:20 waking up (or to be exact, getting out of bed) at 4am was weird 11:58:39 i am so far fully in sync. i hope to remain so. i'm surprised how easy it's been. 11:58:58 pokes [~pp@poek.es] has joined #lisp 12:01:14 Xach: http://paste.lisp.org/display/125457 12:01:58 hi Xach 12:02:41 dlowe_lt: that's cool. What's the license of that? :-) 12:03:22 prxq: "If you want to actually use printf in common lisp you are too insane to be trifled with" license 12:04:08 hehe 12:04:38 I'm placing it under the wtfpl 12:05:39 dlowe_lt: what's this smug package? 12:05:48 *prxq* isn't typing "smug lisp" into google. 12:05:57 quickload smug then 12:05:57 it's missing the floating point printers :-( 12:06:17 This started out as playing with smug 12:06:36 Krystof: yeah. I wasn't intending for it to be a library or anything 12:06:39 -!- Davidbrcz_ [~david@ANantes-151-1-48-19.w83-195.abo.wanadoo.fr] has quit [Ping timeout: 248 seconds] 12:06:45 ok, "smug library" seems to produce something useful :-) 12:09:57 -!- nicdev [~user@c-76-24-21-219.hsd1.ma.comcast.net] has quit [Ping timeout: 252 seconds] 12:12:34 airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has joined #lisp 12:13:30 ramusara [~ramusara@220.156.210.236.user.e-catv.ne.jp] has joined #lisp 12:14:16 nyef [~nyef@c-174-63-105-188.hsd1.ma.comcast.net] has joined #lisp 12:14:22 G'morning all. 12:14:38 hi nyef 12:15:01 A 79% charge is a new definition of "laptop battery critically low" that I was previously unaware of. 12:15:09 naeg [~naeg@194.208.239.170] has joined #lisp 12:18:48 nyef: it can be if the battery total is very low 12:18:57 depending on how it's measured 12:19:32 Still got most of the design capacity. 12:19:44 According to /sys/class/power_supply/BAT0/uevent. 12:20:00 gravicappa [~gravicapp@80.90.116.82] has joined #lisp 12:20:27 benkard [~benkard@141.84.69.67] has joined #lisp 12:21:13 I think I'm going to just hope that it was a transient fault due to either bad ACPI firmware or broken userland daemon, or similar. 12:21:55 -!- kushal [kdas@fedora/kushal] has quit [Ping timeout: 258 seconds] 12:22:05 or due to the battery dying 12:22:51 ruediger: My point is that the battery ISN'T dying according to any of the measures I can read. 12:22:52 nyef: did it want to go hibernate immediately? 12:23:31 nyef: it's probably because of a bug somewhere, and the problem is that the kernel/acpi/whatever reports another battery, with 0% charge (well, it happened to me at least) 12:23:35 jdz: No, I configured it for suspend instead. But I apparently was faster than it was. 12:23:45 Hunh, Really? 12:24:12 I have a problem with it not recognizing the battery if the power cable isn't plugged in at startup, or something similarly stupid. 12:24:13 nyef: i had this additional battery pop up after suspend; then i added battery module to the list of modules to unload/load after suspend 12:24:32 Never had that one. 12:25:00 dlowe_lt: that is pretty neat 12:25:10 And it waited a good few minutes after resume to decide that it was low. 12:25:11 Kron [~Kron@129-97-120-238.uwaterloo.ca] has joined #lisp 12:25:35 -!- airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has quit [] 12:25:37 -!- Kron is now known as Guest52001 12:25:43 -!- Guest52001 is now known as Kron_ 12:26:17 -!- Athas [~athas@shop3.diku.dk] has quit [Remote host closed the connection] 12:26:21 -!- jemarch [~jco@gnu/pdf/jemarch] has left #lisp 12:26:31 Athas [~athas@shop3.diku.dk] has joined #lisp 12:26:34 nyef: i think at some point the battery was also not recognized if the cable was not plugged in when booting up 12:26:55 Mmm. If you plug the cable in, does it then recognize the battery? 12:27:23 now it's all pretty much ok again for me 12:27:34 but then, i'm on Arch linux 12:27:45 -!- troydm [~troydm@unaffiliated/troydm] has quit [Read error: Operation timed out] 12:27:55 kernel 3.0.7 12:27:56 Davidbrcz_ [~david@ANantes-151-1-48-19.w83-195.abo.wanadoo.fr] has joined #lisp 12:28:34 Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 12:28:37 -!- mathrick [~mathrick@83.1.168.198] has quit [Ping timeout: 258 seconds] 12:29:01 ... 3.0.7? 12:29:16 oh, there is 3.0.8 tarball on kernel.org, wonder if i get that one if i do system update... 12:29:18 I thought hte latest stable was 3.0.4? 12:29:22 xyxu [~xyxu@222.68.162.61] has joined #lisp 12:29:34 -!- ngz [~user@201.144.80.79.rev.sfr.net] has quit [Remote host closed the connection] 12:29:36 nyef: yeah, that's what on kernel.org frontpage 12:30:02 *nyef* has the feeling that he's about to be upset. 12:30:28 Ah, there's no changelog for 3.0.4, either. Lovely. 12:30:54 Guess I'll stick with 2.6.38.2 for a while longer. 12:31:09 mathrick [~mathrick@83.1.168.198] has joined #lisp 12:31:45 ngz [~user@201.144.80.79.rev.sfr.net] has joined #lisp 12:32:58 gffa [~gffa@unaffiliated/gffa] has joined #lisp 12:36:30 -!- dnjaramba [~dnjaramba@41.72.193.86] has quit [Remote host closed the connection] 12:36:50 dnjaramba [~dnjaramba@41.72.193.86] has joined #lisp 12:36:58 -!- waveman [~tim@124.170.43.134] has left #lisp 12:38:32 -!- mathrick [~mathrick@83.1.168.198] has quit [Remote host closed the connection] 12:39:53 mathrick [~mathrick@83.1.168.198] has joined #lisp 12:41:19 hi 12:41:47 is anyone using common qt? 12:42:29 -!- mishoo [~mishoo@86.124.148.84] has quit [Quit: (save-lisp-and-die)] 12:43:49 paul0 [~user@200.146.125.235.dynamic.adsl.gvt.net.br] has joined #lisp 12:44:00 -!- mathrick [~mathrick@83.1.168.198] has quit [Remote host closed the connection] 12:44:18 nikodemus [~nikodemus@cs181056239.pp.htv.fi] has joined #lisp 12:44:40 mathrick [~mathrick@83.1.168.198] has joined #lisp 12:45:02 nikodemus: hi 12:45:39 -!- mathrick [~mathrick@83.1.168.198] has quit [Remote host closed the connection] 12:46:13 -!- foom [~jknight@ita4fw1.itasoftware.com] has quit [Ping timeout: 245 seconds] 12:46:34 foom [~jknight@ita4fw1.itasoftware.com] has joined #lisp 12:47:11 -!- McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has quit [Ping timeout: 248 seconds] 12:48:04 mathrick [~mathrick@83.1.168.198] has joined #lisp 12:52:12 -!- todun [~todun@seasnet-58-02.seas.upenn.edu] has quit [Quit: :s] 12:53:40 millerti [~millerti@76-232-38-36.lightspeed.clmboh.sbcglobal.net] has joined #lisp 12:53:40 -!- bobbysmith0071 is now known as bobbysmith007 12:54:05 -!- karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has quit [Excess Flood] 12:54:08 mishoo [~mishoo@86.124.148.84] has joined #lisp 12:56:01 karswell [~coat@93-97-29-243.zone5.bethere.co.uk] has joined #lisp 12:56:06 There don't seem to be any rules against asking controversial questions or meta questions. I've read lots of Paul Graham's stuff. I've written a bit of code in Common Lisp. I've even written my own Lisp/Scheme subset interpreter and therefore spent quite a lot of time tinkering with it. I think it's way cool that you can represent both data and code in the same syntax (after all, what's the difference?). 12:56:09 krl [~krl@rymdkoloni.se] has joined #lisp 12:56:47 -!- benkard [~benkard@141.84.69.67] has quit [Ping timeout: 248 seconds] 12:57:03 *nyef* sees a bunch of statements, and a rhetorical, parenthetical question. 12:57:25 But on a practical level, I just find Lisp cumbersome to work with. Common Lisp is designed by committee, and unwieldy, so let's talk about Scheme, a more "pure" language. It's still a pain to work with. And I don't just mean losing track of parens, which is certainly a problem. 12:57:39 Okay, now you're just trolling. 12:57:43 Go away. 12:57:51 millerti: this still is not a question. we like common lisp. if you don't, go somewhere else. 12:57:55 But in general, it just seems like a syntax that doesn't lend itself to efficient coding. 12:57:57 -!- Kenjin [~josesanto@193.136.207.78] has quit [Quit: Computer has gone to sleep] 12:57:57 So here's my question: 12:58:15 What makes other people more productive in it than those who don't like it? 12:58:37 Ask Norman Vincent Peale. 12:58:55 Don't get so defensive. You're used to Lisp haters who just don't get it. I think I'm on the cusp of "getting it". 12:59:01 millerti: some people like common lisp, others like c. it's like that. 12:59:32 millerti: you have made it clear that you don't like lisp and you spent enough time, you say, to be able to judge. why would we want to convince you? 12:59:32 (I was at least half serious about asking Peale.) 12:59:42 millerti: a helluva of other stuff that isn't really related to syntax. And I'd like to point that the committee didn't design it - it was more like picking and choosing a common ground of few languages already used in production environment, which of course left it with warts 12:59:47 Yeah, but I see the beauty of it. The basic idea of lisp is really neat. Have I just not spent enough time on it? 13:00:09 benkard [~benkard@141.84.69.67] has joined #lisp 13:00:23 millerti: the biggest advantage that I see is that of _uniform_ syntax, and therefore simple extensibility. 13:00:33 millerti: possible, but maybe you are trying to do things that are not particularly easy in lisp. or maybe you have a mindset that is not "lispy". how can we know? 13:00:33 I'm here to have a friendly discussion. Honestly, I'm not trying to be inflammatory. I'm looking to have an intellectual discussion with people who get this better than I do. So I can LEARN something. If I wanted to talk to Lisp haters, I'd go to a Java channel. 13:00:42 bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has joined #lisp 13:00:43 -!- mishoo [~mishoo@86.124.148.84] has quit [Quit: (save-lisp-and-die)] 13:00:45 -!- bombshelter13b [~bombshelt@76-10-149-209.dsl.teksavvy.com] has quit [Client Quit] 13:00:47 millerti: maybe it just didn't click with you. I know that my old attempts at lisp were really disappointing, till I tried Haskell, a little of Erlang, and then went through PCL 13:01:09 The macro facility is especially powerful. 13:01:16 Eg. if you define a class, you get an accessor method ... if you split the field to another class (eg. because of normalization), you just have to provide a compatible accessor method for the old class, and change _none_ of the other code. 13:01:27 millerti: forth is powerful, too. yet few people use it. 13:01:42 todun [~todun@SEAS362.wlan.seas.upenn.edu] has joined #lisp 13:01:43 now, what I see as the biggest increase in productivity for me *personally*, is CLOS (which took Haskell typeclasses to get...) and SLIME, and maybe a little bit of macros. Very little 13:01:43 I've written more than one forth interpreter too. :) 13:01:55 and macros, symbol-macros etc. point in that direction, too. 13:01:55 Forth is really good for embedded stuff. Very compact code. 13:02:19 millerti: CLOS became even better for me after I learned the idea of protocol-oriented design 13:02:26 p_l: that is an interesting point about clicking after something else 13:02:49 p_l: in a non-computer context, i had difficulty ice-skating until after i had tried skiing... 13:02:50 When I wrote my lisp (lower case) interpreter, I combined macros and functions. If you 'quoted a parameter, it would come in as an unevaluated argument. I could do cool stuff with that. 13:02:52 what you say "by committee" means that a lot of good, practically proved ideas were combined ... which is much more than can be said by a lot of new languages 13:03:02 ihmo SLIME is the secret weapon, I've found nothing close to it. (maybe java + eclipse but java is  java) 13:03:57 and one of the latest examples of how CL beats everything so far for me, is hu.dwim.perec. I was looking into how certain things were done, and found out that there's a simple protocol hidden in the SQL layer that allows me to expand the query compiler without editing perec's source code, by simply adding new methods 13:04:25 Some of the syntax doesn't seem very "purely" lisp like. IIRC, there was some loop code in this one program that I could not make sense of. I think they were doing some syntactic sugar thing with a macro, but I couldn't find it documented anywhere. 13:04:33 (Vague, I know. It's been several years.) 13:04:33 of course, there is stuff I'd take different language as part of the solution (like Erlang for certain kind of services, C etc.) 13:04:36 flip214: sys 0 13:05:04 millerti: LOOP can be unwieldy, true, though I found it much more readable when using keywords instead of plain symbols 13:05:09 and well, CLHS is my friend 13:05:50 I tried to learn Haskell. Some of the concepts totally went over my head. I never had that problem with Lisp. Sure, there was some code I couldn't read, but the language seems more straightforward. 13:06:09 coderdad [~coderdad@wsip-70-164-198-85.ok.ok.cox.net] has joined #lisp 13:06:16 mishoo [~mishoo@86.124.148.84] has joined #lisp 13:07:15 millerti: are you now arguing for or against lisp ? ;) 13:07:22 A classmate of mine is working on a paper that explores functional verification of functional languages (two different uses of 'functional'). He found a mathematical loophole where memoization and other assumptions break down when you include abstract data types like sets. 13:07:28 I'm not arguing. :) 13:07:52 Honestly, I just wanted to get some Lisp experts to talk to me. 13:08:07 well, it seems you're doing most of the talk ;) 13:08:23 I'm not asking the right questions. Although I have seem a lot of interesting responses. 13:08:23 millerti: Regarding something "clicking"... I have to say that I suspect my interest in retrocomputing has helped me greatly in learning different languages that don't fit the mold 13:09:02 basically, a computer version of the old proverb about learning history :) 13:09:03 Oh, and while I have found a good Common Lisp compiler, I have had some difficulty finding a good Scheme compiler. Does Scheme have OOP extensions like CLOS? 13:09:21 millerti: implementation-dependant, though TinyCLOS is quite... common? :P 13:09:39 millerti: to me, common lisp is the language that i enjoy working in most. it is expressive, it has great tools, it has a long history with several good books to read, and it is very meta underneath so whenever i want to go wild, i can do it inside of the language. 13:09:44 I think you could add them ... but why not taking CL? If you end up adding so much to Scheme, it'll be as big as Lisp anyway. 13:10:00 In my interpreter, I managed to nearly get closures and continuations working... 13:10:11 flip214: which is very soon to be the joke on R7RS-large, which they admitted themselves 13:10:17 I'd read that they were the same thing in Scheme, so I tried to reinvent it. 13:10:49 Oh, ok, so some of the appeal of Lisp is the vast array of libraries. Makes sense, although plenty of other languages have that. 13:10:57 -!- ramkrsna [~ramkrsna@unaffiliated/ramkrsna] has quit [Remote host closed the connection] 13:11:02 -!- fmeyer [~fmeyer@189-38-236-217.static-corp.ajato.com.br] has quit [Quit: Lost terminal] 13:11:06 I suspect the introspection helps. 13:11:23 -!- ngz [~user@201.144.80.79.rev.sfr.net] has quit [Ping timeout: 256 seconds] 13:11:32 millerti: it definitely allows for some ... creative structuring 13:11:53 i have a string which i suspect to be parseable as a number (though i may be wrong, a regexp can definately help out), what would be the functions i should look at in the hyperspec to parse the number? it may be any sort of number for all i care... 13:12:09 madnificent: look at parse-number 13:12:18 millerti: and with quicklisp another obstacle for CL has been removed ... now we have something like CPAN 13:12:23 madnificent: there is no generic number reading function in common lisp itself 13:12:34 does that exist? i thought only parse-integer existed 13:12:45 madnificent: it exists as a library 13:12:49 oh, a library, ok 13:12:50 tahnks 13:12:52 You know what might have helped me when I was first trying to learn Lisp? Asking questions in this channel. I tried googling (it may have actually been Alta Vista at the time) for some of the syntax I found, but I got nowhere. 13:12:54 thanks H4ns 13:14:03 Oh, so with quicklisp, you can easily download libraries? Also like Rubygems? 13:14:18 millerti: much the same, yes.. works really nice 13:14:20 millerti: the first version of "object oriented design with applications" by grady booch convinced me that lisp must be the greatest languages of all. sadly, it was unreachable for me back in the day. 13:14:32 Sweet. 13:14:57 millerti: yes, it definitely makes things easier 13:15:20 millerti: though for some reason it feels more natural. i guess because you can all do it from a running image (you don't need to move to a terminal) 13:15:34 nurv101 [~nurv101@2001:690:2100:2:4687:fcff:fe91:9c05] has joined #lisp 13:15:40 also helps if you aren't against Emacs, cause SLIME IMHO still reigns supreme, though ACL and LW have some extra stuff (they aren't as nice for simply writing the code, IMHO) 13:15:58 -!- juniorroy [~dima@212.36.228.103] has quit [Ping timeout: 258 seconds] 13:16:20 I'm getting the impression that although Lisp has some really cool language features, when it comes to practical programming, it's very much like other mature languages: There is a library for what you want. Find it and use it. You will accomplish what you want in a line of code. Sometimes you actually use a unique feature of the language like introspection or some funky macro magic. Aside from losing track of the parens, 13:16:21 have the basic syntax down (who doesn't?), so it's a matter of learning the libraries. Yes/No? 13:16:24 well, vim people are supported nowadays, too 13:16:33 And, unlike so many other languages this flexible, you can COMPILE Lisp. 13:16:47 millerti: only, when the library doesn't exist yet, it's a blast to write 13:16:59 p_l: recently, i was slightly drawn to the acl ide just because of the fact that it is written in clos. it is totally cool to be able to modify the development environment in the same language that you're using for application programming, and it is a real shame that we don't have a capable emacs written in common lisp. 13:17:00 millerti: yep. But certain things make it also easier to write the code 13:17:09 H4ns: true 13:17:38 though I'd go towards modifying the emacs a little, changing buffers from text to a tree of objects (which could be text) 13:17:47 With Lisp, it seems that people prefer to recurse rather than loop, if they can help it (hence the tail recursion optimizations). That's another thing that I have to get used to. Not that I don't know recursion, but there are so many problems I've never framed that way. 13:17:59 millerti: not true at all. 13:18:00 millerti: that's more in Scheme 13:18:15 I would expect most of you would be using Emacs. :) 13:18:34 millerti: maybe, no. lisp has so many features that aren't readily available, that learning the language isn't 'just' learning the language. you can keep learning the langauge. and once you've done learning all that, you can keep extending it. i think it does differ to some extent to other languages, though the distinction is obviously vague at best. 13:18:46 -!- lain_ [~lain@p5795AAB8.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 13:18:55 We simply call mapping functions, or DOLIST, sometimes DO, often LOOP, and sometimes ITERATE (a library) or one of other "LOOP replacements" 13:19:08 millerti: feel free to use LOOP or ITERATE or things like DOLIST, DO, ... 13:19:21 -!- doritos [~joshua@c-76-118-155-244.hsd1.ct.comcast.net] has quit [Ping timeout: 260 seconds] 13:19:32 Feel free to avoid DO like the plague. 13:19:56 millerti: common lisp does not mandate tail call optimization, so tail recursion is not the predominant style and can also be inefficient. 13:20:24 usually if you see tailcalls, it will be with hand-written optimization 13:20:29 Well, I guess I'm thinking about the "academic" way that the fundamentals of lisp are taught. This one course had us write a Lisp interpreter (the one I mentioned). Well, this one friend and I were already familiar with it, so we just spend our time competing with each other on execution speed. When I switched mine over to using lazy garbage collection, he couldn't come close. Oh, sorry. I'm bragging. :) Anyhow, my point 13:20:29 that they favor recursion in how it's taught. 13:21:04 millerti: "they" are not the population of this channel, and "they" seem not to know common lisp well. 13:21:12 millerti: unfortunately, many an academic course is kinda weird on CL, like they'd prefer to do Scheme 13:21:17 -!- gienah [~mwright@ppp121-44-94-226.lns20.syd6.internode.on.net] has quit [Quit: leaving] 13:21:18 No LISP 1.4 or something. 13:21:34 millerti: but i agree, from what is taught in universities, it is easy to dismiss lisp as academic toy language. 13:21:38 So this represents a bias to my experience. 13:22:24 -!- gensym [~user@dslb-088-071-149-049.pools.arcor-ip.net] has quit [Ping timeout: 240 seconds] 13:22:46 yeah. Just grab PCL (http://gigamonkeys.com/book), maybe Land of Lisp, play around. It can be useful to go through PCL from scratch even if you know some lisp before, IMHO 13:22:56 then PAIP for some advanced stuff 13:23:11 and then let over lambda 13:23:17 I have thought that a lisp-like language would be great as a hardware description language, but I'd have to switch from functions to relations multiple return values. 13:23:48 millerti: at least one company is doing FPGA design in CL 13:23:50 lain_ [~lain@p5795A81D.dip.t-dialin.net] has joined #lisp 13:23:56 I have several Lisp books on the shelf already. They're old, but still worth reading. I should start on those. 13:24:37 from older ones, Gentle Introduction to Symbolic Computation is good, PAIP also isn't a new one 13:24:48 p_l: I presume they're using a very restrictive subset of CL and then converting it to Verilog or VHDL? 13:25:07 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 13:25:26 Anyhow, I've learned from you guys more than you probably expected from someone who first appeared to be trolling. 13:25:29 millerti: no, they have their own DSL that generates VHDL and is used from within CL 13:25:39 kushal [~kdas@fedora/kushal] has joined #lisp 13:25:53 millerti: these days trolls are so bad that sometimes it can be hard to recognize a markov bot from one 13:25:56 srsly 13:26:30 Yeah. Well, I'm neither. :) 13:27:08 -!- blackwol` is now known as blackwolf 13:27:11 Which of many possible things did you mean by "DSL"? 13:27:20 To me, that's related to decision support. 13:27:24 Domain-Specific Language 13:27:27 Ah. 13:27:59 Oh, so they have basically a set of functions and/or macros in CL that generate VHDL? 13:28:06 dsl in lisp often is just a nice word for some macros that generate stuff from s-expressions. 13:28:22 millerti: yes. And then they can use all the power of CL in generating that code 13:28:33 millerti: right, that's what it seems to be like, judging from the presentation that i saw. 13:28:40 it's a quite common method of dealing with stuff that doesn't run lisp 13:28:46 I use Verilog for all of my chip design. But it has certain limitations that I run into sometimes that VHDL doesn't have. Rather than deal with VHDL's overly verbose syntax, I just write C or Ruby code to emit the Verilog I need. :) 13:28:53 H4ns: it is just that (had seen bits of code...) 13:28:59 p_l: cool, they could combine it with ACL2 to verify their implementations. Afair AMD used ACL2 to proof the correctness of their fpu implementation. 13:29:06 juniorroy [~dima@212.36.228.103] has joined #lisp 13:29:15 ruediger: which FPU? 13:29:45 cause I don't know when they changed Alpha's FPU in K8 to something else 13:29:51 I've heard of ACL2. Some of my friends research in that area. 13:29:52 I remember reading the paper about using ACL2 to verify that floaty division works properly on some CPU or other... 13:30:07 i don't remember. But it was a while ago. 13:30:17 Kenjin [~josesanto@193.136.206.214] has joined #lisp 13:30:26 I heard that K8 had quite a lot of parts literally from EV7 13:30:33 p_l: oh, it's on Wikipedia http://en.wikipedia.org/wiki/ACL2#Proofs 13:30:37 -!- _danb_ [~user@124-149-162-79.dyn.iinet.net.au] has quit [Ping timeout: 252 seconds] 13:30:45 the K5 floating point division 13:30:46 ah, K5 13:30:53 the pentium bug was infamous 13:31:05 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.3309 13:31:27 from what I heard, K8 started its life literally as EV7, so... 13:31:49 apparently the changelog had at one point stated "dropping support for VAX float formats" 13:31:58 p_l: yeah, How many Pentium designers does it take to screw in a light bulb? 1.99904274017, but that's close enough for non-technical people. 13:32:04 lol 13:32:06 I'm sad that AMD isn't keeping up with Intel on peak performance. Bulldozer does NOT have a shared FPU (for most things). I has a split FPU that only acts as a single FPU when you're executing 256-bit AVX instructions. That's completely sensible. The problems with Bulldozer are (a) instruction window and (b) fetch/issue/retire width. 13:32:19 At Intel, Quality is Job 0.99989960954 13:32:51 http://www.netjeff.com/humor/item.cgi?file=PentiumJokes 13:32:54 I read about the Pentium bug. Someone thought they found a clever way to reduce the area. They made a mistake in their redesign. It was a simple, albeit costly, design error. 13:33:36 millerti: till Intel finally deployed QPI, they still won in anything big 13:34:15 millerti: according to Wikipedia it was a mistake in a LUT they were using 13:34:18 millerti: for a new architecture, i like the performance amd got out of it. remember how they had te struggle with the phenoms? now those were issues, and yet they survived. in comparison to that, the bulldozer architecture seems to perform briliantly (for a first edition). i'm eagerly looking forward to the performance when more cores are thrown in the box. 13:34:24 AMD lead Intel on things like on-die memory controller. This helped because today, the main performance bottleneck is last-level cache miss latency. Intel now has both on-die controllers AND they massively increased the instruction window to absorb more of the latency. 13:34:39 certain not exactly legal plays, and the fact that AMD still didn't kill custom BIOS makers by providing free of charge near-complete set (they do that now for coreboot, yeah!) 13:34:48 stop AMD from getting better, IMHO 13:35:36 the rarely known thing that quite heavily hit (and probably still hits) AMD on laptops is the incompetence of PC BIOS creators 13:35:48 One Sun engineer, talking about Rock, described execution on a modern CPU as a race between cache miss stalls. 13:36:05 I wonder how long my old laptop could have worked on battery if the BIOS wasn't fucked up 13:36:38 it still pulled 3h with only basics of power efficiency enabled 13:36:43 ACPI seems like a good idea, in the abstract, but it's usually buggy, and there are limitations. For instance, you can't have more than 16 DVFS states. 13:36:50 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [Read error: Connection reset by peer] 13:37:08 Euthydemus [~euthydemu@unaffiliated/euthydemus] has joined #lisp 13:37:44 Sorry for the rambling. Computer architecture is my research area. :) 13:38:55 millerti: it's my... fun area, let's say. As for ACPI... a big problem is that most of the manufacturers simply didn't know what to do with a CPU that had x86 bolted on and originally hailed from RISC servers, with NUMA and all :> 13:39:58 -!- gko [~gko@42-72-135-135.dynamic-ip.hinet.net] has quit [Read error: Connection reset by peer] 13:39:59 nicdev_ [~user@static-72-74-85-37.bstnma.fios.verizon.net] has joined #lisp 13:40:05 Yeah. I remember in the 90's how we used to wail on x86 processors for their outdated architecture. Now, they ISA has become irrelevant due to the translation front-end that is a small portion of the area (except on Atom, where it's significant). 13:40:24 Well, we wailed on them in the 80's too. :) 13:40:33 -!- heow [~heow@colo-69-31-43-106.pilosoft.com] has left #lisp 13:41:00 millerti: it's still bloody annoying, and keeps certain really old stuff hampering progress... 13:41:21 oh well, this is getting waaay OT 13:41:22 64-bit mode has shed some of the cruft. 13:41:36 Yeah its' way OT. Is that a problem for anyone? Let me know, and i'll shut up. :) 13:41:45 OT, but interesting! 13:42:23 millerti: usually. 13:42:32 I read a paper a while back that explored some of the optimization limitations of the ISA abstraction. If you could optimize at the micro-op level, you could get a notable performance increase. 13:42:50 gko [~gko@42-72-135-135.dynamic-ip.hinet.net] has joined #lisp 13:42:51 Krystof: key signed and sent to mit. (not sure what other keyservers to which i should send) 13:43:09 Sadly, exposing the low-level ISA has been fraught with problems, as per Transmeta. 13:43:20 millerti: or K5 13:43:35 tsuru [~charlie@adsl-74-179-19-82.bna.bellsouth.net] has joined #lisp 13:43:37 K5? It didn't expose the microops. 13:44:14 Xach: I'm too interested in this to take a subtle hint. Please be more explicit. :) 13:44:42 \o/ finally my business card has been useful! 13:44:43 Anyone who wants to continue this, please join #openhardware 13:44:57 millerti: it didn't use micro-ops, it had a full RISC processor with a translator slapped in the front, and there was barely-known mode that disabled the translator 13:45:12 (K6 was based on stuff from Cyrix, iirc) 13:45:14 is it time to talk about Multi-User Dungeons yet? 13:45:19 p_l: That's what I mean by microops The translation front-end converts to microops. 13:45:28 And those are RISC instructions executed by the backend. 13:45:45 Oh, and I didn't read the second part of what you wrote.... 13:45:57 millerti: yes, but most modern cpus have micro-ops designed to help with the ISA. K5 had a complete cpu that got a translator :) 13:45:58 FurryMUCK FTW! :) 13:46:10 p_l: I see. 13:46:58 Remember the days when people tried to design processors that were optimized for Lisp? 13:47:16 it was AMD 29000, iirc, which actually evolved from the 4bit bit-slices used for example in KS10 13:47:39 (KS10 being one of the cpus Maclisp ran on, btw) 13:47:56 I wonder what would be required of such a design. It might be interesting to slap one together for FPGA. 13:48:03 millerti: for the optimization, there are some that do so for Java 13:48:13 Yeah, Jazelle on ARM. 13:48:19 millerti: Please find some lisp angle or chat about it somewhere else, or privately. 13:48:30 It implements some of the byte code in a translation front-end. 13:48:33 millerti: no, I mean complete cpus that do similar stuff for java as lispm 13:48:37 not Jazelle 13:48:42 p_l: How about we go to #openhardware? 13:48:43 but it's not the place for it 13:48:45 i was curious a while ago about what the limitations of current lisp implementations are when it comes to writing low-level drivers, OS kernels, etc. 13:48:46 ok 13:49:21 j_king: check out movitz for an example of a kernel in lisp 13:49:35 kruhft: thanks, will do 13:49:38 j_king: http://common-lisp.net/project/movitz/ 13:49:41 ,movitz 13:49:46 j_king: I'd say you'd need some level of assembly runtime (which can be defined in lisp), to handle some small parts 13:50:12 -!- benkard [~benkard@141.84.69.67] has quit [Quit: benkard] 13:50:36 j_king: I would expect that you'd have to place restrictions on what the compiler can emit. For instance, do most lisp vm's do garbage collection? Couldn't do that in a kernel. You'd have to free objects (what do you call those things with a car and cdr in lisp?) as soon as their refcount became zero. 13:50:36 hmm, no fsbot 13:50:58 millerti: you need the runtime of course 13:51:47 millerti: the amount of stuff that requires non-lispy code is quite small, it seems 13:51:59 you can gc in a kernel. Why not? 13:52:04 If you really narrowed down LISP to just the basics you need for a kernel, you could have a really trivial runtime. 13:52:05 again, movitz is an existence proof 13:52:14 Krystof: It's a latency problem. 13:52:24 oh, well, it's a latency problem 13:52:26 You need predictable latency in a kernel. 13:52:30 do I? 13:52:36 Yeah. :) 13:52:53 millerti: Genera managed to run with ethernet driver... interpreted. Because the client forgot to COMPILE it 13:53:12 p_l: lol 13:53:16 why are you intruding on this discussion of my needs with facts? 13:53:19 p_l: that's amazing 13:53:24 Yes, but did they do lazy garbage collection? 13:53:40 i just got thinking about it after reading some history papers on Lisp and how the first system was bootstrapped when someone figured out eval could be written in machine code. 13:53:46 millerti: I think they had stop-the-world GC with some hw support 13:53:48 millerti: you could deactivate the gc in critical code pathes. 13:53:57 yes of course they did 13:54:32 except that that's impossible because they all need predictable latency too 13:55:08 Well, per my experience with on-demand vs. lazy gc, lazy gc has serious performance advantages, but it's punctuated with stalls due to the gc running. Those stalls would be terrible in a kernel. Anything needing to access the kernel would stall. 13:55:33 millerti: why not use concurrent GC then? :) 13:56:06 Depends on (a) whether or not you have multiple processors, and (b) if you want to go through the mutex hell of making it safe. 13:56:06 i was thinking you could do it using a restricted subset of lisp for the kernel with primitives for managing memory, tables, etc. 13:56:27 Or you can do it like Inferno - it uses small kernel + some drivers, writtten in C (based on Plan9's) and the vm and JIT are included in it. The rest of the world run in VM 13:56:48 Honestly, freeing s-expressions (is that what they're called?) on demand isn't' hard. In fact, it's EASIER. It was a pain to implement lazy gc. 13:56:52 millerti: Inferno's GC only needs one barrier done with single CAS operation 13:57:07 if i actually wanted to mess around with a lisp os, i'd probably bootstrap it using OSKit or something until i could figure out the low-level stuff. 13:57:23 Yeah, any barrier is going to cause unpredictable latency. What happens when a hardware interrupt comes in and you can't service it because you're in gc? No! 13:57:47 ... if I wanted to mess around with a lisp OS, I'd hack SBCL to spit out a core that could be loaded and run on "bare metal". 13:58:02 no way that could possibly happen 13:58:09 it doesn't have bounded latency 13:58:41 millerti: not a problem - the barrier is only for syncing GC's data structs, and your code can finish handling the interrupt before calling it 13:58:54 -!- coderdad [~coderdad@wsip-70-164-198-85.ok.ok.cox.net] has quit [Quit: Computer has gone to sleep.] 13:59:03 also, you can write the code not to cons... :) 13:59:57 Maybe you could do it with multiple gc pools. But why bother? Why do you need lazy gc? I think a kernel in LISP is an awesome idea. You just need to think differently about how gc works. 13:59:57 seriously, it's doable, but might be not obvious 14:00:14 and yes, nyef did have SBCL-OS :) 14:00:24 millerti: no you don't 14:00:49 I'm thinking slightly microkernel, you especially need a userspace process to JIT compile drivers. 14:01:27 -!- Davidbrcz_ [~david@ANantes-151-1-48-19.w83-195.abo.wanadoo.fr] has quit [Read error: Operation timed out] 14:01:31 look, no-one will stop you from writing your own Lisp kernel. Please, be our guest, go off and do it 14:01:52 But just imagine how flexible this would be. 14:01:57 Hey, I didn't bring it up. :) 14:02:00 It's an enormous waste of time, but probably educational. 14:02:22 Joreji [~thomas@vpn-eu1.unidsl.de] has joined #lisp 14:02:23 telling people who have already written their own Lisp kernels that their approach was not possible is much less productive 14:02:29 Using refcounts instead of gc is slightly slower, but it's more predictable. 14:02:44 refcounts predictable? since when? 14:02:46 millerti: If only it ... worked. 14:02:51 It worked for me... 14:02:56 But I implemented a subset of Lisp. 14:02:59 Krystof: little use arguing. he's a troll been banned on multiple other channels 14:03:03 Not if you had any cyclic data structures. 14:03:05 Who, me? 14:03:08 oGMo: yeah, it figures 14:03:15 I've not been banned from any channels. 14:03:16 i thought here, was surprised to see the nick 14:03:33 I like the artistry of raising refcounting as a sensible strategy 14:04:23 When does refcount fail as a strategy? Circular references? Sure. 14:04:23 millerti: i think you've used up your time monopolizing the channel. may i suggest that you take a little nap? 14:04:33 Having been bit by a cyclic structure bug in a refcounted environment within the past fortnight, I can say that refcounting is still as much of a joke as ever it was. 14:04:33 Yeah, alright. I'll go. 14:04:46 millerti: that's not what i suggested. 14:04:52 Lurk? 14:04:57 Think. 14:05:15 millerti: you've woken up our dogs. 14:05:47 Or do some work. :) Anyhow, before I shut up, I wanted to thank everyone for some very enlightening discussions on Lisp and other topics. I learned quite a lot about Lisp just from answers to a few questions. 14:06:25 millerti: you don't even have to have a cyclic structure for refcounting to be unpredictable 14:06:37 you'd think chanserv would be able to give a ban list for a particular user 14:07:16 millerti: you never know how many refs you'll have to traverse in a nested structure 14:08:17 askatasuna [~askatasun@190.176.238.68] has joined #lisp 14:08:59 ngz [~user@201.144.80.79.rev.sfr.net] has joined #lisp 14:09:01 -!- Athas [~athas@shop3.diku.dk] has quit [Read error: Connection reset by peer] 14:09:12 am0c [~am0c@222.235.56.83] has joined #lisp 14:09:21 Athas [~athas@shop3.diku.dk] has joined #lisp 14:10:01 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.6] 14:10:59 -!- df [~df@163.8.187.81.in-addr.arpa] has quit [Read error: Operation timed out] 14:11:01 -!- Joreji [~thomas@vpn-eu1.unidsl.de] has quit [Ping timeout: 240 seconds] 14:11:10 df [~df@163.8.187.81.in-addr.arpa] has joined #lisp 14:12:25 ISF [~ivan@143.106.196.27] has joined #lisp 14:17:23 Davidbrcz_ [~david@ANantes-151-1-36-23.w83-195.abo.wanadoo.fr] has joined #lisp 14:17:33 dl [~download@chpcwl01.hpc.unm.edu] has joined #lisp 14:17:50 coderdad [~coderdad@wsip-70-164-198-85.ok.ok.cox.net] has joined #lisp 14:20:16 tritchey [~tritchey@12.207.196.2] has joined #lisp 14:22:38 Krystof: we found our fries, and it was also a productive lisp meeting 14:23:24 pnathan [~Adium@76.178.165.160] has joined #lisp 14:24:47 McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has joined #lisp 14:28:33 cesarbp [~cbolano@189.227.222.126] has joined #lisp 14:29:56 -!- MoALTz [~no@host-92-18-28-52.as13285.net] has quit [Read error: Connection reset by peer] 14:30:26 MoALTz [~no@host-92-18-28-52.as13285.net] has joined #lisp 14:34:16 -!- todun [~todun@SEAS362.wlan.seas.upenn.edu] has quit [Quit: :q] 14:37:23 *madnificent* sees SBCL-OS mentioned and cheers for it once again. 14:37:49 Heh. No, I'm not planning on picking SBCL-OS up again any time soon. 14:37:51 jewel [~jewel@196-210-187-81.dynamic.isadsl.co.za] has joined #lisp 14:38:54 p_l: also, that remark on genera (networking/compilation) belongs in a list of cool trivia somewhere 14:39:22 madnificent: it's part of Symbolics cool stories compilation 14:39:44 it was given to some museum, i think, by former Genera employees 14:40:09 madnificent: they were debugging why the hell the network I/O was slow on some client's MacIvory... 14:40:12 -!- askatasuna [~askatasun@190.176.238.68] has quit [Quit: WeeChat 0.3.6] 14:40:15 nyef: i can only hope you change your mind. though i think it's little more than i fun side-project, it could actually turn out to be a fun project for more than you if a sufficient set of basics have been implemented. though not to the extent of Haiku, at least somewhat in the direction of something easily bootable and extendable. i'd like to take a stab at writing a filesystem if i even find the time for it. 14:40:50 p_l: awesome :D is that compilation available online somewhere? 14:41:13 madnificent: The main thing it needs in that direction is a good story about paged memory management when the device drivers are part of the core file, which is part of the paged memory space. 14:42:41 madnificent: yes, I don't remember where I lost it 14:42:57 Xach: I enjoyed it! (I'd missed the last one in Hamburg, so it'd been a while since seeing that slightly more "enthusiast" portion of lispers) 14:43:54 I hope to manage the next one on my own funds :) 14:45:05 -!- ngz [~user@201.144.80.79.rev.sfr.net] has quit [Remote host closed the connection] 14:45:13 I still need to load photos from my phone to net (not a lot of them - I have old and buggy one) and do a writeup 14:45:19 *madnificent* hopes to figure out funds to go to one of the lisp conventions as well, someday, sometime :) 14:45:36 p_l: i'll search for them sometime in the near future :) 14:46:20 troydm [~troydm@unaffiliated/troydm] has joined #lisp 14:46:21 Krystof: oh, i mean the 2am fry trek was a productive meeting. nikodemus discussed some ideas to pursue for cabal maintenance of useful but orphaned projects. 14:46:43 ppl i have sbcl running with swank on server 14:46:52 and i have emacs on my local machine with slime 14:46:56 nyef: you've lost me, i should look at some os books before wasting your time with my jibberish 14:47:04 so when i do ssh -L 4005:localhost:4005 server 14:47:06 oh, your little private get-together where all the important decisions were ade? :-) 14:47:09 i have a tunnel opened to server 14:47:23 but the strange thing is i can't connect to it using slime 14:47:27 Xach: heh 14:47:36 it prints connecting ... and does nothing 14:47:41 I quite wanted some ... we call them "chips" ... too, but I couldn't justify being awake any more 14:47:47 -!- MrMc [~user@91-65-142-36-dynip.superkabel.de] has quit [Ping timeout: 276 seconds] 14:48:18 madnificent: It's a fairly basic thing. If your lisp code is in paged memory, and your device drivers are in lisp code, how do you keep your device drivers from paging out, especially the device drivers required to page stuff back in? 14:48:39 Krystof: I have a photo of you and luke struggling to justify it. 14:48:59 I was trying to convince him not to trust his tricorder's view of geography 14:49:33 nyef: oh, indeed, simpler as i assumed. yes indeed, you'll need to have some sort of special memory management. 14:50:15 nyef: though... aren't those things you can try to ignore in the start? i mean, it seems like something that can be sorted out later, assuming the right basic constructs are provided early on (but not implemented yet). 14:51:04 Xach: 404 for the picture that you tweeted 14:51:10 nyef: create nonpaged zone 14:51:12 madnificent: you could just begin without paging. 14:51:35 madnificent: i'd think that not paging is good, anyway. 14:52:17 askatasuna [~askatasun@190.176.238.68] has joined #lisp 14:52:32 H4ns: i un-tweeted it. it looked acceptable on my phone but too blurry on my computer. 14:55:32 SegFaultAX [~SegFaultA@c-98-248-241-85.hsd1.ca.comcast.net] has joined #lisp 14:55:35 -!- jewel [~jewel@196-210-187-81.dynamic.isadsl.co.za] has quit [Ping timeout: 260 seconds] 14:56:40 H4ns: it's over my head to be honoust. i have no clue about sbcl's internals so far and i certainly don't expect me to gain insights on it in the next year or so. 14:57:12 p_l: Yes, a nonpaged zone. Now, how do you control which objects go into it during genesis? 14:57:55 madnificent: my point has nothing to do with sbcl internals. nyef's concern is that there would be paged memory and that some code must not be paged (i.e. the pager itself and the device driver that it uses). my suggestion was to use only real memory and save virtual memory for "later" (never) 14:58:26 ikki [~ikki@201.155.92.12] has joined #lisp 14:58:33 -!- realitygrill [~realitygr@76.226.210.74] has quit [Quit: realitygrill] 14:58:34 Which doesn't help if your core size exceeds your physical memory, which was the case for me at the time. 14:58:50 Younder [~john@49.157.202.84.customer.cdi.no] has joined #lisp 14:59:23 nyef: i know. it is sad to see a good project die because of hardware unavailability. 14:59:33 todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has joined #lisp 14:59:46 Oh, like SBCL on most non-x86 platforms? 15:00:07 which reminds me of luke's story how they estimated the memory requirement for their software by three orders of magnitude too large :) 15:00:35 Better to estimate too large than too small most of the time. 15:00:59 ngz [~user@201.144.80.79.rev.sfr.net] has joined #lisp 15:01:02 nyef: right. because memory is so cheap nowadays, you can buy 96 gigs and then only use 100 mb of that. 15:01:18 nyef: people will laugh at you, but just a tiny little bit and then feel _very_ safe. 15:02:13 Athas` [~athas@shop3.diku.dk] has joined #lisp 15:02:16 benkard [~benkard@emasq.stusta.mhn.de] has joined #lisp 15:02:19 -!- Athas [~athas@shop3.diku.dk] has quit [Read error: Connection reset by peer] 15:03:03 iwillig [~ivan@dyn-128-59-151-161.dyn.columbia.edu] has joined #lisp 15:05:04 -!- nikodemus [~nikodemus@cs181056239.pp.htv.fi] has quit [Quit: This computer has gone to sleep] 15:05:07 -!- Athas` [~athas@shop3.diku.dk] has quit [Remote host closed the connection] 15:05:08 -!- alcuadrado [~alcuadrad@unaffiliated/alcuadrado] has left #lisp 15:06:24 i know it is really off-topic and nobody is listening, but then: virtual memory is from a time when one could often barely afford a computer with 16 mb of real ram, but really really wanted to supply, say, 100 people with a computer that they could use. implementing demand paged virtual memory in a new system is cargo culting technology from the stone age. 15:07:16 -!- aerique [310225@xs8.xs4all.nl] has quit [Quit: ...] 15:07:40 every byte not used in real memory is a byte that could be used for buffer caching 15:09:08 H4ns: I'll just add that with 4G of memory, I often run into swap 15:09:41 H4ns: so, I'm keeping all the crazy tricks from older times, because when I start assuming "hw marches on", something *always* bites me later 15:10:01 well, i don't know what kind of problems you guys solve with your computers, but with my programs and data working sets, i hardly hit the sizes of the memories that i can afford today. 15:10:19 -!- Kenjin [~josesanto@193.136.206.214] has quit [Quit: Computer has gone to sleep] 15:10:21 realitygrill [~realitygr@thewall.novi.lib.mi.us] has joined #lisp 15:10:27 H4ns: I hit swap just by recreational use of PC 15:10:33 but what i often see is unwanted buffer caching behavior or swapping, which makes my systems operate by orders of magnitude slower than i want. 15:11:01 Mmm. I'm into my swap now, although I rather blame firefox for that. 15:11:03 Kenjin [~josesanto@193.136.206.214] has joined #lisp 15:11:13 nyef: that's the spirit 15:11:34 nyef: I find Chrome to be just as big annoyance there 15:11:37 kernelpanicker [~pfrench@unaffiliated/kernelpanicker] has joined #lisp 15:11:44 and all bets are off if I launch eclipse 15:11:57 I do my level best not to launch eclipse these days. 15:12:12 in emacs I'm running inferior-lisp-mode for the first time... how do I exit it? 15:12:18 I don't understand how they can have so many major versions, and still suck so completely. 15:12:32 nyef: now that IntelliJ has android previews, I think I'll be able to completely throw out Eclipse 15:12:47 kernelpanicker: are you using slime or only inferior-lisp? 15:12:48 buy more ram. 15:12:55 -!- gravicappa [~gravicapp@80.90.116.82] has quit [Remote host closed the connection] 15:13:12 H4ns: I don't have the £600 to make it worthwhile 15:13:35 H4ns: I tried dropping more RAM into this thing, but it wouldn't boot. 15:13:38 8G of memory that is lying in the packaging can't help me if I can't put it into my hw 15:14:49 francogrex [franco@grex.cyberspace.org] has joined #lisp 15:15:11 i still get paging from rogue user programs. a runaway firefox or a poorly-written data-munging script, etc 15:15:25 -!- Kenjin [~josesanto@193.136.206.214] has quit [Ping timeout: 260 seconds] 15:15:29 I prefer paging where I can still kill the program 15:15:33 (loop for i across "a string" collect (string i) into vars finally (return (nreverse vars))) is there an easy way to "reconstruct the chopped up reverse string? or do I have to write a recursive concatenate function? 15:15:58 I had once went completely out of memory, but the wrong thing was killed (that was FF 3.0, which was buggy as hell on that) 15:16:10 francogrex: (coerce (nreverse choppen-up-reverse-string) 'string) ? 15:17:12 p_l: reliably. that would be the key. 15:17:38 hakzsam [~hakzsam@aqu33-5-82-245-96-206.fbx.proxad.net] has joined #lisp 15:17:46 j_king: I'd prefer if memory allocations could return failure on linux :/ 15:17:53 j_king: correct. the operating system should tell the program that there is no more memory instead of overcommitting until it can't but crawl or kill something randomly 15:18:28 Mmm. Simply being able to ask to hold /address space/ instead of committing memory would be nice. 15:18:31 H4ns: certain level of overcommit is agreeable with me, but only if it's requested overcommit aka allocating addres space 15:18:55 Taking a fault for accessing reserved address space is likewise fine, as we get that on windows. 15:19:08 p_l: i can see how some might want to overcommit, but in general, i can´t see why that should be the default 15:19:14 i like the idea of kernel-space hyper-visor running the process. 15:19:28 but would prolly be really slow in practice. not sure how cubeos does it 15:19:35 ehu [~ehuels@109.32.189.86] has joined #lisp 15:19:40 nyef: right, i am not saying that an mmu is not great. it is just the default overcommit and page behavior that should be stopped 15:20:54 -!- pnathan [~Adium@76.178.165.160] has quit [Quit: Leaving.] 15:21:32 j_king: selectively committing bigger parts of memory when you can decide on that in advance? 15:21:39 http://qubes-os.org/Architecture.html 15:22:07 -!- Kron_ [~Kron@129-97-120-238.uwaterloo.ca] has quit [Read error: Connection reset by peer] 15:22:10 at a lower level ofc 15:22:36 p_l: essentially. or committing what you can and deciding later if it's work expanding. 15:22:44 er s/work/worth 15:23:17 akovalenko: that easy... man, still a long way for me 15:23:40 pnathan [~Adium@76.178.165.160] has joined #lisp 15:25:04 tritchey_ [~tritchey@12.207.196.2] has joined #lisp 15:25:11 Quaydon [~robert@cpe-071-068-114-143.carolina.res.rr.com] has joined #lisp 15:25:22 -!- tritchey [~tritchey@12.207.196.2] has quit [Read error: Connection reset by peer] 15:25:22 -!- tritchey_ is now known as tritchey 15:25:31 -!- pnathan [~Adium@76.178.165.160] has quit [Client Quit] 15:26:01 Hello, How do you non-destructively set a bit in a bit vector? 15:26:17 oO 15:26:30 Quaydon: You create a copy first, and destructively set the bit in the copy. 15:26:41 Quaydon: May we interest you in using integers as bitfields instead? 15:27:21 Why yes im all ears for all options. Im very new to lisp. 15:31:34 anyway, sorry for the OS talk. i was just curious about experimenting with OS stuff in lisp. :) 15:32:09 and what others had been doing in that area too. 15:32:52 sonnym [~sonny@rrcs-72-43-20-246.nys.biz.rr.com] has joined #lisp 15:32:56 heh 15:33:17 How do I set a bit integer? And can anyone recommend a good online reference for Common lisp? 15:34:16 Quaydon: the spec is here: http://www.lispworks.com/documentation/HyperSpec/Front/Contents.htm 15:34:32 -!- jtza8 [~jtza8@wbs-196-2-106-139.wbs.co.za] has quit [Remote host closed the connection] 15:35:05 also, http://l1sp.org/cl/dpb 15:35:10 also, http://l1sp.org/cl/ldb <-- too 15:35:25 Kron_ [~Kron@129-97-120-238.uwaterloo.ca] has joined #lisp 15:36:24 hmm... I see ... 4 different ways to do it? 15:37:13 note to SBCL users: logbitp is not (portably) an accessor :) 15:37:56 akovalenko: I haven't even touched *that* one 15:38:29 -!- Xof [~crhodes@158.223.51.79] has quit [Ping timeout: 276 seconds] 15:38:53 rmarianski [~rmariansk@mail.marianski.com] has joined #lisp 15:41:58 -!- ccorn [~ccorn@84-53-64-50.adsl.unet.nl] has quit [Quit: ccorn] 15:42:23 -!- tritchey [~tritchey@12.207.196.2] has quit [Quit: tritchey] 15:42:35 Spion_ [~spion@unaffiliated/spion] has joined #lisp 15:42:48 http://snipt.org/xomgn -- hmm 15:43:06 quick lisp question - I'm trying to rewrite the print-file function I wrote last night so that it doesn't print nil at the end 15:43:36 is there any way to have a conditional statement that will evaluate and run multiple expressions/functions if true? 15:43:56 it looks like I can only pass one expression as a truth statement, and one expression as a false statement. 15:44:07 djanatyn: of course. use when and unless. or cond. 15:44:10 what if I want it to do multiple things, like print out a value and do things? do I have to define a new function? 15:44:20 -!- francogrex [franco@grex.cyberspace.org] has quit [Remote host closed the connection] 15:44:24 wrap it up in progn 15:44:54 spacefrogg: progn in if is not good style. 15:44:57 so...how exactly does when work? 15:45:05 djanatyn: what are you learning lisp from? 15:45:09 I see how I could do it with cond, which makes a lot of sense 15:45:14 Kenjin [~josesanto@bl21-85-72.dsl.telepac.pt] has joined #lisp 15:45:25 H4ns: Practical Common Lisp 15:45:26 H4ns: but doesn't cond do the same 15:45:28 ? 15:45:30 -!- Kron_ [~Kron@129-97-120-238.uwaterloo.ca] has quit [Read error: Connection reset by peer] 15:45:43 and, I've read about...1/4th of SICP before 15:45:46 djanatyn: ok, then you'll probably just have to read on. but cond is good. 15:45:55 spacefrogg: it does "the same" but it looks different. 15:45:56 p_l, excellent thanks. Im still new to lisp so its taking me a while to read up. It is possible to preform logical operators on on bit integers right? 15:45:58 spacefrogg: manually writing progn in if is bad style, then? 15:46:02 -!- Spion [~spion@unaffiliated/spion] has quit [Ping timeout: 258 seconds] 15:46:08 LiamH [~none@pdp8.nrl.navy.mil] has joined #lisp 15:46:23 p_l: Writing progn in if is sometimes bad style. 15:46:23 Quaydon: you can do them on normal integers, afaik the biggest problem I had was related to bit arrays 15:47:10 -!- jdz [~jdz@193.206.22.97] has quit [Ping timeout: 260 seconds] 15:47:28 nyef: it does not hurt to tell beginners that it _is_ bad style and let them discover when it is not later on (if at all). 15:47:35 p_l: Why are you asking me? 15:47:40 -!- hugod [~hugod@70.24.180.190] has quit [Quit: hugod] 15:47:48 -!- kushal [~kdas@fedora/kushal] has quit [Quit: This computer has gone to sleep] 15:47:51 hmm! 15:47:54 p_l: if you had asked me, i had answered "yes" 15:47:55 I just thought of an even better solution! 15:48:03 heh 15:48:03 being in lisp, why don't I just do this with lists? :D 15:48:19 djanatyn: depends on what you're doing 15:48:28 H4ns: so cond is the more robust and intentional implementation? 15:48:48 oh man! 15:48:52 I could do this so beautifully, one sec 15:48:59 using format and ~{ and ~} 15:49:01 I once simply wrote a macro to generate accessors for the bit flags 15:49:09 spacefrogg: more intentional. use the most specific operator. you can get away with if and progn all over and never use when, unless or cond, but it'd look awful. 15:49:40 -!- H4ns [d4b9ee24@gateway/web/freenode/ip.212.185.238.36] has quit [Quit: duties and pleasures] 15:50:50 mishoo_ [~mishoo@86.124.148.84] has joined #lisp 15:51:33 p_l, same here me and a friend are making a chess program, and to represent a board we want to use 64bits we thought a bit arrray or bit vector would be the best way.. 15:51:54 Xof [~crhodes@158.223.51.79] has joined #lisp 15:52:25 Quaydon: Surely there's more than 64 bits of information in a chess position? 15:52:43 *nyef* would have just used a 64-bit integer for space occupancy, FWIW. 15:53:35 -!- mishoo [~mishoo@86.124.148.84] has quit [Ping timeout: 260 seconds] 15:53:59 Sure, that'll cons if you pass them around, but there are good unboxed storage representations if you're on a 64-bit implementation. 15:54:25 hey! 15:54:30 I have two symbols, x, and ay 15:54:39 -!- ehu [~ehuels@109.32.189.86] has quit [Ping timeout: 260 seconds] 15:54:43 how do I pass cons a list containing the values of x and y? 15:54:53 there's like, some thing for escaping data or something, but I forgot it 15:55:09 (cons `(x y) nil) ? 15:55:09 djanatyn: (cons x y) 15:55:16 Err... 15:55:16 oh 15:55:16 nope 15:55:19 (cons `(,x ,y) nil) ? 15:55:27 (cons (list x y) nil)? 15:55:28 I'm trying to cons the list (x y) into something 15:55:31 oh, that's it 15:55:31 (cons (list x y) nil)? 15:55:32 is there any short function that is equivalent to this (if a a b) 15:55:33 thank you nyef 15:55:35 ? 15:55:41 ahem -_- 15:55:42 oh! 15:55:44 list! 15:55:45 that's it 15:55:46 the best one 15:55:50 troydm: SOME, perhaps? 15:56:05 nyef: some? 15:56:33 (and a b) ? 15:56:43 better: (or a b) 15:56:48 C-Keen: AND is a macro. So is OR. 15:57:01 true 15:57:09 my emphasis was on "short" 15:57:41 Hrm. Okay, SOME takes sequences, not values. 15:57:45 Still should work. 15:57:53 nyef, Of course its just simple data structure http://en.wikipedia.org/wiki/Bitboard 15:57:54 (SOME #'IDENTITY (LIST A B)) 15:57:57 okay, the new function kinda works 15:58:16 -!- e-user [e-user@nat/nokia/x-awewxsyreyelwqyn] has quit [Read error: Connection reset by peer] 15:58:44 http://snipt.org/xomgn 15:58:48 -!- todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has quit [Quit: todun] 15:59:00 If you only want to evaluate B if A is NIL, then you need to go with either macros, closures, or both. 15:59:40 ooh, macros :) 16:01:45 -!- mcsontos [mcsontos@nat/redhat/x-niuxrmbzplejvfha] has quit [Quit: Leaving] 16:06:04 -!- gko [~gko@42-72-135-135.dynamic-ip.hinet.net] has quit [Read error: Connection reset by peer] 16:07:02 gko [~gko@42-72-243-162.dynamic-ip.hinet.net] has joined #lisp 16:07:29 todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has joined #lisp 16:09:52 gravicappa [~gravicapp@ppp91-77-212-240.pppoe.mtu-net.ru] has joined #lisp 16:09:56 -!- ikki [~ikki@201.155.92.12] has quit [Quit: Leaving] 16:11:31 tritchey [~tritchey@108.60.121.114] has joined #lisp 16:12:41 managed to break my system again.. 16:13:59 Now all I need is Ubuntu database location for PostgreSQL 16:14:07 nyef: that memory talk was interesting btw. i personally find it odd that we look at data on disk much different than data in ram. it could be nice to have a system in which the in-memory objects can be dumped to disk in a seemingly unobtrusive fashion. 16:14:14 wishbone4 [~user@167.216.131.126] has joined #lisp 16:14:20 Younder: /var/lib/postgresql/// 16:14:27 Younder: if you're using the standard packages 16:14:36 -!- nha [~prefect@imamac13.epfl.ch] has quit [Ping timeout: 258 seconds] 16:14:50 ilmari, I am, thanks 16:14:51 and config in /etc/postgresql/// 16:14:57 madnificent: The problem comes with making things reliable when doing that. 16:15:09 Question: Why is "testme" 10x slower than "testme2"? http://paste.lisp.org/display/125493 16:15:13 (on sbcl) 16:15:15 madnificent: It also turns out that RAM is just a disk cache. 16:15:19 Younder: the pg_lsclusters command is handy 16:15:38 Younder: also, #postgresql on this same network is very helpful 16:16:37 jasom: I don't know, but I'd suspect it has something to do with using MAP. Have you been introduced to the wonders of DISASSEMBLE yet? 16:16:57 nyef: I have, but it just calls "map" so it's pretty opaque 16:17:25 ... Yeah, that'd cause a pretty bad slowdown. 16:17:40 ; # 16:18:27 Is MAP just painfully slow, so I should use iteration in any performance critical code? That seems pretty un-lispy to me. 16:18:45 Well, not exactly. 16:19:11 You're treating this as a tight inner loop, though. 16:19:18 aref & loop are painfully fast :) 16:19:38 If you were doing something more complicated than CHAR-CODE, MAP becomes proportionally less expensive. 16:20:19 cafesofie [~user@ool-18b97779.dyn.optonline.net] has joined #lisp 16:20:22 And if this were actual production code, we'd suggest examining string-to-octets, whichever package it may be in. 16:20:43 I guess I don't understand why the optimizer can't turn map on an array to loop and aref 16:20:45 akovalenko, well that is what you get for choosing a compiled language.. 16:21:29 nyef: how is it hard to make that reliable? aside from leaks, that is. 16:21:38 nyef: ah, well this is actually a corner case where I know the input is ASCII and babel:string-to-octets is really really slow on ccl for that case 16:21:51 Bike [~Glossina@69.166.35.238] has joined #lisp 16:22:19 jasom: But you're optimizing on SBCL? 16:22:42 nyef: I'm optimizing on both. I just happened to have sbcl up at the moment. The performance of MAP is even worse on ccl actually 16:22:54 Hunchentoot is stil painfully slow. It seems to be character conversion 16:23:14 (Which, if memory serves, has its own string-to-octets.) 16:23:29 I'm sure they'd love to get patches! 16:23:35 (hint hint) 16:23:53 yeah, I'm going to take a look at that 16:24:02 madnificent: The first issue is data consistency. The second is GC. The third is concurrent access from multiple images (if you can have multiple images). 16:24:57 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Quit: leaving] 16:25:47 data consistency seems to be the same then, as it is in current databases. GC seems to be solwer, but that's about it. Concurrent access is indeed a non-trivial case (even in one image, with multiple threads). 16:25:58 SegFaultAX|work [~mkbernard@173.228.45.162] has joined #lisp 16:26:06 s/solwer/slower/ 16:26:19 jasom: try MAP-INTO and you'll probably get a speed boost 16:26:41 Okay, gone for food, back in a while. 16:26:48 benkard_ [~benkard@141.84.69.67] has joined #lisp 16:26:52 nyef: enjoy! 16:27:07 -!- benkard [~benkard@emasq.stusta.mhn.de] has quit [Read error: Operation timed out] 16:27:07 -!- benkard_ is now known as benkard 16:27:53 shaq [~shaq@76.73.16.26] has joined #lisp 16:27:54 -!- Blkt [~user@89-96-199-46.ip13.fastwebnet.it] has quit [Read error: Connection reset by peer] 16:30:10 -!- oiiii [~oiiii@82.71.241.25] has quit [Remote host closed the connection] 16:31:29 Euthy [~euthy@unaffiliated/euthydemus] has joined #lisp 16:33:48 kushal [~kdas@114.143.161.251] has joined #lisp 16:33:49 -!- kushal [~kdas@114.143.161.251] has quit [Changing host] 16:33:49 kushal [~kdas@fedora/kushal] has joined #lisp 16:34:13 dlowe_lt: that makes no sense, but I'll try it 16:35:10 -!- lain_ [~lain@p5795A81D.dip.t-dialin.net] has quit [Quit: Leaving] 16:37:24 dlowe_lt: indeed, that generates the code that I would have expected MAP to when called on an array 16:39:28 jasom: map-into is easier to get right. 16:39:58 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: Lost terminal] 16:40:07 SegFault1X|work [~mkbernard@173.228.45.162] has joined #lisp 16:40:38 -!- SegFault1X|work [~mkbernard@173.228.45.162] has quit [Remote host closed the connection] 16:42:11 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 16:42:24 jasom: MAP always conses a new sequence 16:42:32 -!- coderdad [~coderdad@wsip-70-164-198-85.ok.ok.cox.net] has quit [Quit: Computer has gone to sleep.] 16:42:41 dlowe_lt: and make-array doesn't? 16:43:52 jasom: sure it does, but MAP has to be able to deal with cases that MAP-INTO doesn't 16:44:03 anyway, glad it works for you 16:44:10 jasom: with make-array, you compute the length. In theory, there's no difference for your instance, but, in practice, that code template doesn't exist yet. 16:44:27 passionke1 [~Administr@60.176.46.65] has joined #lisp 16:44:37 that makes sense. I've just been spoiled by sbcl always generating terrific code 16:44:47 now I need to say "nearly always" 16:44:53 Joreji [~thomas@87-036.eduroam.RWTH-Aachen.DE] has joined #lisp 16:45:13 the other thing is that SIMPLE-STRING isn't a very useful type. 16:45:59 Isn't it (simple-array charachter (*)) 16:46:08 s/charachter/character 16:46:27 no, it's an union of simple-base-string, (simple-array character 1) and (simple-array nil 1) 16:46:33 (or (simple-array character) (simple-array base-char) (simple-array nil)) 16:47:42 is it possible to call some function automatically right before quitting lisp process? 16:47:52 shaq: implementation-dependent. 16:47:56 shaq: what lisp do you use? 16:48:05 sbcl 16:48:17 sb-ext:*exit-hooks* 16:48:26 shaq: see the documentation for akovalenko's suggestion 16:48:29 nice thanks 16:48:35 pkhuong: thanks for the type hint, changing it to (simple-array character (*)) gave a 40% speedup 16:49:15 -!- nanoc [~conanhome@186.12.218.154] has quit [Ping timeout: 260 seconds] 16:49:22 Xach: back from ECLM? 16:49:35 gigamonkey: yes. catching up on signing keys from lispers i met in person. 16:50:13 Xach: http://xkcd.com/364/ 16:50:29 I refuse! 16:50:36 jasom: it's currently checking every character to make sure it's an octet. 16:50:37 *gigamonkey* wonders how long it will be before xkcd brings to life the old joke about telling jokes by number. 16:51:04 gigamonkey: several people asked about you and wished you were there 16:51:14 Awww. 16:51:16 So did the ALU snit lead anywhere interesting? 16:51:20 gigamonkey: and i meant to give you a shout-out in my talk, but might have failed :( 16:51:21 hugod [~hugod@70.24.180.190] has joined #lisp 16:51:35 Were the talks videoed? 16:51:54 gigamonkey: they were recorded, I don't know who was doing it though 16:51:56 gigamonkey: yes. i'm told my audio might not have been sufficient. 16:52:05 a new CL foundation was announced 16:52:13 p_l: ACLU? 16:52:23 gigamonkey: Stichtig CL Foundation 16:52:36 where "Stichtig" means "Foundation" 16:52:51 The Foundation Foundation. Excellent. 16:53:05 -!- spacefrogg [~spacefrog@unaffiliated/spacefrogg] has quit [Quit: spacefrogg] 16:53:15 nick's take, and i believe it's on video, was "isn't this just the alu with a narrower focus? the alu is terrible." 16:53:56 jasom: if you know the input is correct (i.e. all in latin-1), or don't care, you can put safety down to 0, or, (preferable, imo), mask away everything bu the first 8 bits. If you have a replacement character, a comparison will compile down to a conditional mov. 16:54:04 I liked the part about ILC happening in spite of ALU, not because of it. 16:54:08 Well, if it's terrible but narrower, that's better right--less overall terribleness. 16:54:12 his videotaped talk also called lisp.org terrible and its condition for the last ten years a shame 16:54:28 solution: pay someone to make something nicer 16:54:42 coderdad [~coderdad@ip-64-134-146-96.public.wayport.net] has joined #lisp 16:54:46 At least it's not yellow anymore. 16:55:01 i keep hearing about the bad alu politics, but nothing concrete. The new guys seem to have interest in doing it right 16:55:38 -!- passionke1 [~Administr@60.176.46.65] has quit [Read error: Connection reset by peer] 16:55:41 lisp.org has looked worse in the past 16:55:52 also, the new Foundation is apparently targeted more at "practical" side of lisp rather than academia 16:56:13 Who's behind the Foundation^2? 16:56:35 -!- iwillig [~ivan@dyn-128-59-151-161.dyn.columbia.edu] has quit [Quit: Leaving] 16:57:02 gigamonkey: half the new board is straight from the ALU board 16:57:10 -!- cesarbp [~cbolano@189.227.222.126] has quit [Ping timeout: 260 seconds] 16:57:15 prxq: in my experience (as a one time board member) it's not so much bad politics as total lack of vision combined with an unrelenting inability to execute. 16:57:17 i think the "new blood" is arthur lemmens, not sure if edi weitz is on it 16:57:30 Xach: I think he either was part, or is involved 16:57:46 dave cooper, ernst, kuroda, arthur, and maybe one or two more 16:57:54 Zoinks. 16:58:11 also, they did financials for this years ECLM 16:58:19 Oh, BTW, looks like Apress is goin gto be putting out PCL in paperback. 16:58:33 gigamonkey: is that good? :) 16:58:35 (that is, neither of the organizers were directly responsible financially) 16:58:44 gigamonkey: will it be updated? :) 16:58:51 p_l: nope. 16:58:54 Ah yes, that was the most obvious nice thing the SCLF has accomplished. Arthur and Edi were not personally financially at risk regarding ECLM. 16:59:02 We're waiting for a new revision of the standard. ;-) 16:59:27 so what exactly does #* do? 16:59:36 Quaydon: literal syntax for bit vector 16:59:38 -!- mishoo_ [~mishoo@86.124.148.84] has quit [Ping timeout: 258 seconds] 16:59:41 It's confusing to me because someone sent me pretty convincing photographic evidence that a paperback edition already existed. 16:59:49 -!- The_third_man [~The_third@ram94-12-78-234-200-168.fbx.proxad.net] has quit [Ping timeout: 255 seconds] 16:59:49 Quaydon: it's the textual represetnation of an array of bits 16:59:56 homie [~levgue@xdsl-78-35-173-101.netcologne.de] has joined #lisp 16:59:57 sorry. vector 17:00:26 gigamonkey: can't we even have a small update about quicklisp and such? 17:00:27 nanoc [~conanhome@186.157.173.208] has joined #lisp 17:00:41 Xach, loke, Thanks. 17:00:44 Don't kill the timelessness of PCL with such fleeting garbage. 17:00:49 heh 17:01:04 Xach: to replace the part about setting up lisp environment, which is dated 17:01:08 #*1010 is pretty much the same as (load-time-value (make-array 4 :initial-contents '(1 0 1 0) :element-type 'bit)) 17:01:11 wbooze [~levgue@xdsl-78-35-173-101.netcologne.de] has joined #lisp 17:01:30 loke: modulo mutation 17:01:43 Xach: well yeah 17:01:46 of course :-) 17:01:57 (l-t-v t) 17:02:24 akovalenko: Cool. I had no idea about the second argument to l-t-v 17:02:25 -!- Joreji [~thomas@87-036.eduroam.RWTH-Aachen.DE] has quit [Ping timeout: 260 seconds] 17:02:26 Thanks 17:02:46 p_l: so two problems with that. 1) If we do a new edition of PCL then my number of copies sold (for purposes of determining my royalty rate, which goes up as more copies are sold) goes back to zero. 17:02:57 2) I'd have to deal with Apress again which I've sworn I will never do. 17:03:01 Oh, and 3) It'd be work. 17:03:18 gigamonkey: self-publish on Amazon? 17:03:20 -!- am0c [~am0c@222.235.56.83] has quit [Read error: Connection reset by peer] 17:03:45 loke: Can't. I have a contract with Apress. 17:04:01 gigamonkey: Oh, of course 17:04:10 Is there an easy way to print three digits of a float with less than four digits to the left of the radix point? Basically ~4f, but without the trailing radix point with an input with three digits to the left. 17:04:25 gigamonkey: Ah. I understand. 17:04:32 Someday, if they let it go out of print, I can do whatever I want. 17:04:37 gigamonkey: so, we should print the book ourselves, send it your way and let you autograph it for the price of your current royalties? 17:04:45 gigamonkey: so if you were to write another book, which route would you take? (I'm asking as I was listening to a report on BBC World Radio about authors self-publishing) 17:04:48 Though these days, with print on demand, it's not clear that it *can* go out of prin. 17:04:50 print. 17:05:05 loke: that's an interesting question that I'm pondering very much these days. 17:05:13 gigamonkey: it depends on whether they are willing to play with print on demand 17:05:30 loke: I'd say it depends on what you're gonna publish 17:05:32 gigamonkey: hi 17:05:48 gigamonkey: FWIW, Andy "GOAL" Gavin has been writing a lot about writing, revising, editing, & publishing lately on his blog, though it's more geared from what i can tell to fiction. 17:05:52 p_l: a programming book. These needs (somewhat) frequent updates 17:05:55 p_l: well they are--that was the motivation for releasing in paperback. They have printers who can do print runs of down to just one copy which makes it easier for distributors to keep it in stock. 17:05:59 But only with paperbacks. 17:06:32 gigamonkey: I know - I've been, let's say, involved with that industry :) 17:06:38 gigamonkey: By the way, since I don't think I've ever spoken to you before, let my just thank you for the book. I liked it a lot, and I have recommended it to many other people. 17:06:54 loke: Excellent. Glad you liked it. 17:07:32 gigamonkey: In particular, I have linked to the foreword ("why lisp") since it explains it better than I can. 17:07:42 loke: for publishing, it would depend on how big your market is, and how important brick&mortar places are to you 17:07:55 I've been contemplating self-publishing, working with another tech publisher, e.g. O'Reilly or No Starch, or trying to write something for a "trade" publisher, (i.e. not just for a tech audience.) 17:07:57 p_l: I see. 17:08:24 gigamonkey: you can cut various levels of indirection instead of going fully self-published iirc 17:08:40 might require hunting down smaller publishing houses 17:09:04 *Xach* tried his best to make the lisp connection via GOAL, but has nothing left to connect at this point 17:09:21 p_l: what benefit does the publisher provide? My understanding was that it's primarily marketing, and upfront payment? 17:09:39 loke: also, there's a certain gap, I don't remember exactly where, between 10k and 100k scale where it is cheaper to do CtP rather than print-on-demand 17:10:02 p_l: CtP? 17:10:28 Cut Trees Proactively? 17:10:30 loke: also transportation, arranging bookstores, sometimes getting that 60% extortion from certain brick&mortar places that are ridiculously important 17:10:32 Xach: Game Oriented Assembly Lisp? 17:10:35 Computer-to-Plate 17:10:51 Oh 17:11:08 Xach: nevermind, scrollbacked 17:12:04 without CtP, you're shit out of luck trying printing press on book - it will cost a lot more (first printing one copy of the book, with all colour separations, then photos of each of them using film, then using that film to make printing plates) 17:12:21 *each page 17:12:29 H4ns [57a9ea75@gateway/web/freenode/ip.87.169.234.117] has joined #lisp 17:14:51 hello. got another lame question: is there a way to do something like (with 'sb-bsd-socket (...)) so i won't spend time writing sb-bsd-socket: all over the body? 17:15:37 use the darn package 17:15:39 dRbiG: (defpackage :my (:use :sb-bsd-socket :common-lisp ...)) 17:15:45 dRbiG: in package definition, (:use #:cl #:sb-bsd-socket ...) 17:15:57 or (use-package #:sb-bsd-socket) 17:15:58 right, will that work with stuff loaded via quicklisp? 17:16:25 *loke* prefers to always fully qualify the package name. Am I too anal? 17:16:27 which stuff? It's strongly recommended to put your code into *your* package 17:17:02 loke: you aren't 17:17:19 p_l: thanks :-) 17:17:22 that was also part of the talk on style in CL at ECLM :) 17:17:24 i mean will it 'see' packages that i load using ql:quickload, anyway i'm going to do some testing now, thanks again! :) 17:18:16 dRbiG: if your code depend on something, you'd better write a system definition for it (ASDF stuff) 17:19:20 -!- gko [~gko@42-72-243-162.dynamic-ip.hinet.net] has quit [Ping timeout: 260 seconds] 17:19:29 akovalenko: i was a bit afraid of having to do it (at least right now), i assumed that defpackage is all i need to tell it i'm using this and that other packages and i want to have their symbols available 17:19:29 -!- kushal [~kdas@fedora/kushal] has left #lisp 17:20:13 dRbiG: packages only handle symbol resolution. 17:20:21 You still have to load systems in. 17:20:43 -!- c_arenz [arenz@nat/ibm/x-ooyuutjkitdbuufk] has quit [Ping timeout: 258 seconds] 17:21:20 gko [~gko@42-72-167-195.dynamic-ip.hinet.net] has joined #lisp 17:21:30 pkhuong: so i would assume that having them loaded via quicklisp before defining my package i should be fine? 17:22:38 dRbiG: you can use quickproject to create new project, it'll create the asdf stuff. 17:22:51 -!- gigamonkey [~user@adsl-99-24-218-254.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 260 seconds] 17:23:30 daimrod: i'll have to look that up, thanks! 17:23:59 okay, quickload and then defpackage works as expected, that's enough for me right now 17:24:19 dRbiG: http://xach.livejournal.com/278047.html?thread=674335 17:28:17 -!- sellout- [~Adium@12.232.236.2] has quit [Read error: Connection reset by peer] 17:28:40 felideon [~felideon@65.23.61.98.nw.nuvox.net] has joined #lisp 17:31:41 -!- psyllo [~benjamin@69.59.136.174] has left #lisp 17:32:07 sellout- [~Adium@conference/djangocon/x-jptcitiimqjjslkk] has joined #lisp 17:33:22 -!- todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has quit [Quit: todun] 17:34:08 btw. i'm trying to do a thing i do in ruby: i'd like to have my package as a thing that can be imported for the functions it defines, but i also would like to be able to call the library as a script, the point is i want some code to be executed only when it's called like a script and not when it's imported (should i say loaded?) into something else; is it possible to do within one file? 17:34:57 -!- felideon [~felideon@65.23.61.98.nw.nuvox.net] has quit [Quit: felideon] 17:35:17 -!- cnl [~cnl@95.106.27.202] has quit [Quit: leaving] 17:35:23 i usually put tests in this way so when i write something bigger i can quickly check the parts 17:35:45 or when a library is a part of something bigger but still has uses on its own 17:35:54 dRbiG: maybe you could do something with the eval-when-* macros? 17:36:16 dRbiG: don't use the application-defining function when you only need a library. 17:36:29 Or split the library, the tests and the application. 17:36:47 you could use something like #+script 17:37:10 oconnore [~Eric@75-150-66-254-NewEngland.hfc.comcastbusiness.net] has joined #lisp 17:37:26 I don't know how many times now I've seen an "application" where the real guts are in a shared library and the executable is a thin wrapper. 17:37:58 i remember playing around with executable shared libraries a while back on linux 17:38:36 so you could load a program that was a shared library and inspect the symbols 17:39:08 i thought it was a neat idea at the time... 17:41:05 mjonsson [~mjonsson@38.109.95.133] has joined #lisp 17:42:16 mishoo_ [~mishoo@86.124.148.84] has joined #lisp 17:44:39 -!- ramusara [~ramusara@220.156.210.236.user.e-catv.ne.jp] has quit [Quit: Leaving...] 17:46:49 -!- Quaydon [~robert@cpe-071-068-114-143.carolina.res.rr.com] has quit [Ping timeout: 244 seconds] 17:49:38 moah [~gnu@dslb-188-109-151-121.pools.arcor-ip.net] has joined #lisp 17:50:55 -!- coderdad [~coderdad@ip-64-134-146-96.public.wayport.net] has quit [Quit: Computer has gone to sleep.] 17:51:45 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 17:52:19 JohnnyL [~JohnnyL@ool-45782e3e.dyn.optonline.net] has joined #lisp 17:52:34 Riviera [~Riviera@gateway/tor-sasl/riviera] has joined #lisp 17:52:44 gigamonkey [~user@adsl-99-24-218-254.dsl.pltn13.sbcglobal.net] has joined #lisp 17:52:50 -!- Bike [~Glossina@69.166.35.238] has quit [Quit: Reconnecting] 17:53:02 Bike [~Glossina@69.166.35.238] has joined #lisp 17:55:39 where can I find some docs about #+sbcl #+script and all this #+magic? 17:56:26 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 260 seconds] 17:57:09 #+whatever just checks to see if the symbol has been added to *features* (i think) 17:57:26 i think that's the variable name, not i think that's what it does 17:57:54 then it just conditionally compiles the code if the feature is in in *features* #+whatever, or not in features #-whatever 17:58:05 sort of like #ifdef/#else/#endif in C 17:58:45 okay, sounds right :) 17:58:52 dRbiG: 2.4.8.17 18:00:08 -!- realitygrill [~realitygr@thewall.novi.lib.mi.us] has quit [Quit: realitygrill] 18:01:28 Xach: http://lisptips.com/post/11728375873/initform-and-default-initargs is perhaps a contrived example, but it strikes me that in this situation you wouldn't need to be able to override the default value and thus would use initform and not define initargs at all? 18:01:34 Bike: indeed, thanks 18:02:00 *df* just read sonya keene's book and so is still getting his head around this kind of thing 18:02:16 coderdad [~coderdad@wsip-70-164-198-85.ok.ok.cox.net] has joined #lisp 18:02:34 df: i didn't like recapping the slot name to add an initform slot definition option. 18:02:42 df: more about syntax in that case than semantics 18:04:53 perhaps this is just the influence of less laissez-faire languages - if I don't see a need for a user to do something then I would tend not to make it possible in the interface 18:05:16 -!- mathrick [~mathrick@83.1.168.198] has quit [Read error: Operation timed out] 18:05:25 -!- gko [~gko@42-72-167-195.dynamic-ip.hinet.net] has quit [Ping timeout: 260 seconds] 18:05:57 actually, in keene's book just defining a method that returns the required value is offered as an option here as well (because presumably these values aren't going to change over the lifetime of the object) 18:06:17 df: sometimes i work like that, too, but not all that often. 18:06:23 ignas [~ignas@212.180.202.114] has joined #lisp 18:06:36 gko [~gko@114-136-141-168.dynamic.hinet.net] has joined #lisp 18:08:37 -!- Ralith [~ralith@S010600221561996a.vc.shawcable.net] has quit [Ping timeout: 260 seconds] 18:10:21 -!- nurv101 [~nurv101@2001:690:2100:2:4687:fcff:fe91:9c05] has quit [Remote host closed the connection] 18:11:08 X-Scale [email@sgi-ultra64.broker.freenet6.net] has joined #lisp 18:11:33 realitygrill [~realitygr@adsl-76-226-143-84.dsl.sfldmi.sbcglobal.net] has joined #lisp 18:12:24 cesarbp [~cbolano@189.227.222.126] has joined #lisp 18:12:46 mathrick [~mathrick@83.1.168.198] has joined #lisp 18:13:23 iwillig [~ivan@dyn-128-59-151-161.dyn.columbia.edu] has joined #lisp 18:15:05 ska` [~user@ppp-58-8-210-222.revip2.asianet.co.th] has joined #lisp 18:16:15 What's the correct way to do proclamations when loading an asdf package? 18:16:37 (asdf:operate 'asdf:load-op :package :proclamations '(optimize (debug 3))) does not seem to work... 18:17:46 devinus [~devinus@65.107.181.222.ptr.us.xo.net] has joined #lisp 18:17:58 what are the must have emacs plugins you guys use when working with CL ? 18:18:15 devinus: slime :) 18:18:46 paredit and org-mode 18:19:01 oh, and magit 18:19:14 knotpine [~cmsimon@c-98-246-47-184.hsd1.or.comcast.net] has joined #lisp 18:19:16 ... And didn't you ask that recently? Yesterday, maybe? 18:19:45 *antifuchs* has just hooked magit into org-mode. very convenient for checking out feature branches for TODO items (: 18:19:54 nyef: i disconnected right after i asked it :( 18:20:00 Not sure emacs can be said to have plugins, though 18:20:06 couldn't get internet for like two hrs :( 18:20:14 nyef: didn't know if i even successfully asked it 18:20:27 Fair enough, I guess. 18:20:53 slime is the most important one. if you like it, paredit can be very cool. and then, there's local customizations (-: 18:21:02 paredit sounds really nice 18:21:09 i'm trying to figure out how to install it from elpa 18:21:21 my favorite is M-x doctor 18:21:29 I have redshank installed, too, but I don't find myself using it very much. 18:21:32 the debian package is paredit-el 18:21:37 -!- cesarbp [~cbolano@189.227.222.126] has quit [Ping timeout: 252 seconds] 18:22:01 Paredit confused me (or itself) to the stage, where I had to turn it off and manually fix the mess 18:22:09 Otherwise it's probably great ;) 18:22:10 paredit takes a lot of getting used to, it's true 18:22:37 but it really imprints on you that you're manipulating trees and not text 18:22:49 if you keep using it, that is :) 18:23:05 my only complaint is that it seems a little line-break happy 18:23:07 Paredit is easy to confuse with kill and yank. 18:23:17 dlowe_lt: Use M-) instead of ). 18:23:20 Someone asked me what paredit adds beyond what M-( and friends already do, and having not habitually used M-(, I didn't know what to say. 18:23:37 Xach: /better/ M-( (-: 18:23:40 nyef: just don't kill region :\ 18:23:49 also, auto-indentation of wrapped sexps 18:23:50 nyef: I'd expect the thing with less effect to take fewer keystrokes 18:24:08 antoszka: I find it easier to sort out with C-q ( and C-q ) or whatever. 18:24:30 When is the next CFFI release? 18:24:40 LiamH, luis, do you have some timetable? 18:24:59 luis:.... ? 18:25:27 nyef: heh. I didn't know about M-). I always just do C-f when I don't want to newline. 18:25:55 nyef: I find myself wishing for a C-q DEL or something 18:25:58 Xach: I think it's ready to go now, but I haven't pulled the new branch into master yet. 18:26:06 (I hit M-x delete-char RET sometimes) (: 18:26:32 LiamH: i am getting feedback from authors that they need some of the pending fixes and that quicklisp is holding back progress by sticking with the last release of cffi. 18:26:42 Xach: I'm letting luis make that decision. 18:26:43 I would love to see a new release. 18:26:58 Maybe I should just switch to git. 18:27:06 Xach: is there something they are waiting for other than CFFI-FSBV? 18:27:37 some bitfields fix 18:28:02 _schulte_ [~eschulte@c-174-56-1-147.hsd1.nm.comcast.net] has joined #lisp 18:29:33 OK I think luis should make that decision. Right now, GSLL is incompatible with the fsbv branch of CFFI, but it should be OK with the master branch. I would like to make the fixes so that it works with cffi-fsbv and we can pull that branch into master and release, but I'm afraid my available time won't fit your timetable. 18:30:01 nyef: I'll have a look at those, thx. 18:30:30 antifuchs: Have you considered using kill-region to get rid of such characters? 18:31:37 Xach: do you have a target date for the next ql dist update? 18:32:01 LiamH: next weekend 18:32:06 probably sunday 18:33:36 Xach: OK, I'd recommend to luis to tag and release master for you, and then we'll include cffi-fsbv on the next round, which should give me enough time to fix GSLL. 18:34:07 -!- devinus [~devinus@65.107.181.222.ptr.us.xo.net] has quit [Read error: Connection reset by peer] 18:34:48 -!- JohnnyL [~JohnnyL@ool-45782e3e.dyn.optonline.net] has quit [Ping timeout: 240 seconds] 18:34:56 devinus [~devinus@65.107.181.222.ptr.us.xo.net] has joined #lisp 18:35:57 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 18:38:02 I think he's still in amsterdam. 18:38:06 -!- millerti [~millerti@76-232-38-36.lightspeed.clmboh.sbcglobal.net] has quit [Quit: millerti] 18:38:10 Probably sleeping right now. Crazy Euros! 18:38:26 *Xach* got home, got with program 18:40:19 killerboy [~mateusz@users69.kollegienet.dk] has joined #lisp 18:40:27 -!- anonus [~anonymous@88.80.28.189] has quit [Ping timeout: 252 seconds] 18:40:37 schaueho [~schaueho@dslb-088-066-032-175.pools.arcor-ip.net] has joined #lisp 18:41:22 anonus [~anonymous@88.80.28.189] has joined #lisp 18:41:35 todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has joined #lisp 18:41:36 -!- todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has quit [Client Quit] 18:42:08 -!- dmiles [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Read error: Connection reset by peer] 18:42:09 todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has joined #lisp 18:42:09 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:42:16 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 18:42:27 and yet, he's always on IRC 18:42:52 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:42:54 -!- askatasuna [~askatasun@190.176.238.68] has quit [Quit: WeeChat 0.3.6] 18:42:59 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 18:43:00 Xach: Did you manage to get back into your proper day/night timing without suffering jetlag *twice*? 18:43:35 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:43:42 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 18:44:17 -!- wccoder [~wccoder@S01060026f3c6bad7.no.shawcable.net] has quit [Quit: leaving] 18:44:18 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:44:24 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 18:44:40 -!- Spion_ [~spion@unaffiliated/spion] has quit [Remote host closed the connection] 18:45:01 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:45:07 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 18:45:44 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:45:50 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 18:46:22 -!- H4ns [57a9ea75@gateway/web/freenode/ip.87.169.234.117] has quit [Ping timeout: 265 seconds] 18:46:24 antoszka: so far, so good. 18:46:26 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:46:31 H4ns [57a9ea75@gateway/web/freenode/ip.87.169.234.117] has joined #lisp 18:46:32 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 18:46:36 :) 18:47:01 antoszka: i slept yesterday at 9pm local time and got up at 7am local time...at one point, though, my wife came into the room and i was convinced it was a hotel invader in amsterdam, I was very alarmed. 18:47:09 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:47:15 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 18:47:18 Heh. 18:47:52 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 18:49:25 -!- paul0 [~user@200.146.125.235.dynamic.adsl.gvt.net.br] has quit [Ping timeout: 240 seconds] 18:49:25 I suspect it's because he wasn't in Amsterdam long 18:50:17 I prefer to attribute it to previously unknown superhuman abilities. I'll test them out on the next Lisp conference trip. 18:50:37 Xach: Kyoto or Zadar? 18:50:46 -!- schaueho [~schaueho@dslb-088-066-032-175.pools.arcor-ip.net] has quit [Read error: Operation timed out] 18:50:51 Why not both? 18:50:58 It's not called *super*human for nothing. 18:51:34 Certainly. Myself I'm afraid I'm not *super*rich enough for Kyoto, though :) 18:52:50 Xach: also, you probably got used to weird sleep patterns from when your kids were younger (: 18:56:49 Houl [~Miranda@arwa.hh.fh-stralsund.de] has joined #lisp 18:56:49 -!- Houl [~Miranda@arwa.hh.fh-stralsund.de] has quit [Changing host] 18:56:49 Houl [~Miranda@unaffiliated/houl] has joined #lisp 18:57:57 gigamonk` [~user@adsl-99-24-219-175.dsl.pltn13.sbcglobal.net] has joined #lisp 18:58:54 The_third_man [~The_third@ram94-12-78-234-200-168.fbx.proxad.net] has joined #lisp 18:59:19 MrYaargh [~Yaargh@unaffiliated/mryaargh] has joined #lisp 18:59:33 -!- ngz [~user@201.144.80.79.rev.sfr.net] has quit [Ping timeout: 245 seconds] 18:59:59 -!- gigamonkey [~user@adsl-99-24-218-254.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 276 seconds] 19:00:28 cesarbp [~cbolano@189.227.222.126] has joined #lisp 19:05:12 urandom__ [~user@p548A580A.dip.t-dialin.net] has joined #lisp 19:07:12 todun_ [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has joined #lisp 19:08:12 JohnnyL [~JohnnyL@ool-45782e3e.dyn.optonline.net] has joined #lisp 19:08:31 -!- todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has quit [Ping timeout: 248 seconds] 19:08:31 -!- todun_ is now known as todun 19:10:00 -!- cesarbp [~cbolano@189.227.222.126] has quit [Ping timeout: 244 seconds] 19:13:33 -!- sellout- [~Adium@conference/djangocon/x-jptcitiimqjjslkk] has quit [Quit: Leaving.] 19:14:42 -!- ace4016 [~ace4016@99-120-69-226.lightspeed.miamfl.sbcglobal.net] has quit [Quit: When there's nothing left to burn you have to set yourself on fire.] 19:16:49 fmeyer [~fmeyer@189-38-236-217.static-corp.ajato.com.br] has joined #lisp 19:18:02 sellout- [~Adium@12.232.236.2] has joined #lisp 19:20:52 ace4016 [~ace4016@99-120-69-226.lightspeed.miamfl.sbcglobal.net] has joined #lisp 19:21:48 -!- MrYaargh [~Yaargh@unaffiliated/mryaargh] has left #lisp 19:24:33 it would be highly useful if cffi's groveller at least let you make a custom function call 19:24:53 with its output fd, for custom grovelling 19:25:17 ccorn [~ccorn@g132123.upc-g.chello.nl] has joined #lisp 19:28:48 -!- ignas [~ignas@212.180.202.114] has quit [Read error: Operation timed out] 19:31:06 does anyone have an example usage of with-deadline? 19:31:47 i think i've (again) spent an hour solving a problem the wrong way :) 19:32:57 What is with-deadline from? 19:34:18 -!- todun [~todun@c-68-80-95-42.hsd1.pa.comcast.net] has quit [Quit: :q] 19:35:40 good question, seems it's not built-in like with-timeout 19:35:45 I think it's an undocumented SBCL feature. 19:35:54 dRbiG: with-timeout is not built-in either 19:36:15 sb-sys:with-deadline 19:36:44 austinh: indeed 19:36:44 thanks 19:37:14 paul0 [~user@200.146.125.235.dynamic.adsl.gvt.net.br] has joined #lisp 19:37:25 what should I use to serialize CLOS objects? 19:37:35 I want to save them to a file and read them back 19:39:00 shaq: use a working library 19:40:02 elephant is database-only, I think ... but I could be wrong 19:40:04 shaq: automatic serialization breaks down hard at a certain level of complexity 19:40:13 just take a look on cliki.net, common-lisp.net or similar 19:41:46 I'll take a look 19:43:08 in what cases could automatic serialization break btw? in my case all my slost are just numbers, strings, and list of strings. auto serialization shouldn't have a problem with that I think 19:44:07 shaq: no, but there's no guarantee that's how it will stay :) 19:44:59 rucksack does a pretty good job, but it's a lot more than just "save to a file and load it back" 19:45:46 -!- JohnnyL [~JohnnyL@ool-45782e3e.dyn.optonline.net] has quit [Quit: REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q)] 19:45:54 astalla [~astalla@dynamic-adsl-94-36-34-131.clienti.tiscali.it] has joined #lisp 19:47:53 -!- ccorn [~ccorn@g132123.upc-g.chello.nl] has quit [Quit: ccorn] 19:49:17 marsell [~marsell@120.22.193.130] has joined #lisp 19:50:50 -!- kpreid [~kpreid@128.153.212.85] has quit [Quit: Offline] 19:53:16 okay, i think i'm running in loops again: i need to add a timeout to a drakma http-request, should i try to do it with with-deadline or is there a better way? 19:54:11 dRbiG: drakma:http-request has timeout and deadline parameters. 19:54:19 I think http-request takes a few timeout arguments. 19:54:27 dRbiG: deadline on ccl only, though 19:54:29 (and a deadline, too) 19:54:40 _6502_ [4e0cf288@gateway/web/freenode/ip.78.12.242.136] has joined #lisp 19:54:44 see the paragraphs around http://weitz.de/drakma/#connection-timeout 19:54:48 any1 can me give good link that explains alist operations? 19:54:51 <_6502_> yo 19:55:06 so called associative list 19:55:07 alist 19:55:38 shaq: have a look at cl-store 19:55:57 troydm: http://www.gigamonkeys.com/book/beyond-lists-other-uses-for-cons-cells.html#lookup-tables-alists-and-plists might be what you're looking for! 19:56:14 antifuchs: thx man 19:56:25 H4ns: only lispworks and/or ccl 19:56:30 <_6502_> is it considered good form to write things like (dotimes (#:x 10) (print "Woa")) to avoid creating a global symbol "x" ? 19:56:31 troydm: that whole book is pretty excellent (: 19:57:34 dRbiG: ah, ok. i think you're hitting the wall that we hit when we worked on timeouts in drakma 19:58:06 _6502_: no 19:58:07 _6502_: I've never seen such a pattern outside of macros. 19:58:39 _6502_: the symbol used in the loop isn't _global_, anyway 19:58:40 sykopomp: what is the point of that idiom? 19:58:46 one more thing what's the best way to get symbol out of string 19:58:52 (intern "mystring") 19:58:55 ? 19:59:10 troydm: that's the way 19:59:13 troydm: if your string comes from an internal source, use find-symbol. 19:59:14 blackwolf: symbols are globally interned. 19:59:19 <_6502_> blackwolf: i think it's global because once the reader finds it the symbol must be created 19:59:19 troydm: INTERN or FIND-SYMBOL, though you should pay close attention to the case. 19:59:43 _6502_: yes, but that's not a problem. 20:00:07 <_6502_> prxq: except for package names, i suppose 20:00:52 prxq: there's a number of reasons. One of them is hygiene. 20:01:07 _6502_: it's added to the symbol table, but why is that an issue? 20:01:25 FreeArtMan [~FreeArtMa@93.177.213.54] has joined #lisp 20:01:27 *sykopomp* can't actually think of "other" reasons off the top of his head right now. 20:01:44 <_6502_> (defpackage #:foo ...) is considered good practice 20:01:49 mishoo [~mishoo@86.124.148.84] has joined #lisp 20:02:00 -!- mishoo_ [~mishoo@86.124.148.84] has quit [Ping timeout: 240 seconds] 20:02:22 is it? I use keywords. (defpackage :foo etc 20:02:48 given how heavyweight a package is, saving space there seems a bit strange 20:02:52 prxq: agreed 20:02:55 is it better to have a alist with string keys or symbols? 20:03:05 kpreid [~kpreid@128.153.179.100] has joined #lisp 20:03:06 troydm: for what? 20:03:17 Mmm. I typically use keywords for package names, and strings for symbol names in a defpackage form. 20:03:23 well for example i parse http request params 20:03:24 troydm: "better" is subjective. symbols are more common but anything can be used as a key, depending on the situation. 20:03:29 pixpop [~pixpop@adsl-75-43-202-143.dsl.lsan03.sbcglobal.net] has joined #lisp 20:03:32 prxq: naming package with symbols is fine, but one should avoid creating symbols for the exported symbols of a package. 20:03:34 http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_s.htm#string_designator 20:03:35 what's the best way to present them 20:03:45 H4ns: why? 20:04:32 prxq: because if you use symbols for the exported symbols, they'll show up in apropos queries. 20:04:37 xwolf- [~redmundia@84.122.73.141.dyn.user.ono.com] has joined #lisp 20:04:45 oh interesting. I didn't know you could pass actual package objects to :use! :) 20:05:14 hello, how does one load image while starting SLIME? I'm using CCL if it's implementation dependant. in a terminal I would do it by typing ccl -I image 20:05:16 wtf does cffi require a type parameter to foreign-slot-value when you've already specified what the types are in defcstruct 20:05:35 lbc [~quassel@1908ds1-aboes.0.fullrate.dk] has joined #lisp 20:06:04 xwolf-: see slime-lisp-implementations 20:08:32 how many people were there at ECLM? 20:08:44 Martiini [~martin@88-196-141-145-dsl.rpl.estpak.ee] has joined #lisp 20:08:44 oGMo: think harder before pressing enter 20:08:50 p_l: i heard about 90 20:09:23 thx 20:09:38 fe[nl]ix: about what? cffi gets a _lot_ of info and doesn't seem to do a whole lot for you with it 20:10:04 spacefrogg [~spacefrog@unaffiliated/spacefrogg] has joined #lisp 20:10:45 it could certainly take an _optional_ type parameter, but you can't use it without the defcstruct to begin with, and it clearly has some level of info stored or it wouldn't be able to calculate the offsets 20:10:46 H4ns: so you get lots of spurious keyword symbols. Sounds reasonable. 20:11:06 oGMo: maybe you can improve it 20:15:03 -!- Martiini [~martin@88-196-141-145-dsl.rpl.estpak.ee] has quit [Read error: Connection reset by peer] 20:17:21 I don't suppose anyone's put portable aserve on github, have they? 20:17:35 -!- otakutomo [~otakutomo@KD027083117212.ppp-bb.dion.ne.jp] has quit [Read error: Connection reset by peer] 20:17:54 otakutomo [~otakutomo@KD027083117212.ppp-bb.dion.ne.jp] has joined #lisp 20:17:57 gigamonk`: just regular aserve, I guess (: 20:18:13 antifuchs: is that portable these days? 20:18:16 <_6502_> now I remembered that someone told me that using uninterned symbols for package names plays better with "modern mode" 20:18:27 ehu: most definitely not (-: 20:18:31 gigamonk`: it's still on sourceforge. kmr recently told me he could take & apply patches. but not test them. 20:18:52 -!- gigamonk` is now known as gigamonkey 20:19:18 -!- mishoo [~mishoo@86.124.148.84] has quit [Quit: (save-lisp-and-die)] 20:19:38 I @#$@# hate web servers. 20:19:53 They seem like they should be simple but they aren't. 20:19:53 is it a good thing (performance wise) to track list's length seperatly 20:19:55 ? 20:20:12 troydm: probably a sign you want a vector not a list. 20:20:24 troydm: if you need the length somewhere, it might be better ... 20:20:28 <_6502_> web servers are cool ... i was thinking to implements all our subsystems as webserver instead of using custom protocols over tcp... 20:20:35 -!- pixpop [~pixpop@adsl-75-43-202-143.dsl.lsan03.sbcglobal.net] has quit [Quit: Leaving] 20:20:49 especially if you need some advantages of a lisp that a vector doesn't have, eg. insert in the middle etc. 20:21:29 gigamonkey: why portable aserve ? almost nobody uses it any more 20:21:54 fe[nl]ix: no good reason. I had some weird experiences with hunchentoot using it for CQ. 20:22:10 I'm feeling a weird urge to take a web server and strip it down until I feel like I understand it. 20:23:00 heh 20:23:04 Martiini [~martin@88-196-141-145-dsl.rpl.estpak.ee] has joined #lisp 20:23:13 gigamonkey: you must have a better use for your time. :) 20:23:42 blackwolf: almost certainly. Though I'm at an betwixt things at the moment which is giving me the urge to retool certain things. 20:24:22 gigamonkey: depending on how many features you want, and what your performance requirements are, this might be interesting and fun, or horrifying and traumatic 20:25:02 basic auth, content negotiation and chunked encoding are nonfun sometimes (: 20:25:06 but they're also useful! 20:25:17 also, range requests. heh. 20:25:41 *cough* 20:26:13 H4ns: you're the hunchentoot Hans, right? 20:26:22 gigamonkey: yes, true. 20:27:35 pjb- [~t@81.202.16.46.dyn.user.ono.com] has joined #lisp 20:27:36 -!- gko [~gko@114-136-141-168.dynamic.hinet.net] has quit [Ping timeout: 240 seconds] 20:28:43 aggravates the fsck out of me that everything has to have a web interface now. the equivalent is graphical interfaces for common tools in windows, e.g. graphical diff. with unix you can pipe the diff output to another tool, but with a gui all you can do is admire the pretty colors. i'd rather have a simple command line tool to perform an operation rather than filling out a fscking form and submitting. 20:29:01 (my soapbox moment for the day) 20:29:16 blackwolf: install cygwin 20:29:41 kruhft: I use unix 20:29:42 blackwolf: and use perl::mechanize :) 20:29:51 -!- benkard [~benkard@141.84.69.67] has quit [Quit: benkard] 20:30:09 Soulman [~knute@175.80-202-238.nextgentel.com] has joined #lisp 20:30:10 blackwolf: because of that, people made web services, and then commandline utilities to call those .. wonderful elegance isn't it 20:31:01 gko [~gko@114-136-141-168.dynamic.hinet.net] has joined #lisp 20:31:03 oGMo: no, it's not. 20:31:10 blackwolf: exactly 20:31:26 ah - missed the sarcasm 20:31:43 then I agree wholeheartedly 20:33:19 ignas [~ignas@217067203062.itsa.net.pl] has joined #lisp 20:33:42 -!- iwillig [~ivan@dyn-128-59-151-161.dyn.columbia.edu] has quit [Quit: Leaving] 20:34:20 wccoder [~wccoder@S01060026f3c6bad7.no.shawcable.net] has joined #lisp 20:35:27 -!- gko [~gko@114-136-141-168.dynamic.hinet.net] has quit [Ping timeout: 248 seconds] 20:36:33 iwillig [~ivan@dyn-128-59-151-161.dyn.columbia.edu] has joined #lisp 20:37:47 Guthur [~user@212.183.128.36] has joined #lisp 20:38:40 gko [~gko@114-136-141-168.dynamic.hinet.net] has joined #lisp 20:39:36 -!- sdemarre [~serge@91.176.28.90] has quit [Ping timeout: 240 seconds] 20:41:32 JohnnyL [~IceChat7@ool-45782e3e.dyn.optonline.net] has joined #lisp 20:43:01 psyllo [~benjamin@69.59.136.174] has joined #lisp 20:44:38 -!- wbooze [~levgue@xdsl-78-35-173-101.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:44:45 -!- homie [~levgue@xdsl-78-35-173-101.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 20:46:17 lparalell seems like an interesting library 20:46:38 ppl 20:46:49 oops, i mean lparallel 20:46:58 can any1 explain me why do we need lock in condition-wait in bordeaux-threads? 20:47:17 condition-wait (condition-variable lock) 20:47:29 http://is.gd/cZUC3U 20:47:46 are there videos from ECLM? 20:48:16 is it ok to call it like this (condition-wait my-cond-var (make-lock)) 20:48:17 ? 20:48:19 pkhuong: If you're still here, the CMP/JNE for the unsigned-byte 8 test is actually faster than the AND since it doesn't modify the register, so you don't stall the pipeline for the common case where the code actually does fit in unsigned-byte-8 20:48:32 er JNLE 20:49:17 so this is a case where checking the type is faster than just anding with 255 20:49:18 mishoo [~mishoo@86.124.148.84] has joined #lisp 20:50:31 -!- ska` [~user@ppp-58-8-210-222.revip2.asianet.co.th] has left #lisp 20:53:15 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 20:53:29 Ralith [~ralith@S010600221561996a.vc.shawcable.net] has joined #lisp 20:53:40 -!- Martiini [~martin@88-196-141-145-dsl.rpl.estpak.ee] has quit [Ping timeout: 258 seconds] 20:53:58 -!- dlowe_lt [dlowe@nat/google/x-cpsxtrrjbtgsvmvo] has quit [Quit: Leaving.] 20:55:57 slime-indentatin changes? 20:58:52 H4ns: do you know when acceptor-status-message would be called with something other than an acceptor? (I.e. why is there a method specialized on T?) 20:59:53 gigamonkey: hold on, checking 21:00:25 Ah, I see that the specialized one uses call-next-method in some error case. 21:01:13 -!- otakutomo [~otakutomo@KD027083117212.ppp-bb.dion.ne.jp] has quit [Ping timeout: 245 seconds] 21:01:13 -!- sellout- [~Adium@12.232.236.2] has quit [Quit: Leaving.] 21:01:28 gigamonkey: right. error message generation is done per acceptor, the method specialized on t is there as the fallback. 21:06:09 -!- mishoo [~mishoo@86.124.148.84] has quit [Quit: (save-lisp-and-die)] 21:07:22 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Read error: Connection reset by peer] 21:07:27 -!- kpreid [~kpreid@128.153.179.100] has quit [Quit: Offline] 21:07:39 -!- spacefrogg [~spacefrog@unaffiliated/spacefrogg] has quit [Ping timeout: 258 seconds] 21:08:11 mishoo [~mishoo@86.124.148.84] has joined #lisp 21:08:54 -!- rmarianski [~rmariansk@mail.marianski.com] has quit [Quit: leaving] 21:09:00 rvirding [~chatzilla@c213-89-147-188.bredband.comhem.se] has joined #lisp 21:09:57 -!- urandom__ [~user@p548A580A.dip.t-dialin.net] has quit [Remote host closed the connection] 21:12:22 -!- Bike [~Glossina@69.166.35.238] has quit [Quit: leaving] 21:12:51 otakutomo [~otakutomo@KD027083117212.ppp-bb.dion.ne.jp] has joined #lisp 21:14:23 Bike [~Glossina@69.166.35.238] has joined #lisp 21:17:40 given a class instance is it possible to determine whether definition of the class it belongs to was changed since I have created it? 21:17:53 There's something wrong with me--looking through a bunch of code with extensive :documentation and docstrings, in order to understand the code I want to strip them out. 21:18:08 heh 21:18:11 gigamonkey: :( 21:18:13 gigamonkey: code folding might help? 21:18:34 (if you find something in that direction that works, please let me know) (: 21:19:10 -!- otakutomo [~otakutomo@KD027083117212.ppp-bb.dion.ne.jp] has quit [Read error: Operation timed out] 21:19:42 shaq: are you sure that you need to do it? i mean, the instance should be updated automatically when the class changes (either immediately or lazily) 21:20:24 -!- nanoc [~conanhome@186.157.173.208] has quit [Ping timeout: 256 seconds] 21:20:29 -!- gravicappa [~gravicapp@ppp91-77-212-240.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 21:21:08 I am finding that programming is hardly a rewarding career. 21:21:23 H4ns I see, let me check 21:21:34 just when I want to go to sleep there's something interesting going on again ... 21:21:53 glerb! Python's faux lambda makes a lisper angry. 21:22:30 and python's "+" operator makes perl users angry ... 21:24:04 sellout- [~Adium@conference/djangocon/x-ostszpbvirggvets] has joined #lisp 21:24:41 oconnore: Python's lambda isn't all that bad as it is. You get short little snippets when you just want to inline stuff, but Python forces^Wencourages you to use a flet of sorts if you want more complex local functions. 21:25:09 I don't know if it made me angry but it did mildly irritate me 21:25:15 waveman [~tim@124.170.43.134] has joined #lisp 21:25:35 JohnnyL: programming is hard, let's go shopping. 21:25:43 shaq: http://paste.lisp.org/display/125500 21:25:55 sykopomp: even with local functions you can't do assignment 21:25:58 and I did just end up using a def in a fn body 21:26:08 pjb: buying a commercial lisp compiler won't necessarily make programming easier. 21:26:22 oconnore: just use a box. 21:26:22 it makes the rich richer, and the poor even poorer. 21:26:36 it's ugly, but it gets the job done. :) 21:26:36 -!- iwillig [~ivan@dyn-128-59-151-161.dyn.columbia.edu] has quit [Quit: Leaving] 21:26:36 sykopomp: but you can always try to blame it to support@ 21:27:05 I don't think you get rich selling language compilers 21:27:12 sykopomp: heh, yeah. I refer you to my previous statement about "making a lisper angry". 21:27:16 I stand ready to be corrected though 21:27:21 H4ns: you can try, but as we all know, It's A Feature 21:27:55 sykopomp: right. but support is stellar!1einself 21:27:58 oconnore: fwiw, the only languages I know of that have "proper" lexical semantics (proper lexical scoping, including assignment from closures) are Scheme, CL, and JavaScript 21:28:03 :D 21:28:16 Soulman1 [~knute@175.80-202-238.nextgentel.com] has joined #lisp 21:28:27 sykopomp: C++ has it in spades. 21:29:28 pkhuong: I see! I've never done C++. I'll google this. 21:29:48 -!- mishoo [~mishoo@86.124.148.84] has quit [Read error: Operation timed out] 21:30:15 -!- Soulman [~knute@175.80-202-238.nextgentel.com] has quit [Ping timeout: 255 seconds] 21:30:28 -!- moah [~gnu@dslb-188-109-151-121.pools.arcor-ip.net] has left #lisp 21:30:41 -!- ignas [~ignas@217067203062.itsa.net.pl] has quit [Quit: Ex-Chat] 21:33:17 ngz [~user@201.144.80.79.rev.sfr.net] has joined #lisp 21:34:10 nanoc [~conanhome@186.122.230.248] has joined #lisp 21:35:11 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has quit [Ping timeout: 244 seconds] 21:35:35 <_6502_> pkhuong: C++ closures are only partially useful because you must guarantee the lifetime of captured variables IIUC 21:36:52 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 21:36:57 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 21:37:32 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 21:37:37 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 21:37:44 airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has joined #lisp 21:39:19 JohnnyL: then you have to try electrical design for civil plants 21:39:22 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 21:39:26 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 21:39:31 pjb: hi 21:39:36 _6502_: ciao 21:41:32 <_6502_> pkhuong: 5.1 (22) [ Note: If an entity is implicitly or explicitly captured by reference, invoking the function call operator of the corresponding lambda-expression after the lifetime of the entity has ended is likely to result in undefined behavior.  end note ] 21:41:54 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 21:41:58 -!- dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has quit [Excess Flood] 21:42:02 <_6502_> pkhuong: this makes IMO C++ lambda close to useless when capturing by reference 21:42:16 <_6502_> Posterdati: yo :-) 21:43:22 dmiles_afk [~dmiles@dsl-173-239-80-026.cascadeaccess.com] has joined #lisp 21:43:24 kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined #lisp 21:44:27 -!- prxq [~mommer@mnhm-5f75c126.pool.mediaWays.net] has quit [Ping timeout: 260 seconds] 21:44:34 don't do by-ref then. 21:44:58 The semantics are still fully and sanely defined. 21:45:22 <_6502_> pkhuong: then they're just locals of the lambda and you cannot have a lambda with "write" on captured variables 21:45:54 Posterdati: At least you know who ends up using your code and in general thats is helping people. I find the jobs I have been getting only make the rich richer. 21:46:00 -!- Bike [~Glossina@69.166.35.238] has quit [Ping timeout: 240 seconds] 21:46:30 Bike [~Glossina@69.166.35.238] has joined #lisp 21:46:34 I am about to give up. It sucks, I like software, but it seems to be a self defeating lifestyle, as programmer's will be ousted once A.I. has been finalized. 21:46:38 <_6502_> sykopomp: python allows writing to captured variables from a closure... you've simply to declare them "nonlocal". However this is not possible in anonymous functions because assignment is a statement and not an expression 21:46:42 _6502_: of course you can. It's called modern C++. 21:47:15 JohnnyL: believe there're worse job than programming 21:47:16 JohnnyL: indeed, French fries seller seems to have more future. 21:47:42 _6502_: oh? I didn't know that was possible. Is there a nonlocal statement? 21:47:46 (at least,for a long time, robots will be too expensive to be assigned to those tasks). 21:47:48 JohnnyL: who do you think we will program in as the most cared-for caste? :P 21:47:59 pkhuong: what does modern c++ mean, C++11? 21:48:11 I'm sure we've installed enough fear into the populace to make them very averse to AI's, thus ensuring job security forever! 21:48:47 -!- hakzsam [~hakzsam@aqu33-5-82-245-96-206.fbx.proxad.net] has quit [Quit: Leaving] 21:48:48 AI: All your jobs belong to me 21:49:15 p_l: Whoever has the most money. 21:49:31 <_6502_> pkhuong: in C++0x (11) you either capture variable by value (and then when writing from the lambda you're just chainging your variable) or by reference (and writing works, but the variable lifetime must bu guaranteed explicitly by someone else as the lambda is not eough to keep the variable alive). 21:49:53 Posterdati: it's not being worse. it's being self defeating. jobs have been replaced because of software. 21:50:24 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 240 seconds] 21:50:27 why do you think programmer's are still make $40+ an hour? because it's hard? No because the execs want AI at their fingertips. 21:50:48 <_6502_> sykopomp: Yes... http://docs.python.org/release/3.1.3/reference/simple_stmts.html#the-nonlocal-statement 21:50:55 JohnnyL: you can't even consider the pop star carrier, that too is taken over by computers. http://gawker.com/5814822/japans-newest-pop-star-revealed-to-be-computer+generated-fake 21:51:02 http://www.nytimes.com/2011/10/24/technology/economists-see-more-jobs-for-machines-not-people.html?_r=1&ref=business 21:51:30 JohnnyL: So leave #lisp now, go to a beach near you and sell fries! 21:51:30 pjb: yeah read that like a month ago. 21:51:44 _6502_: oh neat. So it's new with python3 21:51:56 _6502_: Thank you, I am enlightened. References can be values as well. They can even have destructors. 21:52:46 pjb: now it's winter 21:52:56 Go south! :-) 21:53:06 pjb: this is not the season to sell something on the beach 21:53:22 The reason is because robots won't do it. 21:53:41 pjb: robots don't go south? 21:53:50 And between customers, you can lie on the beach and profit from the sea and sun. 21:53:57 (at least,for a long time, robots will be too expensive to be assigned to those tasks). 21:54:14 pjb: selling fries? 21:54:17 Yes. 21:54:34 -!- paul0 [~user@200.146.125.235.dynamic.adsl.gvt.net.br] has quit [Read error: Connection reset by peer] 21:54:49 pjb: actually a robot can sell fries 21:55:07 ... They already /have/ robots selling fries. 21:55:12 Of course. But it's not profitable enough to assign an expensive robot to it. 21:55:14 What do you think "vending machines" are? 21:55:36 And on a beach, it becomes a high maintainance nightmare. 21:57:15 nyef: there are dwarfs in them 21:58:02 ... awful small dwarfs, considering how much of the interior space is visible during normal operation. 21:58:32 never seen French Fries vending machines 21:59:39 but by the power of google now I have 21:59:59 kpreid [~kpreid@128.153.215.89] has joined #lisp 21:59:59 -!- kpreid [~kpreid@128.153.215.89] has quit [Read error: Connection reset by peer] 22:00:19 kpreid [~kpreid@128.153.212.239] has joined #lisp 22:00:37 -!- sellout- [~Adium@conference/djangocon/x-ostszpbvirggvets] has quit [Quit: Leaving.] 22:01:24 -!- lbc [~quassel@1908ds1-aboes.0.fullrate.dk] has quit [Remote host closed the connection] 22:02:33 sellout- [~Adium@12.232.236.2] has joined #lisp 22:02:47 -!- airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has quit [] 22:04:25 -!- coderdad [~coderdad@wsip-70-164-198-85.ok.ok.cox.net] has quit [Ping timeout: 252 seconds] 22:04:56 nyef: actually most of them are Lisp programmer 22:05:23 nyef: complaining about programming jobs 22:05:55 good point, AI doesn't complain. 22:06:26 nyef: it is not what programming jobs could do for you, but what you could actually do for programming jobs 22:07:16 nyef, pjb: am I right? 22:07:52 ... what I could do for programming jobs? That depends. Are any of you in the Boston area, and know Objective-C? 22:07:56 Posterdati: You are. 22:08:18 otakutomo [~otakutomo@KD027083117212.ppp-bb.dion.ne.jp] has joined #lisp 22:08:26 nyef: me, but not in Boston and do know nothing about objective-c 22:09:03 JohnnyL: you're complaining about programming jobs, what shall I say that I haven't got a job? 22:09:15 todun [~todun@SEAS317.wlan.seas.upenn.edu] has joined #lisp 22:10:07 -!- cyrillos [~cyrill@188.134.33.194] has quit [Ping timeout: 260 seconds] 22:10:10 nyef: do you need a firmware programmer? 22:10:37 Posterdati: No, not doing embedded development at that level, I'm afraid. 22:10:54 -!- oconnore [~Eric@75-150-66-254-NewEngland.hfc.comcastbusiness.net] has quit [Quit: Leaving.] 22:11:19 nyef: ok 22:11:37 nyef: I know Objetive-C, but I only take remote jobs for now. 22:12:13 Posterdati: well, no if you have a job programming your simply generating money for your wallet , but magnitudes more for the already rich. So they can afford AI to do their work. It's simple economics. 22:12:46 JohnnyL: resign already! Work on your own projets! 22:13:12 pjb: yes 22:13:39 hard to get off the ground doing that 22:14:06 Life is hard, let's go shopping. 22:14:27 Yeah fry places see: 1) programming 2) programming 3) programming.... Then they think? Hm, maybe I shouldn't hire. 22:14:44 -!- sonnym [~sonny@rrcs-72-43-20-246.nys.biz.rr.com] has quit [Quit: Leaving.] 22:14:44 pjb: life is hard with a strange taste of shit 22:14:59 pjb: got any hints as to how to not run out of money doing that, then? :P 22:15:27 You don't really need a lot of money. Learn to live cheap. 22:15:27 -!- mulander [mulander@078088239019.lubin.vectranet.pl] has left #lisp 22:15:47 Ralith: Step one, make sure that "your own projects" include things that people will pay money to have the use of... 22:16:31 indeed 22:16:38 So that it involves either sex or food, hence the fries on the beach. 22:16:39 pjb: I'm a student; I know all about living cheap. 22:16:55 you still need an income. 22:17:27 What for? 22:17:30 Income = taxes. 22:18:11 What you need is a garden so that you can grow your own food. 22:18:17 <_6502_> I'm looking for a good programmer... it's not easy to find around here in italy 22:18:25 Garden = real estate = taxes. 22:18:36 _6502_: ehi it's me 22:18:42 _6502_: It's actually very easy to find good programmers. But it's not cheap. 22:18:43 <_6502_> i said good :-D 22:18:44 _6502_: what are you looking for? 22:18:46 <_6502_> heheheh 22:19:08 _6502_: ah then I'm not your kind, I'm the best 22:19:10 <_6502_> posterdati: www.comelz.com 22:19:13 <_6502_> this is the company 22:19:49 -!- fmeyer [~fmeyer@189-38-236-217.static-corp.ajato.com.br] has quit [Quit: leaving] 22:20:09 <_6502_> we make numeric control machines for shoes, leather goods and apparel industry 22:20:27 <_6502_> we also have our own vertical cad/cam system 22:20:39 ... R has the worst package names, ever 22:21:09 p_l: Even worse than "factor"? 22:21:18 -!- knotpine [~cmsimon@c-98-246-47-184.hsd1.or.comcast.net] has quit [Quit: Leaving] 22:21:58 fmeyer [~fmeyer@189-38-236-217.static-corp.ajato.com.br] has joined #lisp 22:22:32 -!- fmeyer [~fmeyer@189-38-236-217.static-corp.ajato.com.br] has quit [Client Quit] 22:22:38 nyef: yes 22:22:53 Okay, fair enough. 22:22:56 cause there are bloody less packages in a distro whose name contains "factor" 22:23:05 Ahh. 22:23:10 -!- dl [~download@chpcwl01.hpc.unm.edu] has quit [Ping timeout: 258 seconds] 22:23:20 try hitting a package called "r" by search 22:23:35 ... regexp search? 22:23:54 Not that that helps, the distro will simply have come up with their own name for it. 22:24:10 Arch packaged it as "r" 22:24:29 -!- lemoinem [~swoog@216.252.79.183] has quit [Ping timeout: 252 seconds] 22:25:00 -!- Davidbrcz_ [~david@ANantes-151-1-36-23.w83-195.abo.wanadoo.fr] has quit [Ping timeout: 260 seconds] 22:25:15 -!- Houl [~Miranda@unaffiliated/houl] has quit [Quit: weil das Wetter so schön ist] 22:25:18 lemoinem [~swoog@216.252.75.27] has joined #lisp 22:27:08 jaminja [~jaminja@unaffiliated/jaminja] has joined #lisp 22:34:13 -!- ngz [~user@201.144.80.79.rev.sfr.net] has quit [Ping timeout: 240 seconds] 22:37:43 -!- devinus [~devinus@65.107.181.222.ptr.us.xo.net] has quit [Quit: devinus] 22:39:49 askatasuna [~askatasun@190.176.238.68] has joined #lisp 22:41:05 Kulyeh [~Kulyeh@68.68.44.60] has joined #lisp 22:42:06 tsuru` [~charlie@adsl-98-87-45-21.bna.bellsouth.net] has joined #lisp 22:43:13 Guest99255 [~Transform@ool-4a59e397.dyn.optonline.net] has joined #lisp 22:43:56 -!- sellout- [~Adium@12.232.236.2] has quit [Quit: Leaving.] 22:44:29 Quaydon [~robert@cpe-071-068-114-143.carolina.res.rr.com] has joined #lisp 22:44:48 -!- tsuru [~charlie@adsl-74-179-19-82.bna.bellsouth.net] has quit [Ping timeout: 240 seconds] 22:45:57 -!- Guest99255 [~Transform@ool-4a59e397.dyn.optonline.net] has quit [Excess Flood] 22:47:00 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Quit: Leaving] 22:48:19 Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has joined #lisp 22:48:41 -!- lemoinem [~swoog@216.252.75.27] has quit [Ping timeout: 252 seconds] 22:49:46 lemoinem [~swoog@216.252.94.22] has joined #lisp 22:49:47 sellout- [~Adium@12.232.236.2] has joined #lisp 22:50:58 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has quit [Excess Flood] 22:51:41 Right, I'm gone for the evening. 22:51:43 -!- nyef [~nyef@c-174-63-105-188.hsd1.ma.comcast.net] has quit [Quit: G'night all.] 22:57:51 -!- kernelpanicker [~pfrench@unaffiliated/kernelpanicker] has quit [Ping timeout: 248 seconds] 23:02:14 -!- JohnnyL [~IceChat7@ool-45782e3e.dyn.optonline.net] has quit [Quit: For Sale: Parachute. Only used once, never opened, small stain.] 23:10:46 kernelpanicker [~pfrench@24.106.207.82] has joined #lisp 23:13:00 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #lisp 23:14:29 sonnym [~sonny@rrcs-184-74-137-69.nys.biz.rr.com] has joined #lisp 23:22:25 -!- Sulimo [~angel@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has quit [Read error: Connection reset by peer] 23:22:34 katesmith [~katesmith@75-138-199-162.static.snfr.nc.charter.com] has joined #lisp 23:22:34 -!- katesmith [~katesmith@75-138-199-162.static.snfr.nc.charter.com] has quit [Changing host] 23:22:34 katesmith [~katesmith@unaffiliated/costume] has joined #lisp 23:24:20 -!- Guthur [~user@212.183.128.36] has quit [Remote host closed the connection] 23:24:33 -!- Kulyeh [~Kulyeh@68.68.44.60] has quit [Quit: Kulyeh] 23:25:40 So why does x change? > (defconstant x #*00000) 23:25:45 >(setf (bit x 1) 1) 23:26:07 Because it's a constant VARIABLE> 23:26:45 The constant part is a promize YOU do to the compiler. Not vice versa. 23:26:50 -!- Guest17586 [~martin@chop.xades.com] has quit [Ping timeout: 260 seconds] 23:27:40 So if you followed the convention of naming it +x+ instead of x, (setf (bit +x+ !!! you would immediately notice something's wrong. 23:28:26 Don't most other languages prohibit you from editing a constant or am i just imagining things? 23:29:01 Quaydon: very few languages actually prohibit you from doing that. Some of them may make it harder than normal though. 23:29:09 Quaydon: other languages don't have a REPL> 23:29:25 Quaydon: other languages don't support runtime redefinition 23:30:18 Im not making a comparison, I just legitimately thought it was just normal convention that constants cant be changed at runtime. 23:30:31 mtd_ [~martin@chop.xades.com] has joined #lisp 23:30:34 Quaydon: there's no constant in lisp, only constant variables. 23:30:57 also you shouldn't really use defconstant with bit-vectors 23:31:10 There's still a value stored in the symbol-value, just like with any other variable., 23:31:14 (non lexical). 23:31:23 are identical bit-vectors eql? 23:31:27 Quaydon: constants *shouldn't* be mutated at runtime. You can't change the binding. 23:31:32 jasom: are bitvectors mutable? 23:31:34 jasom: by definition. 23:31:47 jasom: but equalbit vectors are not necessarily identical. 23:32:00 pjb: yes, that's what I was asking. 23:32:11 No, it wasn't. 23:32:30 identical adj. the same under eq. 23:32:31 jasom: in the context of the CL specification, identical means EQL. 23:32:36 pjb: it wasn't the words I used, but it was trivial for a human such as yourself to infer the meaning I was intending 23:32:37 EQL is the sameness operator, which subsumes identity (EQ). 23:32:38 Quaydon: also, constant-vector of a function is practically a constant, though sometimes redefinable 23:33:05 jasom: we are using the CL glossary here, not only the English dictionnary. 23:33:58 My real problem is bit-vectors. Is it possible to non destructively change a bit? I know I can use bit integers but I would like to use bit-vectors if possible. 23:34:10 cheezus [~Adium@bas2-toronto36-1177850063.dsl.bell.ca] has joined #lisp 23:34:14 Quaydon: sure, make a copy first. 23:34:57 pnathan [~Adium@76.178.165.160] has joined #lisp 23:35:04 Namely because im not sure I understand what byte position is. 23:35:19 -!- LiamH [~none@pdp8.nrl.navy.mil] has quit [Quit: Leaving.] 23:36:38 Quaydon: "non destructively change" is an oxymoron (as the functional types refer to change as destruction).. as for byte position.. you can treat it as bit position if the byte's size is 1... 23:37:13 Quaydon: in CL (and older computer science texts) a byte is a sequence of bits. 23:40:59 -!- pnathan [~Adium@76.178.165.160] has quit [Quit: Leaving.] 23:44:51 nicdev [~user@c-76-24-21-219.hsd1.ma.comcast.net] has joined #lisp 23:46:01 airolson [~airolson@CPE00222d55a738-CM00222d55a735.cpe.net.cable.rogers.com] has joined #lisp 23:46:46 yeah. I think 8bit-sized "bytes" only struck it big with 32bit machines equipped with FPU. 23:46:49 -!- drdo [~drdo@85.207.54.77.rev.vodafone.pt] has quit [Remote host closed the connection] 23:46:52 pjb: are you there? 23:47:06 drdo [~drdo@85.207.54.77.rev.vodafone.pt] has joined #lisp 23:47:33 -!- _6502_ [4e0cf288@gateway/web/freenode/ip.78.12.242.136] has quit [Quit: Page closed] 23:47:39 p_l: I think it was with the advent of byte-addressable machines actually (vs. word-addressable), they pretty quickly standardized on 8 bits for the byte 23:48:04 -!- Jabberwockey [~quassel@83.151.30.10] has quit [Ping timeout: 260 seconds] 23:48:14 At least by the time 8-bit MPUs came around 23:48:24 -!- gko [~gko@114-136-141-168.dynamic.hinet.net] has quit [Ping timeout: 240 seconds] 23:48:48 jasom: would you like to implement Lisp on 8-bit processor? 23:48:59 Posterdati: I have done it before 23:49:12 not common lisp, naturally 23:49:13 jasom: I'm listening! 23:49:23 jasom: I think those are actually the same events 23:49:49 also, many later important designs werent 8bit-addressable 23:49:52 jasom: I'd like to write a Lisp compiler for atmel 8-bit cpus 23:51:04 Posterdati: I did a byte-code compiled one a long long time ago for a Z80; ROM space was at a premium so byte-code was a lot more compact than assembly 23:51:35 jasom: good 23:51:43 jasom: did you program it in c/c++ ? 23:51:45 -!- nicdev [~user@c-76-24-21-219.hsd1.ma.comcast.net] has quit [Ping timeout: 252 seconds] 23:52:01 Posterdati: Mixed C and assembly 23:52:21 jasom: ok 23:52:50 a simple lisp lends itself quite nicely to a byte-code machine. I think the code is on a 5.25" floppy somewhere that is long dead though 23:53:14 jasom: lol 23:53:34 jasom: at least it's 5.25", and thus fairly easy to read 23:54:01 jasom: would be fine to have a lisp for atmega (like the lisp of queinnec book) 23:54:51 Posterdati: I am. 23:56:35 jasom: where did you start? 23:58:37 gko [~gko@114-136-141-168.dynamic.hinet.net] has joined #lisp 23:58:57 Posterdati: I wrote the reader first, then it was "oh now I need to deal with symbols" so it was interning, then I think I added numbers 23:59:34 Then I rewrote the reader in lisp