00:00:33 -!- vaporatorius [~vaporator@55.Red-88-5-225.dynamicIP.rima-tde.net] has quit [Remote host closed the connection] 00:01:22 zRecursive [~czsq888@183.12.93.196] has joined #lisp 00:03:32 cpc26 [~chatzilla@fsf/member/cpc26] has joined #lisp 00:03:47 -!- JuanDaugherty [~Ren@cpe-198-255-198-157.buffalo.res.rr.com] has quit [Read error: Connection reset by peer] 00:08:28 -!- harish [~harish@175.156.193.24] has quit [Ping timeout: 245 seconds] 00:09:54 -!- jhao [~junhao@pool-72-76-190-214.nwrknj.fios.verizon.net] has quit [Quit: jhao] 00:10:33 przl [~przlrkt@p57922519.dip0.t-ipconnect.de] has joined #lisp 00:12:00 jhao [~junhao@pool-72-76-190-214.nwrknj.fios.verizon.net] has joined #lisp 00:13:03 -!- cpc26 [~chatzilla@fsf/member/cpc26] has quit [Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131205075310]] 00:15:33 -!- przl [~przlrkt@p57922519.dip0.t-ipconnect.de] has quit [Ping timeout: 245 seconds] 00:18:07 -!- ltbarcly [~textual@pool-108-42-99-156.snfcca.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 00:18:59 endou [~paul@188.165.96.106] has joined #lisp 00:21:42 kcj [~casey@unaffiliated/kcj] has joined #lisp 00:22:34 Watcher7 [~w@108.218.0.100] has joined #lisp 00:23:59 -!- abeaumont_ [~abeaumont@77.231.228.138] has quit [Remote host closed the connection] 00:24:06 quazimodo [~quazimodo@d110-32-244-254.bla800.nsw.optusnet.com.au] has joined #lisp 00:24:23 -!- endou [~paul@188.165.96.106] has quit [Ping timeout: 272 seconds] 00:24:24 -!- tensorpudding [~tensorpud@99.102.68.3] has quit [Read error: Connection reset by peer] 00:25:43 innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has joined #lisp 00:28:22 -!- jpfuentes2 [~jacques@pool-173-53-63-65.rcmdva.fios.verizon.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 00:32:57 -!- zz_karupanerura is now known as karupanerura 00:33:18 -!- Code_Man` [~Code_Man@2a02:1205:c698:a1d0:223:54ff:fe38:82c2] has quit [Remote host closed the connection] 00:33:41 tensorpudding [~tensorpud@99.148.205.185] has joined #lisp 00:34:00 m104 [~m104@c-67-169-151-146.hsd1.ca.comcast.net] has joined #lisp 00:34:03 -!- m104 [~m104@c-67-169-151-146.hsd1.ca.comcast.net] has quit [Max SendQ exceeded] 00:34:40 wakeup [~user@xdsl-89-0-96-71.netcologne.de] has joined #lisp 00:34:43 Hi again 00:34:45 -!- ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 248 seconds] 00:35:10 I am looking for a way to handle octet input I don't know the encoding of. 00:35:35 Handle in what sense? 00:35:39 -!- MoALTz [~no@host86-137-42-132.range86-137.btcentralplus.com] has quit [Ping timeout: 260 seconds] 00:35:45 Xach: fail gracefully 00:36:02 I don't expect a cl library to determine encoding via magic to be present 00:36:14 MoALTz [~no@host86-137-42-132.range86-137.btcentralplus.com] has joined #lisp 00:36:22 But I know some library exposes a restart where you can replace characters that could not be read with another 00:36:50 So if I find out which that was (flexi-streams?) that would be a start 00:37:25 -!- quazimodo [~quazimodo@d110-32-244-254.bla800.nsw.optusnet.com.au] has quit [Ping timeout: 248 seconds] 00:38:12 Better get some gibberish than nothing 00:38:31 just because some http apparently speak 1.0 and never send headers. 00:38:38 *Servers 00:39:01 I mean I get, I wrote a http1.0 server so I deserve it, but no encoding headers? sheesh 00:39:28 I wonder if http 1.0 servers provide anything but ascii. 00:40:25 SBCL has input replacement for bogus encodings in streams, but I tend to find that getting your charsets right in the headers helps a whole awful lot. 00:40:39 Xach: they are totally fine, try mine: http://mr.gy 00:40:45 Has anyone used iterate instead of loop? 00:40:46 kristof [~Kristoffe@162-236-113-137.lightspeed.frokca.sbcglobal.net] has joined #lisp 00:41:02 nyef: Well, I scrape data from the wild 00:41:11 Iterate seems to be an emacs-friendly version of loop by adding parens. http://common-lisp.net/project/iterate/doc/Don_0027t-Loop-Iterate.html 00:41:15 trying to archive and mess with rss feeds 00:41:54 Ah, fair enough. I had some ideas for trying to guess encodings for random data, but nothing that I've had time to investigate in depth. 00:41:56 -!- kristof [~Kristoffe@162-236-113-137.lightspeed.frokca.sbcglobal.net] has quit [Changing host] 00:41:56 kristof [~Kristoffe@unaffiliated/kristof] has joined #lisp 00:42:09 boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has joined #lisp 00:42:11 (emacs-parsing, I mean, it's for CL) 00:43:12 (Really, it amounted to having a bunch of language models built for various European languages, working out which languages the non-ASCII data records were likely to be in, then trying encodings until one of them actually made sense with respect to the model.) 00:43:28 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 00:43:44 Oh, and the next SBCL release should have Mac OS Roman encoding support, FWIW. I actually ran into that "in the wild" recently. 00:43:45 -!- oleo [~oleo@xdsl-78-35-159-149.netcologne.de] has quit [Read error: Operation timed out] 00:44:39 oleo [~oleo@xdsl-78-35-133-173.netcologne.de] has joined #lisp 00:50:44 -!- wakeup [~user@xdsl-89-0-96-71.netcologne.de] has quit [Read error: Connection reset by peer] 00:51:00 wakeup [~user@xdsl-89-0-96-71.netcologne.de] has joined #lisp 00:54:42 -!- innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has quit [Ping timeout: 252 seconds] 00:55:06 I have to say, it is now, that I use a restart non-interactively for 00:55:06 the first time 00:55:36 is there a standard utf-8 dummy character? E.g. to be used to 00:55:37 replace corrupted data? 00:58:04 innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has joined #lisp 00:58:43 #\Replacement_Character 00:58:45 :) 00:58:49 -!- innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has quit [Remote host closed the connection] 00:59:31 Restarts should be non-interactive! I don't want to have to tell my program what to do. :P 00:59:46 *kristof* recognizes that this is unreasonable and notes that his comment was slightly sarcastic 00:59:54 it's not 01:00:17 graphical applications should not drop into a debugger and tell the user that some case was unhandled 01:00:23 Right now I know I want to try to decode something as utf-8, which isn't necessarily. 01:00:40 so I use the use-value restart of flexi-streams 01:00:42 but, if you've got an application doing some sort of database entry and it's running in the shell, then being able to interact with it on the debugger level is awesome 01:01:00 restarts are generally a pretty far out CL feature imho. 01:01:09 Haven't seen it anywhwere else. 01:01:23 I don't use them often, but they are awesome! :) 01:01:27 -!- boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has quit [Remote host closed the connection] 01:02:05 m104 [~m104@c-67-169-151-146.hsd1.ca.comcast.net] has joined #lisp 01:02:26 Mmm. When restarts are useful, they are VERY useful. 01:03:54 Another fun stunt is, in a webserver that provides an API rather than pages, to HANDLER-BIND for ERROR and format the error classes as JSON with a superclass list, possible extra fields, and so on to send as a response (with a condition-class-dependent response code), AND log the error and a backtrace separately. 01:05:35 -!- jaccas [~pjfcl@3.182.108.93.rev.vodafone.pt] has quit [Quit: Saindo] 01:05:50 # Restart USE-VALUE is not active 01:05:59 ? 01:06:04 what is this :D 01:06:45 -!- m104 [~m104@c-67-169-151-146.hsd1.ca.comcast.net] has left #lisp 01:06:45 Time for you to read CLHS on the condition system. (-: 01:06:50 nyef: That is what I do ... I wonder where I learned that portion of HANDLER-BIND, and what happens to a cyclical HANDLER-BIND/HANDLER-CASE 01:11:20 przl [~przlrkt@p57922519.dip0.t-ipconnect.de] has joined #lisp 01:12:19 JuniorRoy [~dev-fedor@217.118.79.22] has joined #lisp 01:12:54 Quadrescence - Did you rename 'valid' to 'validp' because it's a predicate function? (Is that the right phrasing?) 01:13:07 yes 01:13:22 Okay, thanks. 01:13:29 -!- Vutral [ss@mirbsd/special/Vutral] has quit [Ping timeout: 240 seconds] 01:13:49 drewc: So, my question is, parallel invention or did you crib that from me? 01:14:52 hmm I don't get the flexi-stream encoding error framework 01:15:19 nyef: cribbed ... in fact I remember catching a bug in SBCL because I did the cycle, somewhat correctly but not really, and barely figured out the issue. 01:15:31 Ahh. 01:16:15 -!- przl [~przlrkt@p57922519.dip0.t-ipconnect.de] has quit [Ping timeout: 252 seconds] 01:17:10 nyef: There is a significant amount of my personal know-how that I cribbed from you during that period for that matter ;) 01:17:20 -!- anotherguy [~anothergu@174-20-200-168.mpls.qwest.net] has quit [Read error: Connection reset by peer] 01:17:27 Fair enough. 01:18:01 I'm glad you got something hopefully-worthwhile out of it. 01:18:52 Vutral [ss@mirbsd/special/Vutral] has joined #lisp 01:19:01 -!- Vutral [ss@mirbsd/special/Vutral] has quit [Excess Flood] 01:19:47 endou [~paul@188.165.96.106] has joined #lisp 01:21:07 -!- Alfr [~Unknown@e178255119.adsl.alicedsl.de] has quit [Quit: Leaving] 01:21:50 Vutral [ss@mirbsd/special/Vutral] has joined #lisp 01:21:59 One of these days I'm hoping to write some publicly available documentation, and possibly even code, based on what I ended up putting together. 01:22:41 I did indeed ... and in my dreams I still attend the Irish pub and have a pint, so even non-lisp it was a good trip. 01:23:22 oh, I hope so ... that is a wealth of knowledge that does need to be spread imnsho 01:24:29 -!- endou [~paul@188.165.96.106] has quit [Ping timeout: 240 seconds] 01:25:05 I've actually finally built out part of the whole json-parsing framework that I wanted to way back when, vastly simplified the implementation of data-entities, and am putting together some ideas for automatically generating up-to-date protocol documentation directly from the source code for the built system. 01:25:54 vkrest [~vkrest@76-244-38-58.lightspeed.sntcca.sbcglobal.net] has joined #lisp 01:26:25 LudmiLa [~Alumno@host197.181-1-249.telecom.net.ar] has joined #lisp 01:26:48 you guys are making me curious 01:27:05 next time you go on pub-vacations let me know ;p 01:28:38 Oh, that wasn't VACATION, that was an on-site client visit. 01:28:56 but they fed you well? 01:29:02 hello 01:29:08 hi 01:29:17 jpfuentes2 [~jacques@pool-173-53-63-65.rcmdva.fios.verizon.net] has joined #lisp 01:29:39 I certainly hope that the company covered drewc's food expenses... though I'd understand if they didn't cover the beverages. 01:30:08 :) 01:30:13 hellos to soften me in Spanish if chhatt better but just Ablen ajaj 01:30:26 right 01:31:01 I had my first business trip recently I never atte so good 01:31:11 totally crushed my fears of amarican food 01:32:29 hellooo 01:33:10 Honestly, I find that American restaurant food is... okay. It's nice for variety, but quite often it's a lot simpler to just throw some rice on to cook, toss some chicken in butter, oil, and herbs, or throw a steak under the broiler and grab some salad or... 01:33:31 How's the food at pubs? 01:33:46 harish [harish@nat/redhat/x-dgfitnyvxziaaahh] has joined #lisp 01:34:20 Any "pub" in America is almost certainly a restaurant. There's no real parallel to the British "public house". 01:34:22 I find that American resaurant food is a lot better than washing up my kitchen afterward. 01:34:53 as good as the wash water also. 01:35:11 -!- jpfuentes2 [~jacques@pool-173-53-63-65.rcmdva.fios.verizon.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 01:35:28 -!- oxum [~oxum@122.164.208.162] has quit [Quit: Bye..] 01:35:45 oxum [~oxum@122.164.208.162] has joined #lisp 01:36:25 Washing up after dinner for one: ten minutes. A billing rate not so low as to be completely insulting, but not as high as I've occasionally gotten, and makes the math easy: $60/hour. That's $10 for the washing up. 01:36:27 Now perhaps I should not generalize, after all I was in the USA only in San Francisco for two weeks in the 80's and the food was generally good, apart when comparing a texmex restaurant on El Camino Real with the texmex I knew in Paris. 01:36:50 I happen to live in the most diverse region of American (if you trust TIME magazine), so the food here is quite interesting 01:36:54 the food was not that great... but dark stout is full of calories, so _that_ was my food expense. I think it was covered ... I cannot recall, most due to /it/. 01:36:56 jaoksn am 01:36:59 Half a bottle of wine with dinner: $18 at a restaurant, $5 at home. 01:37:07 -!- LudmiLa [~Alumno@host197.181-1-249.telecom.net.ar] has left #lisp 01:37:08 lduros [~user@fsf/member/lduros] has joined #lisp 01:37:26 nyef: Dinner is for 5 in my house... less than 50 minutes for cleanup though certainly 01:37:30 Actual cost of ingredients vs. cost of an entree at a restaurant: Similar skew. 01:38:30 Time spent cooking vs. time spent waiting to be seated, waiting for the waitstaff to take your order, waiting for your meal to arrive, easily a wash. 01:38:53 Actually dinner is for 6 now that our boarder is off her weird paleo diet 01:39:03 and I'm off to eat it now, so later 01:39:11 Enjoy. 01:39:34 Dinner for 5 or 6? That's exciting. 01:41:24 pjb: the 80s... i wasnt even born 01:46:20 Now I need to harden my feed parser against bad xml... yay! 01:47:04 frankbutt [~frankbutt@66.172.11.32] has joined #lisp 01:47:15 -!- frankbutt [~frankbutt@66.172.11.32] has left #lisp 01:47:52 Out of interest: Does anybody care for better news feed libraries/apps in CL? 01:48:43 I am currently playing with feeds if you haven't noticed, on the quest to toy-clone google news 01:49:14 wakeup: I wrote a fastcgi-server. so I can use the xml-parse-libraries and tagsoup-stuff from perl, python and php ... 01:49:23 wakeup: same for all the other new bullshit 01:49:26 Has anybody encountered any other feed formats besides atom and rss? 01:49:38 wakeup: for everything "real" it is sufficient what cl does 01:49:44 wakeup: and: newsgroups 01:50:20 schoppenhauer: I have a fairly robust rss/atom (all versions) parser in cl 01:50:31 a newsgroup importer would be nice yes 01:50:47 How about a scraper, for sites without proper feeds? 01:50:55 but then I'd want the full archive, and then I need space.. 01:51:07 nyef: like semantic html? 01:51:09 Also, Xach might have an opinion on feed parsing stuff. 01:51:15 -!- yeltzooo [~yeltzooo@162.243.110.169] has quit [Ping timeout: 245 seconds] 01:51:42 I found ripping content out of html using a html parser and pattern matching to be worthfile for little offshoots 01:51:53 -!- vnz [~vnz@unaffiliated/vnz] has quit [Ping timeout: 272 seconds] 01:52:04 scraping metager was fun 01:52:07 -!- dunsmoreb [~dunsmoreb@intenselogic.com] has quit [Read error: Operation timed out] 01:52:34 their html is so bad, it has great entropy in regards to patterns. 01:53:02 (it wasn't fast though) 01:53:03 -!- wormphlegm [~wormphleg@162.243.235.129] has quit [Ping timeout: 272 seconds] 01:53:04 wakeup: well, I do not see the point in reimplementing stuff anymore. in the past I did it, and it is probably good that you do it. but what I would do is just use all libraries at once - the first one that does not fail gets the job, for every feed. 01:53:33 "postmodern programming", that's what I call it 01:53:38 :) 01:53:48 -!- Twipply [~Twipply3@cpc17-mapp10-2-0-cust179.12-4.cable.virginm.net] has quit [Quit: Leaving] 01:54:01 Well I wanted to seriously explore the space of news filtering/querying 01:54:22 and cl-rss (the parser) is just useless. 01:54:25 indeed. 01:54:27 (for feeds from the wild) 01:54:35 it is always good to do stuff. 01:54:40 so Xach is using the python parser I think. 01:54:40 alternatives are good, etc. 01:55:04 I thought I can implement most formats in short time for CL, once and for all 01:55:12 if you're interested in a topic, it *is* the best to write stuff yourself. 01:55:15 so I am happy, and others might enjoy in the future 01:55:30 that's a noble goal, but it will most probably fail. 01:55:35 my conclusion: All feed formats are pretty... bad 01:55:48 nntp. 01:55:51 because ... if it's got numbers, humans can fuck it up. 01:56:05 pjb: need a good spam solution first 01:56:19 vnz [~vnz@unaffiliated/vnz] has joined #lisp 01:56:38 there are literally 3 RSS format versions and 2 atom formt versions 01:56:53 and one of the three rss versions has nothing in common with any of the others 01:57:06 -!- zRecursive [~czsq888@183.12.93.196] has left #lisp 01:57:10 and its the .10 from the set of 0.9 1.0 and 2.0 01:58:13 yep. well. I have "fun" to even create a validating rss feed. 01:58:16 banjara [~Adium@unaffiliated/banjara] has joined #lisp 01:58:33 dunsmoreb [~dunsmoreb@intenselogic.com] has joined #lisp 01:58:38 that's why it is postmodern. in the end, everything is a tree. 01:58:46 graph 01:58:49 the question is how to transport it 01:58:50 imho 01:59:07 usually it is seen as tree with links. 01:59:17 (which is mathematically equivalent, though) 01:59:22 but yes, there are also graphs 01:59:36 one approach is to hash subgraphs, and eliminate duplicates 01:59:45 all immutable of course 01:59:46 wormphlegm [~wormphleg@162.243.235.129] has joined #lisp 01:59:58 lets say *mostly* everything consists of trees, and sometimes links 02:00:12 eliminating duplicates is just changing the representation 02:00:15 but not the semantics 02:00:34 the goal is to identify patterns in the graph 02:00:44 and reverse engineer nature 02:00:45 lol 02:00:49 at least one thing XML tried to do (and failed, of course) was to specify a common API to access trees. 02:01:16 in retrospect xmls, isn't THAT bad 02:01:26 *xml 02:01:39 I find the schemas interesting at least. 02:01:47 it's homoiconic I think? 02:02:08 schemas? you mean, DTD and the other two formats ... 02:02:16 which I have forgotten... 02:02:18 I once heard the definitive spec is supposed to be the xml DTD 02:02:30 and not the written spec 02:02:32 yep, DTDs are a nice thing. 02:02:58 zRecursive [~czsq888@183.12.93.196] has joined #lisp 02:03:20 but they lack of some features. and I remember some problems with namespaces, when I had a lecture about it. but I do not know anymore exacty. 02:03:23 *exactly 02:03:32 but yes, DTDs are a good thing in general 02:04:44 but then like "oh my god semantic web bullshit bingo" you want additional things 02:04:48 RDF-stuff, etc. 02:05:20 n0n0 [~n0n0___@2602:306:c410:500:add0:6828:5f13:81f8] has joined #lisp 02:05:21 in the end, the question is ... why not just a dependent inductive datatype? 02:05:37 ok I need to get to bed, I am stuck at work and totally clueless... 02:05:42 you can specify stuff that is impossible with it. 02:05:53 but then again ... who cares. 02:05:54 my mind isn't made for graphs 02:06:02 ok, n8 02:06:07 good n8 02:06:12 nice talking to you 02:06:20 bye #lisp 02:06:27 -!- wakeup [~user@xdsl-89-0-96-71.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 02:08:48 -!- KaiQ [~localhost@p578FCFA8.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 02:11:17 yeltzooo [~yeltzooo@162.243.110.169] has joined #lisp 02:11:59 green_ [~green@dsl-173-206-105-78.tor.primus.ca] has joined #lisp 02:12:03 przl [~przlrkt@p57922519.dip0.t-ipconnect.de] has joined #lisp 02:12:40 -!- banjara [~Adium@unaffiliated/banjara] has quit [Quit: Leaving.] 02:12:58 -!- green_ is now known as atgreen 02:13:06 -!- atgreen is now known as antgreen 02:16:33 motionman [~motionman@unaffiliated/motionman] has joined #lisp 02:17:13 lyanchih [~lyanchih@202.39.219.19] has joined #lisp 02:17:28 -!- InfusoElAmbulant [~nonononon@cm-188-171-10-178.telecable.es] has quit [Quit: Saliendo] 02:18:35 -!- przl [~przlrkt@p57922519.dip0.t-ipconnect.de] has quit [Ping timeout: 252 seconds] 02:18:48 -!- jack_rabbit [~jack_rabb@c-50-148-124-212.hsd1.il.comcast.net] has quit [Quit: SIGSEGV (core dumped)] 02:20:31 endou [~paul@188.165.96.106] has joined #lisp 02:25:08 -!- endou [~paul@188.165.96.106] has quit [Ping timeout: 245 seconds] 02:26:03 banjara [~Adium@unaffiliated/banjara] has joined #lisp 02:26:09 sohail [~sohail@unaffiliated/sohail] has joined #lisp 02:26:53 -!- sohail [~sohail@unaffiliated/sohail] has quit [Client Quit] 02:30:04 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Read error: No route to host] 02:30:26 sohail [~sohail@75-119-248-79.dsl.teksavvy.com] has joined #lisp 02:30:35 -!- sohail [~sohail@75-119-248-79.dsl.teksavvy.com] has quit [Changing host] 02:30:35 sohail [~sohail@unaffiliated/sohail] has joined #lisp 02:31:48 Does every define-condition that specifies slots need a :report option? 02:33:18 No, :report is always, ah, optional. 02:33:54 On the other hand, you will USUALLY want to override it if you have slots. 02:38:51 Ok - I haven't defined a lot of conditions in the past and I'm defining some very low level ones for too-few-arguments-error and too-many-arguments-error. Something is messing up and it's difficult to debug this low level stuff because errors multiple. 02:39:20 Thanks - I'll define a :report option. 02:41:07 -!- jhao [~junhao@pool-72-76-190-214.nwrknj.fios.verizon.net] has quit [Quit: jhao] 02:42:21 jhao [~junhao@pool-72-76-190-214.nwrknj.fios.verizon.net] has joined #lisp 02:42:25 ... Oh, right, you're writing your own Lisp implementation, aren't you? 02:46:43 Yes - and I'm beefing up my error handling 02:49:49 Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has joined #lisp 02:50:09 -!- Guest35013 [~db@h95-155-207-37.dynamic.se.alltele.net] has quit [Quit: WeeChat 0.4.2] 02:52:31 -!- MrWoohoo [~MrWoohoo@pool-74-100-140-127.lsanca.fios.verizon.net] has quit [Quit: ["Textual IRC Client: www.textualapp.com"]] 02:53:13 -!- bgs100 [~nitrogen@unaffiliated/bgs100] has quit [Quit: bgs100] 02:59:22 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 03:03:20 -!- sohail [~sohail@unaffiliated/sohail] has quit [Quit: This computer has gone to sleep] 03:03:42 sohail [~sohail@75-119-248-79.dsl.teksavvy.com] has joined #lisp 03:03:42 -!- sohail [~sohail@75-119-248-79.dsl.teksavvy.com] has quit [Changing host] 03:03:42 sohail [~sohail@unaffiliated/sohail] has joined #lisp 03:04:27 -!- sohail [~sohail@unaffiliated/sohail] has quit [Client Quit] 03:04:40 -!- banjara [~Adium@unaffiliated/banjara] has quit [Quit: Leaving.] 03:05:09 -!- gmcastil [~user@75-145-122-2-Colorado.hfc.comcastbusiness.net] has quit [Ping timeout: 248 seconds] 03:10:03 LtCrData [~LtCrData@host86-153-30-56.range86-153.btcentralplus.com] has joined #lisp 03:14:36 przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has joined #lisp 03:16:47 edgar-rft [~GOD@HSI-KBW-109-193-013-113.hsi7.kabel-badenwuerttemberg.de] has joined #lisp 03:17:14 -!- Myk267 [~myk@unaffiliated/myk267] has quit [Quit: Myk267] 03:18:32 aftershave [~textual@h-238-41.a336.priv.bahnhof.se] has joined #lisp 03:19:33 -!- przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has quit [Ping timeout: 248 seconds] 03:21:12 endou [~paul@188.165.96.106] has joined #lisp 03:24:50 -!- cross [~cross@spitfire.i.gajendra.net] has quit [Quit: leaving] 03:25:57 -!- endou [~paul@188.165.96.106] has quit [Ping timeout: 248 seconds] 03:28:09 -!- setmeaway [setmeaway3@118.45.149.241] has quit [Ping timeout: 252 seconds] 03:28:25 cross [~cross@spitfire.i.gajendra.net] has joined #lisp 03:29:22 -!- cross [~cross@spitfire.i.gajendra.net] has quit [Client Quit] 03:29:43 cross [~cross@spitfire.i.gajendra.net] has joined #lisp 03:31:29 -!- drewc [~drewc@S0106c8d71945c789.vn.shawcable.net] has quit [Read error: Connection reset by peer] 03:34:23 -!- nyef [~nyef@pool-64-222-145-64.man.east.myfairpoint.net] has quit [Quit: G'night all.] 03:35:57 -!- cory786 [~cory@75-22-101-128.lightspeed.dblnoh.sbcglobal.net] has quit [Read error: Operation timed out] 03:37:09 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Read error: Connection reset by peer] 03:37:33 ltbarcly [~textual@pool-108-42-99-156.snfcca.fios.verizon.net] has joined #lisp 03:37:55 -!- sykopomp [~sykopomp@unaffiliated/sykopomp] has quit [Ping timeout: 272 seconds] 03:38:12 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 03:38:42 jangle [~jimmy1984@c-76-100-229-244.hsd1.md.comcast.net] has joined #lisp 03:41:06 drewc [~drewc@S0106c8d71945c789.vn.shawcable.net] has joined #lisp 03:47:43 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 03:50:59 -!- JuniorRoy [~dev-fedor@217.118.79.22] has quit [Ping timeout: 252 seconds] 03:52:38 slarti [~anonymous@104-252-AGAVEBB-NM.abq.nm.agavebb.net] has joined #lisp 03:58:11 -!- vkrest [~vkrest@76-244-38-58.lightspeed.sntcca.sbcglobal.net] has quit [Remote host closed the connection] 03:59:00 vkrest [~vkrest@173.252.71.189] has joined #lisp 04:00:04 So  is cells still the thing for FRP in CL? 04:01:05 Yes 04:01:55 -!- Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has quit [Ping timeout: 260 seconds] 04:05:26 banjara [~Adium@unaffiliated/banjara] has joined #lisp 04:05:58 -!- KDr2 [~KDr2@222.90.163.108] has quit [Read error: Connection reset by peer] 04:07:17 -!- oxum [~oxum@122.164.208.162] has quit [Quit: ...] 04:09:06 yacks [~py@103.6.159.103] has joined #lisp 04:09:51 -!- banjara [~Adium@unaffiliated/banjara] has quit [Ping timeout: 260 seconds] 04:15:17 -!- aftershave [~textual@h-238-41.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 04:15:20 przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has joined #lisp 04:18:11 -!- n0n0 [~n0n0___@2602:306:c410:500:add0:6828:5f13:81f8] has quit [Ping timeout: 272 seconds] 04:20:21 -!- przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has quit [Ping timeout: 248 seconds] 04:21:58 endou [~paul@188.165.96.106] has joined #lisp 04:22:08 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Remote host closed the connection] 04:24:49 KDr2 [~KDr2@222.91.109.218] has joined #lisp 04:27:07 -!- endou [~paul@188.165.96.106] has quit [Ping timeout: 260 seconds] 04:27:27 Ben2 [~DCG@119.185.175.23] has joined #lisp 04:27:51 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 04:29:56 -!- ASau` is now known as ASau 04:38:38 -!- ltbarcly [~textual@pool-108-42-99-156.snfcca.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 04:40:48 Is there a function to determine the slots defined for a class? 04:40:58 You'd want the mop for that. 04:41:16 And that's not well defined for CL. 04:41:43 But there is a rough consensus, I guess. 04:41:55 Within mop or clos - specifically I implemented ECL clos. 04:41:58 I'd have a look for the closer-mop (?) project? 04:42:33 I'm a little more low-level than that - I was looking for something built into clos. 04:43:07 Nothing standard in CLOS for that. 04:43:19 You'll need to refer to ECL's moppish thingery. 04:44:31 Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has joined #lisp 04:45:56 Oddity [~Oddity@unaffiliated/oddity] has joined #lisp 04:46:29 -!- cyphase [~cyphase@unaffiliated/cyphase] has quit [Quit: cyphase.com] 04:46:43 Ok - I'm digging into the class through it's indexed slots - thanks. 04:47:20 cyphase [~cyphase@unaffiliated/cyphase] has joined #lisp 04:47:48 -!- jangle [~jimmy1984@c-76-100-229-244.hsd1.md.comcast.net] has quit [Quit: jangle] 04:50:23 -!- frxx [frx@93-141-16-139.adsl.net.t-com.hr] has quit [Ping timeout: 272 seconds] 04:51:26 frxx [frx@93-138-71-222.adsl.net.t-com.hr] has joined #lisp 04:52:48 effy_ [~x@111.197.239.70] has joined #lisp 04:56:03 -!- effy [~x@114.246.77.67] has quit [Ping timeout: 260 seconds] 05:00:01 banjara [~Adium@unaffiliated/banjara] has joined #lisp 05:02:15 -!- jhao [~junhao@pool-72-76-190-214.nwrknj.fios.verizon.net] has quit [Quit: jhao] 05:02:52 ggole [~ggole@58-7-94-233.dyn.iinet.net.au] has joined #lisp 05:03:06 oxum [~oxum@122.164.104.122] has joined #lisp 05:04:57 ltbarcly [~textual@pool-108-42-99-156.snfcca.fios.verizon.net] has joined #lisp 05:05:27 cantstanya [~hello@unaffiliated/cantstanya] has joined #lisp 05:06:40 mcsontos [~mcsontos@77.240.184.15] has joined #lisp 05:06:47 -!- sirdancealo2 [~sirdancea@194.228.11.172] has quit [Read error: Operation timed out] 05:08:58 -!- lduros [~user@fsf/member/lduros] has quit [Read error: No route to host] 05:09:05 -!- kliph [~user@unaffiliated/kliph] has quit [Ping timeout: 252 seconds] 05:12:46 -!- nisstyre [~yours@oftn/member/Nisstyre] has quit [Quit: Leaving] 05:15:15 -!- Ben2 [~DCG@119.185.175.23] has quit [Quit: Leaving.] 05:16:05 przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has joined #lisp 05:17:13 foeniks [~fevon@dslb-188-099-225-124.pools.arcor-ip.net] has joined #lisp 05:21:11 -!- Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has quit [Ping timeout: 252 seconds] 05:21:47 -!- przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has quit [Ping timeout: 272 seconds] 05:22:33 Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has joined #lisp 05:22:46 endou [~paul@188.165.96.106] has joined #lisp 05:23:56 werebutt [~buttbutt@46.165.251.66] has joined #lisp 05:24:03 -!- werebutt [~buttbutt@46.165.251.66] has left #lisp 05:27:38 -!- endou [~paul@188.165.96.106] has quit [Ping timeout: 245 seconds] 05:28:28 gravicappa [~gravicapp@ppp91-77-173-25.pppoe.mtu-net.ru] has joined #lisp 05:29:42 -!- kristof [~Kristoffe@unaffiliated/kristof] has quit [Ping timeout: 252 seconds] 05:30:29 -!- Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has quit [Ping timeout: 240 seconds] 05:31:17 -!- banjara [~Adium@unaffiliated/banjara] has quit [Ping timeout: 248 seconds] 05:31:45 -!- zxq9 [~ceverett@FL9-125-199-207-150.okn.mesh.ad.jp] has quit [Read error: Connection reset by peer] 05:31:48 -!- qsun [~qsun@27-32-60-26.static.tpgi.com.au] has quit [Ping timeout: 245 seconds] 05:31:53 Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has joined #lisp 05:32:45 alezost [~user@128-70-204-126.broadband.corbina.ru] has joined #lisp 05:32:49 kristof [~Kristoffe@162-236-113-137.lightspeed.frokca.sbcglobal.net] has joined #lisp 05:33:03 -!- kristof [~Kristoffe@162-236-113-137.lightspeed.frokca.sbcglobal.net] has quit [Changing host] 05:33:03 kristof [~Kristoffe@unaffiliated/kristof] has joined #lisp 05:33:27 -!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Ping timeout: 272 seconds] 05:34:27 qsun [~qsun@27-32-60-26.static.tpgi.com.au] has joined #lisp 05:34:47 zxq9 [~ceverett@FL9-125-199-207-150.okn.mesh.ad.jp] has joined #lisp 05:36:50 -!- xan_ [~xan@80.174.78.225.dyn.user.ono.com] has quit [Ping timeout: 264 seconds] 05:37:09 -!- oxum [~oxum@122.164.104.122] has quit [Ping timeout: 248 seconds] 05:37:26 -!- Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has quit [Ping timeout: 264 seconds] 05:39:51 Myk267 [~myk@unaffiliated/myk267] has joined #lisp 05:40:53 -!- zxq9 [~ceverett@FL9-125-199-207-150.okn.mesh.ad.jp] has quit [Ping timeout: 248 seconds] 05:42:07 aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #lisp 05:43:58 -!- ubii [~ubii@unaffiliated/ubii] has quit [Quit: Leaving] 05:44:12 Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has joined #lisp 05:47:06 -!- nand1 [~user@c-71-202-128-245.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 05:48:45 Watcher7ish [~w@108.218.1.96] has joined #lisp 05:50:43 zxq9 [~ceverett@FL9-125-199-207-150.okn.mesh.ad.jp] has joined #lisp 05:52:00 -!- Watcher7 [~w@108.218.0.100] has quit [Ping timeout: 253 seconds] 05:53:54 -!- sellout- [~Adium@184-96-140-200.hlrn.qwest.net] has quit [Remote host closed the connection] 05:54:09 sellout- [~Adium@184-96-140-200.hlrn.qwest.net] has joined #lisp 05:57:44 -!- oleo [~oleo@xdsl-78-35-133-173.netcologne.de] has quit [Quit: Leaving] 06:00:42 wokko [~wokko@CPE-121-223-134-154.lns1.bat.bigpond.net.au] has joined #lisp 06:03:12 -!- wokko [~wokko@CPE-121-223-134-154.lns1.bat.bigpond.net.au] has quit [Client Quit] 06:05:02 -!- zxq9 [~ceverett@FL9-125-199-207-150.okn.mesh.ad.jp] has quit [Ping timeout: 264 seconds] 06:06:28 -!- foeniks [~fevon@dslb-188-099-225-124.pools.arcor-ip.net] has quit [Quit: This computer has gone to sleep] 06:16:50 przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has joined #lisp 06:17:07 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Remote host closed the connection] 06:18:23 zacharias [~aw@unaffiliated/zacharias] has joined #lisp 06:21:18 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 06:21:48 -!- przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has quit [Ping timeout: 245 seconds] 06:22:26 -!- theos [~theos@unaffiliated/theos] has quit [Excess Flood] 06:22:29 jack_rabbit [~jack_rabb@c-50-148-124-212.hsd1.il.comcast.net] has joined #lisp 06:23:30 endou [~paul@188.165.96.106] has joined #lisp 06:23:31 theos [~theos@unaffiliated/theos] has joined #lisp 06:25:52 -!- endou [~paul@188.165.96.106] has quit [Read error: Operation timed out] 06:27:55 -!- kristof [~Kristoffe@unaffiliated/kristof] has quit [Ping timeout: 245 seconds] 06:28:36 banjara [~Adium@unaffiliated/banjara] has joined #lisp 06:31:32 Ben1 [~DCG@119.185.175.23] has joined #lisp 06:32:59 -!- banjara [~Adium@unaffiliated/banjara] has quit [Ping timeout: 240 seconds] 06:33:43 banjara [~Adium@unaffiliated/banjara] has joined #lisp 06:36:41 -!- banjara [~Adium@unaffiliated/banjara] has quit [Client Quit] 06:37:09 -!- slarti [~anonymous@104-252-AGAVEBB-NM.abq.nm.agavebb.net] has quit [Ping timeout: 272 seconds] 06:45:53 nand1 [~user@c-71-202-128-245.hsd1.ca.comcast.net] has joined #lisp 06:48:35 -!- yacks [~py@103.6.159.103] has quit [Read error: Connection reset by peer] 06:48:59 -!- Ben1 [~DCG@119.185.175.23] has quit [Quit: Leaving.] 06:50:13 prxq [~mommer@x2f69d81.dyn.telefonica.de] has joined #lisp 06:56:38 stanislav__ [~stanislav@bl16-71-251.dsl.telepac.pt] has joined #lisp 06:58:07 xan_ [~xan@80.174.78.189.dyn.user.ono.com] has joined #lisp 06:58:13 -!- stanislav_ [~stanislav@188.251.56.164] has quit [Ping timeout: 248 seconds] 07:01:49 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Quit: Bye!] 07:03:45 ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has joined #lisp 07:04:21 kushal [~kdas@fedora/kushal] has joined #lisp 07:07:30 shridhar [Shridhar@nat/redhat/x-jpgzmauhavhnlxfm] has joined #lisp 07:09:02 Harag [~Thunderbi@105-236-187-173.access.mtnbusiness.co.za] has joined #lisp 07:09:25 -!- Watcher7ish [~w@108.218.1.96] has quit [Quit: h] 07:11:29 -!- Vutral [ss@mirbsd/special/Vutral] has quit [Ping timeout: 240 seconds] 07:11:30 ustunozgur [~ustunozgu@85.110.1.55] has joined #lisp 07:11:48 mishoo [~mishoo@93.113.190.121] has joined #lisp 07:12:13 -!- ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 245 seconds] 07:12:37 innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has joined #lisp 07:12:56 shridharG [Shridhar@nat/redhat/x-texzqmtlbkmghkmc] has joined #lisp 07:13:43 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Remote host closed the connection] 07:14:23 -!- ustunozgur [~ustunozgu@85.110.1.55] has quit [Client Quit] 07:15:09 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 07:16:24 Vutral [ss@mirbsd/special/Vutral] has joined #lisp 07:17:36 przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has joined #lisp 07:21:40 -!- frxx [frx@93-138-71-222.adsl.net.t-com.hr] has quit [Ping timeout: 252 seconds] 07:21:58 frxx [frx@93-138-71-222.adsl.net.t-com.hr] has joined #lisp 07:23:01 -!- przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has quit [Ping timeout: 272 seconds] 07:23:45 nipra [~nipra@61.12.27.114] has joined #lisp 07:24:56 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Remote host closed the connection] 07:25:31 mrSpec [~Spec@88.208.105.6] has joined #lisp 07:25:42 -!- mrSpec [~Spec@88.208.105.6] has quit [Changing host] 07:25:42 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 07:26:04 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Client Quit] 07:26:24 mrSpec [~Spec@88.208.105.6] has joined #lisp 07:26:24 -!- mrSpec [~Spec@88.208.105.6] has quit [Changing host] 07:26:24 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 07:26:25 yacks [~py@122.179.86.89] has joined #lisp 07:30:13 MrWoohoo [~MrWoohoo@pool-74-100-140-127.lsanca.fios.verizon.net] has joined #lisp 07:30:31 yates [~user@nc-67-232-27-161.dhcp.embarqhsd.net] has joined #lisp 07:31:08 in slime/sbcl, is there a way to clear all definitions as if i had restarted the repl ? 07:32:23 maybe M-x slime-restart-inferior-lisp is what you are looking for? 07:33:46 -!- lyanchih [~lyanchih@202.39.219.19] has quit [Quit: lyanchih] 07:33:46 ramkrsna [ramkrsna@unaffiliated/ramkrsna] has joined #lisp 07:34:38 mrSpec: that may work. is there something in CL itself? 07:34:49 (clear) or somesuch? 07:35:39 -!- innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has quit [Ping timeout: 252 seconds] 07:35:53 ,clhs fmakunbound 07:36:09 lyanchih [~lyanchih@118-163-141-228.HINET-IP.hinet.net] has joined #lisp 07:36:24 yates: http://www.lispworks.com/documentation/HyperSpec/Body/f_fmakun.htm 07:37:39 innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has joined #lisp 07:37:40 yates: the answer to your question is "no". you can undo individual functions, packages, classes and bindings, but there is no "initial state" that you can return to other than by restarting your lisp. 07:40:44 i see 07:42:13 scoofy [~scoofy@catv-89-135-80-2.catv.broadband.hu] has joined #lisp 07:44:20 -!- McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has quit [Remote host closed the connection] 07:44:36 McMAGIC--Copy [~McMAGIC--@gateway/tor-sasl/mcmagic--copy] has joined #lisp 07:45:00 -!- zophy [venom@host-94-20-107-208.midco.net] has quit [Ping timeout: 252 seconds] 07:45:27 przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has joined #lisp 07:47:22 endou [~paul@188.165.96.106] has joined #lisp 07:48:17 -!- innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has quit [Quit: innertracks] 07:49:57 -!- przl [~przlrkt@p57923591.dip0.t-ipconnect.de] has quit [Ping timeout: 248 seconds] 07:51:13 quazimodo [~quazimodo@d110-32-244-254.bla800.nsw.optusnet.com.au] has joined #lisp 07:51:31 -!- shridharG [Shridhar@nat/redhat/x-texzqmtlbkmghkmc] has quit [Quit: shridharG] 07:51:33 -!- shridhar [Shridhar@nat/redhat/x-jpgzmauhavhnlxfm] has quit [Quit: shridhar] 07:51:50 shridhar [Shridhar@nat/redhat/x-bczcksdbtrjhozzp] has joined #lisp 07:53:32 oxum [~oxum@122.174.28.157] has joined #lisp 07:55:32 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 07:55:45 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 07:57:08 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Read error: Connection reset by peer] 07:57:14 aftershave [~textual@h-238-41.a336.priv.bahnhof.se] has joined #lisp 07:57:35 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 08:02:19 xificurC [xificurC@nat/ibm/x-krbcwpbjfmaaqfhs] has joined #lisp 08:02:38 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 264 seconds] 08:02:42 jewel [~jewel@105-237-68-160.access.mtnbusiness.co.za] has joined #lisp 08:07:53 -!- galdor [~galdor@78.193.58.122] has quit [Ping timeout: 246 seconds] 08:09:47 apparently starting your code on a freshly started image is required to know for sure you're not using facilities not in the sources anymore, I tend to test that way before each commit 08:10:26 often enough I would test both after a restart and in a VM where I don't have any development environment and where I build a self-contained .exe too 08:10:29 galdor [~galdor@78.193.58.122] has joined #lisp 08:11:31 buildapp is pretty cool for that 08:11:44 morning 08:13:50 diadara [~diadara@115.249.18.25] has joined #lisp 08:15:21 -!- quazimodo [~quazimodo@d110-32-244-254.bla800.nsw.optusnet.com.au] has quit [Ping timeout: 252 seconds] 08:22:02 diadara_ [~diadara@115.249.18.25] has joined #lisp 08:22:16 -!- diadara [~diadara@115.249.18.25] has quit [Read error: Connection reset by peer] 08:22:34 ehu [~ehu@62.140.132.27] has joined #lisp 08:23:34 nha [~prefect@koln-4d0b67c6.pool.mediaWays.net] has joined #lisp 08:24:00 evenson [~user@77.119.129.86.wireless.dyn.drei.com] has joined #lisp 08:25:58 -!- ggole [~ggole@58-7-94-233.dyn.iinet.net.au] has quit [Ping timeout: 245 seconds] 08:30:05 -!- nug700 [~nug700@184-98-184-249.phnx.qwest.net] has quit [Quit: bye] 08:37:29 -!- nha [~prefect@koln-4d0b67c6.pool.mediaWays.net] has quit [Ping timeout: 272 seconds] 08:39:17 ggole [~ggole@220-253-162-131.dyn.iinet.net.au] has joined #lisp 08:41:24 Okasu [~1@unaffiliated/okasu] has joined #lisp 08:42:49 -!- SHODAN [~shozan@fsf/member/shodan] has quit [Read error: Operation timed out] 08:42:57 SHODAN [~shozan@fsf/member/shodan] has joined #lisp 08:43:01 ehu` [~ehu@109.35.162.41] has joined #lisp 08:43:03 endou_ [~paul@188.165.96.106] has joined #lisp 08:43:13 -!- runningskull [~runningsk@li77-167.members.linode.com] has quit [Read error: Operation timed out] 08:43:20 rtoym_ [~chatzilla@24.130.4.105] has joined #lisp 08:43:21 runningskull [~runningsk@li77-167.members.linode.com] has joined #lisp 08:44:12 -!- ehu [~ehu@62.140.132.27] has quit [Ping timeout: 252 seconds] 08:44:36 amaron [~amaron@cable-178-148-241-98.dynamic.sbb.rs] has joined #lisp 08:44:37 -!- rtoym [~chatzilla@24.130.4.105] has quit [Ping timeout: 265 seconds] 08:44:45 -!- rtoym_ is now known as rtoym 08:45:35 -!- endou [~paul@188.165.96.106] has quit [Ping timeout: 265 seconds] 08:48:34 -!- endou_ [~paul@188.165.96.106] has quit [Quit: Lost terminal] 08:50:27 -!- zRecursive [~czsq888@183.12.93.196] has quit [Remote host closed the connection] 08:53:31 arenz [arenz@nat/ibm/x-nwjslmioifeqyigq] has joined #lisp 08:56:13 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 265 seconds] 08:56:48 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 08:58:09 -!- arenz [arenz@nat/ibm/x-nwjslmioifeqyigq] has quit [Ping timeout: 252 seconds] 08:58:16 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 09:00:58 przl [~przlrkt@62.217.45.197] has joined #lisp 09:01:40 OldContrarian [~user@c-ef9de155.42-1-64736c10.cust.bredbandsbolaget.se] has joined #lisp 09:02:07 -!- przl [~przlrkt@62.217.45.197] has quit [Client Quit] 09:02:48 przl [~przlrkt@62.217.45.197] has joined #lisp 09:03:27 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 272 seconds] 09:03:40 -!- przl [~przlrkt@62.217.45.197] has quit [Client Quit] 09:03:49 przl [~przlrkt@62.217.45.197] has joined #lisp 09:04:09 This question isn't strictly Lisp related, but it is about programming: I'm trying to remember the name of a programming game based on C Robots I used about 10 - 15 years ago. You could program your own robot in any language, and it communicated with the game using stdin / stdout. The game was GTK based (I think) and ran in Linux (perhaps other OSes as well). Does anybody know what I'm talking about? 09:04:25 sirdancealo2 [~sirdancea@194.228.11.172] has joined #lisp 09:04:45 It wasn't GNU Robots was it? 09:04:59 ISTR that was a Guile thing 09:05:50 OldContrarian, what was the purpose of the game? 09:06:02 varjagg [~eugene@122.62-97-226.bkkb.no] has joined #lisp 09:06:19 bitwize: I don't think it's GNU Robots, because it wasn't square based. 09:06:56 -!- harish [harish@nat/redhat/x-dgfitnyvxziaaahh] has quit [Remote host closed the connection] 09:06:58 scoofy: The purpose of the game was to kill the other robots, presumably programmed by other people. There were some example robots (read: programs) that came with the game that you could compete with. 09:07:21 OldContrarian: Because the thing that I remember that sounds more like what you describe, I believe was written in Java 09:08:11 Each tick, the game would tell you (IIRC) what was in front of you (wall, robot or bullet) and how far away it was. You could issue commands like rotate, accelerate forwards, or fire. 09:09:21 harish [harish@nat/redhat/x-notfydzdeuhaulcz] has joined #lisp 09:09:41 bitwize: Well, there are many such games based on C Robots (which is a genre, basically). The ones I find when I google now all want you to write your game in a specific language, which isn't what I want. Since the one I remember used stdin / stdout communication, you could write it in whatever language you wanted. Would be fun to try it with Lisp I thought... 09:12:09 Hey, I think I found it! Realtimebattle - realtimebattle.sourceforge.net 09:12:14 sounds like, it would be interesting to evolve these robots genetically 09:12:35 -!- ehu` [~ehu@109.35.162.41] has quit [Ping timeout: 272 seconds] 09:12:44 scoofy: Download it, and knock yourself out! :-) 09:15:51 There's a video here: http://www.youtube.com/watch?v=f5MbQZ1QXCU 09:17:45 arenz [arenz@nat/ibm/x-laalwjoehbnqplva] has joined #lisp 09:18:47 Ben2 [~DCG@119.185.175.23] has joined #lisp 09:18:49 Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has joined #lisp 09:19:32 -!- Ben2 [~DCG@119.185.175.23] has quit [Client Quit] 09:20:11 zacharias [~aw@unaffiliated/zacharias] has joined #lisp 09:20:11 Ben2 [~DCG@119.185.175.23] has joined #lisp 09:22:13 -!- oxum [~oxum@122.174.28.157] has quit [Quit: ...] 09:22:33 oxum [~oxum@122.174.28.157] has joined #lisp 09:22:43 -!- OldContrarian [~user@c-ef9de155.42-1-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 252 seconds] 09:25:19 -!- harish [harish@nat/redhat/x-notfydzdeuhaulcz] has quit [Ping timeout: 260 seconds] 09:27:30 jtza8 [~jtza8@105-236-27-170.access.mtnbusiness.co.za] has joined #lisp 09:28:05 OldContrarian [~user@c-ef9de155.42-1-64736c10.cust.bredbandsbolaget.se] has joined #lisp 09:30:07 ehu [~ehu@31.137.220.54] has joined #lisp 09:33:42 JuniorRoy [~dev-fedor@217.118.79.22] has joined #lisp 09:34:05 -!- varjagg [~eugene@122.62-97-226.bkkb.no] has quit [Read error: Operation timed out] 09:34:29 varjagg [~eugene@122.62-97-226.bkkb.no] has joined #lisp 09:34:44 -!- karupanerura is now known as zz_karupanerura 09:34:59 -!- evenson [~user@77.119.129.86.wireless.dyn.drei.com] has quit [Remote host closed the connection] 09:36:40 -!- Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 09:41:05 Code_Man` [~Code_Man@2a02:1205:c698:a1d0:223:54ff:fe38:82c2] has joined #lisp 09:44:35 -!- ehu [~ehu@31.137.220.54] has quit [Ping timeout: 245 seconds] 09:45:28 nostoi [~nostoi@243.Red-80-39-205.dynamicIP.rima-tde.net] has joined #lisp 09:46:10 -!- ASau [~user@p54AFF70F.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 09:46:26 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Ping timeout: 264 seconds] 09:46:47 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 09:47:53 ASau [~user@p54AFF70F.dip0.t-ipconnect.de] has joined #lisp 09:49:15 -!- oxum [~oxum@122.174.28.157] has quit [Quit: ...] 09:49:21 -!- bentgf [~ben@199.241.30.80] has quit [*.net *.split] 09:49:42 harish [~harish@119.234.32.179] has joined #lisp 09:50:52 8OWAAACR7 [~ben@199.241.30.80] has joined #lisp 09:51:05 -!- theos [~theos@unaffiliated/theos] has quit [Quit: i will be back...nvm] 09:53:53 theos [~theos@unaffiliated/theos] has joined #lisp 09:54:43 -!- ggole [~ggole@220-253-162-131.dyn.iinet.net.au] has quit [Ping timeout: 260 seconds] 09:56:34 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 09:59:02 -!- harish [~harish@119.234.32.179] has quit [Ping timeout: 264 seconds] 09:59:57 mc40 [~mcheema@146.255.107.122] has joined #lisp 10:00:32 Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has joined #lisp 10:00:49 spacefrogg [~spacefrog@unaffiliated/spacefrogg] has joined #lisp 10:00:57 cheier [~cheier@c-98-251-147-85.hsd1.tn.comcast.net] has joined #lisp 10:01:59 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 272 seconds] 10:03:13 przl_ [~przlrkt@62.217.45.197] has joined #lisp 10:04:07 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Quit: Bye!] 10:04:31 -!- xificurC [xificurC@nat/ibm/x-krbcwpbjfmaaqfhs] has quit [Ping timeout: 252 seconds] 10:06:21 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 252 seconds] 10:06:57 -!- aftershave [~textual@h-238-41.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 10:08:04 ggole [~ggole@124-168-250-5.dyn.iinet.net.au] has joined #lisp 10:08:51 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 10:09:18 -!- JuniorRoy [~dev-fedor@217.118.79.22] has quit [Ping timeout: 245 seconds] 10:10:43 pierpa [~user@95.236.58.43] has joined #lisp 10:21:22 aftershave [~textual@h-238-41.a336.priv.bahnhof.se] has joined #lisp 10:26:09 -!- Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has quit [Quit: Lost terminal] 10:26:27 oxum [~oxum@122.164.208.162] has joined #lisp 10:26:30 matko [~matko@ip82-139-125-221.lijbrandt.net] has joined #lisp 10:31:50 -!- effy_ is now known as effy 10:31:56 what's the current state of the art for C++ ffi? 10:35:33 extern C? :> 10:36:54 harish [~harish@175.156.193.24] has joined #lisp 10:44:30 KaiQ [~localhost@p578FC3DC.dip0.t-ipconnect.de] has joined #lisp 10:48:30 I heard SWIG can generate CFFI bindings for C++ libraries, but I've never tried it myself. 10:48:42 loke_erc [~user@203.127.16.194] has joined #lisp 10:51:23 -!- Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has quit [Ping timeout: 245 seconds] 10:51:57 Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has joined #lisp 10:52:32 -!- alexherbo2 [~alexherbo@mawercer.de] has quit [Quit: WeeChat 0.4.2] 10:53:25 vaporatorius [~vaporator@55.Red-88-5-225.dynamicIP.rima-tde.net] has joined #lisp 10:54:38 zacharias [~aw@unaffiliated/zacharias] has joined #lisp 10:55:11 -!- mishoo [~mishoo@93.113.190.121] has quit [Ping timeout: 272 seconds] 10:55:21 mishoo [~mishoo@93.113.190.121] has joined #lisp 10:55:34 -!- mishoo [~mishoo@93.113.190.121] has quit [Client Quit] 10:55:51 mishoo [~mishoo@93.113.190.121] has joined #lisp 10:55:57 -!- vkrest [~vkrest@173.252.71.189] has quit [Remote host closed the connection] 10:56:36 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 10:57:53 ehu [~ehu@109.34.41.71] has joined #lisp 10:58:53 -!- Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has quit [Ping timeout: 252 seconds] 10:59:45 Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has joined #lisp 11:01:11 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 252 seconds] 11:04:03 -!- Harag [~Thunderbi@105-236-187-173.access.mtnbusiness.co.za] has quit [Ping timeout: 272 seconds] 11:05:02 -!- oxum [~oxum@122.164.208.162] has quit [Ping timeout: 252 seconds] 11:07:14 -!- Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has quit [Ping timeout: 252 seconds] 11:09:22 -!- nand1 [~user@c-71-202-128-245.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 11:12:10 zickzackv [~faot@p5DDB0B60.dip0.t-ipconnect.de] has joined #lisp 11:13:57 nand1 [~user@c-71-202-128-245.hsd1.ca.comcast.net] has joined #lisp 11:16:51 -!- cheier [~cheier@c-98-251-147-85.hsd1.tn.comcast.net] has quit [Ping timeout: 260 seconds] 11:18:40 oxum [~oxum@122.174.21.192] has joined #lisp 11:19:07 add^_ [~user@m5-241-186-97.cust.tele2.se] has joined #lisp 11:19:59 -!- diadara_ [~diadara@115.249.18.25] has quit [Ping timeout: 240 seconds] 11:21:14 ft [~ft@149.201.42.118] has joined #lisp 11:23:03 -!- ehu [~ehu@109.34.41.71] has quit [Ping timeout: 245 seconds] 11:24:04 alexherbo2 [~alexherbo@mawercer.de] has joined #lisp 11:24:28 -!- MoALTz [~no@host86-137-42-132.range86-137.btcentralplus.com] has quit [Read error: Connection reset by peer] 11:37:08 stassats [~stassats@wikipedia/stassats] has joined #lisp 11:39:03 Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has joined #lisp 11:40:03 kliph [~user@unaffiliated/kliph] has joined #lisp 11:42:38 -!- ThePhoeron [~thephoero@CPE68b6fcc5ca13-CM68b6fcc5ca10.cpe.net.cable.rogers.com] has quit [Ping timeout: 245 seconds] 11:43:33 -!- Vivitron [~Vivitron@c-50-172-44-193.hsd1.il.comcast.net] has quit [Ping timeout: 252 seconds] 11:44:36 ThePhoeron [~thephoero@CPE68b6fcc5ca13-CM68b6fcc5ca10.cpe.net.cable.rogers.com] has joined #lisp 11:49:06 -!- yates [~user@nc-67-232-27-161.dhcp.embarqhsd.net] has quit [Quit: rcirc on GNU Emacs 24.3.1] 11:49:31 josemanuel [~josemanue@90.Red-79-151-213.dynamicIP.rima-tde.net] has joined #lisp 11:49:48 qwebirc40180 [4d778156@gateway/web/freenode/ip.77.119.129.86] has joined #lisp 11:49:53 rszeno [~rszeno@79.114.99.18] has joined #lisp 11:53:28 michael_lee [~michael_l@1.80.7.170] has joined #lisp 11:55:22 -!- mcsontos [~mcsontos@77.240.184.15] has quit [Quit: Leaving] 11:55:57 -!- KaiQ [~localhost@p578FC3DC.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 11:56:34 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 11:58:20 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Read error: Connection reset by peer] 11:58:24 patojo [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 11:59:53 -!- motionman [~motionman@unaffiliated/motionman] has quit [Quit: tschüß] 12:00:52 -!- QwertyDragon [~chatzilla@pool-173-76-7-69.bstnma.fios.verizon.net] has quit [Quit: ChatZilla 0.9.87 [Iceape 2.7.12/20130119143918]] 12:02:47 -!- varjagg [~eugene@122.62-97-226.bkkb.no] has quit [Ping timeout: 265 seconds] 12:02:57 -!- patojo [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 252 seconds] 12:03:25 varjagg [~eugene@122.62-97-226.bkkb.no] has joined #lisp 12:04:02 ubikation [~user@c-67-166-81-173.hsd1.or.comcast.net] has joined #lisp 12:16:35 -!- nostoi [~nostoi@243.Red-80-39-205.dynamicIP.rima-tde.net] has quit [Quit: Verlassend] 12:18:13 -!- nand1 [~user@c-71-202-128-245.hsd1.ca.comcast.net] has quit [Ping timeout: 248 seconds] 12:19:25 -!- bitwize [~bitwize@c-98-216-250-18.hsd1.ma.comcast.net] has quit [Ping timeout: 272 seconds] 12:20:22 ehu [~ehu@31.138.233.204] has joined #lisp 12:20:33 bitwize [~bitwize@c-98-216-250-18.hsd1.ma.comcast.net] has joined #lisp 12:20:42 hitecnologys [~hitecnolo@46.233.246.19] has joined #lisp 12:21:34 -!- bjz [~bjz@125.253.99.68] has quit [Read error: Connection reset by peer] 12:21:59 bjz [~bjz@125.253.99.68] has joined #lisp 12:23:51 Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has joined #lisp 12:23:51 -!- przl_ [~przlrkt@62.217.45.197] has quit [Ping timeout: 252 seconds] 12:25:21 -!- josemanuel [~josemanue@90.Red-79-151-213.dynamicIP.rima-tde.net] has quit [Quit: Saliendo] 12:26:26 fishkzn [~user@92.255.198.40] has joined #lisp 12:28:20 -!- ft [~ft@149.201.42.118] has quit [Ping timeout: 245 seconds] 12:29:39 -!- Beetny [~Beetny@ppp118-208-44-179.lns20.bne1.internode.on.net] has quit [Ping timeout: 260 seconds] 12:30:32 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Quit: Bye!] 12:31:23 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Ping timeout: 245 seconds] 12:33:59 -!- fishkzn [~user@92.255.198.40] has quit [Remote host closed the connection] 12:37:31 Twipply [~Twipply3@cpc17-mapp10-2-0-cust179.12-4.cable.virginm.net] has joined #lisp 12:37:45 -!- lyanchih [~lyanchih@118-163-141-228.HINET-IP.hinet.net] has quit [Quit: lyanchih] 12:37:49 fishkzn` [~user@92.255.198.40] has joined #lisp 12:37:57 -!- Mon_Ouie [~Mon_Ouie@subtle/user/MonOuie] has quit [Ping timeout: 248 seconds] 12:38:25 -!- ramkrsna [ramkrsna@unaffiliated/ramkrsna] has quit [Ping timeout: 272 seconds] 12:40:41 -!- fishkzn` [~user@92.255.198.40] has quit [Remote host closed the connection] 12:44:12 fishkzn [~user@92.255.198.40] has joined #lisp 12:44:38 -!- fishkzn [~user@92.255.198.40] has quit [Client Quit] 12:46:57 -!- nialo [~nialo@ool-18bbb124.dyn.optonline.net] has quit [Ping timeout: 252 seconds] 12:47:12 -!- nipra [~nipra@61.12.27.114] has quit [Quit: Leaving.] 12:50:32 przl [~przlrkt@62.217.45.197] has joined #lisp 12:51:12 -!- amaron [~amaron@cable-178-148-241-98.dynamic.sbb.rs] has quit [Quit: leaving] 12:51:39 fishkzn [~user@92.255.198.40] has joined #lisp 12:55:19 -!- przl [~przlrkt@62.217.45.197] has quit [Ping timeout: 260 seconds] 12:56:06 -!- yacks [~py@122.179.86.89] has quit [Remote host closed the connection] 12:56:14 KaiQ [~localhost@wlan241074.rz.uni-leipzig.de] has joined #lisp 12:56:35 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 12:56:56 guardianx [guardian@124-170-94-184.dyn.iinet.net.au] has joined #lisp 12:57:18 -!- fishkzn [~user@92.255.198.40] has quit [Remote host closed the connection] 12:59:38 fishkzn [~user@92.255.198.40] has joined #lisp 12:59:58 -!- Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has quit [Read error: Operation timed out] 13:01:08 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 252 seconds] 13:01:56 przl [~przlrkt@62.217.45.197] has joined #lisp 13:02:12 mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 13:02:12 Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has joined #lisp 13:03:13 -!- Sgeo [~quassel@ool-44c2df0c.dyn.optonline.net] has quit [Read error: Connection reset by peer] 13:05:35 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 260 seconds] 13:07:19 -!- przl [~przlrkt@62.217.45.197] has quit [Quit: leaving] 13:09:04 mvilleneuve_ [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has joined #lisp 13:09:28 -!- yrk [~user@pdpc/supporter/student/yrk] has quit [Read error: Operation timed out] 13:09:30 -!- mvilleneuve [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Ping timeout: 252 seconds] 13:12:57 nyef [~nyef@pool-64-222-145-64.man.east.myfairpoint.net] has joined #lisp 13:13:15 -!- jtza8 [~jtza8@105-236-27-170.access.mtnbusiness.co.za] has quit [Ping timeout: 272 seconds] 13:13:33 jtza8 [~jtza8@105-236-27-170.access.mtnbusiness.co.za] has joined #lisp 13:17:31 fmeyer [~fmeyer@179.189.235.234] has joined #lisp 13:18:58 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 13:19:54 ft [~ft@149.201.42.118] has joined #lisp 13:20:12 bassclide [~bassclide@118.129.broadband13.iol.cz] has joined #lisp 13:20:33 -!- kcj [~casey@unaffiliated/kcj] has quit [Ping timeout: 245 seconds] 13:21:43 amaron [~amaron@net146-1-245-109.mbb.telenor.rs] has joined #lisp 13:25:08 -!- Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has quit [Ping timeout: 245 seconds] 13:26:02 -!- fmeyer [~fmeyer@179.189.235.234] has quit [Ping timeout: 264 seconds] 13:28:17 -!- hugoduncan is now known as hugod 13:28:40 jpfuentes2 [~jacques@pool-173-53-102-185.rcmdva.fios.verizon.net] has joined #lisp 13:29:34 przl [~przlrkt@62.217.45.197] has joined #lisp 13:32:53 zacharias [~aw@unaffiliated/zacharias] has joined #lisp 13:35:08 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Ping timeout: 245 seconds] 13:36:29 -!- drmeister [~drmeister@pool-71-175-2-214.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 13:37:00 -!- fishkzn [~user@92.255.198.40] has quit [Ping timeout: 252 seconds] 13:38:27 fmeyer [~fmeyer@187.37.105.153] has joined #lisp 13:43:01 lyanchih_ [~lyanchih@220-134-193-4.HINET-IP.hinet.net] has joined #lisp 13:43:03 -!- fmeyer [~fmeyer@187.37.105.153] has quit [Ping timeout: 252 seconds] 13:43:29 -!- ubikation [~user@c-67-166-81-173.hsd1.or.comcast.net] has quit [Ping timeout: 252 seconds] 13:45:50 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 13:54:41 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Quit: This computer has gone to sleep] 13:55:03 -!- kliph [~user@unaffiliated/kliph] has quit [Ping timeout: 272 seconds] 13:56:00 fmeyer [~fmeyer@179.189.235.234] has joined #lisp 13:56:37 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 13:56:40 -!- antgreen [~green@dsl-173-206-105-78.tor.primus.ca] has quit [Ping timeout: 245 seconds] 14:00:59 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 240 seconds] 14:02:45 -!- jpfuentes2 [~jacques@pool-173-53-102-185.rcmdva.fios.verizon.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 14:03:25 -!- KaiQ [~localhost@wlan241074.rz.uni-leipzig.de] has quit [Remote host closed the connection] 14:03:56 yacks [~py@103.6.159.103] has joined #lisp 14:06:50 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Ping timeout: 272 seconds] 14:07:47 KaiQ [~localhost@wlan241074.rz.uni-leipzig.de] has joined #lisp 14:11:34 -!- lyanchih_ [~lyanchih@220-134-193-4.HINET-IP.hinet.net] has quit [Quit: lyanchih_] 14:11:56 mcsontos [mcsontos@nat/redhat/x-gyybrfcqwonwoagg] has joined #lisp 14:16:06 Denommus [~user@unaffiliated/denommus] has joined #lisp 14:16:19 jpfuente_ [~jacques@166.170.32.161] has joined #lisp 14:16:54 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 14:16:59 lyanchih_ [~lyanchih@220-134-193-4.HINET-IP.hinet.net] has joined #lisp 14:18:13 -!- jewel [~jewel@105-237-68-160.access.mtnbusiness.co.za] has quit [Ping timeout: 248 seconds] 14:18:39 -!- OldContrarian [~user@c-ef9de155.42-1-64736c10.cust.bredbandsbolaget.se] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:21:31 fortitude [~mts@rrcs-24-97-165-124.nys.biz.rr.com] has joined #lisp 14:24:09 Harag [~Thunderbi@41.27.218.43] has joined #lisp 14:24:50 -!- fmeyer [~fmeyer@179.189.235.234] has quit [Ping timeout: 264 seconds] 14:25:28 askatasuna [~askatasun@181.164.152.177] has joined #lisp 14:28:04 JuanDaugherty [~Ren@cpe-198-255-198-157.buffalo.res.rr.com] has joined #lisp 14:28:20 sandbender1512 [~none@CPEc8fb26470b29-CMc8fb26470b26.cpe.net.cable.rogers.com] has joined #lisp 14:28:38 -!- ft [~ft@149.201.42.118] has quit [Quit: WeeChat 0.4.3-rc1] 14:30:04 -!- qwebirc40180 [4d778156@gateway/web/freenode/ip.77.119.129.86] has quit [Quit: Page closed] 14:33:15 oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has joined #lisp 14:33:38 -!- oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has quit [Max SendQ exceeded] 14:33:38 -!- jpfuente_ [~jacques@166.170.32.161] has quit [Read error: Connection reset by peer] 14:34:27 duggiefresh [~duggiefre@64.119.141.126] has joined #lisp 14:34:53 oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has joined #lisp 14:35:31 -!- oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has quit [Max SendQ exceeded] 14:35:55 Quadrescence [~quad@unaffiliated/quadrescence] has joined #lisp 14:36:04 drmeister [~drmeister@155.247.96.196] has joined #lisp 14:36:33 oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has joined #lisp 14:36:33 jpfuentes2 [~jacques@static-71-251-230-114.rcmdva.fios.verizon.net] has joined #lisp 14:36:35 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Ping timeout: 260 seconds] 14:38:14 ft [~ft@149.201.42.118] has joined #lisp 14:38:57 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 14:40:07 -!- sellout- [~Adium@184-96-140-200.hlrn.qwest.net] has quit [Quit: Leaving.] 14:42:05 kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has joined #lisp 14:45:07 -!- oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has quit [Quit: Leaving] 14:48:04 oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has joined #lisp 14:51:16 setmeaway [setmeaway3@118.45.149.241] has joined #lisp 14:56:02 -!- drmeister [~drmeister@155.247.96.196] has quit [Read error: Connection reset by peer] 14:56:23 drmeister [~drmeister@155.247.96.196] has joined #lisp 14:56:35 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 14:58:52 -!- Okasu [~1@unaffiliated/okasu] has quit [Ping timeout: 252 seconds] 14:59:25 billstclair [~billstcla@p-67-158-165-223.dsl1.rtr.chat.fpma.frpt.net] has joined #lisp 14:59:25 -!- billstclair [~billstcla@p-67-158-165-223.dsl1.rtr.chat.fpma.frpt.net] has quit [Changing host] 14:59:25 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 14:59:30 diadara_ [~diadara@115.249.18.25] has joined #lisp 15:00:58 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 245 seconds] 15:01:44 -!- Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 15:03:01 -!- kpal [~kpal@janus-nat-128-240-225-120.ncl.ac.uk] has quit [Ping timeout: 248 seconds] 15:03:41 -!- przl [~przlrkt@62.217.45.197] has quit [Read error: Connection reset by peer] 15:04:02 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Read error: Connection reset by peer] 15:04:19 -!- kushal [~kdas@fedora/kushal] has quit [Quit: Leaving] 15:05:57 stassats [~stassats@wikipedia/stassats] has joined #lisp 15:08:28 sohail [~sohail@unaffiliated/sohail] has joined #lisp 15:08:43 przl [~przlrkt@62.217.45.197] has joined #lisp 15:09:47 Ben1 [~DCG@101.78.211.51] has joined #lisp 15:09:57 -!- Ben2 [~DCG@119.185.175.23] has quit [Ping timeout: 248 seconds] 15:10:37 fmeyer [~fmeyer@187.37.105.153] has joined #lisp 15:12:45 -!- dsp_ [~dsp@technoanimal.net] has quit [Quit: leaving] 15:13:15 -!- diadara_ [~diadara@115.249.18.25] has quit [Ping timeout: 252 seconds] 15:14:53 Ben2 [~DCG@li407-70.members.linode.com] has joined #lisp 15:15:47 grandclosing [~user@155.247.96.196] has joined #lisp 15:16:39 -!- Ben1 [~DCG@101.78.211.51] has quit [Ping timeout: 252 seconds] 15:19:57 Ben1 [~DCG@119.185.175.23] has joined #lisp 15:20:58 -!- michael_lee [~michael_l@1.80.7.170] has quit [Remote host closed the connection] 15:22:07 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 15:22:26 -!- Ben2 [~DCG@li407-70.members.linode.com] has quit [Ping timeout: 264 seconds] 15:26:24 diadara_ [~diadara@115.249.18.25] has joined #lisp 15:28:24 Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has joined #lisp 15:28:43 -!- duggiefresh [~duggiefre@64.119.141.126] has quit [Read error: Connection reset by peer] 15:29:03 duggiefresh [~duggiefre@64.119.141.126] has joined #lisp 15:31:44 Pandering for ideas here. If I have a function, say it's something as simple as (defun fused (a b c) (+ a (* b c))), how might one create various optimized versions of this function for different types without repeating it over and over? The only way I can think of is to have a macro wrapping the DEFUN, but then files unfortunately become large swathes of apparently unidiomatic code. 15:32:18 Quadrescence: declare it inline and let the compiler figure it out 15:32:19 Declare it inline? 15:32:43 percopal [~percopal@63.65.76.38] has joined #lisp 15:33:13 For an API containing 10s of functions, it seems a bit off to declare them as all inline. I guess I could inline them as needed at the call site. 15:33:37 Quadrescence: perhaps this is premature optimization? :) 15:35:23 -!- Ben1 [~DCG@119.185.175.23] has quit [Read error: Connection reset by peer] 15:35:50 Adlai` [~Adlai@unaffiliated/adlai] has joined #lisp 15:36:19 -!- ASau [~user@p54AFF70F.dip0.t-ipconnect.de] has quit [Ping timeout: 260 seconds] 15:36:35 atgreen [~green@CPE002454ac476b-CM0019477f82fc.cpe.net.cable.rogers.com] has joined #lisp 15:36:40 dlowe, Well, unless one goes the inline route, I think such things can dictate the shape of an API somewhat considerably. (And, in this case, it's not a premature optimization. The code has been written. It's just written for a single data type in mind.) 15:37:27 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Ping timeout: 252 seconds] 15:37:29 -!- Adlai` is now known as Adlai 15:37:47 Quadrescence: have you looked at how SICL does that for standard CL functions? 15:38:14 I've looked at SICL, but I don't remember. I'll go check it out again. 15:38:49 3 parameters with however many numeric types possible for each one = far too many functions, most of which would not be used. 15:39:29 Unless you meant parametrically (each parameter the same type), something like type classes 15:39:34 ASau [~user@p54AFF70F.dip0.t-ipconnect.de] has joined #lisp 15:39:45 sellout- [~Adium@c-67-176-62-45.hsd1.co.comcast.net] has joined #lisp 15:40:20 ggole, Yes, that's what I meant, something like type classes. 15:40:54 Rather, something that accomplishes a task similar to that which type classes solve, but for a known set of types. 15:40:55 Quadrescence: yeah, I can't help but wonder if the normal lisp evaluation methods are actually the optimal path, here - delaying type-specific code until the operation needs to know the type 15:43:19 Yeah, macro wrapper is the only thing I can think of. 15:43:59 An implementation could conceivably do such a thing automatically 15:44:57 yrk [~user@c-50-133-134-220.hsd1.ma.comcast.net] has joined #lisp 15:45:06 Yeah, just like implementations could conceivably optimize CLOS so that it's fast for general use cases. 15:45:11 -!- yrk [~user@c-50-133-134-220.hsd1.ma.comcast.net] has quit [Changing host] 15:45:11 yrk [~user@pdpc/supporter/student/yrk] has joined #lisp 15:45:24 -!- KaiQ [~localhost@wlan241074.rz.uni-leipzig.de] has quit [Remote host closed the connection] 15:45:37 -!- Ethan- [~Ethan-@60-248-176-37.HINET-IP.hinet.net] has quit [Ping timeout: 252 seconds] 15:45:45 Alfr [~Unknown@f052152149.adsl.alicedsl.de] has joined #lisp 15:46:14 -!- patrickwonders [~patrickwo@user-38q42ns.cable.mindspring.com] has quit [Quit: patrickwonders] 15:46:16 You can make almost any dumb thing fast with enough clever research thrown at it 15:46:21 *ggole* gestures at Javascript 15:46:46 What about making smart things fast? :) 15:47:01 That is a better use of resources. 15:47:02 *nyef* straps a tortoise to a JATO rocket, "let's see the Hare beat THIS!" 15:47:25 Haha. 15:50:35 -!- oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has quit [Remote host closed the connection] 15:51:38 oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has joined #lisp 15:56:05 -!- duggiefresh [~duggiefre@64.119.141.126] has quit [Read error: Connection reset by peer] 15:56:29 duggiefresh [~duggiefre@64.119.141.126] has joined #lisp 15:56:35 boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has joined #lisp 16:00:41 Quadrescence, without repeating what over and over? the function signature? 16:00:41 -!- jtza8 [~jtza8@105-236-27-170.access.mtnbusiness.co.za] has quit [Remote host closed the connection] 16:00:50 -!- mvilleneuve_ [~mvilleneu@LLagny-156-36-4-214.w80-14.abo.wanadoo.fr] has quit [Quit: This computer has gone to sleep] 16:00:59 -!- boogie [~boogie@ip68-101-218-78.sd.sd.cox.net] has quit [Ping timeout: 240 seconds] 16:01:38 zophy [venom@host-94-20-107-208.midco.net] has joined #lisp 16:02:38 -!- ehu [~ehu@31.138.233.204] has quit [Ping timeout: 264 seconds] 16:03:04 abunchofdollarsi, the function's definition specialized for different types 16:04:17 kobain [~sambio@unaffiliated/kobain] has joined #lisp 16:04:26 -!- heddwch [~yoshi@76.8.3.189] has quit [Ping timeout: 264 seconds] 16:04:52 By definition you just mean (defun (a b c) 16:05:18 I mean (+ a (* b c)) 16:06:29 I see so you have a heuristic that can determine how to optimize that subroutine for different types? 16:06:47 -!- joneshf-laptop [~joneshf@c-98-208-36-36.hsd1.ca.comcast.net] has quit [Ping timeout: 272 seconds] 16:06:54 senj [~senj@unaffiliated/senj] has joined #lisp 16:09:08 -!- duggiefresh [~duggiefre@64.119.141.126] has quit [Read error: Connection reset by peer] 16:09:12 -!- oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has quit [Remote host closed the connection] 16:09:32 duggiefresh [~duggiefre@64.119.141.126] has joined #lisp 16:10:18 oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has joined #lisp 16:11:36 -!- arenz [arenz@nat/ibm/x-laalwjoehbnqplva] has quit [Ping timeout: 272 seconds] 16:13:42 yates [~user@nc-67-232-27-161.dhcp.embarqhsd.net] has joined #lisp 16:14:16 what should i use instead of (concatenate "X" "2") ? (to concatenate two strings? 16:14:39 nm 16:14:41 rtfm 16:14:45 (concatenate 'string "x" "2")? :) 16:15:00 Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has joined #lisp 16:15:01 (format nil "~A~A" "X" "2") ? 16:15:18 right, thanks. 16:15:38 We can come up with more, if you want. There's a bit of a doozy involving WITH-OUTPUT-TO-STRING. (-: 16:15:41 a little string-concat function goes a long way 16:16:11 (concatenate 'string "X" "2") also 16:17:06 Xach: Zhivago covered that one already. 16:17:14 Ah 16:17:23 Well, modulo getting one of the input strings slightly different. 16:17:25 Worth of repetition. :) 16:18:20 make-string + calls to replace is another way; but why would you want to avoid concatenate? 16:18:36 so many ways 16:18:50 -!- gmci [~gmc@rrcs-71-40-75-218.sw.biz.rr.com] has quit [Quit: Textual IRC Client: www.textualapp.com] 16:19:15 -!- Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has quit [Ping timeout: 252 seconds] 16:19:27 cory786 [~cory@CK-Laptop.wifi.utoledo.edu] has joined #lisp 16:19:37 well stassats told me to avoid concatenate in specific cases for performances reasons, so I'm curious for a couple of (static?) strings 16:19:38 Or how about coercing to lists, using APPEND, and then coercing back? 16:20:02 kushal [kdas@fedora/kushal] has joined #lisp 16:20:16 or a vector-push-extend loop? 16:20:20 nyef: that wouldn't give much performance gain, I presume. 16:20:32 Well, no, but that wasn't part of the original question. 16:20:52 Then it's certainly the way, yes. 16:21:20 Just pipe it through run-program cat. 16:21:28 But why would one avoid concatenate if not for performance reasons? 16:21:58 is there something in concatenate specification that prevents its implementation to be fast enough? 16:22:02 I wouldn't necessarily expect concatenate to be slow 16:22:22 Well, it dispatches on the second argument if the implementation doesn't optimize it out, and maybe it has some apply issues. 16:22:34 format is probably the most likely to be tuned. 16:22:51 sbcl can fully open-code concatenate 16:23:08 unless *print-circle* 16:23:28 Guys, what's the proper way of outputting a literal ASCII-tab (0x09 afair) into a stream using FORMAT? ~T doesn't seem to do the trick. 16:23:48 vector-push-extend is likely to be rubbish, string-output-streams will be very wasteful for small strings 16:23:51 (format stream "~a" #\tab) 16:24:15 antoszka: Put a literal ASCII-tab in the control string in the first place? 16:24:18 gmci [~gmc@38.86.37.253] has joined #lisp 16:24:24 jsnell: only for exact types 16:24:50 nyef: hm. didn't think of that. That'll be ^v in emacs? 16:25:09 C-q TAB 16:25:10 simple-string is not enough, has to be simple-base-string or simple-array character, otherwise REPLACE won't get inlined 16:25:14 C-q runs the command quoted-insert 16:25:41 thx 16:25:43 and TAB can be entered as C-i on qwerty keyboards and maybe some other layouts 16:26:01 so C-q C-i is a way to do it, if you lile confusing people 16:26:46 On the other hand, a bare tab in the middle of your source file is very likely to get trashed by accident. 16:27:14 nyef: that's true. 16:27:39 but did the trick for now 16:28:29 -!- oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has quit [Remote host closed the connection] 16:32:52 -!- yacks [~py@103.6.159.103] has quit [Quit: Leaving] 16:34:35 -!- drmeister [~drmeister@155.247.96.196] has quit [Ping timeout: 252 seconds] 16:35:30 arenz [arenz@nat/ibm/x-zbvdlexcdfmcmxdq] has joined #lisp 16:36:16 -!- hitecnologys [~hitecnolo@46.233.246.19] has quit [Quit: hitecnologys] 16:42:26 crixus [~Rob@69.77.176.98] has joined #lisp 16:47:05 axion_ [~axion@static-71-245-156-232.alb.east.verizon.net] has joined #lisp 16:47:35 -!- axion_ is now known as axion_work 16:48:38 drmeister [~drmeister@155.247.96.196] has joined #lisp 16:48:52 -!- yates [~user@nc-67-232-27-161.dhcp.embarqhsd.net] has quit [Quit: rcirc on GNU Emacs 24.3.1] 16:49:02 What is the function that gives you the room number which contains the mainframe that is running your Common Lisp implementation? 16:49:03 -!- guardianx [guardian@124-170-94-184.dyn.iinet.net.au] has quit [Remote host closed the connection] 16:49:36 KaiQ [~localhost@p578FC3DC.dip0.t-ipconnect.de] has joined #lisp 16:50:04 drmeister: Implementation-specific, I'm afraid. 16:50:41 nyef: I thought I saw a CL symbol for it in the CLHS at one point. 16:50:45 machine-instance, I'd expect 16:51:53 jsnell: Thanks - I think it was the machine-XXX functions that I was thinking about. 16:51:53 or maybe long-site-name 16:52:17 Bingo! That's the one! 16:52:38 -!- sellout- [~Adium@c-67-176-62-45.hsd1.co.comcast.net] has quit [Quit: Leaving.] 16:52:44 I am amusing my friends and confounding my enemies with the wonders of Common Lisp. 16:52:52 drmeister: You're trying to find your machine? 16:53:34 -!- grandclosing [~user@155.247.96.196] has quit [Remote host closed the connection] 16:54:01 I'm a bit sad that both short-site-name and long-site-name return nil. On the other hand, I'm not sure what else they would return. 16:54:15 fmeyer_ [~fmeyer@187.37.105.153] has joined #lisp 16:54:41 ggole: You can make them return anything you want 16:55:12 ggole: Technically, they are supposed to be set up by the site definition... 16:55:19 you'd have to set a variable though 16:55:19 16:55:19 16:55:19 16:55:22 16:55:25 16:55:29 16:55:32 16:55:56 -!- fmeyer [~fmeyer@187.37.105.153] has quit [Ping timeout: 272 seconds] 16:56:08 loke_erc: deep 16:56:37 -!- crixus [~Rob@69.77.176.98] has quit [Ping timeout: 248 seconds] 16:56:57 sb-sys:*short-site-name*, eh? 16:57:05 ggole: sb-impl 16:57:12 Xach: a paste error 16:57:15 sorry about that 16:58:58 ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has joined #lisp 17:00:25 loke_erc: oh, ok. I grovelled the former symbol name from the disassembly. 17:00:39 I looked at the source 17:00:44 could they be the same? 17:00:53 -!- arenz [arenz@nat/ibm/x-zbvdlexcdfmcmxdq] has quit [Ping timeout: 248 seconds] 17:00:53 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 248 seconds] 17:00:58 -!- EvW [~Thunderbi@2001:981:5f09:1:a09c:4aea:5b6a:689a] has quit [Ping timeout: 245 seconds] 17:01:21 hrs [~textual@162.212.105.3] has joined #lisp 17:01:25 They are indeed eq. 17:01:45 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Quit: Bye!] 17:01:59 (And the former is external, so I'd prefer it.) 17:02:25 EvW [~Thunderbi@2001:981:5f09:1:590b:ad36:5e8c:99ef] has joined #lisp 17:04:13 we could imagine hooking that up with the OS' geolocation capabilities and returning the current physical address or somethign 17:04:26 with a warning to turn on wifi to make geolocation more accurate 17:05:14 optikalmouse [~omouse@69-165-245-60.cable.teksavvy.com] has joined #lisp 17:05:25 -!- fmeyer_ [~fmeyer@187.37.105.153] has quit [Ping timeout: 245 seconds] 17:05:42 And why not have it check velocity and altitude too, in case it is suitable to return "Low Earth Orbit". 17:05:44 -!- hrs [~textual@162.212.105.3] has quit [Quit: Textual IRC Client: www.textualapp.com] 17:05:52 good idea 17:06:06 nowadays you can easily have wifi in planes after all 17:06:28 QwertyDragon [~chatzilla@pool-173-76-7-69.bstnma.fios.verizon.net] has joined #lisp 17:06:45 innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has joined #lisp 17:06:45 (long-site-name) --> "crossing the altantic, 30,000 feet high, 900mph fast, half-way through" 17:06:57 -!- atgreen [~green@CPE002454ac476b-CM0019477f82fc.cpe.net.cable.rogers.com] has quit [Quit: Leaving] 17:07:57 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Ping timeout: 272 seconds] 17:10:04 -!- innertracks [~Thunderbi@c-50-159-9-43.hsd1.wa.comcast.net] has quit [Client Quit] 17:10:15 Specifying a time would probably be good, since you already consider a machine on the move ... And what about something easier to parse? ;) 17:10:26 *j_king* wishes there was an asdf-like system for server provisioning. (another rando lisp idea to add to the bucket) 17:10:34 -!- shridhar [Shridhar@nat/redhat/x-bczcksdbtrjhozzp] has quit [Quit: shridhar] 17:11:11 fmeyer_ [~fmeyer@187.37.105.153] has joined #lisp 17:12:38 -!- jdz [~jdz@212.36.34.246] has quit [Quit: Leaving] 17:12:39 -!- varjagg [~eugene@122.62-97-226.bkkb.no] has quit [Quit: Leaving] 17:13:42 -!- lyanchih_ [~lyanchih@220-134-193-4.HINET-IP.hinet.net] has quit [Ping timeout: 252 seconds] 17:15:01 oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has joined #lisp 17:15:33 -!- fmeyer_ [~fmeyer@187.37.105.153] has quit [Ping timeout: 245 seconds] 17:16:27 -!- Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has quit [Ping timeout: 252 seconds] 17:17:42 patrickwonders [~patrickwo@67-220-27-111.usiwireless.com] has joined #lisp 17:18:15 -!- vaporatorius is now known as Vaporatorius 17:18:37 there's already lfarm, I think it's going to help you 17:18:46 jdz [~jdz@212.36.34.246] has joined #lisp 17:18:46 https://github.com/lmj/lfarm 17:19:01  » lfarm is a Common Lisp library for distributing work across machines using the lparallel API. 17:19:45 -!- edgar-rft [~GOD@HSI-KBW-109-193-013-113.hsi7.kabel-badenwuerttemberg.de] has quit [Quit: memory access discontinued by timeout after 8569196249388701693955738 seconds] 17:20:14 and server provisionning itself is all about shipping lisp images I guess? see docker and coreos 17:22:15 -!- cory786 [~cory@CK-Laptop.wifi.utoledo.edu] has quit [Ping timeout: 260 seconds] 17:22:40 zacharias [~aw@unaffiliated/zacharias] has joined #lisp 17:24:52 boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has joined #lisp 17:25:08 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 17:26:25 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 17:26:47 -!- boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has quit [Client Quit] 17:28:39 fmeyer_ [~fmeyer@179.189.235.234] has joined #lisp 17:29:51 Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has joined #lisp 17:29:51 slyrus [~chatzilla@107.201.5.56] has joined #lisp 17:30:16 dim: I was thinking more along the lines of what ansible/salt/puppet/chef do: provide a DSL for describing how to provision various servers with all the requisite software installed, processes started, checks in place, etc. 17:30:50 -!- jdz [~jdz@212.36.34.246] has quit [Ping timeout: 245 seconds] 17:31:01 crixus [~Rob@69.77.176.98] has joined #lisp 17:31:02 yeah, why not, lfarm implements running lisp code on each server already ;) 17:31:04 sellout- [~Adium@66.185.108.211] has joined #lisp 17:31:14 jdz [~jdz@mail.prosperitycapital.com] has joined #lisp 17:31:27 dim: hm.. i'll take a poke. thanks. :) 17:32:07 note that I've not used lfarm yet, I've been using lparallel and I really like it 17:33:12 ansible comes close to my desired features (being data-driven rather than script-driven) but it relies on an implicit filesystem hierarchy which requires some tedious leaps. 17:38:10 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Quit: This computer has gone to sleep] 17:38:20 cory786 [~cory@CK-Laptop.wifi.utoledo.edu] has joined #lisp 17:38:23 dim: You might also want to give swank-crew a try. It's a similar package for distributing work onto a set of worker machines. 17:40:08 drmeister: http://paste.lisp.org/+30TY 17:40:24 brown```: looks nice too! more interactive etc 17:40:56 -!- fmeyer_ [~fmeyer@179.189.235.234] has quit [Read error: Connection reset by peer] 17:41:52 drmeister: dim: http://paste.lisp.org/+30TY/1 not all implementation return nil for short/long-site-name. 17:42:43 -!- ft [~ft@149.201.42.118] has quit [Quit: WeeChat 0.4.3-rc1] 17:42:58 ince 17:43:27 minion: memo for Quadrescence: this is the use case for compiler-macros! 17:43:27 Remembered. I'll tell Quadrescence when he/she/it next speaks. 17:44:17 nug700 [~nug700@184-98-184-249.phnx.qwest.net] has joined #lisp 17:44:32 atgreen [green@nat/redhat/x-mkgzivxggouysoit] has joined #lisp 17:44:53 -!- przl [~przlrkt@62.217.45.197] has quit [Quit: leaving] 17:45:03 przl [~przlrkt@62.217.45.197] has joined #lisp 17:45:03 -!- przl [~przlrkt@62.217.45.197] has quit [Client Quit] 17:45:08 Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has joined #lisp 17:45:16 fmeyer_ [~fmeyer@179.189.235.234] has joined #lisp 17:47:38 -!- amaron [~amaron@net146-1-245-109.mbb.telenor.rs] has quit [Ping timeout: 245 seconds] 17:47:58 -!- nydel_ [nydel@gateway/shell/blinkenshell.org/x-ctsmdvghgdphhuyz] has quit [Read error: Operation timed out] 17:49:03 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Quit: WeeChat 0.4.2] 17:49:19 -!- Tordek [tordek@gateway/shell/blinkenshell.org/x-jyhtiiegqdmkhgqv] has quit [Ping timeout: 260 seconds] 17:50:01 -!- vert2 [vert2@gateway/shell/blinkenshell.org/x-anenvdetibndzyzs] has quit [Ping timeout: 272 seconds] 17:50:52 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 17:51:16 -!- crixus [~Rob@69.77.176.98] has quit [Ping timeout: 265 seconds] 17:51:30 innertracks [~Thunderbi@c-24-17-64-212.hsd1.wa.comcast.net] has joined #lisp 17:52:51 -!- fmeyer_ [~fmeyer@179.189.235.234] has quit [Ping timeout: 252 seconds] 17:53:14 sheilong [~sabayonus@unaffiliated/sheilong] has joined #lisp 17:53:43 boogie [~boogie@wsip-98-172-168-236.sd.sd.cox.net] has joined #lisp 17:53:53 -!- bassclide [~bassclide@118.129.broadband13.iol.cz] has quit [Quit: Leaving.] 18:00:55 -!- pjb [~t@AMontsouris-651-1-131-124.w90-46.abo.wanadoo.fr] has quit [Remote host closed the connection] 18:01:27 pjb [~user@AMontsouris-651-1-131-124.w90-46.abo.wanadoo.fr] has joined #lisp 18:01:34 nydel [nydel@gateway/shell/blinkenshell.org/x-lhvplamcallnplnf] has joined #lisp 18:01:50 -!- pjb is now known as Guest40917 18:02:33 -!- Guest40917 is now known as pjb` 18:02:47 -!- pjb` is now known as pjb 18:02:55 bishu [~bishudas@76.178.144.102] has joined #lisp 18:03:13 Quadrescence [~quad@unaffiliated/quadrescence] has joined #lisp 18:03:52 -!- Nizumzen [~Nizumzen@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net] has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/] 18:04:07 heddwch [~yoshi@76.8.3.189] has joined #lisp 18:04:58 fmeyer_ [~fmeyer@187.37.105.153] has joined #lisp 18:06:03 Tordek [tordek@gateway/shell/blinkenshell.org/x-dkktfhmpchlohfik] has joined #lisp 18:06:13 -!- mishoo [~mishoo@93.113.190.121] has quit [Ping timeout: 272 seconds] 18:06:17 vert2 [vert2@gateway/shell/blinkenshell.org/x-rhqswcmmpehksbqb] has joined #lisp 18:08:39 knob [~knob@76.76.202.245] has joined #lisp 18:09:01 joneshf-laptop [~joneshf@128.120.117.179] has joined #lisp 18:09:22 jdz_ [~jdz@212.36.34.246] has joined #lisp 18:11:11 -!- cory786 [~cory@CK-Laptop.wifi.utoledo.edu] has quit [Ping timeout: 252 seconds] 18:12:07 -!- stanislav__ [~stanislav@bl16-71-251.dsl.telepac.pt] has quit [Remote host closed the connection] 18:12:49 -!- jdz [~jdz@mail.prosperitycapital.com] has quit [Ping timeout: 272 seconds] 18:14:44 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Quit: Bye!] 18:16:56 Something like this for common lisp http://www.lambdacs.com/debugger/ 18:17:22 Ahh... I missed a discussion of automated server management with tools like Puppet? 18:17:29 -!- atgreen [green@nat/redhat/x-mkgzivxggouysoit] has quit [Ping timeout: 240 seconds] 18:17:44 (A brief discussion, I see, but a discussion nonetheless.) 18:20:47 -!- Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has quit [Ping timeout: 272 seconds] 18:20:53 MoALTz [~no@host86-137-42-132.range86-137.btcentralplus.com] has joined #lisp 18:21:19 -!- sohail [~sohail@unaffiliated/sohail] has quit [Quit: This computer has gone to sleep] 18:21:21 Patzy [~something@lns-bzn-51f-81-56-151-137.adsl.proxad.net] has joined #lisp 18:21:56 -!- duggiefresh [~duggiefre@64.119.141.126] has quit [Read error: Connection reset by peer] 18:22:07 fiveop [~fiveop@p5DDC458B.dip0.t-ipconnect.de] has joined #lisp 18:22:20 duggiefresh [~duggiefre@64.119.141.126] has joined #lisp 18:22:50 sohail [~sohail@unaffiliated/sohail] has joined #lisp 18:25:24 abunchofdollarsi: congratulations! I waited for years for you to start working in a backward-in-time debugger for Common Lisp. How will you proceed? 18:26:06 pjb, sorry to keep you waiting. 18:26:17 abunchofdollarsi: he's trying to tell you that it is not easy to write such a thing for cl 18:26:25 abunchofdollarsi: one could even say that it is very hard. 18:26:30 on the contrary. 18:26:36 *nyef* can think of two ways to proceed, one involves using a code-walker, the other involves hacking up an existing code-walker... 18:26:37 "right" 18:26:55 I'm saying that it'd be rather easy and instructive to write it for CL, and that more time is spent asking for it than implementing it. 18:27:02 abunchofdollarsi: check my cl-stepper for example. 18:27:26 The code walking part is trivial. 18:27:28 That doesn't really answer how to step backwards 18:27:39 you don't. 18:27:51 you just record all the (significative) steps. 18:28:09 -!- Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has quit [Read error: Operation timed out] 18:28:29 That's not enough: you need all the state that the steps are acting on (as far as possible, anyway). 18:28:43 So you do it lazily? 18:28:53 nonpure things will bite you I guess. 18:29:28 Remember that you can store sparse state, and re-run some steps forward if necessary. 18:29:47 If you can do it for java, you can do it for CL, more easily. 18:30:09 You can use fork to save the state of the entire process, and step forward from such "snapshots" 18:30:35 heh. only on some platforms 18:30:40 Right. 18:30:49 I think OCaml's time-travelling debugger works that way. 18:31:14 ... using up a process for every step? 18:31:24 that's seems not possible 18:31:28 No, you pick certain times at which to do it 18:31:52 If you need to step backwards, then you restore from the last available snapshot and then step forward however many instructions 18:32:02 ah, I see. that makes more sense. 18:33:03 That's cool. 18:33:18 Arranging and discarding snapshots could be done intelligently by trading off time taken by stepping forward to step backward against space taken by snapshots... you can probably imagine roughly how that goes. 18:34:20 and knowing when to snapshot results of non-repeatable operations, like checking the system time or I/O states 18:34:30 ft [~ft@dyn-46.183.96.49.relaix.net] has joined #lisp 18:34:35 Yes, you can't step backwards over system calls. 18:34:50 Unless, I suppose, there are additional shenanigans. 18:35:58 -!- patrickwonders [~patrickwo@67-220-27-111.usiwireless.com] has quit [Quit: patrickwonders] 18:36:05 Like... user-mode Linux uses? 18:36:13 patrickwonders [~patrickwo@67-220-27-111.usiwireless.com] has joined #lisp 18:36:37 atgreen [green@nat/redhat/x-qhgourcppduvmphp] has joined #lisp 18:37:01 That's not really a CL issue, though. 18:41:05 You know what would be nice? A combination of time-travelling debugger and recording watchdog. The hope is that you could say "wait, how'd this get like *that*?", fire up the debugger, point it at a data structure and receive a nice overview of the evolution of that value over time. 18:41:26 is there a way in sbcl to save the state of a repl and recover it at a later time? 18:41:41 jaimef: Have a look at SAVE-LISP-AND-DIE. 18:42:09 But, really, if you want that, you're doing something unusual and there's probably better ways to do it. 18:42:12 nyef thanks 18:42:30 nyef working through a book. 18:42:34 and nice to have the code there 18:42:51 rather to continue where one left off 18:42:55 I usually like to write code into files that can easily be loaded via a system. 18:43:11 as the code grows, i might add more files, and note them in the system definition. 18:43:13 I'd settle for a debugger that gave me the exact expression causing the problem instead of just the function name 18:44:23 For the most part, I usually am happy knowing the error, the backtrace, and having good coverage with my test suite. 18:44:30 ckoch786 [~ckoch786@ne102611l.eng.utoledo.edu] has joined #lisp 18:44:49 -!- clop [~jared@moat3.centtech.com] has quit [Quit: Leaving] 18:46:22 Cannot save core with multiple threads running. 18:46:46 yeah, I mean, that's adequate, but I spend a lot of time trying to figure out exactly which if statement it bombed on 18:46:55 Denommus` [~user@unaffiliated/denommus] has joined #lisp 18:48:00 Logging never failed me. 18:48:21 dlowe: That's where the test coverage comes in. 18:49:00 *sigh* There's no smug lisper like a smug 100% test coverage lisper 18:49:59 -!- Denommus [~user@unaffiliated/denommus] has quit [Ping timeout: 260 seconds] 18:50:28 -!- zophy [venom@host-94-20-107-208.midco.net] has quit [Read error: Operation timed out] 18:50:40 clop [~jared@moat3.centtech.com] has joined #lisp 18:51:14 stassats [~stassats@wikipedia/stassats] has joined #lisp 18:51:16 I'm not sure I understand the problem well enough, but I think dlowe's issue might be that under default optimization policy, some lisps don't associate exact forms with stack frames 18:51:22 Yeah, I know. And I don't even have perfect test coverage, but the number of times having even minimal test coverage has saved my ass recently... 18:51:38 (under high enough debug, sbcl does) 18:51:56 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 18:51:59 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection reset by peer] 18:52:26 Krystof_: hm. I've tried (debug 3) under sbcl and I don't remember it doing that. 18:52:50 Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has joined #lisp 18:55:14 yates [~user@nc-67-232-27-161.dhcp.embarqhsd.net] has joined #lisp 18:55:16 http://paste.lisp.org/+30TZ 18:55:36 compile that, call (foo 3), in the debugger navigate to the (FOO 3) frame and hit v 18:55:46 it will tell you which of the calls to BAR you hit 18:56:10 you can restart the (FOO 3) frame, repeat -- and there'll be a 50% chance v will warp you to the same frame, 50% to the other one :-) 18:57:53 foeniks [~fevon@dslb-188-099-234-068.pools.arcor-ip.net] has joined #lisp 18:58:19 ah, the magic v 18:58:20 ok 18:58:28 ... One of these days someone needs to sit down and make the restart-frame stuff work at any debug level. 18:59:01 hiroakip [~hiroaki@77-20-51-63-dynip.superkabel.de] has joined #lisp 18:59:01 Vivitron [~Vivitron@c-50-172-44-193.hsd1.il.comcast.net] has joined #lisp 19:00:59 i have an easy way 19:01:47 saving the current binding stack pointer in the function prologue 19:02:09 zacharias [~aw@unaffiliated/zacharias] has joined #lisp 19:02:32 Sure, that's somewhat how it works at high debug these days. 19:02:46 Keep in mind that getting at the BSP is a pain on some systems, though. 19:03:05 at higher debug values it tries to save a funny looking entry on the binding stack, which also requires unsaving it 19:03:24 which makes relatively it expensive, just saving bsp in the prologue is quite cheap 19:03:32 No, my more complicated method both requires reliable stack trace and provides reliable stack trace... AND allows us the possibility of getting RID of the binding stack. 19:04:01 jtza8 [~jtza8@105-236-27-170.access.mtnbusiness.co.za] has joined #lisp 19:04:14 crixus [~Rob@69.77.176.98] has joined #lisp 19:09:12 ggole: I've seen something exactly like what you are talking about for C/C++, but it relied on hardware trace ability in e.g. ARM CPUs 19:09:24 aftersha_ [~textual@h-238-41.a336.priv.bahnhof.se] has joined #lisp 19:09:44 -!- aftershave [~textual@h-238-41.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 19:11:13 nyef: and how does it affect unwinding? 19:11:15 mishoo [~mishoo@93.113.190.121] has joined #lisp 19:11:53 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 19:12:34 stassats: It only complicates unwind if you either start using the stack trace information to simplify setting up catch and unwind blocks or go so far as to remove the binding stack. 19:13:12 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 19:15:22 jasom: right. I suspect that approach has been reinvented a few times in various places. 19:15:53 *jaimef* looks for production uses cases to show boss 19:17:31 -!- Denommus` [~user@unaffiliated/denommus] has quit [Ping timeout: 260 seconds] 19:17:38 vkrest [~vkrest@2620:0:1cfe:18:1d6c:458c:e6fb:4f4] has joined #lisp 19:17:47 ggole: I suspect with something like the BSD dtrace you could catch all of the syscall results... 19:18:54 foreignFunction [~niksaak@ip-4761.sunline.net.ua] has joined #lisp 19:19:16 how can i concatenate a list of strings together into one string 19:19:17 ? 19:19:18 You could record them, but you could not replay them in the general case. Consider, eg, file system operations. 19:19:45 ggole: you don't need to replay them, just stuff the results into your replaying 19:19:50 (apply #'concatenate 'string list) 19:20:16 yates: (format nil "~{~A~}" list) 19:20:16 jasom: that would work for some cases, but for everything? 19:20:32 did anyone recently notice with sbcl on amazon linux and large dynamic space sizes? i'm using --dynamic-space-size 15000 on an instance with 30gb ram and it fails. 19:20:40 ggole: why not? You just have to fool the runtime into thinking the syscall happend and returned the same value as it did in the past 19:20:50 -!- drmeister [~drmeister@155.247.96.196] has quit [Remote host closed the connection] 19:21:13 Oh, I see: you're suggesting faking the syscall, not making it. 19:21:24 ggole: precisely 19:21:40 That makes much more sense. 19:21:50 good. 19:22:51 -!- crixus [~Rob@69.77.176.98] has quit [Ping timeout: 272 seconds] 19:23:06 ggole: you could even generalize it to any calls out of lisp (e.g. CFFI stuff, since you don't know if they cause external side-effects) 19:24:27 What about things like signal masks? They would not be reset by stepping backwards over, say, a call to sigaction(2). 19:24:44 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 19:26:59 ggole: ooh look, unix signals makes everything harder, unlike normally where they cause no problems :( 19:27:01 -!- mordocai` [mordocai@2600:3c02::f03c:91ff:fe70:b749] has quit [Ping timeout: 272 seconds] 19:28:20 unless you record changes to signal masks and restore them apropriately 19:30:37 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 19:31:01 Cross process stuff might also be problematic. 19:31:43 Since you don't get the old circumstances back just by swapping processes: you could get faults because of a missing shared mapping or something. 19:33:25 Interesting subject. 19:34:13 pnpuff [~harmonic@unaffiliated/pnpuff] has joined #lisp 19:34:39 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 19:36:15 ggole: well memory mapping and unix signal mask should be handled by the implementation 19:36:26 ggole: and any of those need to be re-run 19:36:29 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 19:37:34 If you try to side-step SBCL by trying to hook into sigsegv or doing some odd mmaps you will run into odd behavior very quickly 19:37:44 -!- fmeyer_ [~fmeyer@187.37.105.153] has quit [Quit: fmeyer_] 19:38:05 fmeyer [~fmeyer@187.37.105.153] has joined #lisp 19:38:14 but in general, the hard part isn't capturing all the state you need, it's capturing the state you need efficiently. 19:39:23 http://blog.fogus.me/2014/01/27/timothy-hart-rest-in-peace/ 19:39:36 Yep, you could easily have to start paging if you recorded too much 19:39:39 crixus [~Rob@69.77.176.98] has joined #lisp 19:40:16 -!- patrickwonders [~patrickwo@67-220-27-111.usiwireless.com] has quit [Quit: patrickwonders] 19:40:45 -!- Myk267 [~myk@unaffiliated/myk267] has left #lisp 19:41:06 -!- Harag [~Thunderbi@41.27.218.43] has quit [Ping timeout: 252 seconds] 19:41:50 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 19:41:52 -!- jpfuentes2 [~jacques@static-71-251-230-114.rcmdva.fios.verizon.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 19:42:04 -!- gigetoo [~gigetoo@c83-250-61-4.bredband.comhem.se] has quit [Remote host closed the connection] 19:42:40 -!- pnpuff [~harmonic@unaffiliated/pnpuff] has left #lisp 19:43:26 -!- JuanDaugherty [~Ren@cpe-198-255-198-157.buffalo.res.rr.com] has quit [Ping timeout: 264 seconds] 19:43:47 gigetoo [~gigetoo@c83-250-61-4.bredband.comhem.se] has joined #lisp 19:44:29 pnpuff [~harmonic@unaffiliated/pnpuff] has joined #lisp 19:44:51 ec [~elliottca@ell.io] has joined #lisp 19:45:23 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 19:47:21 HG` [~HG@78.129.156.27] has joined #lisp 19:48:39 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 19:51:27 -!- msmith [~msmit297@23.31.147.162] has left #lisp 19:54:04 Denommus [~user@unaffiliated/denommus] has joined #lisp 19:54:40 bjorkintosh [~bjork@ip68-13-229-200.ok.ok.cox.net] has joined #lisp 19:54:42 nugnuts [~nugnuts@pool-74-105-21-221.nwrknj.fios.verizon.net] has joined #lisp 19:54:47 -!- DrCode [~DrCode@gateway/tor-sasl/drcode] has quit [Remote host closed the connection] 19:55:16 -!- ggole [~ggole@124-168-250-5.dyn.iinet.net.au] has quit [] 19:55:55 -!- LtCrData [~LtCrData@host86-153-30-56.range86-153.btcentralplus.com] has quit [Remote host closed the connection] 19:57:30 -!- pnpuff [~harmonic@unaffiliated/pnpuff] has quit [] 19:58:07 nand1 [~user@c-71-202-128-245.hsd1.ca.comcast.net] has joined #lisp 19:59:06 jpfuentes2 [~jacques@c-75-75-80-130.hsd1.va.comcast.net] has joined #lisp 20:01:24 ok, i'm miffed. 20:01:55 become muffled: *yates* 20:02:07 kcj [~casey@unaffiliated/kcj] has joined #lisp 20:02:59 http://ur1.ca/gii32 -> http://paste.fedoraproject.org/72107/85290813 20:03:37 can someone please load this and run it with (term-print '(4 (1 x)(2 y))) ? 20:03:44 do you get "4"? 20:04:15 but if i run this at a repl, (if (equalp 0 (length (cdr term)))(format nil "~a" (abs (first term)))(concatenate 'string (if (not (equalp 1 (car term)))(format nil "~a" (abs (car term)))) (apply #'concatenate 'string (mapcar #'factor-print-variable (cdr term))))) 20:04:41 -!- diadara_ [~diadara@115.249.18.25] has quit [Read error: Connection reset by peer] 20:04:41 where (setq term '(4 (1 x)(2 y))), i get 47xy^2, as it should be. 20:04:47 and that is the exact same code! 20:04:47 I get "47xy^2" 20:05:09 -!- gravicappa [~gravicapp@ppp91-77-173-25.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 20:05:10 diadara_ [~diadara@115.249.18.25] has joined #lisp 20:05:34 (equalp 0 (length (cdr term))) <=> (endp (cdr term)) 20:05:47 pjb: you mean with term-print? 20:06:05 modulo the fact that if term is a circular list, (length (cdr term)) will not terminate. 20:06:44 pjb: i'd like to solve my immediate problem first. 20:06:48 -!- hiroakip [~hiroaki@77-20-51-63-dynip.superkabel.de] has quit [Ping timeout: 245 seconds] 20:06:51 nha [~prefect@koln-4d0b67c6.pool.mediaWays.net] has joined #lisp 20:06:59 thanks for the pointers, though 20:07:11 patrickwonders [~patrickwo@user-38q42ns.cable.mindspring.com] has joined #lisp 20:07:22 Do you really expect non numeric items in (car term) ? 20:07:32 you are getting "47xy^2" with term-print? 20:07:44 Yes. 20:07:50 huh. 20:07:51 That's what I wrote above. 20:08:45 i do not expect non-numeric items in (car term). 20:08:54 that would violate the requirements on term 20:09:06 (car term) is ALWAYS a number 20:09:17 Then when (numberp (car term)), (not (equalp 1 (car term))) <=> (/= 1 (car term)) 20:10:26 if (car term) is 1, then I don't want to print it - that's what i'm doing there, or meaning to do. 20:11:14 that "47" is a test - i had a format to print (car term) there 20:12:01 hiroakip [~hiroaki@77-20-51-63-dynip.superkabel.de] has joined #lisp 20:12:13 -!- stassats [~stassats@wikipedia/stassats] has quit [Ping timeout: 245 seconds] 20:12:22 ; print a term, e.g., 4xy^3 20:14:26 Concatenate doesn't print, therefore you should call your functions format-something, not print-something. 20:14:27 (defun format-factor (factor) (format nil "~A~:[^~A~;~]" (second factor) (= 1 (first factor)) (first factor))) 20:16:06 right now i'm trying to find the on switch to my computer... 20:16:44 thanks for those helpful pointers 20:17:27 actually i am in the middle of changing my "-print" routines to "-format" routines, so that they return the string desired instead of "printing" them 20:17:42 but i wasn't aware of those naming conventions. 20:18:07 so... i must be totally hosed - my file doesn't look the same from two different emacs sessions. 20:18:40 (defun format-term (terms) (destructuring-bind (constant &rest factors) terms (format nil "~:[~A~;~]~{~A~}" (= 1 constant) constant (mapcar (function format-factor) factors)))) 20:18:46 (format-term '(4 (1 x) (2 y))) --> "4xy^2" 20:19:27 very very strange. 20:19:29 bgs100 [~nitrogen@unaffiliated/bgs100] has joined #lisp 20:19:44 in one session of emacs, my buffer is not reflectig the actual contents on disk 20:19:49 Now, in CL, you can call formating functions from the format specifier: (format nil "~/format-constant/~{~/format-factor/~}" terms) as long as format-constant and format-factor are defined with the right signature in the right package. 20:21:06 ... 20:21:16 -!- diadara_ [~diadara@115.249.18.25] has quit [Read error: Connection reset by peer] 20:21:30 i'm going out to play - working too hard... 20:21:45 -!- moto9 [~ml@p3E9E2E46.dip0.t-ipconnect.de] has quit [Read error: Operation timed out] 20:22:01 diadara_ [~diadara@115.249.18.25] has joined #lisp 20:22:08 -!- ckoch786 [~ckoch786@ne102611l.eng.utoledo.edu] has quit [Quit: Leaving] 20:22:33 See 22.3.5.4 Tilde Slash: Call Function 20:22:54 zophy [venom@host-94-20-107-208.midco.net] has joined #lisp 20:26:10 JuanDaugherty [~Ren@cpe-198-255-198-157.buffalo.res.rr.com] has joined #lisp 20:26:15 -!- revolve [~steve@psybernetics.org.uk] has quit [Ping timeout: 245 seconds] 20:29:44 -!- vkrest [~vkrest@2620:0:1cfe:18:1d6c:458c:e6fb:4f4] has quit [Remote host closed the connection] 20:31:27 drmeister [~drmeister@155.247.96.196] has joined #lisp 20:31:41 pjb: so would you say a professor who is teaching a class on lisp would probably (even if unconciously) use the name "polyprint" for a function that printed (e.g., via "format t ...") versus formatted ("format nil ...")? 20:32:04 vkrest [~vkrest@mpk-nat-4.thefacebook.com] has joined #lisp 20:33:24 there is a homework assignment where he did just that, but it is not clear if he's going to take off points if the xyzprint adds the return value to the "printed" output or not. 20:33:45 the trailing NIL, i.e. 20:33:49 revolve [~steve@psybernetics.org.uk] has joined #lisp 20:35:17 -!- HG` [~HG@78.129.156.27] has quit [Ping timeout: 252 seconds] 20:36:35 anyone else here who would like to proffer an opinion on this? 20:36:49 i guess we could just ask... 20:36:51 The opinion that matters most is that of the professor. 20:37:02 Xach: true dat. 20:37:06 They can be fickle, unpredictable creatures 20:37:59 moto9 [~ml@p3E9E08F3.dip0.t-ipconnect.de] has joined #lisp 20:38:17 you mean human? 20:41:29 does anyone here remember "the flying fickle finger of fate award"? 20:41:48 -!- innertracks [~Thunderbi@c-24-17-64-212.hsd1.wa.comcast.net] has quit [Ping timeout: 245 seconds] 20:41:48 googling is cheating. 20:42:27 innertracks [~Thunderbi@c-24-17-64-212.hsd1.wa.comcast.net] has joined #lisp 20:43:23 -!- mishoo [~mishoo@93.113.190.121] has quit [Ping timeout: 260 seconds] 20:43:51 -!- Code_Man` [~Code_Man@2a02:1205:c698:a1d0:223:54ff:fe38:82c2] has quit [Read error: Connection reset by peer] 20:43:52 yates: moreover, in CL, you can use a broadcast output stream to print on several files and devices at the same time. 20:44:32 (let ((out (make-broadcast-stream *client-socket* *log-file* *console-output* *trace-output*))) (format out "ERROR: Invalid input~%")) 20:46:14 cool. 20:49:11 -!- foreignFunction [~niksaak@ip-4761.sunline.net.ua] has quit [Quit: Leaving.] 20:51:15 InfusoElAmbulant [~nonononon@cm-188-171-10-178.telecable.es] has joined #lisp 20:52:24 -!- oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has quit [Quit: Leaving] 20:54:01 -!- jtza8 [~jtza8@105-236-27-170.access.mtnbusiness.co.za] has quit [Remote host closed the connection] 20:56:29 oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has joined #lisp 20:57:35 Bike [~Glossina@gannon-wless-gw.resnet.wsu.edu] has joined #lisp 20:57:59 -!- aftersha_ [~textual@h-238-41.a336.priv.bahnhof.se] has quit [Quit: Computer has gone to sleep.] 20:59:36 pjb: What does "kuiper" refer to? Is that your username or do you have machines situated in the Kuiper belt? 21:01:12 cory786 [~cory@CK-Laptop.wifi.utoledo.edu] has joined #lisp 21:03:03 ok, if i change things to essentially do "(format nil ...)", I get quotes around the return result, which I understand since it's a string. but is there a way to remove those quotes? 21:04:00 drmeister: yes, my machines are all on Neptune orbits. 21:04:20 you can write out a string without quotes, with :escape nil 21:04:21 thalassa, nereide, despina, triton, kuiper, voyager, naiad, etc. 21:04:32 pjb: Good for you - that should help keep them cool. 21:04:59 drmeister: eh, actually cooling is really annoying in space ;) 21:05:19 lack of convection, the silent killer 21:05:31 yates: there's no quote around "result". 21:05:51 yates: the proof: (map 'list 'identity "result") --> (#\r #\e #\s #\u #\l #\t) 21:07:09 LispNewbie [~LispNewbi@bas2-toronto43-845435453.dsl.bell.ca] has joined #lisp 21:07:12 Hello 21:07:32 yates: and in (format nil "~S" '(1 howdy "HELLO WORLD" 42)) --> "(1 HOWDY \"HELLO WORLD\" 42)" there are two quotes, and you want them! 21:07:51 otherwise you couldn't distinguish (1 howdy "HELLO WORLD" 42) from (1 howdy hello world 42) 21:07:53 Can someone tell me what all the dialects of Lisp are? 21:08:03 Are they just like BASIC? 21:08:07 LispNewbie: nobody can tell you that. There are too many. 21:08:13 I don't mean to list them. 21:08:14 simple example: (format nil "~a" "hello") 21:08:16 LispNewbie: Common Lisp is the dialect that is the topic of #lisp 21:08:16 They have nothing to do with BASIC. 21:08:18 But to tell me what they are. 21:08:23 that yields "hello" in my repl 21:08:28 Of course. 21:08:32 But there's no quote there. 21:08:34 can i make it, instead, yield hello. 21:08:35 Is CommonLisp the most common dialect? 21:08:44 yates: you cannot. 21:08:59 because it's placed there by the repl? 21:08:59 a string is always prin1-ed with double-quotes, since that's its readable syntax. 21:09:20 by the way, that's what i thought (that you can't remove those quotes) 21:09:29 Also, is Lisp worth learning? 21:09:33 REPL = Read Eval PRINT Loop. PRINT = terpri + prin1. 21:09:35 -!- axion_work [~axion@static-71-245-156-232.alb.east.verizon.net] has quit [Ping timeout: 245 seconds] 21:09:39 I have quite a bit of programming experience. 21:10:01 LispNewbie: if you have experience, you'll be able to answer the question yourself 21:10:02 LispNewbie: no, lisp will break you. You're won't be worth anything professionnaly after having learned lisp. 21:10:11 LispNewbie: learn lisp when you retire. 21:10:12 Abby30 [~Abby30@77.231.59.198] has joined #lisp 21:10:14 I give you some pictures. I hope you like! http://bit.do/my_videos69 21:10:15 LispNewbie: Do you really have to ask in a channel called #lisp whether or not the people in here think it is worth learning? 21:10:23 -!- ChanServ has set mode +o Xach 21:10:25 -!- Xach has set mode +b *!*Abby30@77.231.59.* 21:10:28 -!- Abby30 [~xach@pdpc/supporter/professional/xach] has been kicked from #lisp by Xach (Abby30) 21:10:31 -!- Xach has set mode -o Xach 21:10:43 I meant for what I have already done. 21:11:02 One of my goals is to create a CAS. 21:11:16 compare-and-swap? 21:11:17 I heard several CASs are created in Lisp. 21:11:21 LispNewbie: I would suggest working through practical common lisp; if you have programming experience it shouldn't be too hard 21:11:23 Computer algebra system. 21:11:28 LispNewbie: also, do you think it's wroth learning the old art of jedi, when you can just build a death star and wipe them all out by mere treason? 21:11:49 Lisp is a language I would definitely learn when I have more time 21:11:58 But is it useful for me with my current ambitions? 21:12:06 LispNewbie: no. 21:12:08 LispNewbie: no. 21:12:20 depends on how ambitious you are. 21:12:23 So for creating a CAS, Lisp isn't really needed? 21:12:30 LispNewbie: http://www.chaosmatrix.org/library/humor/evilovl.html 21:12:35 Cascading Archive Site? 21:12:40 I don't see lisp mentionned there. 21:12:43 Computer algebra system 21:12:59 LispNewbie: you can write one in assembler, too 21:13:01 Like Mathematica, Maxima, Sage etc. 21:13:12 LispNewbie: or maxima, which is written in lisp 21:13:15 I learned some ASM several years back. 21:13:15 Maxima is written in CL indeed. 21:13:21 Yeah 21:13:28 So is Lisp useful for creating a CAS? 21:13:32 So perhaps you could start by reading it? 21:13:32 LispNewbie: no. 21:13:37 Oh 21:14:05 So generally C++ and similar are better for that purpose? 21:14:30 C++ is the worst programming language ever. 21:14:38 I like it. 21:15:06 pjb: I wouldn't go that far; there are certainly worse ones out there. Of the ones I am forced to encounter regularly C++ is the worst though 21:15:20 Wow 21:15:29 I like it too. It's terrible. It's definitely the worst, except for all the others that are worse. 21:15:33 For me, C++ is a really good language. 21:15:39 The one I hate is Java. 21:16:11 klltkr_ [~klltkr@unaffiliated/klltkr] has joined #lisp 21:16:14 -!- kcj [~casey@unaffiliated/kcj] has quit [Quit: kcj] 21:16:16 -!- foeniks [~fevon@dslb-188-099-234-068.pools.arcor-ip.net] has quit [Quit: Leaving] 21:16:45 LispNewbie: well to give you an idea of asking about "Dialects of Lisp" Scheme and Common Lisp (the two most popular general-purpose lisp dialects) are about as similar as Java and C++ 21:17:13 Oh 21:17:38 Well, the bottomline is, I shouldn't learn Lisp as it isn't practical for any of my current plans? 21:17:53 LispNewbie: if you ask like this, then yes. 21:18:04 That's unfortunate. 21:18:23 Don't ask what lisp can do for you, ask what you can do for lisp! 21:18:29 LispNewbie: most of the people in here find common lisp useful for getting things done. If you want to get things done *now* though, it is almost always better in the short run to use what you know. 21:18:30 Nonetheless, I hope someday I have time to learn what seems like a wonderful functional language. 21:18:35 gmcastil [~user@75-145-122-2-Colorado.hfc.comcastbusiness.net] has joined #lisp 21:18:39 Looks can be deceiving. 21:18:48 If you still think C++ is a really good language, I think you need to get to know it a bit better. IMO, nobody who really knows it would ever say it's a "really good" language. The closest you can get is "it's terrible, but, the despite that, it's the best option for the thing I'm doing." 21:19:09 It's better then the other lanuages... 21:19:10 i find c++ fascinating 21:19:15 foom: i've been using it for about 16 years and i don't think it's terrible 21:19:17 with c++ i have a love/hate relationship 21:19:37 PHP, Perl, Java are all good (except for the last one) but I like C++ a bit more. 21:19:39 but "terrible" and "good" depend on your metrics. 21:19:51 H4ns: that's a peculiar word to use... 21:19:55 foom: C++ and Lisp share a lot in common: They are both languages with an emphasis on practicality, with turing-complete metaprograming facilities 21:20:30 The difference is that metaprogramming in lisp is done in lisp, while metaprogarmming in C++ is done in templates. 21:20:31 java is good (for it's target domain, that is portability), except it's somewhat crappily done 21:20:41 C++ doesn't have an emphasis on a turing complete metaprogramming facility, it has an accidentally turing-complete metaprogramming facility that fortuitously turned out to be really useful. 21:20:52 LispNewbie: You want to be careful learning Common Lisp - you may end up like me - I wrote my first Common Lisp code about three years ago and now I've implemented my own self-hosting Common Lisp system. 21:21:04 scoofy: in part that's thanks to some really stupid ideas about OO 21:21:09 Wow 21:21:16 Is there a web framework for Lisp? 21:21:26 scoofy: that weren't really specific to java, but java was also hip at that time and the two converged 21:21:28 LispNewbie: several 21:21:29 at least 5. :) 21:21:39 Any not too difficult to implement? 21:21:57 it's too easy to make a web framework, so everyone and their cat has one 21:22:03 By the way, we learned some Scheme long time back at MIT. 21:22:27 <3 years 21:22:41 -!- sohail [~sohail@unaffiliated/sohail] has quit [Quit: This computer has gone to sleep] 21:22:42 LispNewbie: but that did not prevent you from saying "PHP, Perl, Java are all good" 21:22:43 LispNewbie: Very, very time consuming to implement. Lots of details to get right. 21:22:52 chadhs_ [~textual@66.195.151.70] has joined #lisp 21:23:08 H4ns, I don't think any language is really bad. 21:23:21 Even Turing is decent, especially for beginners. 21:23:21 -!- chadhs_ [~textual@66.195.151.70] has quit [Client Quit] 21:23:23 Any list of good languages with PHP on top is quite suspect. 21:23:36 In no particular order... 21:24:16 PHP was phenomenal at introducing people who only knew markup to programming. 21:24:24 -!- oleo [~oleo@xdsl-87-78-78-198.netcologne.de] has quit [Ping timeout: 265 seconds] 21:24:32 Which had the downside of lots of people using it who didn't know much about programming... 21:24:39 including its author 21:24:42 which is the actual problem 21:24:53 *Xach* smells a canadian 21:24:54 Lerdorf? 21:25:25 -!- Adlai [~Adlai@unaffiliated/adlai] has quit [Ping timeout: 248 seconds] 21:26:28 chadhs_ [~textual@66.195.151.70] has joined #lisp 21:26:36 foom: though quotes I've read from the author indicate that at least he knew he didn't know what he was doing... 21:26:52 -!- alezost [~user@128-70-204-126.broadband.corbina.ru] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:26:56 That still isn't great. 21:29:25 -!- LispNewbie [~LispNewbi@bas2-toronto43-845435453.dsl.bell.ca] has quit [Quit: irc2go] 21:31:47 -!- chadhs_ [~textual@66.195.151.70] has quit [Quit: Textual IRC Client: www.textualapp.com] 21:32:54 seangrove [~user@199.188.194.204] has joined #lisp 21:34:42 -!- jpfuentes2 [~jacques@c-75-75-80-130.hsd1.va.comcast.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 21:36:53 -!- zickzackv [~faot@p5DDB0B60.dip0.t-ipconnect.de] has quit [Ping timeout: 252 seconds] 21:39:46 DrCode [~DrCode@gateway/tor-sasl/drcode] has joined #lisp 21:43:29 -!- Krystof_ is now known as Krystof 21:43:59 Watcher7 [~w@108.218.1.96] has joined #lisp 21:44:53 -!- add^_ [~user@m5-241-186-97.cust.tele2.se] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:46:55 -!- drmeister [~drmeister@155.247.96.196] has quit [Read error: Connection reset by peer] 21:47:00 drmeiste_ [~drmeister@155.247.96.196] has joined #lisp 21:47:15 -!- diadara_ [~diadara@115.249.18.25] has quit [Ping timeout: 272 seconds] 21:47:26 diadara_ [~diadara@115.249.18.25] has joined #lisp 21:47:43 ngz [~user@91.224.148.150] has joined #lisp 21:49:40 jpfuentes2 [~jacques@static-71-251-230-114.rcmdva.fios.verizon.net] has joined #lisp 21:50:52 -!- drmeiste_ is now known as drmeister 21:51:44 -!- nugnuts [~nugnuts@pool-74-105-21-221.nwrknj.fios.verizon.net] has quit [Quit: Leaving] 21:52:17 That's why I decided when I wanted to implement my own language to implement Common Lisp - it has everything and it's all pretty well thought out. 21:52:40 oleo [~oleo@xdsl-78-35-159-175.netcologne.de] has joined #lisp 21:52:55 stassats [~stassats@wikipedia/stassats] has joined #lisp 21:52:59 Why make all the same mistakes everyone else made over and over again? 21:53:42 because Common Lisp shouldn't be used for system programming :-D 21:53:49 And then have to justify why the way your language declares local variables is so much better than the way other languages declare local variables. 21:54:08 Denommus: Tell that to the people who developed lisp machines. 21:54:09 Denommus: I fail to see why not. 21:54:33 I've written device drivers in SBCL before. 21:54:35 for the lack of deterministic memory management 21:55:00 that's not true 21:55:08 *drmeister* runs for cover 21:55:10 -!- cory786 [~cory@CK-Laptop.wifi.utoledo.edu] has quit [Read error: Operation timed out] 21:55:23 drmeister: I would tell, if only they'd listen! 21:56:07 -!- rk[skate] is now known as rk[] 21:56:08 yeah, and movitz exists and all that 21:56:35 what is it exactly are you trying to argue? 21:56:50 but why let a garbage collector running if you can enforce the memory to be correctly allocated, deallocated and accessed in compile-time? 21:57:09 can you? 21:57:15 yup 21:57:25 -!- innertracks [~Thunderbi@c-24-17-64-212.hsd1.wa.comcast.net] has quit [Remote host closed the connection] 21:57:32 memory leaks: the movie 21:57:40 linear type systems! 21:59:44 I thought we were discussing systems programming, not desktop publishing? 22:00:08 ... ? 22:00:27 Denommus: You can implement a new and delete in Common Lisp if you'd like - there is nothing about Lisp that says you can't. But check out this 7-day old announcement from the Firefox development community: https://blog.mozilla.org/nnethercote/category/garbage-collection/ 22:01:12 Does anyone know specifically why finalizers are applied to objects themselves instead of classes, from an implementation standpoint? 22:01:12 Quadrescence, memo from pjb: this is the use case for compiler-macros! 22:01:17 I'm sure they started out with the absolute certainty that C was fast language that they wanted to develop Firefox in because it has wonderful deterministic memory management. 22:01:42 C doesn't have deterministic memory management O.o 22:02:05 C doesn't need to be deterministic you mean. 22:02:16 and I'm not talking about C 22:02:16 Uh, what do you mean by "deterministic memory management"? 22:02:41 Quadrescence: no reason, i have a plan for making it class-wide in SBCL 22:02:50 when i would need to use such an option 22:03:28 Denommus: I'm just switching from reference counting to a proper garbage collector in my CL implementation - so I've got memory management on my mind. 22:03:51 drmeister: haven't you heard? system programming has to be deterministic, highly available, scalable, proven to always produce the right answer, real time 22:04:12 And in the cloud. 22:04:16 stassats, I would like such an option. :) 22:04:16 drmeister: what C provides is manual memory management 22:04:27 Quadrescence: are you ready to pay for it? 22:04:37 stassats, I'm always open to negotiation. 22:04:41 drmeister: deterministic memory management allows you to manage your memory with a set of rules that will always be enforced 22:05:00 stassats, (seriously) 22:05:46 Quadrescence: well, i can give you a "hello world" printing system fitting those requirements for quite cheap 22:06:23 stassats, What do you mean "printing system"? 22:06:44 it prints "hello world", then catches fire 22:07:30 :) 22:07:48 Well if you're interested in the finalizer task, you're welcome to message me privately. 22:08:42 system programming should at least let me manage my resources without overhead. There are a bunch of projects that tried to introduce managed languages to kernel development, but... well, C is still winning on this field because of the lack of this overhead. But C is no longer the only option 22:08:52 Denommus: Interesting - thanks - I wasn't aware there was such a thing. 22:08:52 Quadrescence: well, as you can notice, i misapplied your question to a different message of mine 22:09:06 Quadrescence: i thought you wanted a proven real-time system 22:09:21 No, I just want class-wide finalizers. 22:09:42 those can be added for free 22:09:47 It is easy to write a before method 22:09:54 or even a MOP class 22:10:11 s/before/after 22:10:24 drmeister: so, my final point is: if you want to check great abstractions for system programming, check out Rust. No Garbage Collector, but the correct use of memory is enforced at compile-time. (Well, technically there's a GC, but it's on the std, so you aren't required to use it) 22:10:48 so, which systems are written in Rust? 22:11:51 stassats: as of now, just the Servo engine, since Rust is still alpha 22:12:06 stassats: but I'm talking specifically about its abstractions, not about the language itself ;-) 22:13:38 Denommus: But couldn't you implement Rusts memory management facilities in Common Lisp - and use those to manage memory? 22:13:58 ckoch786 [~ckoch786@ne102611l.eng.utoledo.edu] has joined #lisp 22:14:13 drmeister: probably, but the garbage collector would still be there by design 22:14:20 *drmeister* sees Common Lisp as a sort of Warlock that absorbs the powers of lesser languages. 22:14:56 So? Rust has a GC but you aren't required to use it. 22:15:12 drmeister: in CL, you'd have a GC and would be forced to use it 22:15:16 duggiefr_ [~duggiefre@64.119.141.126] has joined #lisp 22:15:18 -!- duggiefresh [~duggiefre@64.119.141.126] has quit [Read error: Connection reset by peer] 22:15:31 how can you NOT use CL's GC? 22:15:40 there's no mention of GC in the CLHS 22:16:17 Denommus: I don't think so - I'm very familiar with my current GC and I'm replacing it with another GC - it could be whatever I wanted it to be. 22:16:30 stassats: well, if you ignore the GC, to have the same kind of memory management from Rust, you'd have to implement a linear type system. So the question is: would Common Lisp with a different type system still be Common Lisp? 22:16:45 Denommus: I've been bouncing around a blog article about why Rust's memory model requires TCE 22:17:00 jasom: What's TCE? 22:17:05 is Common Lisp with a function and a macro i defined still Common Lisp? 22:17:12 drmeister: tail call elimination 22:17:27 jasom: Thanks. 22:17:52 stassats: that's different. A type system would effectively make lots of valid programs not compile 22:18:08 Denommus: there are many data-structures and algorithms that can be written completely with safe code and tail calls in Rust, but not iteratively 22:18:13 -!- xan_ [~xan@80.174.78.189.dyn.user.ono.com] has quit [Ping timeout: 248 seconds] 22:18:13 stassats: that's what a type system is about: not allowing incorrect programs to be compiled. Common Lisp allows them 22:18:21 Denommus: where an iterative solution would require unsafe code 22:18:21 Denommus: It wouldn't be Ansi Common Lisp but it would still be awesome! 22:18:29 cory786 [~cory@CK-Laptop.wifi.utoledo.edu] has joined #lisp 22:18:42 Denommus, a type system is not necessarily for that 22:18:50 a type system could also be for allocation of objects by a compiler 22:18:57 type checking is for what you described 22:19:13 Quadrescence: well, I don't consider runtime metadata about types to be, hm, types 22:19:26 Quadrescence: types enforce correctness at compile-time 22:19:46 No, types can provide information where a degree of correctness can be enforced 22:19:53 a type checker is the tool that enforces that 22:19:56 *drmeister* just likes s-expressions and real macros. 22:20:15 jasom: well, as of now Rust uses a LLVM backend, which does allow for some TCO. But... yeah, you're right, there are even some datastructures where you NEED unsafe code (like doubly linked lists) 22:20:45 Type checking can occur at runtime too 22:20:59 drmeister: there's a reason why Common Lisp is my favorite language, too ;-) 22:21:06 Denommus: And LLVM doesn't support garbage collection very well - actually it sucks at GC support. 22:21:09 Denommus: well it's fine that sometimes you NEED unsafe code, but it pisses me off that I can write safe code that can't be optimized by rust even though it is 100% equivalent to unsafe code 22:21:41 -!- matko [~matko@ip82-139-125-221.lijbrandt.net] has quit [Read error: Connection reset by peer] 22:22:05 jasom: well, the compiler is still pretty sucky in optimization, it's still alpha, after all. They're trying to make it run before making it fast 22:22:18 *drmeister* is currently living the horror of LLVM garbage collection "support" 22:22:26 Denommus: also you can do TCE before you generate IR 22:22:36 drmeister: you mean "allocate all objects on the heap" 22:22:42 -!- vkrest [~vkrest@mpk-nat-4.thefacebook.com] has quit [Remote host closed the connection] 22:23:32 Denommus: and last I checked the rust devs closed the issue requesting TCE with "won't fix" 22:24:04 I don't care if you have TCE or not, except in the case of rust where the language actually becomes less expressive without it 22:25:51 jasom: No, LLVM doesn't have any facilities to keep track of when pointers are in registers - so if you indicate that a pointer is a root then it has to be pinned in memory and you loose access to a lot of optimizations. Also, the stack maps that LLVM can generate are not easily accessible to JITted code. 22:25:59 vkrest_ [~vkrest@mpk-nat-4.thefacebook.com] has joined #lisp 22:26:11 -!- vkrest_ [~vkrest@mpk-nat-4.thefacebook.com] has quit [Read error: Connection reset by peer] 22:26:18 jasom: hm, can you give me the article about TCE if you find it? 22:26:37 Denommus: which one? 22:26:54 Denommus: I've been bouncing around a blog article about why Rust's memory model requires TCE 22:26:59 -!- ehu [~ehu@ip167-22-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 260 seconds] 22:27:01 -!- fiveop [~fiveop@p5DDC458B.dip0.t-ipconnect.de] has quit [] 22:27:36 https://mail.mozilla.org/pipermail/rust-dev/2013-April/003557.html <-- Also see this 22:27:51 Denommus: should have read "bouncing around an idea for a blog article..." 22:28:10 ah 22:29:27 https://gist.github.com/jasom/8658615 <-- Simple example of code that does what I'm talking about though; the real-world code I was writing was trees (without back pointers even!) that couldn't be done without either tail-calls or unsafe code 22:30:05 ok, i guess i get it now, system programming should be done in an alpha release of a new language with some fancy promises 22:30:08 jasom: well, the argument he provided was strong enough to me 22:30:09 -!- zacharias [~aw@unaffiliated/zacharias] has quit [Quit: Bye!] 22:30:19 -!- fmeyer [~fmeyer@187.37.105.153] has quit [Ping timeout: 272 seconds] 22:30:40 stassats: you may be smug as much as you want, we're talking about abstractions 22:31:04 i'm well abstracted, thank you 22:31:28 Denommus: note that I have a simple tail-recursion that can't be converted to a loop without violating the type-system. It could be converted to a loop after type-checking and before generating IR though which prevents any ABI issues 22:32:49 -!- rk[] is now known as rk[wrk] 22:33:14 -!- nand1 [~user@c-71-202-128-245.hsd1.ca.comcast.net] has quit [Ping timeout: 264 seconds] 22:35:06 jasom: how ugly is the unsafe version? Isn't it "safe", although inside a unsafe block? 22:35:23 try #rust, maybe? 22:35:40 yeah, probably 22:35:47 it's getting too specific 22:35:57 -!- rszeno [~rszeno@79.114.99.18] has quit [Quit: Leaving.] 22:36:25 anyway: I'd really like to see more weird type system implementations in CL, but... well... it wouldn't be CL 22:36:37 just like Typed Racket isn't Racket 22:37:07 nothing is CL 22:37:23 Is there any way, given an instance, to determine whether initialize-instance has been called on it (as opposed to its having been created by allocate-instance)? 22:37:35 Denommus: How about the subset used in ACL2? The system won't accept a function definition if it can't prove that the function terminates for some range of inputs. 22:37:42 enn: why do you want such a thing? 22:37:45 and no, there is no way 22:38:52 -!- mc40 [~mcheema@146.255.107.122] has quit [Quit: mc40] 22:38:59 nyef: I guess it would have to be an extended subset, or something 22:39:09 stassats: Rust isn't the first language to use regions and linear types, it's just the first one that has promise of being used more widely than as just a research lang 22:39:24 stassats: hoping to distinguish between setfs of slot values that are performed by Postmodern's dao-row-reader (and which occur prior to initialize-instance) vs those done by application code, without patching Postmodern. I guess I'll just set a flag like CLSQL's *db-deserializing*. 22:39:30 bjz: i'll just wait then 22:40:16 stassats: yeah, probably best, it's still in development. early adoption isn't for the faint-hearted 22:40:42 enn: You might consider looking into other ORM approaches as well. 22:40:46 *stassats* is still waiting for the flying car 22:41:37 stassats: I have much more reason to be betting on Rust than on the flying car. :) 22:42:45 ^ 22:43:30 -!- duggiefr_ [~duggiefre@64.119.141.126] has quit [Remote host closed the connection] 22:43:39 Adlai [~Adlai@unaffiliated/adlai] has joined #lisp 22:43:40 -!- chadhs [chadhs@gateway/shell/ircrelay.com/x-nzpochkwcmvroxzv] has quit [Quit: IRCRelay - http://ircrelay.com] 22:43:59 jasom: linked lists aren't really ideomatic in Rust, for better or for worse 22:44:31 jasom: did you see http://static.rust-lang.org/doc/master/tutorial.html#implementing-a-linked-list ? 22:44:32 "data structure X isn't idiomatic in language Y" -- probably one of the dumbest things I've ever heard 22:45:28 Quadrescence: Right after "sure, we can ship that to you on Friday" when they haven't even finished designing whatever it is? 22:45:38 :) 22:45:44 Quadrescence: well, some data structures are easier to express in some languages than others. Of course lisp is super-expressive, so that is less of a problem for it. 22:46:20 bjz, yes, I've written about this before 22:46:54 Quadrescence: neat. what did you have to say? 22:46:58 people are too lazy to type mknode(1, mknode(2, mknode(3, nil))), and would rather write [1, 2, 3] 22:47:21 bjz, I wrote that in Lisp, people sometimes get over that, since in Lisp, mostly everything looks the same 22:48:29 Quadrescence: what about reducing expressiveness in exchange for other qualities? 22:49:02 Quadrescence: i heard that expressed at one point as lisp being equidistant from ideal solutions to whatever problem is at hand 22:49:25 it doesn't feel like *extra* work to do something previously undone 22:49:43 Quadrescence: http://paste.lisp.org/+30U2 22:49:52 Here is what I wrote about that, but this on Quora which might be behind some register wall: http://qr.ae/TooZD 22:50:04 so you can write list(3,1,2,3) instead. 22:50:24 pjb, thanks, I am aware 22:50:36 vkrest [~vkrest@2620:0:1cfe:18:c1b7:d2ed:6734:248b] has joined #lisp 22:50:47 pjb, I guess that's why I see that function in almost every C program I see, right? 22:51:18 Of course. But nowadays, you can just link with libecl.so. 22:51:36 bjz, The relevant line of that link: 22:51:38 "In C, Java, or even new-fangled languages like Haskell, the syntax very directly affects how you end up solving a problem. At least, that is what I have observed with most people. The tendency of many is to reduce the amount they type. In C, one might prefer to just use arrays as opposed to linked lists because linked lists requires having these extra functions and syntaxes, whereas arrays can use things like brackets to access elements and s 22:51:39 o forth." 22:51:45 Quadrescence: I don't really disagree with that all that much 22:52:15 (I can see the post) 22:52:19 o 22:52:27 Quadrescence: well, Rust does have AST macros. They are just... ugly to write 22:52:33 innertracks [~Thunderbi@c-24-17-64-212.hsd1.wa.comcast.net] has joined #lisp 22:52:34 super ugly 22:52:36 Quadrescence: of course. And that leads to the source of the problems, which is not the language, but the culture surrounding the language. 22:52:43 pjb, yes. 22:52:46 Common Lisp macros are the ultimate macros 22:52:50 The problem, it's not java, but java programmers. It's not C++, but C++ programmers. 22:53:06 Denommus: I would give that distinction to Scheme syntax-case macros 22:53:10 pjb, My thesis was that learning lisp alleviates that sort of problem, for some people. 22:53:12 Denommus: well, lisp macros in general? how does Racket compare? 22:53:21 Quadrescence: I don't disagree 22:53:48 bjz: Racket macros are hygienic and have pattern matching, Clojure macros are hygienic. So, yeah, lisp macros in general, I guess 22:54:03 -!- fortitude [~mts@rrcs-24-97-165-124.nys.biz.rr.com] has quit [Quit: leaving] 22:54:46 Denommus: Rust's macros are hygenic AST macros, but unfortunately they are rather ugly. Lots nicer in lisps. 22:55:18 Denommus: well cl-cont makes something that "isn't CL" but is really, really close 22:55:29 Denommus: so you could take a similar approach 22:55:33 Denommus: oh right, you mentioned that above ^_^ 22:56:34 zRecursive [~czsq888@183.12.89.13] has joined #lisp 22:56:54 pjb: what's wrong with C++ programmers? 22:57:05 I just don't get the point of hygienic macros - when I write macros I want the full power of the language. 22:57:40 *drewc* prefers fexprs in Kernel to macros, but has no idea what is being talked about so, yeah. 22:57:42 Yeah, I don't get why we write functions. We should be able to control the calling conventions ourselves! 22:57:57 pjb: Yeah - what's wrong with C++ programmers? We make excellent pets! 22:58:06 brb 22:58:09 -!- drmeister [~drmeister@155.247.96.196] has quit [Remote host closed the connection] 22:58:10 drmeister: Hygienic macros prevent a whole class of subtle bugs arising from confusion about what is bound to what when 22:58:21 francogrex [~user@135.172-200-80.adsl-dyn.isp.belgacom.be] has joined #lisp 22:58:27 bitwize: so do packages 22:58:30 bugs which basically never happen 22:58:49 Except they do happen 22:58:53 except to totally green newbies 22:59:05 Now, granted, what you really need for a powerful macro system is a way to explicitly break hygiene 22:59:09 e.g., syntax-case 22:59:25 *prxq* sighs 22:59:41 when i listen to the bondage and discipline style of programming advocates, i wonder, how on earth any of my programs manage to run? no static proofs, no compile-time checks 23:00:01 stassats, do you write very large software systems 23:00:03 stassats: but you unit-test the shit out of them, right? 23:00:11 Symbols in scheme make hygenic macros more importang; symbols in CL not so much 23:00:19 -!- sellout- [~Adium@66.185.108.211] has quit [Quit: Leaving.] 23:00:22 bitwize: not really 23:00:22 so scheme is dirty? 23:00:50 prxq: CL is "dirty" :) 23:01:09 lol 23:01:12 bitwize: why is unit testing relevant? 23:01:25 i find CL's loop very handy and clean 23:01:29 pillton, do demonstrate probable correctness? 23:01:52 pillton: Because a strong static type system catches bugs which in dynamic languages would have to be caught later, in the testing phase 23:01:53 to* 23:02:12 try to do loops with scheme they got a lot dirtier 23:02:18 -!- atgreen [green@nat/redhat/x-qhgourcppduvmphp] has quit [Quit: Leaving] 23:02:29 static type system doesn't catch bugs 23:02:33 bitwize: rubbish. 23:02:45 InfusoElAmbulant, dud you not write a loop macro for yourself in Scheme? 23:02:45 did* 23:02:48 bitwize: sbcl catches type-related bugs at compile time reasonably well... 23:03:00 stassats: not all bugs. but cetain classes of bugs. 23:03:15 -!- Joreji [~thomas@136-135.eduroam.rwth-aachen.de] has quit [Ping timeout: 272 seconds] 23:03:20 no, im lisp beginner 23:04:10 writing a loop macro seems a hard task 23:04:11 InfusoElAmbulant, it is easy to e.g. write a FOR-loop macro if you'd like in Scheme. 23:04:13 Well, sbcl has (optional) static typing 23:04:19 stassats: `(,*foo* type system doesn't catch bugs) 23:04:33 well i will try next time i use racket 23:04:40 (if (lispp language) (praise-language language) (criticize-language language)) 23:04:41 :-P 23:05:32 it says here http://en.wikipedia.org/wiki/Prolog that prolog is useful for many abstract and wonderful applications like theorem-proving, but it also includes _control systems_ in the mix. I am quite surprised by that, as such systems, in my experience, are typically written in C, C++, or even assembler. anyone care to elaborate? 23:05:43 Now we have the general solution to all programming language discussions in #lisp 23:05:57 Code_Man` [~Code_Man@2a02:1205:c698:a1d0:223:54ff:fe38:82c2] has joined #lisp 23:06:07 aeth: chanmod arisrike? 23:06:08 yates: wrong channel 23:06:20 s/aristrike/airstrike/ 23:06:24 sorry, i meant to change it to channel 13... 23:06:29 drmeister [~drmeister@166.170.22.208] has joined #lisp 23:07:33 yates: PBS? 23:07:34 stassats: well, you guys seem to like to discuss these things, so i thought it would be appropriate here. 23:07:41 -!- francogrex [~user@135.172-200-80.adsl-dyn.isp.belgacom.be] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 23:07:50 *drewc* is going to #C to discuss sexp syntax and #haskell to talk about dynamic type systems. 23:07:56 yates: things have to be on topic 23:08:23 #lispcafe for OT discussions? 23:08:34 drewc: sexp syntax isn't necessarily off-topic in a C channel. http://people.csail.mit.edu/rivest/Sexp.txt 23:08:46 That is not on topic in #C 23:09:13 There are C implementations of s-expressions, probably. 23:09:36 stassats: static type system prevent incorrect programs to be written. Of course, they also prevent a big category of potentially correct programs to be written, too. But it's a tradeoff 23:09:37 and there's a Lisp implementation of C. That doesn't mean talking about C is on topic here. 23:10:00 -!- ngz [~user@91.224.148.150] has quit [Ping timeout: 245 seconds] 23:10:00 Denommus, stassats knows. Just make your language precise and correct. 23:10:15 Static type system and no gc. 23:10:15 *Adlai* is going to #lisp to discuss topic relevance 23:10:32 Denommus: define incorrect 23:11:13 Quadrescence: Only one Lisp implementation of C? 23:11:33 Quadrescence: one common lisp implementation; zeta-lisp at least has one 23:11:40 C doesn't seem like that hard of a language to implement (now, implementing it well in an optimized way is a different story) 23:11:50 jasom, Zeta-C 23:11:50 vkrest_ [~vkrest@2620:0:1cfe:18:8002:5820:f189:cd18] has joined #lisp 23:11:59 stassats: uh, anything that shouldn't happen at all? 23:12:18 aeth: and Rust is not necessarily off-topic here AFAIK, yet it can be/is. So where should I chat to talk with lispers about Lisp syntax and type systems? I do pray that it is here and the noise will quiet down. ;) 23:12:19 Denommus: like pissing off the customer? 23:12:22 aeth, There is a lot of tough spots, corner cases, etc. 23:12:32 -!- klltkr_ [~klltkr@unaffiliated/klltkr] has quit [Quit: My MacBook has gone to sleep. ZZZzzz] 23:12:36 Denommus: no systems can prevent that 23:12:53 stassats: but they do can prevent a useful subset of them 23:13:00 Gc automatically manages a single resource (memory) nondeterministically and poorly. It has nothing to contribute to the management of other resources. When you are talking about hardware or socket connections... those need to be deterministically managed. 23:13:04 Isn't #lispcafe for the noise? 23:13:28 #lispcafe is for discussions i don't like 23:13:31 Denommus: like the ada/ariane fiasco? Had they used C, the thing would have not exploded. 23:13:36 Question: If I have a cons that contains code - are there any gotcha's using PPRINT to format it and print it? 23:13:47 prxq: how so? 23:14:13 prxq: again, it's a tradeoff. Type systems make the language less expressive, no matter how powerful they are. But they also make the language safer 23:14:25 drmeister: don't fail on improper lists 23:14:29 bitwize: it trigered an emergency shutdown on an overflow. C would have ignored the overflow 23:14:38 -!- slyrus [~chatzilla@107.201.5.56] has quit [Ping timeout: 264 seconds] 23:14:55 a program in C would have. One in Lisp would have gone bignum :-) 23:15:14 -!- crixus [~Rob@69.77.176.98] has quit [Ping timeout: 264 seconds] 23:15:16 stassats: What do you mean by "don't fail"? 23:15:17 stassats: Do you mean don't pass it improper lists? 23:15:28 Yes, and heap-allocated the value and performance would have gone pear shaped. 23:15:29 you aren't the one writing pprint? 23:15:39 -!- vkrest [~vkrest@2620:0:1cfe:18:c1b7:d2ed:6734:248b] has quit [Ping timeout: 272 seconds] 23:15:56 bitwize: still, it would have had a chance of reaching orbit. 23:16:28 prxq, or hit the next best city ... 23:16:47 or that, of course. 23:16:56 or your... no, i'll pass 23:17:01 prxq: you really do not want the performance on your rocket to depend on undefined behavior in your C implementation 23:17:01 -!- vkrest_ [~vkrest@2620:0:1cfe:18:8002:5820:f189:cd18] has quit [Remote host closed the connection] 23:17:32 drmeister: no, he means #1= and #1# afaict 23:17:49 yeah, it's undefined. It could have opened a black hole. Just look at undefined stuff in CL 23:17:49 drewc: that too 23:18:01 stassats: Nope - I stole it from ECL - I've had it compiling for months but never used it. 23:18:01 Hmm, it's not coming out very pretty. 23:18:04 -!- zRecursive [~czsq888@183.12.89.13] has left #lisp 23:18:14 Denommus: opens black holes all the time? :-) 23:18:15 Ada did the *right* thing by triggering an exception 23:18:15 -!- Shinmera [~linus@xdsl-188-155-176-171.adslplus.ch] has quit [Quit: ZzzzzzZ] 23:18:17 axion_ [~axion@96.236.16.178] has joined #lisp 23:18:47 prxq: don't joke on me, I lost my mouse on one of those! 23:18:50 clearly, they should have used Rust 23:19:11 bitwize: only that the right thing was the wrong thing, and very expensive. Had it ignored that overflow, nothing would have happened. Which is the point. 23:19:47 Their integration was shit because they weren't prepared to handle exception conditions coming from their control module 23:19:50 you cannot corner real world behavior with little rules like type checking. 23:20:04 crixus [~Rob@69.77.176.98] has joined #lisp 23:20:16 bitwize: so it was humans that failed? 23:20:23 It was humans that failed 23:20:28 (let ((rust +ferrous-oxide)) ...) <---- there, on topic? 23:20:35 then, we need better humans 23:20:56 and THEN they could just program in lisp 23:21:00 They implemented safety checks on the vertical bias variable to determine how it should be clamped to a 16-bit integer 23:21:10 and forgot to do so for the horizontal bias variable 23:21:21 and a typo to forget the last #\+ is even better! comments? 23:21:24 prxq: exactly 23:21:31 *drewc* is done know, sorry about the noise. 23:21:39 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 23:21:43 drewc: heh :-) 23:21:44 Does anyone know what ECL_CMU_FORMAT might designate? It's a C-preprocessor macro in the ECL C-code. 23:22:10 Does "CMU" format mean anything to anyone? 23:22:22 minion: what does CMU stand for? 23:22:23 Constableship Maundful Unspatial 23:22:26 This is related to printing objects in Common Lisp 23:22:54 slyrus [~chatzilla@137.164.119.50] has joined #lisp 23:22:55 No - it will be Carnegie Mellon University - I got that acronym. 23:23:17 bitwize: so yeah, a bug. And static typing could not prevent it. They had a run time error like any php web page. 23:23:23 minion is not always right 23:23:28 -!- naryl [~weechat@46.182.24.168] has quit [Read error: Operation timed out] 23:23:51 davazp [~user@14.Red-79-152-116.dynamicIP.rima-tde.net] has joined #lisp 23:23:51 (minion does not use static types, maybe that's why) 23:24:05 prxq: I never said static typing could prevent all bugs 23:24:11 But it prevents large classes of bugs 23:24:14 there's a lot of static in this channel! 23:24:21 how large is large? 23:24:36 I know because I switch the orders of params in Python functions, etc. all the time 23:24:40 prxq: it's impossible to catch every kind of bug ever, especially by simply using a static type system. I don't think anyone here claims they are the solution for every problem, just that they solve a category of bugs that exist in languages that ignore them 23:25:02 stassats: larger than infinitely small! 23:25:03 In C or Ada a compile would have failed -- in Python I don't see the bug till the offending code is actually run 23:25:28 bitwize: so you plan to deliver without testing? 23:25:44 No 23:25:47 -!- nug700 [~nug700@184-98-184-249.phnx.qwest.net] has quit [Ping timeout: 260 seconds] 23:25:53 but the earlier you catch bugs, the less costly 23:26:11 so catching them at the compile phase is better than catching them at the testing phase 23:26:36 yet you pay by wasting time monkeying around with the (necessarily stupid) type system. 23:26:41 That's why static typing is essential to modern development 23:26:53 what channel am i in? 23:27:10 did i waste my whole life on dynamic typing? 23:27:23 Denommus: I completely agree with you there - I'll often write a lot of code and then let the compiler point out all of my mistakes and fix them one by one - it's relaxing. 23:27:31 stassats: not really. 23:27:37 prxq: it's either that or reinvent them with unit tests :-P 23:27:44 ok, then i'm not modern 23:27:46 most modern statically typed languages give you type inference now. 23:28:09 so you have to type about the same amount at the keyboard as for a dynamically typed language 23:28:30 I favor a hybrid approach - merge C++ and Common Lisp together! It's like a digital Reeses peanut butter cup. 23:28:49 drmeister: that's not funny 23:28:50 drmeister: uh, I'd rather keep CL being CL and C++ far, far away from me, thanks 23:28:57 drmeister: try Gambit. It merges Scheme and C/C++ like an m-flo song 23:29:21 bitwize: who said the problem is with typing characters? 23:29:46 the problem is convincing the type checker that your program is correct! Ah, wait, that's the whole point 23:30:07 i wrote it, sure it's correct 23:30:07 Indeed. 23:30:14 -!- nha [~prefect@koln-4d0b67c6.pool.mediaWays.net] has quit [Ping timeout: 264 seconds] 23:30:19 Another crucial feature is explicit, deterministic resource management 23:30:23 Gambit integrates Scheme and C. Just like ECL integrates Common Lisp and C. Neither of them do C++. 23:30:28 Denommus: but the type checker can't tell you that! 23:30:39 prxq: are we running in circles? 23:30:41 drmeister: Gambit does too integrate C++ 23:30:51 I've even used it to integrate Objective-C 23:30:55 vkrest [~vkrest@2620:0:1cfe:18:1a4:f708:fa09:f38e] has joined #lisp 23:31:01 prxq: because I already talked about how type systems avoid a category of bugs, not every bug 23:31:08 quick, to the typechecker! can this discussion ever terminate? 23:31:13 Nuh uh! Wrapping C++ in C is not integrating with C++. 23:31:22 prxq: and that also depends on the type system! Rust catches some bugs that Haskell is unable to catch, and vice-versa 23:31:36 <_death> bitwize: I suppose some people make a lot of silly mistakes like that.. then when they use a statically-typed language their implementation catches those early.. so they end up thinking statically typed languages are "essential for modern development" 23:31:37 -!- bishu [~bishudas@76.178.144.102] has quit [Remote host closed the connection] 23:31:51 stassats: Alas, the halting problem. Sigh. 23:31:54 ...what _death said. 23:32:07 in lisp, we catch bad programmers early, they quit learning it 23:32:13 *prxq* goes to sleep 23:32:21 if you think static type systems are only meant for silly mistakes, you certainly didn't use lots of them 23:32:26 stassats: that's a motto fr C 23:32:28 stassats: #1=(non-lisp . #1#) 23:33:39 using linear type systems to completely avoid most memory-related problem is a great example of that. It's not a trivial task to do that at all, and even experienced programmers have trouble on that 23:34:44 Denommus: what problems with memory? I don't use that fancy stuff you keep talking about and I almost never have them! 23:35:40 prxq: probably because you just use garbage collected languages, which are not well suited for every kind of software 23:36:15 Denommus: What's a "linear type system"? 23:36:18 (ah, it would be "resource-related problems", not memory-related problems. I always forget that) 23:36:28 C++ value semantics can cover 90% of the things you'd need a GC for; most of the rest are covered by smart pointers 23:36:50 so what? It is still C++ 23:36:57 -!- prxq [~mommer@x2f69d81.dyn.telefonica.de] has quit [Quit: Leaving] 23:36:58 drmeister: http://en.wikipedia.org/wiki/Substructural_type_system#Linear_type_systems 23:37:35 <_death> Denommus: I think you put up a bit of a straw man there.. didn't say that's the only thing static typing is good for.. in fact it does real well on academic masturbation, for example 23:38:22 _death: and yet you didn't counter the linear type systems claim :P 23:38:23 Denommus, that won't prevent you from forgetting to drop the last reference to some object. 23:38:48 Alfr: what 23:39:08 Alfr: ah, you're talking about specifically C++, am I correct? 23:39:55 Denommus: Thanks. 23:40:09 Alfr: That's what value semantics and smart pointers are for 23:40:30 Smart pointers are slow - I'm done with them. 23:40:35 GC is outdated tech for the most part 23:40:40 Denommus, consider smart-pointers ... e.g. if you keep two to large things around, when you just expecting one to be alive, then you'll still run oom. 23:41:39 Denommus, and i don't think anyhing will warn you, that you could have dropped one halfway through the program/function/whatever. 23:41:58 -!- drmeister [~drmeister@166.170.22.208] has quit [Read error: Connection reset by peer] 23:42:11 <_death> Denommus: some years ago I read the Baker papers on linear logic.. but over time my interest in type systems dropped to nil.. 23:42:48 -!- jpfuentes2 [~jacques@static-71-251-230-114.rcmdva.fios.verizon.net] has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz] 23:42:48 Alfr: nothing can prevent you from running out of memory if you need to allocate more and more resources 23:43:35 Alfr: what you DO can have is to deallocate the resource once it is not needed anymore, and that can be checked at compile-time, instead of having a garbage collector to do that 23:43:47 sorabji5` [~user@204.77.5.138] has joined #lisp 23:44:29 nand1 [~user@c-71-202-128-245.hsd1.ca.comcast.net] has joined #lisp 23:44:43 Denommus, yes. But I'm talking about programmer errors in using something and then forgetting about it, e.g. something you only use in the first half of a function. 23:45:19 faheem_ [~faheem@bulldog.duhs.duke.edu] has joined #lisp 23:45:32 Alfr: a linear type system will make the resource be owned by the function, and once it goes out of the scope the resource will be deallocated, unless it is moved (if it was moved, it is because the programmer will still need it) 23:45:49 sid_cyph1r [sid@s0.barwen.ch] has joined #lisp 23:45:55 jasom_ [~aidenn@ip70-191-80-19.sb.sd.cox.net] has joined #lisp 23:45:56 AntiSpamMeta2 [~MetaBot@AntiSpamMeta/.] has joined #lisp 23:45:58 -!- AntiSpamMeta [~MetaBot@AntiSpamMeta/.] has quit [Killed (hitchcock.freenode.net (Nickname regained by services))] 23:45:58 -!- AntiSpamMeta2 is now known as AntiSpamMeta 23:46:15 That's cool... instead of explicit deallocation, linear types require explicit *preservation* 23:46:47 -!- Vivitron [~Vivitron@c-50-172-44-193.hsd1.il.comcast.net] has quit [Quit: trivial-irc-0.0.4] 23:47:13 jcp [~jcp@laforge.cs.uwaterloo.ca] has joined #lisp 23:47:22 Denommus: it allows for the building blocks of GC too 23:47:30 -!- jcp is now known as Guest92875 23:47:33 -!- InfusoElAmbulant [~nonononon@cm-188-171-10-178.telecable.es] has quit [Quit: Saliendo] 23:47:55 yup 23:48:04 mikaelj [~tic@c83-248-1-14.bredband.comhem.se] has joined #lisp 23:48:06 Denommus: do you think there could be a linearly typed lisp? 23:48:22 Henry Baker proposed one in a paper 23:48:24 Denommus, if that function ever reaches its end. Still, I'm talking about work with something large, say _only_ in the first half of a function, and an other large thing the rest. 23:48:37 bjz, In addition to Baker's paper, Fare has been talking about it a lot 23:48:41 axion__ [~axion@96.236.16.178] has joined #lisp 23:48:42 http://home.pipeline.com/~hbaker1/LinearLisp.html 23:48:45 -!- slyrus [~chatzilla@137.164.119.50] has quit [Ping timeout: 272 seconds] 23:48:45 -!- acieroid [~acieroid@wtf.awesom.eu] has quit [Read error: Connection reset by peer] 23:48:45 -!- MrWoohoo [~MrWoohoo@pool-74-100-140-127.lsanca.fios.verizon.net] has quit [Ping timeout: 272 seconds] 23:48:46 -!- Kruppe [~jcp@laforge.cs.uwaterloo.ca] has quit [Ping timeout: 272 seconds] 23:48:46 -!- faheem [~faheem@bulldog.duhs.duke.edu] has quit [Ping timeout: 272 seconds] 23:48:46 -!- jasom [~aidenn@ip70-191-80-19.sb.sd.cox.net] has quit [Ping timeout: 272 seconds] 23:48:46 -!- sid_cypher [sid@s0.barwen.ch] has quit [Ping timeout: 272 seconds] 23:48:46 -!- axion_ [~axion@96.236.16.178] has quit [Ping timeout: 272 seconds] 23:48:46 -!- sorabji5252 [~user@ratio.devvz.com] has quit [Ping timeout: 272 seconds] 23:48:46 -!- ezakimak [~nick@72.250.219.55] has quit [Ping timeout: 272 seconds] 23:48:46 -!- TristamWrk [~tristamwr@bodhilinux/team/Tristam] has quit [Ping timeout: 272 seconds] 23:48:47 -!- mshroyer [~mshroyer@legolas.paleogene.net] has quit [Ping timeout: 272 seconds] 23:48:47 -!- drewc [~drewc@S0106c8d71945c789.vn.shawcable.net] has quit [Ping timeout: 272 seconds] 23:48:47 -!- mikaelj_ [~tic@c83-248-1-14.bredband.comhem.se] has quit [Ping timeout: 272 seconds] 23:48:47 -!- nicdev [~user@kilimanjaro.rafpepa.com] has quit [Ping timeout: 272 seconds] 23:48:47 -!- ckoch786 [~ckoch786@ne102611l.eng.utoledo.edu] has quit [Ping timeout: 272 seconds] 23:48:47 -!- askatasuna [~askatasun@181.164.152.177] has quit [Ping timeout: 272 seconds] 23:48:48 I don't doubt, but I really think type systems under a macro system must be a subject of better research 23:48:51 -!- ec [~elliottca@ell.io] has quit [Ping timeout: 272 seconds] 23:48:58 newLISP implements something like linear types 23:49:08 nicdev` [~user@kilimanjaro.rafpepa.com] has joined #lisp 23:49:08 Denommus: awesome 23:49:13 ckoch786 [~ckoch786@ne102611l.eng.utoledo.edu] has joined #lisp 23:49:16 ec [~elliottca@ell.io] has joined #lisp 23:49:20 Denommus: are there many typed lisps? 23:49:25 acieroid [~acieroid@wtf.awesom.eu] has joined #lisp 23:49:27 most Lisp type systems either aren't sound or expressive 23:49:30 TristamWrk [~tristamwr@gray-47.dynamic2.rpi.edu] has joined #lisp 23:49:31 -!- TristamWrk [~tristamwr@gray-47.dynamic2.rpi.edu] has quit [Changing host] 23:49:31 TristamWrk [~tristamwr@bodhilinux/team/Tristam] has joined #lisp 23:49:32 I rmember there is shen 23:49:37 bjz: I can think only about Typed Racket and Shen 23:49:46 bjz: Qi, Shen, Typed Racket, Pre-Scheme 23:50:09 but typed racket isn't fully sound right? 23:50:11 mshroyer [~mshroyer@legolas.paleogene.net] has joined #lisp 23:50:21 ezakimak [~nick@72.250.219.55] has joined #lisp 23:50:23 drewc [~drewc@S0106c8d71945c789.vn.shawcable.net] has joined #lisp 23:50:36 Ethan- [~Ethan-@60-248-176-37.HINET-IP.hinet.net] has joined #lisp 23:50:50 Alfr: this falls into the "it's impossible to prevent oom while you need the allocated resources" 23:51:13 bjz: no 23:51:32 |3b|: possibly a stupid question, but what's the purpose of the driver in clws-client ? 23:52:37 -!- sorabji5` [~user@204.77.5.138] has quit [Remote host closed the connection] 23:53:55 Denommus, aehm ... by construction the program doesn't need it. 23:54:19 drmeister [~drmeister@pool-71-175-2-214.phlapa.fios.verizon.net] has joined #lisp 23:54:34 Alfr: the lifetime of your objects will be your function body. How could a compiler ever predict that you'll run out of memory while that specific function is running? It's impossible 23:54:36 -!- drmeister [~drmeister@pool-71-175-2-214.phlapa.fios.verizon.net] has quit [Remote host closed the connection] 23:55:03 drmeister [~drmeister@pool-71-175-2-214.phlapa.fios.verizon.net] has joined #lisp 23:55:08 -!- vkrest [~vkrest@2620:0:1cfe:18:1a4:f708:fa09:f38e] has quit [Remote host closed the connection] 23:55:22 Alfr: I'm talking about actually useful solutions, not these terribly thought corner-cases that are impossible to predict because you can't possibly know in what kind of hardware your program will run 23:55:32 Any time you're dynamically allocating resources you cannot predict that you will or will not run out. 23:55:49 -!- innertracks [~Thunderbi@c-24-17-64-212.hsd1.wa.comcast.net] has quit [Quit: innertracks] 23:56:10 vkrest [~vkrest@2620:0:1cfe:18:fc5a:414d:2136:b33b] has joined #lisp 23:56:14 Denommus, but I think that is still more common than to write a program where one asks for (cos "bla"). 23:56:23 ASau` [~user@p5083D1F6.dip0.t-ipconnect.de] has joined #lisp 23:56:37 The only way to get some sort of assurance is to have a static working-set size, i.e., never call malloc() or be an old-school Mac OS program. 23:56:40 bitwize: whats the modern alternative to GC? 23:56:44 fmeyer [~fmeyer@179.208.163.134] has joined #lisp 23:56:49 Alfr: how can you be sure if you won't run out of memory when you do (cons 1 nil)? 23:56:58 drmeister: C++ dtors :) 23:57:02 and smart pointers :) 23:57:09 uh oh 23:57:20 I'm suddenly reminded of the story of Feynman doing some analysis of the size of inter-processor communication buffer required for the connection machine, and having expressed it as differential equations or something rather than the expected discrete analysis. 23:57:40 bitwize: Oh cool - I'm so into destructors. 23:57:40 anyway, newLISP's ORO (which are "similar" to linear types) aren't a really smart solution, either, because then you need to deep copy EVERYTHING 23:57:45 Wait, old-school MacOS program? How does THAT help? 23:57:46 Denommus, since you talk about resource management, you have to assume something on what's available when the program runs. 23:58:15 nyef: In older versions of Mac OS, the operating system gave each program a fixed chunk of memory 23:58:21 which makes the overhead of deep copying even worse than the overhead of a garbage collector 23:58:21 You could set it for each program 23:58:30 But it was still fixed when the program started up 23:58:33 Alfr: you can't know in which kind of hardware your program will run 23:58:47 sorabji5252 [~user@ratio.devvz.com] has joined #lisp 23:58:50 So... post-MultiFinder MacOS? 23:58:55 Yep 23:59:16 But at the same time, you still had a heap for each process. 23:59:27 Which was still subject to fragmentation. 23:59:37 Denommus, then i'd say buy more memory ... but if you hold on to two matrices of 100GB, one of which you don't use, and ask for more ... that will raise questions. 23:59:59 nyef: sure, but it was like preallocating a huge C array and calling that your "heap"