00:01:42 coyo [kvirc@pool-71-164-173-28.dllstx.fios.verizon.net] has joined #lisp 00:01:42 -!- coyo [kvirc@pool-71-164-173-28.dllstx.fios.verizon.net] has quit [Changing host] 00:01:42 coyo [kvirc@unaffiliated/bandu] has joined #lisp 00:06:33 -!- SegFaultAX [~mkbernard@c-98-248-241-85.hsd1.ca.comcast.net] has quit [Ping timeout: 256 seconds] 00:17:41 -!- homie` [~levgue@xdsl-78-35-185-136.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 00:17:46 Anyone know why html-template seems to mangle Unicode no matter what the value of *string-modifier* is? 00:18:19 -!- Kajtek [~nope@nat4-230.ghnet.pl] has quit [Quit: Leaving.] 00:19:21 homie [~levgue@xdsl-78-35-185-136.netcologne.de] has joined #lisp 00:22:06 -!- vjacob [~vjacob@78-105-184-157.zone3.bethere.co.uk] has quit [Quit: Leaving] 00:23:34 I haven't noticed that. 00:24:17 nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has joined #lisp 00:26:44 Jasko3 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 00:28:05 -!- bieber [~quassel@162-78.97-97.tampabay.res.rr.com] has quit [Ping timeout: 256 seconds] 00:29:47 -!- Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Ping timeout: 256 seconds] 00:31:12 -!- urandom__ [~user@p548A2581.dip.t-dialin.net] has quit [Remote host closed the connection] 00:34:50 -!- xyxu [~xyxu@222.68.160.151] has quit [Ping timeout: 255 seconds] 00:37:15 bieber [~quassel@162-78.97-97.tampabay.res.rr.com] has joined #lisp 00:37:39 -!- nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has quit [Quit: nicdev] 00:38:24 -!- Euthy [~euthy@unaffiliated/euthydemus] has quit [Quit: leaving] 00:38:56 nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has joined #lisp 00:40:40 -!- Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Ping timeout: 255 seconds] 00:41:06 -!- attila_lendvai1 [~attila_le@adsl-89-132-54-12.monradsl.monornet.hu] has quit [Quit: Leaving.] 00:41:36 dto [~dto@pool-96-252-89-130.bstnma.fios.verizon.net] has joined #lisp 00:43:42 frank [53c80425@gateway/web/freenode/ip.83.200.4.37] has joined #lisp 00:44:44 Xach: any ideas why I might be seeing that? 00:44:55 do I need to globally assign to *string-modifier*? I've just been using let. 00:45:14 but even globally assigning doesn't seem to have any effect :/ 00:46:12 scrimohsin [~cmsimon@unaffiliated/scrimohsin] has joined #lisp 00:48:31 -!- frank [53c80425@gateway/web/freenode/ip.83.200.4.37] has quit [Client Quit] 00:48:43 petercoulton [~petercoul@cpc1-midd16-2-0-cust160.11-1.cable.virginmedia.com] has joined #lisp 00:49:00 Cloud_ [~cbolano@189.139.97.234] has joined #lisp 00:50:02 xyxu [~xyxu@222.68.161.51] has joined #lisp 00:50:17 Ralith: What kind of mangling do you mean? 00:50:45 -!- cesarbp [~cbolano@189.247.5.16] has quit [Ping timeout: 256 seconds] 00:50:48  gets encoded as â 00:51:35 How can you tell? 00:53:04 kifl [~kifl@174.77.44.65] has joined #lisp 00:54:07 Ralith: it's just UTF-8/iso-8859-1 confusion 00:54:34 Xach: hm, looks like it's happening elsewhere. 00:54:47 specifically, POST parameters are being read as iso-8859-1 00:54:54 or sent. 00:55:06 the first byte of that funky character when encoded as utf-8 is #xE2, which is #\LATIN_SMALL_LETTER_A_WITH_CIRCUMFLEX for iso-8859-1. 00:55:07 I'm not sure how to correct this, or where this is even done. 00:55:43 any idea what controls hunchentoot's decoding of POST params? 00:55:55 Ralith: in my experience, browsers post data with the same encoding as the page that served the form. 00:57:07 Xach: based on what? I'm telling the browser "UTF-8" in two-three different places. 00:57:18 Based on my experience. 00:57:49 no I mean 00:57:58 what does the browser determine the encoding based on 00:58:21 Ralith: it determines it based on the Content-Type header in the HTTP reply 00:58:43 ahah, I think I found the problem 00:58:52 hunchentoot:*hunchentoot-default-external-format* is latin-1 for some reason 00:58:54 although all bets are off if the browser goes into quirks mode (e.g. you say utf-8 but it's not) 00:59:33 loke: application/xhtml+xml;charset=utf-8 is correct, yes? 01:00:06 Ralith: is this for an XHR? 01:00:16 not afaik! 01:00:27 Ralith: what service are you talking to? 01:00:34 the client's browser. 01:00:36 er 01:00:37 user's 01:00:58 why are you using xhtml+xml? 01:01:06 it's pretty much deprecated 01:01:09 oh 01:01:12 must have read a deprecated page 01:01:17 Yeah 01:01:17 what's the correct content-type for xhtml then? 01:01:41 No, I was pointing out that XHTML in itself is kinda dead 01:01:46 oh. 01:01:47 >_> 01:02:00 html5 supersedes it I guess? 01:02:03 Yeah 01:02:18 that seems a bit odd 01:02:23 All you need to do is make sure your document has in the header and you'r gold. 01:02:25 you're 01:02:56 okay, but hunchentoot is still errneously decoding UTF-8 as latin-1 01:03:00 erroneously 01:03:01 Yes 01:03:14 is there a reason the default external format is that, and isn't being updated? 01:03:33 Wait... "decoding"? 01:03:38 Are you sending data or reading it? 01:03:57 huh? 01:04:03 I'm reading a POST request from the browser. 01:04:10 Ah OK. then... 01:04:52 Let me check how i did it 01:05:05 The code is at work. Damn it. Well, let me check the docs 01:05:07 Is the page actually sent as utf-8? 01:05:17 -!- dto [~dto@pool-96-252-89-130.bstnma.fios.verizon.net] has quit [Quit: Leaving.] 01:05:31 pkhuong: I'm not certain; how should I be ensuring that? 01:05:55 Ralith: the document to which the browser responds has to be UTF-8 01:06:16 the document is ASCII, aside from the test character 01:06:35 charset=UTF-8 is in the Content-Type though 01:06:35 ASCII is forwards compatible with UTF-8, so that doesn' tmake much sense 01:06:39 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 252 seconds] 01:07:41 Gmind [~nevermind@123.16.97.109] has joined #lisp 01:07:51 indeed. 01:09:16 *Ralith* breaks out the protocol debugger 01:11:52 okay, the browser is sending with an unspecified charset 01:12:15 value is %E2%98%83 01:13:23 <|3b|> snowman? 01:13:38 yep 01:13:45 best test character ^^ 01:14:01 I take it that's valid UTF-8 then? 01:14:15 -!- Gmind [~nevermind@123.16.97.109] has quit [Quit: Leaving.] 01:14:24 <|3b|> dunno, just passed it to hunchentoot:url-decode 01:14:49 *|3b|* assumes it is utf8 though, since it is 3 octets for 1 character 01:15:00 http://www.fileformat.info/info/unicode/char/2603/index.htm yep. 01:15:08 -!- Cloud_ is now known as cesarbp 01:15:18 so why does hunchentoot default to latin-1? 01:15:24 is this something I should be okay with overriding? 01:15:32 is there a book or guide somewhere to learn documentation standards in lisp? 01:16:24 cesarbp: there is no universal standard. 01:16:36 :s 01:17:16 -!- gigamonkey [~user@adsl-99-39-5-4.dsl.pltn13.sbcglobal.net] has quit [Ping timeout: 245 seconds] 01:17:38 okay, overriding *hunchentoot-default-external-formet* corrects its behavior 01:17:38 <|3b|> looks like i have hunchentoot:*default-external-format* set to utf8, without that it decodes as "☃" 01:17:51 seems odd :/ 01:18:23 oh well 01:18:25 thanks 01:19:05 -!- Daev is now known as MeanWeen 01:19:09 (flexi-streams:make-external-format :utf8) right? 01:19:11 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 01:20:54 X-Scale [email@sgi-ultra64.broker.freenet6.net] has joined #lisp 01:22:09 -!- Yuuhi`` [benni@p5483DCA2.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 01:22:45 -!- jtza8 [~jtza8@wbs-196-2-122-110.wbs.co.za] has quit [Remote host closed the connection] 01:25:29 -!- Salamander_ is now known as Salamander 01:33:24 -!- Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has quit [Remote host closed the connection] 01:34:44 huangjs [~user@p2080-ipbf2803marunouchi.tokyo.ocn.ne.jp] has joined #lisp 01:39:28 -!- kifl is now known as lfik 01:39:42 -!- lfik [~kifl@174.77.44.65] has quit [Quit: Leaving...] 01:56:26 topo____ [~topo@f053032243.adsl.alicedsl.de] has joined #lisp 01:56:53 topo______ [~topo@f053032243.adsl.alicedsl.de] has joined #lisp 01:59:11 -!- topo_ [~topo@f053035129.adsl.alicedsl.de] has quit [Ping timeout: 248 seconds] 01:59:16 -!- frhodes [~frhodes@168-103-96-233.albq.qwest.net] has quit [Quit: leaving] 01:59:43 -!- topo [~topo@f053035129.adsl.alicedsl.de] has quit [Ping timeout: 248 seconds] 01:59:44 -!- topo______ is now known as topo 02:01:35 Vivitron [~user@pool-108-7-56-243.bstnma.fios.verizon.net] has joined #lisp 02:03:20 leo2007 [~leo@222.130.136.29] has joined #lisp 02:05:41 SpringheeledJake [~Spring-he@127.sub-75-251-178.myvzw.com] has joined #lisp 02:05:50 -!- SpringheeledJake [~Spring-he@127.sub-75-251-178.myvzw.com] has left #lisp 02:07:58 -!- rme [~rme@50.43.174.141] has quit [Quit: rme] 02:15:21 elopezc [~ikki@189.247.104.36] has joined #lisp 02:16:45 rme [~rme@50.43.174.141] has joined #lisp 02:18:07 Euthy [~euthy@unaffiliated/euthydemus] has joined #lisp 02:18:55 -!- ericklc [~ikki@189.247.155.141] has quit [Ping timeout: 248 seconds] 02:19:43 -!- xyxu [~xyxu@222.68.161.51] has quit [Ping timeout: 256 seconds] 02:21:42 Some quirks aside, slimv is actually quite nice. 02:22:41 -!- Cam [~i@trivialand/staff/Cam] has quit [Ping timeout: 245 seconds] 02:26:12 -!- huangjs [~user@p2080-ipbf2803marunouchi.tokyo.ocn.ne.jp] has quit [Remote host closed the connection] 02:30:01 -!- tritchey [~tritchey@173-161-75-105-Illinois.hfc.comcastbusiness.net] has quit [Quit: tritchey] 02:30:42 -!- Dodek [dodek@nolajf.pl] has quit [Read error: Operation timed out] 02:31:36 jiacobucci [~jiacobucc@gw-asdl.ae.gatech.edu] has joined #lisp 02:32:25 I know I have found it before, but does anyone remember how to turn off pretty printing (specifically, inserting newlines in lists) ? 02:32:34 quotemstr [~quotemstr@dancol.org] has joined #lisp 02:32:52 Can someone point me at a good example of a sexp-based grammar description language? 02:34:19 http://github.com/drewc/smug 02:34:52 never mind, thanks for inspiring me to look harder 02:35:42 <|3b|> http://nikodemus.github.com/esrap/ is another 02:36:02 Was Smug the parsec port recently presented as Strange Loop? 02:38:09 I like the =satisfies syntax. 02:38:30 LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has joined #lisp 02:38:36 I've been working on an Emacs library with similar aims (but a completely different implementation) for a while now. Finding good names is hard. 02:41:46 -!- gffa [~gffa@unaffiliated/gffa] has quit [Quit: sleep] 02:43:17 Is flexi-streams an appropriate library to use to construct a type of stream that counts lines/columns as they are read through it? 02:44:55 -!- jiacobucci [~jiacobucc@gw-asdl.ae.gatech.edu] has left #lisp 02:45:18 topeak [~topeak@61.149.226.116] has joined #lisp 02:45:41 Ralith: Sure, why not? 02:45:47 Ralith: That's good design instinct. 02:46:09 good design instinct? 02:46:57 -!- MeanWeen [~KAPITAL@nc-71-55-67-254.dyn.embarqhsd.net] has quit [Quit: Leaving] 02:47:04 Ralith: Yes. Some people think "I have to count lines" and say, "I'll write a function/class/monad that counts lines." 02:47:17 Daev [~KAPITAL@nc-71-55-67-254.dyn.embarqhsd.net] has joined #lisp 02:47:18 This approach solves the immediate proble, but it's not general. 02:47:34 The right thing to do is construct a filter of some sort that counts lines flowing through it. 02:47:49 ah, yes 02:47:58 The same argument applies to hash functions, cryptography primitives, compression algorithms, what have you: if it operates on a stream, it can probably be a filter. 02:48:06 *Ralith* nod 02:48:12 it is a nice paradigm 02:48:14 -!- Daev is now known as SucklingPig 02:48:35 though, don't hash functions operate on fixed-length blocks? 02:49:04 I suppose you'd use a stream if you wanted to hash something larger than memory 02:49:19 or large enough for memory use to be a concern, anyway 02:49:38 at which point you'd have an easily adapted general purpose tool, so I see. 02:49:53 Ralith: Hash functions operate on streams. You feed them bytes, and when done, you terminate the hash and get some output. 02:49:58 *Ralith* nod 02:50:06 you're right 02:50:15 Ralith: Every hash function I know uses constant memory no matter how large the input. 02:50:20 yeah 02:50:27 Same goes for cryptography, word-counting, and so on. 02:50:53 it would surprise me if nobody's implemented what I describe before, even; it seems like a widely useful tool 02:51:00 In fact, you might be able to say that if you have an algorithm that uses constant auxiliary memory no matter the input size, it's probably appropriate to implement it as a stream filter. 02:51:06 Ralith: Check the wiki. 02:54:49 xyxu [~xyxu@58.41.14.46] has joined #lisp 02:55:21 *Ralith* finds nothing 02:55:32 owell, will be fun to implement anyway 02:56:41 Ralith: Post it on the wiki when you're done. 02:56:58 where would be appropriate? 02:57:21 Dodek [dodek@nolajf.pl] has joined #lisp 02:57:30 <|3b|> http://www.sbcl.org/manual/Character-counting-input-stream.html ? 02:58:34 ah! 02:58:37 suspected as much. 02:58:38 thanks 02:59:55 sgt-hagger [~owner@5ac58a4e.bb.sky.com] has joined #lisp 03:00:40 hey guys, i want to leatn to programs, is lisp a good place to start? 03:02:19 yep 03:03:31 ah right, #c pointed me to java and #java pointed me here. or to python. 03:03:46 lisp looks like a fun to use syntax though 03:03:53 c will give you a massive insight in how computers work 03:04:02 but lisp will give you a massive insight in how computation works :> 03:04:24 anvandare: nice summary. I like 03:04:33 #java is pointing people here? neat! 03:04:53 nah, they're just referencing us 03:04:55 it was a 50-50 split kinda between here an 'python :D 03:04:59 ... *ba-dum-tshhhh* 03:05:18 sgt-hagger: do you have any actual programming experience? 03:05:30 know any good books for a rogramming beginner? 03:05:37 loke, no 03:05:43 well some actionscript 03:05:48 Prctical Common Lisp. 03:05:52 land of lisp 03:05:59 SICP if you're of a more mathematical bent. 03:05:59 Land of Lisp is probably better coming from nil 03:06:00 sgt-hagger: also, do you want to understand programming from a sort of "scientific" point of view, or is your goal to build, say, a nice web or mobile application? 03:06:09 I haven't had good luck getting nonprogrammers in via PCL 03:06:26 sgt-hagger: Don't learn Lisp, honestly. The community isn't geared toward beginners. 03:06:36 sgt-hagger: Well, to be more precise, don't learn Lisp _yet_. :-) 03:06:46 if you learn lisp first, you'll hate python later on 03:06:52 if you learn python first, you might never discover lisp ;p 03:07:04 xristos: pyhon is easy to hate regardless of background :-) 03:07:12 loke, to be honest, I don't have many goals, just want to learn for fun. my one goal would be that i would love to make a roguelike. 03:07:28 Lisp sounds great for you, then! 03:07:52 it is the most fun. ^^ 03:07:59 -!- juniorroy [~juniorroy@212.36.228.103] has quit [Ping timeout: 248 seconds] 03:08:00 sgt-hagger: In that case, I suggest you listen to everybody's advice. Here, and on other channels. Follow them all (one at a time. If you get bored with one, you try some other language/book/web site) 03:08:24 sgt-hagger: Soon enough you'll pick up the basics and you'll be able to apply that kowledge across the board. 03:08:33 sgt-hagger: here's a starter kit: http://lispcabinet.sourceforge.net/ 03:08:33 sgt-hagger: If you learn one language, learn C. 03:08:58 if you only learn one language, C isn't very useful to know, imo 03:09:03 sgt-hagger: that said, I'm throlled that you're considering Lisp. It should certainly be one of the things you play with. If not for any othe rreason that it's very easy to erpiment with as it's interactive 03:09:05 C is ugly and primitive, but it's the lingua franca of the software world. 03:09:07 C will damage you for life 03:09:14 it certainly has damaged me 03:09:16 sgt-hagger: http://dto.github.com/notebook/rlx.html exists, just so you know. 03:09:18 If you know C, you'll understand how higher-level constructs actually _work_. 03:09:24 yes 03:09:25 xristos: Hey, I satrted with C64 BASIC. 03:09:27 but if you only learn C 03:09:32 you won't ever see higher-level constructs :P 03:09:33 *quotemstr* is more a fan of bottom-up learning than top-down learning. 03:09:46 -!- acelent [~user@2001:690:2100:4:200:1aff:fe19:ddfc] has quit [Ping timeout: 244 seconds] 03:10:08 "I don't even see the classes and methods anymore, all I see is ()*'s, malloc()'s, ..." 03:10:08 Kaid [~Kaid@199.68.199.101] has joined #lisp 03:10:20 Bike, great, thanks :D 03:10:34 sgt-hagger: read a book or two before you try dealing with it, though. 03:10:51 sgt-hagger: lisp cabinet will get you set up with the popular Common Lisp development environment painlessly 03:11:04 you'll then want to pick up Land of Lisp, or perhaps Gentle Intro to Symbolic Computing 03:11:09 Can I inject a different subject for a second? I need design advice, with regards to errors and restarts... 03:11:11 and work through tha 03:11:11 t 03:11:26 GISC is definitely high on my list of recommendations 03:11:36 if only because it has nice graphs of lists 03:11:36 I look forward to starting to learn. so Land of lisp or practical common lisp? 03:11:42 land of lisp 03:11:52 sgt-hagger: PCL is better if you have some experience already 03:12:34 PCL doesn't have exercises, which probably limits its usefulness as an introduction to programming. 03:13:26 -!- Kaid [~Kaid@199.68.199.101] has left #lisp 03:13:40 Kaid [~Kaid@199.68.199.101] has joined #lisp 03:13:42 PCL *is* exercises 03:13:49 but it assumes background 03:13:56 does emacs work well with lisp? say can i quickly test my programs from emacs? 03:14:09 I'm currently working on my CL-GData API, and in one of my calls, I can save updates to a set of spreadsheet cells. Now, when Google returns the results, zero or more of the cell updates may have failed. My question is: Should I raise an error for every cell that failed (so that they can be caught and handled individually), or should I collect all the failed messages and raise a single error at the end? 03:14:13 sgt-hagger: Ahahahhaha. 03:14:13 sgt-hagger: interactively. 03:14:18 sgt-hagger: Emacs _is_ Lisp. 03:14:26 sgt-hagger: yes, that's why I linked you to Lisp Cabinet 03:14:29 sgt-hagger: SLIME is one of the better LISP development environments. 03:14:32 pitlimit [~pitlimit@unaffiliated/pitlimit] has joined #lisp 03:14:37 Emacs Lisp is a very bad lisp though... 03:14:46 oh right thanks Ralith :D 03:14:49 (slime is run from inside emacs) 03:15:03 Hi, I want to use LispBox and have downloaded it. However, I cannot seem to find instructions about how to install and use it. Can anyone direct me to the right place? 03:15:30 loke: you can raise a condition that you can query to get a list of failed cells 03:15:41 xristos: yeah, that's what I was thinking 03:15:45 cheezus [~Adium@76-10-183-155.dsl.teksavvy.com] has joined #lisp 03:15:50 not like conditions aren't instances ;p 03:16:06 loke: It's better than Maclisp. 03:16:23 quotemstr: I don't know Maclisp, but at least it had lexical closures, right? 03:16:33 (I know Emacs 24 has them too) 03:16:33 loke: Elisp has lexical closures these days. 03:16:39 elisp has lexical scope now 03:16:48 loke: And elisp _doesn't_ have locatives, or choose-your-own-eval-strategy. 03:16:55 Yeah, but Emacs 24 isn't officially released yet, so "these days" is somewhat inaccurate :-) 03:16:56 loke: Maclisp was just god-awful. 03:16:57 when it gets threads it'll be actually worth something 03:17:16 quotemstr: I never saw Maclisp. Tell me what was the worst about it. 03:17:27 loke: The Lisp Machine source code is public. Go download and read it. 03:17:38 quotemstr: I'm not _that_ interested. :-) 03:17:45 Also, at least elisp sin't traditionally WRITTEN ENTIRELY IN UPPER CASE. 03:17:59 is lispbox the best lisp environment to use? 03:18:00 loke: Maclisp allowed you to define your own special forms. You could choose which function parameters were evaluated. 03:18:03 pitlimit: http://lispcabinet.sourceforge.net/ 03:18:20 loke: Locatives are like C pointers. 03:18:29 quotemstr: interesting, if not potentially confusing. However, did they have CL-like macros? 03:18:39 loke: Those too. 03:18:39 thank you xristos 03:18:39 quotemstr: fexprs more than "allowed you to define your own special forms" 03:18:47 does the underlying lisp language change from environment to environment? 03:19:33 gko [~gko@220-135-201-90.HINET-IP.hinet.net] has joined #lisp 03:19:37 what do you mean by underlying language? the language the implementation is written in? 03:19:40 pitlimit: Environments like SLIME doesn't depend on a specific Lisp implementation. You can use any (at the same time, even). It even supports things that are very far from Common Lisp or even Scheme, such as Clojure. 03:19:42 pitlimit: implementations can change, the standard is the same 03:19:50 -!- deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has quit [Remote host closed the connection] 03:19:50 Also, Maclisp's scoping differed depending on whether code was interpreted or compiled. 03:19:54 thank you all 03:19:58 gcentauri [~gcentauri@76-85-193-191.cable.inebraska.com] has joined #lisp 03:19:59 quotemstr: Ouch 03:20:00 pitlimit: i would suggest you use CCL on windows 03:20:06 quotemstr: that sounds painful 03:20:12 it supports native threads and is very stable 03:20:12 I just want to make sure if I create code, it will work in other environments 03:20:12 pkhuong: What do you mean? What can possibly be more powerful than a new special form? 03:20:14 i have a macbook 03:20:18 SpringheeledJake [~Spring-he@144.sub-75-253-124.myvzw.com] has joined #lisp 03:20:33 -!- SpringheeledJake [~Spring-he@144.sub-75-253-124.myvzw.com] has left #lisp 03:20:37 quotemstr: defining one's own special form is just what macros achieve. 03:20:53 pitlimit: SBCL works pretty well on Mac, although you'll have to compile it yourself to get multithread support. 03:21:05 oh 03:21:06 use ccl on mac too 03:21:10 no one mentions lispbox? 03:21:12 it's primarily for mac 03:21:27 loke: the difference is minimal enough in practical code that it took years for researchers to see the difference between lisp's dynamic scoping and the lambda calculus's lexical scoping. 03:21:28 and how about best online tutorials to get started quickly? 03:21:48 there are so many - i don't know which ones are good 03:21:56 pitlimit: install emacs, install CCL, install quicklisp 03:22:06 ok 03:22:22 pkhuong: what's the difference? 03:22:26 and where can i learn how to use them xristos , as doing stuff AFTER that is what i am confused with 03:22:29 ccl comes with it's own editor too 03:22:36 you can use that if you don't like emacs 03:22:41 or until you learn to like it 03:22:51 anvandare: seriously? 03:23:06 -!- gcentaur1 [~gcentauri@76-85-193-191.cable.inebraska.com] has quit [Ping timeout: 245 seconds] 03:23:15 I've learned the terminology of scoping, but I rarely pay attention to it :P 03:23:25 pitlimit: i would start with CCL and practical common lisp 03:23:29 forget emacs for now 03:23:31 ok thank you 03:23:32 use CCL ide 03:23:36 get a feel for the language 03:23:47 oh, wait, I see now 03:23:54 yeah, ccl is excellent in particular if you are on osx. 03:24:23 thank you xristos much much appreciated 03:24:41 pitlimit: http://ccl.clozure.com/download.html 03:24:50 :) 03:24:54 there it is! 03:25:29 http://www.gigamonkeys.com/book for PCL 03:25:37 :) i found it, thanks 03:25:39 this is perfect 03:25:47 it is, in your opinion, comprehensive (the tutorial)? 03:26:03 it's a book 03:26:03 if i learn everything in this book, i will know lisp pretty darned well? 03:26:27 you'd be on the road to learning lisp pretty darned well 03:26:32 :) 03:26:33 that would take years 03:26:44 and also ccl is for x86 and i am using 64-bit. any idea of that will create any problems? 03:27:00 it comes with 32bit and 64bit binaries 03:27:13 don't be preposturous, it only takes a mere 129 years to get a truly deep insight in the nature of programming and lisp in particular 03:27:18 oh, they should change the webpage then :) 03:27:22 All versions include both 32- and 64-bit binaries (except for ARM, which is 32-bit only). 03:27:45 anvandare: . 03:27:45 perfect 03:27:47 :) 03:28:50 Also, MacLisp introduced the LEXPR, which is a type of function that takes any number of arguments and puts them on the stack; the single parameter of the function is bound to the number of arguments passed. The form of the lambda-list for this argument—a symbol and not a list—signals the LEXPR case. 03:28:53 acelent [~user@2001:690:2100:4:200:1aff:fe19:ddfc] has joined #lisp 03:29:00 (From "The Evolution of Lisp") 03:29:30 oudeis [~oudeis@bzq-79-177-201-220.red.bezeqint.net] has joined #lisp 03:29:55 quotemstr: cheap man's &rest. 03:30:11 pkhuong: Except insane. 03:30:17 -!- LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has quit [Quit: Leaving.] 03:30:35 ... sounds like Java 03:30:42 pkhuong: i see, ... I think 03:31:35 LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has joined #lisp 03:31:46 one last thine xristos why did you not mention lispbox at all? 03:31:50 thing* 03:32:03 pitlimit: it's outdated? 03:32:09 oh i see 03:32:10 :) thanks 03:32:37 pitlimit: nowadays, with QL, there's not much need for something as bare-bones as Lispbox 03:32:41 -!- Kaid [~Kaid@199.68.199.101] has quit [Quit: Kaid] 03:32:50 cool, tanks 03:32:51 thanks 03:32:54 wow i am having a huge typing problem tonight 03:34:51 kraison [~kraison@70-90-182-149-Seattle.hfc.comcastbusiness.net] has joined #lisp 03:35:12 pitlimit: consider Haskell, then. 03:35:24 Spion_ [~spion@unaffiliated/spion] has joined #lisp 03:35:58 Kaid [~Kaid@199.68.199.101] has joined #lisp 03:36:22 -!- kraison [~kraison@70-90-182-149-Seattle.hfc.comcastbusiness.net] has quit [Client Quit] 03:36:37 -!- Kaid is now known as Kaidw 03:36:52 -!- Kaidw is now known as kaidw 03:38:55 -!- Spion [~spion@unaffiliated/spion] has quit [Ping timeout: 248 seconds] 03:40:54 daniel___ [~daniel@p5082BEBA.dip.t-dialin.net] has joined #lisp 03:40:59 -!- daniel__ [~daniel@p5082A5B1.dip.t-dialin.net] has quit [Read error: Operation timed out] 03:42:39 um.... my CCL IDE is just a text box screen? 03:42:52 or am I mistaken? 03:44:03 there's also an IDE, but people here mostly use SLIME (in emacs) 03:44:16 It's minimal. When it starts up you get a REPL. 03:44:36 REPL? 03:44:57 marsell: so this is my IDE... the Listener window... I haven't made a mistake 03:45:01 read-eval-print-loop, you type lisp expressions you get the output 03:45:04 no, there is also an IDE> 03:45:11 REPL is not an ide pitlimit 03:45:21 oh ok 03:45:21 REPL = read eval print loop 03:45:27 oh 03:45:45 -!- altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has quit [Quit: Computer has gone to sleep.] 03:45:46 frozencemetery [~frozencem@CMU-786527.WV.CC.CMU.EDU] has joined #lisp 03:46:11 -!- bgs100 [~ian@unaffiliated/bgs100] has quit [Quit: 1783] 03:46:16 You can open a text window for editing with cmd-o, IIRC. 03:46:56 also see the menubar for other functionality 03:47:09 -!- cheezus [~Adium@76-10-183-155.dsl.teksavvy.com] has quit [Quit: Leaving.] 03:47:17 altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has joined #lisp 03:47:33 ok xristos but i think i have to build the application first 03:47:39 whatever happened to double click? 03:47:41 =x 03:47:55 oh yeah 03:48:19 don't know why they do that 03:48:25 yeah 03:48:26 -!- frozencemetery [~frozencem@CMU-786527.WV.CC.CMU.EDU] has left #lisp 03:48:36 and the instructions are.... longwinded 03:48:42 (require :cocoa-application) should do the trick 03:49:15 Error: Read-only file system : "/Volumes/ccl-1.7/cocoa-ide/fasls/constants.dx64fsl" 03:49:37 copy ccl-1.7 to your homedir or some place out of the dmgh 03:49:37 Copy it out of the dmg. 03:49:39 pitlimit: just like other mac applications, you want to copy it somewhere else, not run from the dmg 03:49:49 -!- rme [rme@D90970AB.3C99FEF6.699BA7A6.IP] has quit [Quit: rme] 03:49:49 -!- rme [~rme@50.43.174.141] has quit [Quit: rme] 03:49:54 pitlimit: there are two sets of instructions: one for people who want to build from a source checkout, and another for people who downloaded a binary package. 03:50:02 oh shoot. I copied it and clicked the wrong place. 03:50:42 Error: class_addIvar failed 03:50:51 pkhuong: i downloaded a .dmg 03:51:02 Error: class_addIvar failed 03:51:02 > While executing: #, in process Listener(6). 03:51:43 pitlimit: join #ccl 03:52:26 Salamander_ [~Salamande@ppp121-45-152-102.lns10.adl6.internode.on.net] has joined #lisp 03:54:33 eh everyone's sleeping in there 03:54:34 thanks anyway all 03:55:53 -!- Salamander [~Salamande@ppp118-210-236-85.lns20.adl6.internode.on.net] has quit [Ping timeout: 260 seconds] 03:57:22 -!- sgt-hagger [~owner@5ac58a4e.bb.sky.com] has quit [Quit: Leaving] 04:02:59 pitlimit: if you have Clozure CL64.app, you already have the IDE. 04:03:37 As I said, it's minimal. It's a good way to play around and decide whether you want to dig further into CL. 04:06:07 oh marsell, so this Listener IS the IDE? 04:06:26 Sort of. 04:06:33 sort of? oh dear 04:06:46 It's part of the IDE. You can also get a REPL at the CLI if you want. 04:06:58 -!- nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has quit [Quit: nicdev] 04:07:04 marsell, is it easier just to use SLIME? 04:07:13 pitlimit: no 04:07:15 -!- kaidw [~Kaid@199.68.199.101] has quit [Quit: kaidw] 04:07:22 ok so how do I get a REPL 04:07:30 the listener window is the repl 04:07:30 SLIME is only for the dedicated, IMHO. 04:07:44 xristos did you see what marsell said? 04:07:51 he said this is NOT the REPL 04:08:00 Not quite. ^^; 04:08:08 pitlimit: "*a* REPL" 04:08:10 It's a REPL in an IDE. 04:08:31 :) 04:08:35 oh dear. 04:08:37 pitlimit: you can use file->new to open a buffer window 04:08:41 you can type your code there 04:08:59 I certainly don't know the difference 04:09:16 the editor window is like a text editor 04:09:17 -!- gaidal_ [~gaidal@59.42.113.34] has quit [Read error: Connection reset by peer] 04:09:32 you type your code and you can save it 04:09:34 Oh. It's a text editor so I can SAVE my commands, right? 04:09:45 Can I also run it? 04:09:45 the listener window is where you can try out the code that you wrote 04:09:57 I see. 04:10:02 pitlimit: type (+ 1 1) in the new editor window and type cmd-e. 04:10:15 It's evaluate that line in the listener too. 04:10:20 cool! 04:10:23 -!- kennyd [~kennyd@93-141-86-22.adsl.net.t-com.hr] has quit [Ping timeout: 248 seconds] 04:10:35 Is this all I need to get started then? 04:10:58 I think so. I lived off that alone for a few weeks. 04:11:06 and... after those few weeks? 04:11:07 what happened then 04:11:24 Then I decided to look into SLIME. It wasn't for me though. 04:11:25 holy spirit paid him a visit 04:11:31 and what did the holy spirit say 04:11:35 SLIME???? 04:11:36 :) 04:11:40 more or less ;p 04:11:46 Yeah, just stay the heck away from that to begin with. 04:11:46 well now. 04:11:54 why in the world wouldn't I just use SLIME then? 04:11:56 It's too much, too soon. 04:12:04 if the holy spirit will visit me in three weeks and tell me to change? 04:12:17 Because then you'll spend a lot of time learning Emacs and SLIME instead of Common Lisp. 04:12:20 fwiw, I started with SLIME way back when, and everything was just fine. 04:12:21 it's like going from smoking pot to shooting smack 04:12:31 one step at a time 04:12:35 okay 04:12:36 I just worked with the menus and mouse a lot more than I do now. 04:12:46 honestly, I'm just using lisp for a class. shouldn't what I have now be enough? 04:12:56 Yes. 04:12:59 okay! 04:13:00 phew 04:13:06 the ccl ide is actually quite powerful 04:13:07 they really do need a nice get started with lisp guide 04:13:09 i love the job that they did 04:13:12 that was pretty darned stressful 04:13:21 I started with SLIME also, and like it tremendously, although I had used EDWIN (an emacs-alike) beforehand 04:13:28 but the cool bits are not yet exposed to a new user in a friendly way 04:13:42 pitlimit: That's one of the problems with the CL world, alas. 04:13:47 People are trying to improve it. 04:13:56 marsell, I found a nice guide here: 04:14:00 http://newartisans.com/2007/10/common-lisp-on-mac-os-x/ 04:14:12 kennyd [~kennyd@78-0-236-185.adsl.net.t-com.hr] has joined #lisp 04:14:13 but still. 04:14:16 thanks for all of your help 04:14:23 i shall start my online tutorial now 04:14:59 I think that guide is too much. Play around with CCL for now. 04:15:03 With what you have. 04:15:28 If later on you decide you like what you see, and want to become some wizzie, then start down that path. 04:15:44 :) 04:18:34 pitlimit: Out of curiosity, you don't go to UCF, do you? 04:18:39 no 04:18:46 many schools use lisp :) 04:18:53 I figured, but it was worth a shot 04:18:56 :) 04:19:05 -!- altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has quit [Quit: Computer has gone to sleep.] 04:21:21 I'm just getting into LISP myself, and I've found SLIME to be amazing, but learning Emacs can be a little bit of an investment 04:21:36 pitlimit: also in CCL text editor, use control-enter instead of enter 04:21:54 it will indent the new line automatically 04:22:04 ohhhh 04:22:05 thanks :) 04:22:14 you might want to ask in #ccl how to bind enter to do this 04:22:25 so all the lisp I use here is common lisp, right? there's no additional features 04:22:38 I wouldn't like to get screwed when I turn my homeworks in that I used a non-standard function 04:23:15 if you find yourself typing ccl:blablah or ext:blahblah you are entering the land of the implementation dependant 04:23:19 pitlimit: most implementations include addition (non-CL) things in the default listener package. 04:23:49 oh 04:23:50 hm 04:23:59 You can easily check that the functions and macros are standard by looking in the specification, or with something like (defpackage "PITLIMIT-CL-USER" (:use "CL")) (in-package "PITLIMIT-CL-USER") 04:24:34 pitlimit: that shouldn't affect you if you stick to PCL 04:24:59 PCL? 04:25:08 if you want functionality that is not in the standard (like threads) you can use a library 04:25:18 ok 04:25:30 that will make your code portable to other CL implementations 04:25:36 PCL = Practical Common Lisp, a book 04:25:48 if you don't care for that, you can use the implementation specific extensions 04:25:50 xristos: I believe this is for a university course. 04:26:11 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 04:29:07 -!- leo2007 [~leo@222.130.136.29] has quit [Ping timeout: 276 seconds] 04:31:21 kaidw [~kaidw@199.68.199.101] has joined #lisp 04:34:51 leo2007 [~leo@123.123.253.89] has joined #lisp 04:37:04 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Remote host closed the connection] 04:37:28 ianmcorvidae [~ianmcorvi@pool-96-233-178-132.spfdma.east.verizon.net] has joined #lisp 04:37:28 -!- ianmcorvidae [~ianmcorvi@pool-96-233-178-132.spfdma.east.verizon.net] has quit [Changing host] 04:37:28 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 04:37:38 Does CL have an equivalent to a while loop? 04:38:05 I know there's do, but I don't need an index variable, I just need to keep calling a function until a condition changes 04:38:46 you can use loop 04:39:33 How would I accomplish that with it? All I've seen so far with loop is for-style loops 04:39:54 (loop while test do ... ) 04:41:37 Thanks 04:45:48 -!- LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has quit [Quit: Leaving.] 04:51:01 tagbody+go! :D 04:52:25 haha, I briefly considered that or writing a macro to do it, but I figured loop would probably have a way to do it 04:52:46 I just haven't gotten around to learning its options yet 04:52:49 why is it funny? what's wrong with goto? 04:53:07 in some cases, its use is perfectly justifiable. 04:53:23 -!- ramusara [~ramusara@220.156.210.236.user.e-catv.ne.jp] has quit [Quit: Leaving...] 04:53:33 heck, do is a macro that expands to tagbody 04:55:16 ccl-logbot [~ccl-logbo@setf.clozure.com] has joined #lisp 04:55:16 04:55:16 -!- names: ccl-logbot ianmcorvidae leo2007 kaidw gaidal_ kennyd Salamander_ daniel___ Spion_ oudeis acelent gcentauri gko pitlimit Dodek xyxu SucklingPig topeak quotemstr Euthy elopezc Vivitron topo topo____ X-Scale REPLeffect cesarbp petercoulton scrimohsin bieber Jasko3 homie coyo tali713 Intensity Odin- wbooze seangrove pearle marsell wtetzner AntiSpamMeta loderunner rtoym Beetny Jasko2 Demosthenes pchrist_ Xach benny sykopomp na[ii] drdo easyE realitygrill 04:55:16 -!- names: Krystof Bike karswell olliee blackwol` kpreid katesmith superflit BrianRice markskilbeck JuanDaugherty Ralith gensym Amyn sanjoyd njan Tristam akovalenko EyesIsServer pkhuong insomniaSalt Quadrescence syrinx_ cmm anvandare blumbri anonchik nanoc Quetzalcoatl_ Patzy DrForr Fade dostoyevsky z0d peterhil` troydm ``Erik stepnem hyoyoung kleppari dRbiG rabite egn surrounder limetree Mandus schme mtd Borbus elliottjohnson |3b| housel` y3llow acieroid borkman`` 04:55:16 -!- names: pipping alvis cheier Oddity daedric hugod otwieracz jrockway wccoder guther s0ber ch077179 sonnym __main__ naryl1 Khisanth TristamWrk Yamazaki1kun whoops mathrick newcup nowhereman pjb kjellkt levi pchrist wormwood slyrus StrmSrfr ramus madnificent araujo freiksenet billstclair dmiles_afk bfein lundis ecraven scharan quackv2 mindCrime loke bobbysmith007 abeaumont Adrinael Hun ocharles Tordek vpit3833 Euthydemus alanpearce lnostdal _krappie_ nano- churib 04:55:16 -!- names: sellout- ve kloeri jasom jeekl pok_ tychoish phryk df Saeren C-Keen eli eno clop2 Pepe_ jsnell mon_key scode setmeaway Posterdati froggey fe[nl]ix mornfall bigjust wivlaro sirmacik zbigniew SpitfireWP tty234_ antifuchs schoppenhauer reb` antoszka gkeith_lt kanru morphling kiooeht lichtblau oGMo MasseR samebchase Tasser redline6561 xristos sausages nuba _death cYmen daimrod_ __mal neena tempire Jabberwockey cpape kpal rotty nicdev_ maxm-- fihi09` ihyoyoung 04:55:16 -!- names: literal a7p cmbntr_ rsynnott tomaw larva yahooooo galdor df_aldur Kovensky mgr albino Bucciarati lonstein yan_ flip214 CallToPower felipe p_l|backup setheus_ foocraft yroeht vsync_ gemelen mikejs erg dcrawford cods ski_ tessier herbieB_ phadthai npoektop austinh joast derrida cmatei quasisane Iceland_jack ineiros CrEddy j_king zvrba zakwilson blacktooth Zephyrus johs OliverUv_ allandee dsp_ macrobat prip shachaf joshe MikeSeth koollman foom nullman micro 04:55:16 -!- names: djinni` aoh krl Obfuscate cataska em pinterface _3b wormphlegm trigen spacebat klutometis tvaalen PissedNumlock devhost rootzlevel rvncerr Aisling sshirokov felideon finnrobi sbryant frodef hyko deepfire tic_ elliottcable Xof luis boyscared clog arbscht guaqua fmu Zhivago ilmari 04:55:46 I don't think that a while macro is unreasonable 04:57:21 (defmacro while (test &body forms) `(loop while ,test do ,@forms))? 04:59:29 looks about right, I have a version over DO in my utilities file that I stole from On Lisp 05:01:33 (defmacro while (test &body forms) (let ((tag (gensym))) `(tagbody ,tag (when ,test ,@forms (go ,tag))))) might actually be clearer to me, hrm 05:05:22 Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has joined #lisp 05:05:43 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 252 seconds] 05:07:20 nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has joined #lisp 05:10:25 pnathan [~user@76.178.165.160] has joined #lisp 05:11:34 -!- nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has quit [Client Quit] 05:12:40 littlegiraffe [~rtaylor@poco208-2.fredcanhelp.com] has joined #lisp 05:12:50 gravicappa [~gravicapp@ppp91-77-158-66.pppoe.mtu-net.ru] has joined #lisp 05:13:02 b 05:13:06 -!- littlegiraffe [~rtaylor@poco208-2.fredcanhelp.com] has quit [Quit: leaving] 05:13:55 -!- Vivitron [~user@pool-108-7-56-243.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 05:16:55 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 05:17:26 -!- pitlimit [~pitlimit@unaffiliated/pitlimit] has quit [Quit: pitlimit] 05:18:52 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 05:19:19 littlegiraffe [~user@poco208-2.fredcanhelp.com] has joined #lisp 05:19:49 -!- eno [~eno@nslu2-linux/eno] has quit [Ping timeout: 240 seconds] 05:21:48 eno [~eno@nslu2-linux/eno] has joined #lisp 05:22:41 -!- gko [~gko@220-135-201-90.HINET-IP.hinet.net] has quit [Ping timeout: 245 seconds] 05:22:55 -!- topo [~topo@f053032243.adsl.alicedsl.de] has quit [Ping timeout: 248 seconds] 05:22:55 -!- topo____ [~topo@f053032243.adsl.alicedsl.de] has quit [Ping timeout: 248 seconds] 05:23:18 -!- littlegiraffe [~user@poco208-2.fredcanhelp.com] has quit [Remote host closed the connection] 05:24:09 -!- Tasser [~freak@subtle/contributor/Tass] has quit [Ping timeout: 252 seconds] 05:25:42 Tasser [~freak@subtle/contributor/Tass] has joined #lisp 05:33:03 -!- pearle [~pearle@blk-224-178-238.eastlink.ca] has quit [Ping timeout: 248 seconds] 05:34:50 topo [~topo@f053032243.adsl.alicedsl.de] has joined #lisp 05:34:51 topo_ [~topo@f053032243.adsl.alicedsl.de] has joined #lisp 05:35:33 littlegiraffe [~user@poco208-2.fredcanhelp.com] has joined #lisp 05:36:09 -!- littlegiraffe [~user@poco208-2.fredcanhelp.com] has quit [Client Quit] 05:37:58 -!- marsell [~marsell@120.20.196.177] has quit [Ping timeout: 260 seconds] 05:37:59 Cam [~i@trivialand/staff/Cam] has joined #lisp 05:57:21 bieber: (while test body) == (do () ((not test)) body) 05:58:18 Bike: the problem with loop is that what's after do (in loop) is not a body. So you'd have to write (defmacro while (test &body forms) `(loop while ,test do (progn ,@forms))) Same in tagbody too. 05:59:31 Is there a way to have ppcre return only selected parts of my regex match (those inside ()) for all matches? Like the array that is returned by scan-to-strings, but for all-matches. 05:59:50 sdemarre [~serge@91.176.125.157] has joined #lisp 06:03:45 pjb: I'm missing something; what does the progn do that the do keyword doesn't do by itself? 06:10:30 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 06:10:37 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 252 seconds] 06:11:10 pchrist_ [~spirit@gentoo/developer/pchrist] has joined #lisp 06:13:17 -!- kaidw [~kaidw@199.68.199.101] has quit [Quit: Linkinus - http://linkinus.com] 06:13:22 Seems like do-register-groups is the way to do that (answering my own question) 06:14:34 edgar-rft [~user@HSI-KBW-078-043-123-191.hsi4.kabel-badenwuerttemberg.de] has joined #lisp 06:17:17 Bike: try: (let ((finally 42)) (while test finally (print finally))) 06:17:43 Oh. Whoops. 06:18:05 Similarly for tagbody which interprets symbols and integers specially. 06:18:21 right, I see, thank you. 06:18:46 Notably, you may have symbol macros with side effects... 06:19:51 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 06:20:21 -!- oudeis [~oudeis@bzq-79-177-201-220.red.bezeqint.net] has quit [Quit: This computer has gone to sleep] 06:22:42 -!- Cam [~i@trivialand/staff/Cam] has quit [Quit: <3 all] 06:23:30 REPLeffect [~REPLeffec@69.54.115.254] has joined #lisp 06:31:02 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Remote host closed the connection] 06:31:39 tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has joined #lisp 06:33:51 -!- markskilbeck [~mark@unaffiliated/markskilbeck] has quit [Ping timeout: 248 seconds] 06:35:53 -!- leo2007 [~leo@123.123.253.89] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 06:47:54 manuel_ [~manuel_@pD9FDF627.dip.t-dialin.net] has joined #lisp 07:01:03 Ralith_ [~ralith@S010600221561996a.vc.shawcable.net] has joined #lisp 07:01:04 -!- Ralith [~ralith@S010600221561996a.vc.shawcable.net] has quit [Read error: Connection reset by peer] 07:01:15 -!- scrimohsin [~cmsimon@unaffiliated/scrimohsin] has quit [Quit: Leaving] 07:02:56 jtza8 [~jtza8@wbs-196-2-122-110.wbs.co.za] has joined #lisp 07:06:02 grouzen [~grouzen@ip21-159.200.109.crimea.com] has joined #lisp 07:08:45 pavelludiq [~pavelludi@87.246.58.193] has joined #lisp 07:09:00 BountyX [~erhan@adsl-76-243-186-99.dsl.bcvloh.sbcglobal.net] has joined #lisp 07:09:10 scrimohsin [~cmsimon@unaffiliated/scrimohsin] has joined #lisp 07:11:44 mishoo [~mishoo@79.112.115.118] has joined #lisp 07:12:16 -!- pnathan [~user@76.178.165.160] has quit [Ping timeout: 245 seconds] 07:17:25 -!- scrimohsin [~cmsimon@unaffiliated/scrimohsin] has quit [Quit: Leaving] 07:20:00 dto [~dto@pool-96-252-89-130.bstnma.fios.verizon.net] has joined #lisp 07:20:15 Phoodus [~foo@68.107.217.139] has joined #lisp 07:21:06 scrimohsin [~cmsimon@static-50-43-53-7.bvtn.or.frontiernet.net] has joined #lisp 07:21:06 -!- scrimohsin [~cmsimon@static-50-43-53-7.bvtn.or.frontiernet.net] has quit [Changing host] 07:21:06 scrimohsin [~cmsimon@unaffiliated/scrimohsin] has joined #lisp 07:21:08 gko [~gko@220-135-201-90.HINET-IP.hinet.net] has joined #lisp 07:26:59 insomnia1alt [~milan@port-92-204-1-98.dynamic.qsc.de] has joined #lisp 07:26:59 -!- insomnia1alt [~milan@port-92-204-1-98.dynamic.qsc.de] has quit [Changing host] 07:26:59 insomnia1alt [~milan@unaffiliated/iammilan] has joined #lisp 07:30:23 -!- insomniaSalt [~milan@unaffiliated/iammilan] has quit [Ping timeout: 248 seconds] 07:30:23 -!- insomnia1alt is now known as insomniaSalt 07:39:59 -!- Krystof [~user@81.174.155.115] has quit [Ping timeout: 248 seconds] 07:40:52 -!- akovalenko [~user@95.72.172.36] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:41:14 morphism [~Nevermind@123.16.97.109] has joined #lisp 07:41:18 hi 07:42:17 leo2007 [~leo@123.123.253.89] has joined #lisp 07:46:36 hi morph 07:46:38 morphism 07:47:59 -!- Phoodus [~foo@68.107.217.139] has quit [Ping timeout: 248 seconds] 07:49:26 akovalenko [~user@95.72.99.47] has joined #lisp 07:52:38 yay 07:52:57 what a pity that today is a nice day, and I"m at home reading Lisp 07:52:58 =) 08:00:53 Krystof [~user@81.174.155.115] has joined #lisp 08:02:05 schaueho [~schaueho@dslb-088-066-059-226.pools.arcor-ip.net] has joined #lisp 08:03:27 -!- EyesIsServer [~eyes@unaffiliated/eyesismine] has quit [Ping timeout: 248 seconds] 08:03:38 -!- Bike [~Glossina@71-214-98-226.ptld.qwest.net] has quit [Ping timeout: 276 seconds] 08:04:19 -!- Ralith_ is now known as Ralith 08:05:11 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 08:05:49 littlegiraffe [~littlegir@poco208-2.fredcanhelp.com] has joined #lisp 08:09:32 -!- littlegiraffe [~littlegir@poco208-2.fredcanhelp.com] has quit [Client Quit] 08:09:58 littlegiraffe [~littlegir@poco208-2.fredcanhelp.com] has joined #lisp 08:15:07 What's the best way to glue together a function that writes some amount of data to a stream and a function that reads that same amount from a stream? 08:21:10 -!- joast [~rick@76.178.187.139] has quit [Ping timeout: 260 seconds] 08:28:47 joast [~rick@76.178.187.139] has joined #lisp 08:36:32 -!- leo2007 [~leo@123.123.253.89] has quit [Ping timeout: 256 seconds] 08:40:56 killerboy [~mateusz@users69.kollegienet.dk] has joined #lisp 08:41:02 araujo [~araujo@gentoo/developer/araujo] has joined #lisp 08:41:08 EyesIsServer [~eyes@unaffiliated/eyesismine] has joined #lisp 08:43:53 -!- REPLeffect [~REPLeffec@69.54.115.254] has quit [Ping timeout: 252 seconds] 08:44:14 oudeis [~oudeis@89-139-16-231.bb.netvision.net.il] has joined #lisp 08:46:55 marsell [~marsell@120.22.204.21] has joined #lisp 08:48:34 BlankVerse [~pankajm@202.3.77.219] has joined #lisp 08:48:46 -!- setmeaway [~setmeaway@119.201.52.182] has quit [Quit: Leaving] 08:49:51 setmeaway [stemearay@119.201.52.182] has joined #lisp 08:52:09 kashyap [kashyap@nat/redhat/x-plfjktuclkrdjvco] has joined #lisp 08:53:12 -!- kashyap [kashyap@nat/redhat/x-plfjktuclkrdjvco] has left #lisp 08:55:11 -!- schme [~marcus@sxemacs/devel/schme] has quit [Ping timeout: 248 seconds] 08:55:17 schme [~marcus@c83-254-205-42.bredband.comhem.se] has joined #lisp 08:55:17 -!- schme [~marcus@c83-254-205-42.bredband.comhem.se] has quit [Changing host] 08:55:17 schme [~marcus@sxemacs/devel/schme] has joined #lisp 09:00:53 -!- gravicappa [~gravicapp@ppp91-77-158-66.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 09:04:13 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 09:04:55 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Remote host closed the connection] 09:05:11 Ralith: What do you mean? Like so? (defun some-function (in-stream out-stream) ...) 09:05:12 -!- cheier [~amedueces@c-76-107-19-58.hsd1.ms.comcast.net] has quit [Remote host closed the connection] 09:05:19 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 09:05:25 -!- pavelludiq [~pavelludi@87.246.58.193] has quit [Remote host closed the connection] 09:05:26 -!- schaueho [~schaueho@dslb-088-066-059-226.pools.arcor-ip.net] has quit [Ping timeout: 256 seconds] 09:06:35 jtza8: I have one function that writes data to a stream. I have another function that reads data from a stream. I want to feed the output of the former to the latter. 09:07:00 .. creating a new function in the process? 09:08:01 (defun foo (other-function) (lambda (other-function-input) (funcall other-function other-function-input))) 09:10:35 realitygrill_ [~realitygr@adsl-76-226-116-245.dsl.sfldmi.sbcglobal.net] has joined #lisp 09:11:26 -!- realitygrill [~realitygr@adsl-76-234-128-70.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 245 seconds] 09:11:26 -!- realitygrill_ is now known as realitygrill 09:12:06 Ralith: Did that answer your question? 09:13:00 mishoo_ [~mishoo@79.112.115.118] has joined #lisp 09:13:41 -!- mishoo [~mishoo@79.112.115.118] has quit [Remote host closed the connection] 09:13:56 jtza8: er, sorry, I guess I was unclear. I have no desire to create a function or closure. 09:14:18 jtza8: 'output' in this case refers to what it writes to the stream, not its return value. 09:14:36 Blkt [~user@82.84.182.17] has joined #lisp 09:15:48 Ralith: How do you mean glue then? 09:16:35 good day eveyone 09:16:44 Hi Blkt 09:17:01 hi there 09:18:08 jtza8: just feed the output of the one to the input of the other. 09:18:44 -!- mishoo_ [~mishoo@79.112.115.118] has quit [Read error: Connection reset by peer] 09:18:55 mishoo_ [~mishoo@79.112.115.118] has joined #lisp 09:19:06 Right, so its about connecting the two streams then... 09:19:17 *jtza8* is Googling. 09:19:39 dfox [~dfox@2001:470:9d8f:0:4261:86ff:fe8e:8446] has joined #lisp 09:21:38 yeah, exactly 09:22:56 or providing one stream that acts as two, or something 09:26:13 Sorry, was AFK for a moment there... I'm looking into this: file:///Users/jens/Documents/programming/lisp/doc/HyperSpec/Body/t_two_wa.htm#two-way-stream 09:26:17 er 09:26:24 Wrong URL :) 09:26:38 ,two-way-stream 09:27:09 (minion isn't here) 09:28:04 http://www.lispworks.com/documentation/HyperSpec/Body/t_two_wa.htm#two-way-stream 09:29:03 Ok, perhaps the wrong one. 09:30:16 cfy [~cfy@218.75.17.76] has joined #lisp 09:30:16 -!- cfy [~cfy@218.75.17.76] has quit [Changing host] 09:30:16 cfy [~cfy@unaffiliated/chenfengyuan] has joined #lisp 09:30:59 An echo-stream seems more like what you're looking for? 09:34:50 pretty confused between F# & Lisp ... 09:35:19 Wonder if anyone have experience at both things to suggest me something 09:35:53 Do you mean, which language you should learn? 09:36:14 no I mean which one should I use to continue my AI development 09:37:08 -!- Euthy [~euthy@unaffiliated/euthydemus] has quit [Ping timeout: 260 seconds] 09:37:41 Well, then it depends on taste. I guess. 09:37:46 currently, I have both under development 09:38:05 but the one w/ F# has better interface with buitin library 09:38:30 while my Lisp one must interact via tcp port 09:38:36 ( kind of proxy bot ) 09:40:01 I admire the macro feature and functions in Lisp which I may not have in F# 09:40:33 If you have a deadline, then use what you've got. Otherwise, if you're going to be doing a lot of this, and you prefer Lisp, then you may consider improving the Lisp interface? 09:42:47 yep 09:43:18 if I decide to work on Lisp, then I must upgrade the current interface via localhost 09:43:48 which may be good if I am a good C++ programmer 09:43:59 but again, it take more time than using my current F# 09:44:41 and one more thing that I'm a bit worrying 09:44:48 Blkt` [~user@82.84.162.115] has joined #lisp 09:44:51 that's the performance of F# vs Lisp 09:45:04 I'm using ClozureCL at the moment 09:45:21 in interactive mode only, not compiled 09:45:56 is there any comperison between F# & Lisp in both interactive and compiled form ? 09:46:23 -!- Blkt [~user@82.84.182.17] has quit [Ping timeout: 248 seconds] 09:46:59 -!- cesarbp [~cbolano@189.139.97.234] has quit [Ping timeout: 255 seconds] 09:47:38 I'm not sure how CCL works in interactive mode, but chances are that nothing is "interpreted", just compiled and loaded on the fly. 09:48:13 thought it's just fast loaded ? 09:48:20 so it's still compiled ? 09:48:24 Yes 09:48:34 SBCL at least compiles everything, I am not sure about CCL either 09:49:07 I always see something like .x86fsl 09:49:18 sound like x86 fast load file 09:49:24 Yes 09:49:46 is that alike to java .class ? 09:49:59 Sounds like x86 machine language, ready to be loaded into the CCL image. 09:50:21 what it would be when I want to compile my app into a single binary file ? 09:50:39 You load everything, then dump the image. 09:51:00 ah... 09:51:01 =) 09:51:09 so it size may be quite large 09:51:27 hope it's fast enough 09:51:40 About 20-30 MB 09:51:40 -!- pipping [~pipping@exherbo/developer/pipping] has quit [Remote host closed the connection] 09:51:57 Although, I've compressed that down to 3MB 09:52:05 in the past. 09:52:12 but that mean it must take more time when loading ? 09:52:16 -!- mishoo_ [~mishoo@79.112.115.118] has quit [Read error: Connection reset by peer] 09:52:20 ( to decompress ) 09:52:26 mishoo_ [~mishoo@79.112.115.118] has joined #lisp 09:52:34 It can't run compressed. 09:52:51 3 mb , sound like 10x smaller 09:52:54 (I'm just talking about something similar to a .zip file) 09:52:55 hm.. 09:52:59 yep 09:53:19 could be a self extractor and running too 09:53:45 I take it you're on Windows (using F#)? 09:54:17 Then 7-zip should be able to help you out there. 09:54:18 yes 09:54:30 Athas [~athas@130.225.165.40] has joined #lisp 09:54:59 I have plan to work on Ubuntu and communicate w. my proxy bot via vbox too 09:55:13 -!- gko [~gko@220-135-201-90.HINET-IP.hinet.net] has quit [Ping timeout: 260 seconds] 09:55:41 but the competition holder require to run this on window, so I think I 'd better to think about it 09:56:22 There's also Nullsoft's installer (which you can have a look at). 09:58:39 -!- juniorroy [~juniorroy@212.36.228.103] has quit [Ping timeout: 248 seconds] 09:58:52 seem like not a problem to worry :P 09:59:10 btw, I don't know why when I load my asdf system on Ubuntu 09:59:21 juniorroy [~juniorroy@212.36.228.103] has joined #lisp 09:59:33 when (push "..\scpb\" asdf:*central-registry*) 09:59:50 Syntax error there. 09:59:54 and then load all file in .asd 09:59:57 \\ = \ 10:00:04 it can't find my files 10:00:06 \\ ? 10:00:17 while it's not warning me on window ? 10:00:27 *why 10:00:30 Use "/" 10:00:50 wait a sec 10:00:55 I check again 10:01:20 oh, it's "../scpb/" 10:01:22 =.= 10:01:30 so "..//scpb//" ? 10:01:34 nope 10:01:51 \ is used to escape characters. 10:01:56 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Ping timeout: 276 seconds] 10:01:59 in case I want to load all files and folder in the same folder w/ the loading file ? 10:02:05 So "\"" ==> " 10:02:53 ? 10:02:55 -!- na[ii] [~textual@c-67-171-131-23.hsd1.wa.comcast.net] has quit [Ping timeout: 248 seconds] 10:02:56 That's the only way you'd get a double quote into a string while using double quotes. 10:03:07 Here's a CL example: 10:03:12 (print "Foo") 10:03:22 => Foo 10:03:29 yes ? 10:03:33 (print "\"") 10:03:36 => " 10:03:39 oh.. I got yours 10:03:41 =.= 10:03:58 but I don't need " in my push folder 10:04:23 Nope, but you used a \ 10:04:33 no I used "/" 10:04:43 just look again what I rechecked 10:04:43 (print "\") 10:04:44 :)) 10:05:12 it's "../scpb/" 10:05:18 That print statement won't end. 10:05:18 is that right ? 10:05:21 Yep 10:05:27 You're right. 10:05:31 the ".." 10:05:47 Is for a previous dirrectory. 10:06:06 You should use an absolute path in your file. 10:06:15 like what ? 10:06:21 In windows: 10:06:33 "C:\\foo" 10:06:37 I want it to be w/ the same folder w. my current loading file 10:06:38 or 10:06:47 "C:/foo" 10:06:54 so I can freely move the folder anywhere 10:06:56 =.= 10:07:01 N.p. 10:07:04 use 10:07:08 don 10:07:10 don 10:07:31 don't it just get the current files and folders that is in the same folder with the loader file ? 10:08:16 (asdf:system-relative-pathname :system "relative/path") 10:08:33 That was to say, use (asdf:system-relative-pathname ... 10:09:12 attila_lendvai [~attila_le@adsl-89-132-54-12.monradsl.monornet.hu] has joined #lisp 10:09:12 -!- attila_lendvai [~attila_le@adsl-89-132-54-12.monradsl.monornet.hu] has quit [Changing host] 10:09:12 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 10:09:28 If your .asd file is in "C:/foo/bar" 10:09:32 then 10:10:07 asdf:system-relative-pathname returns "C:/foo/bar/relative/path" 10:11:20 :P 10:11:27 ".." is ALLWAYS relative to the current working dirrectory. Whatever that may be. 10:12:03 thanks 10:12:12 seem like what I need 10:12:17 pleasure :) 10:12:36 You didn't ask stupid questions, unlike a lot of people recently. :P 10:12:57 Good luck with the competition then. 10:14:13 thanks, I just tried to get my question clear 10:14:45 -!- oudeis [~oudeis@89-139-16-231.bb.netvision.net.il] has quit [Quit: This computer has gone to sleep] 10:14:50 I don't really know if I can make it to the competition 10:15:52 although I did try to make the 4th generation of my F# bot , and 1st one in CL < as I left it for a long time busy > 10:16:17 indeed, learning and developing my bot in CL at the same time 10:16:49 just amazed by how easy the interactive programming in CL could be 10:17:06 and meta too 10:17:29 Well, as long as you learn, then it's worth it even if the code doesn't work. :) 10:18:06 leo2007 [~leo@123.123.253.89] has joined #lisp 10:18:19 but it wasted a lot of effort, and if in the end, I am not able to complete it then I wasted everything. 10:18:43 So I must very carefully eval both of them 10:18:55 before really get into one of them 10:18:56 Amyn1 [~abennama@cac94-2-87-91-21-215.dsl.sta.abo.bbox.fr] has joined #lisp 10:19:13 True. 10:19:42 oudeis [~oudeis@89-139-16-231.bb.netvision.net.il] has joined #lisp 10:19:47 Still, what you learn is always useful later. 10:20:04 I see that's right too 10:20:05 :P 10:20:36 after a period time of learning CL, I have changed my programming style so much on any other languages . 10:20:44 -!- Amyn [~abennama@cac94-2-87-91-21-215.dsl.sta.abo.bbox.fr] has quit [Ping timeout: 255 seconds] 10:20:50 on F# too. 10:21:00 I was way too imperative at that time. 10:21:25 even when F# is most about FP 10:21:39 Yep Lisp somehow makes you think very differently. 10:21:45 but its strictness over imperative isn't as clear as CL 10:22:18 sometime I don't know where to count on :( 10:23:16 Sounds like you'll end-up learning Haskell. :) 10:23:20 today, I tried to change my F# bot into interactive mode and find out that most of current functions containning mutable data which mean it's not stateless 10:23:41 I tried Haskell 10:23:44 Yep 10:23:53 It's hard to learn 10:23:55 but can't really use it , ot 10:24:04 way too hard on "Solid" feeling 10:24:24 (I don't know how to use it either. :P) 10:24:42 it's quite like F# style 10:24:47 because it's ML too 10:25:00 but more strict over function 10:25:19 my mind just can't fit it 10:25:40 although it's very pure functional language with lazy evaluation 10:26:08 The purest non-toy language. 10:26:17 :P 10:26:48 saw lots of stuff they made w/ it. There's a game called "Nikki" that was made on Haskell 10:27:26 but I like CL game more because of their extensible attribute 10:29:24 I like the multi-paradigm approach in CL. I use OOP for GUIs, etc. and FP for stuff like BNF notation and behaviour trees. 10:29:42 :D 10:30:02 F# pattern matching is very useful in those tree-like things 10:31:17 -!- topo_ is now known as topobot 10:31:56 at the beginning I knew very less about Lisp, but its interactive feature made my exploration quite easy. Just remember how it get me in flow. 10:32:21 wbooze` [~levgue@xdsl-78-35-158-245.netcologne.de] has joined #lisp 10:32:29 homie` [~levgue@xdsl-78-35-158-245.netcologne.de] has joined #lisp 10:33:09 That it does... and after 3 or so years of working with CL, I can say that you allways keep on learning new ways of doing things. 10:33:32 :) 10:33:40 ha, that's what I like 10:33:48 I've used it alot lately, and it's become my main language. 10:33:55 like always try and change things 10:34:10 what a pity that in vietnam , it 10:34:19 is hard to find a job with Lisp 10:34:21 :( 10:34:32 That's hard everywhere :B 10:34:36 :) 10:34:39 why ??? 10:34:58 -!- wbooze [~levgue@xdsl-78-35-185-136.netcologne.de] has quit [Ping timeout: 256 seconds] 10:35:14 T___T I will found my company with CL when I have money :D 10:35:39 I'm working on creating a little company, but it's slow work. :) 10:35:44 -!- homie [~levgue@xdsl-78-35-185-136.netcologne.de] has quit [Ping timeout: 276 seconds] 10:35:48 (I'm in South Africa) 10:36:07 is that Cape town included ? 10:37:13 -!- topeak [~topeak@61.149.226.116] has quit [Quit: Leaving] 10:37:29 Capetonians, as we call them, are pretty weird, but yes. I'm in the country South Africa... which isn't quite Southern Africa. 10:38:09 oops, I didn't know that 10:39:01 Yeah, that happens. :) 10:39:43 at least I won't mistake again next time :P 10:40:16 Hehe, yeah, but now you know Lisp is everywhere :P 10:40:46 it's good to know that 10:41:27 Well, I have to go now, but it's been fun talking to you. See you sometime again. :) 10:41:40 There are only 2 programming language that can let me totally focus , that's Lisp family and Assembly language 10:42:04 Strange, but true. 10:42:14 jtza8, ok, so next time ;) it's nice to meet you though, thanks for your advice. 10:42:20 -!- leo2007 [~leo@123.123.253.89] has quit [Ping timeout: 256 seconds] 10:42:48 Nice to meet you too. 10:43:00 :D 10:52:58 cheezus [~Adium@76-10-183-155.dsl.teksavvy.com] has joined #lisp 10:53:36 fortitudeZDY [~fortitude@123.103.66.133] has joined #lisp 10:54:19 -!- kpreid [~kpreid@128.153.212.185] has quit [Quit: Quitting] 10:54:36 kpreid [~kpreid@128.153.212.185] has joined #lisp 11:03:41 -!- littlegiraffe [~littlegir@poco208-2.fredcanhelp.com] has quit [Ping timeout: 276 seconds] 11:03:50 Yuuhi [benni@p54839A50.dip.t-dialin.net] has joined #lisp 11:06:58 vert2 [~vert2@gateway/shell/bshellz.net/x-rpvtfkdmxxrpurie] has joined #lisp 11:07:09 hi 11:12:22 leo2007 [~leo@123.123.253.89] has joined #lisp 11:12:34 hi topo 11:12:51 i need to convert this code in lisp 11:12:52 float mi[16]={0}; 11:12:53 glGetFloatv(GL_MODELVIEW_MATRIX,mi); 11:12:53 position = mi[12] 11:13:02 LoL 11:13:09 use cl-opengl 11:13:16 why you laught? 11:13:19 im using cl-opengl 11:13:32 because I have just done some GL programming on F# 11:13:33 morphism: I don't know if it was mentioned yet, but pkhuong added something recently to SBCL that allows loading directly from a compressed image. 11:13:36 Just in case you're interested. 11:13:49 whats F#? 11:13:53 marsell, cool 11:14:05 topo: A programming language 11:14:07 topo another functional language on .NET 11:14:12 i see 11:14:33 Ocalm on .NET 11:15:25 marsell, of cause I am surely take use of it when my app is done. 11:15:43 :) 11:16:11 marsell, how about socket programming ? any ideas on high performance transmission via localhost ? 11:16:46 I need to make C++ proxy to transmite data >> my lisp program via socket 11:16:59 ( wonder if this can be done via process ) 11:17:21 I'm a CL neophyte, so I can't help. Sorry! 11:17:28 :( 11:17:40 What do you need the C++ proxy for? 11:17:50 yay, I just need some info or high performance config for Lisp 11:18:10 then I will do smt with my C++ proxy 11:18:19 to improve the transmite rate 11:18:46 marsell, I used it to transmite data to my AI bot written in Lisp 11:19:08 it's BWAPI stuff if you interest 11:19:09 :P 11:19:38 -!- leo2007 [~leo@123.123.253.89] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 11:20:06 Oh, I see. BWAPI is in C++? 11:20:14 yep 11:20:38 Since you mentioned F# before, what OS is this? 11:20:44 the interface is alike to this : Starcraft > BWAPI > BWAPI-Proxy > my CL bot 11:20:53 it's Win 7 11:21:10 Ah, I definitely cannot comment on Windows. Sorry, mate. :| 11:21:17 although I have plan on dev with ubuntu and transmite via VBox NAT 11:21:43 =.= but come to socket programming, I thought every OS has smt in common ? 11:22:13 Just let me know if there is any efficient way to transmite data via socket port 11:22:13 The last time I looked at socket programming in Windows was over a decade ago. Also, it was scary. 11:22:27 yes, and on C++. 11:22:32 more scary awaiting.. 11:22:33 =.= 11:22:38 D: 11:23:24 replore_ [~replore@ntkngw304073.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 11:23:42 All I can say is keep the CL program on the same machine and OS as the proxy, and avoid TCP if you can. 11:23:50 -!- oudeis [~oudeis@89-139-16-231.bb.netvision.net.il] has quit [Quit: This computer has gone to sleep] 11:23:56 rendoman [~brendon@vpn44.sdf.org] has joined #lisp 11:24:14 hello 11:24:29 -!- Blkt` [~user@82.84.162.115] has quit [Ping timeout: 276 seconds] 11:24:31 I.e. if you're using VBox for more than just dev, that'll probably slow communication right down. 11:26:27 -!- rendoman [~brendon@vpn44.sdf.org] has left #lisp 11:26:39 LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has joined #lisp 11:26:54 Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has joined #lisp 11:28:31 -!- homie` [~levgue@xdsl-78-35-158-245.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:29:03 -!- wbooze` [~levgue@xdsl-78-35-158-245.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 11:29:10 marsell, so I will focus on window 11:30:04 Do you plan to use multiple threads in your bot? 11:30:14 currently, can't avoid TCP/UDP 11:30:20 marsell, yes 11:30:29 -!- LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has quit [Client Quit] 11:30:34 it currently use bordeux thread 11:30:52 ( can't spell this accurate ) 11:31:08 I doubt you'll be able to use SBCL then, unless something changed recently. 11:31:10 and it's not my foundation too, it's from aerique 11:31:28 marsell, I'm using ClozureCL 11:31:53 Okay, just mentioning it in case you were planning to try that later for higher performance. 11:32:07 you mean SBCL is faster than CCL ? 11:32:11 hmm... 11:32:20 wbooze [~levgue@xdsl-78-35-158-245.netcologne.de] has joined #lisp 11:32:24 homie [~levgue@xdsl-78-35-158-245.netcologne.de] has joined #lisp 11:32:28 SBCL is the best optimizing compiler out there for CL. 11:32:41 CCL is reasonable, but not SBCL league. 11:33:06 But SBCL's threading shines on Linux. On Windows I think it turns out green threaded, or some such. 11:33:26 Anyway, I shouldn't comment further. I'll leave it to the denizens here who actually know about this. 11:35:20 it's fine. 11:35:30 it's what I need to know too. 11:35:46 indeed, I considered to use SBCL for my bot. 11:36:06 but too lazy to re-config my already set lispbox 11:38:29 CCL has its own advantages, so that's okay too. 11:38:44 marsell: SBCL on Windows is natively thread, if you use the right version :) 11:38:56 .. or not threaded at all, if you don't.. 11:39:11 Oh? It supports multiple native threads? 11:39:24 http://github.com/akovalenko/sbcl-win32-threads 11:39:34 -!- Beetny [~Beetny@ppp118-208-48-52.lns20.bne1.internode.on.net] has quit [Ping timeout: 256 seconds] 11:40:02 (current binaries for x86 and x64 are available at http://github.com/akovalenko/sbcl-win32-threads/wiki ) 11:40:26 Oho, good to know. Thanks for the hard work. :) 11:42:13 leo2007 [~leo@123.123.253.89] has joined #lisp 11:48:15 ah, I remember that at the time I was confused about CL version, SBCL has 1.0.46 version, but only on linux, at that time, window had lower version ( 1.0.37 ) 11:49:07 morphism: sometimes there are build problems, it takes time to fix them 11:49:30 but now it seem to be very equal :P 11:49:34 morphism: so the most used platform gets binary builds first 11:50:00 akovalenko, yay, maybe I will switch to sbcl. 11:50:30 it seem to be more recently upgraded 11:51:02 ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has joined #lisp 11:51:35 oudeis [~oudeis@2.54.254.131] has joined #lisp 11:52:26 akovalenko, r u in sbcl team ? 11:52:52 oh... the sbcl installer is way too small =.= 11:53:30 -!- oudeis [~oudeis@2.54.254.131] has quit [Client Quit] 11:53:59 oudeis [~oudeis@2.54.254.131] has joined #lisp 11:55:12 morphism: not really in sbcl team, (at least w.r.t. repository commit access and the like). But of course, we exchange some ideas, not only use each other's code :) 11:56:43 -!- oudeis [~oudeis@2.54.254.131] has quit [Read error: Connection reset by peer] 11:58:00 oudeis [~oudeis@2.54.254.131] has joined #lisp 11:58:19 -!- olliee [~haellman@c80-217-120-177.bredband.comhem.se] has quit [Read error: Operation timed out] 12:01:59 olliee [~haellman@c80-217-120-177.bredband.comhem.se] has joined #lisp 12:04:32 deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has joined #lisp 12:05:57 -!- cfy [~cfy@unaffiliated/chenfengyuan] has quit [Remote host closed the connection] 12:15:30 -!- oudeis [~oudeis@2.54.254.131] has quit [Read error: Connection reset by peer] 12:15:30 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 12:16:11 akovalenko, do you know any fast and efficient way to transmite data between C++ DLL and CL ? 12:17:15 Kajtek [~nope@nat4-230.ghnet.pl] has joined #lisp 12:20:02 nachtwandler [~nachtwand@p4FE31F34.dip.t-dialin.net] has joined #lisp 12:20:25 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 12:21:29 vjacob [~vjacob@78-105-184-157.zone3.bethere.co.uk] has joined #lisp 12:21:30 morphism: provide a C-style API on the DLL side (extern "C" ...), then call what you want from SBCL 12:22:01 morphism: start with looking up define-alien-routine and load-shared-object in SBCL manual 12:23:00 -!- deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has quit [Remote host closed the connection] 12:23:57 morphism: if it's third-party DLL and it's interface is not C-compatible (i.e. it exports mangled C++ names), you may have to write a custom C/C++ wrapper code, to export something sensible 12:24:45 cjs [~cjs@EM111-191-37-179.pool.e-mobile.ne.jp] has joined #lisp 12:25:26 In the clisp REPL, is there a way to get it to read and execute the contents of a file, and then bring me back to the repl in that now-modified environment? 12:25:51 (load "your/file.lisp") 12:27:54 oudeis [~oudeis@2.54.254.131] has joined #lisp 12:27:54 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 12:27:55 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 12:28:04 nha [~prefect@5-74.104-92.cust.bluewin.ch] has joined #lisp 12:28:20 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 12:29:18 Thanks. 12:29:26 cjs: however, there are a couple of variables that are bound around load, so they cannot be modified from inside the file. 12:29:41 cjs: *package* and *readtable* come to mind, check clhs load to see if there's others. 12:29:43 cjs: btw, if you mean Common Lisp, please don't call it clisp 12:30:02 cjs: you could easily implement your own load that would allow the modification of all variables. 12:30:07 I mean the clisp interpreter. 12:30:17 cjs: right, but it wasn't a clisp specific question. 12:30:27 the answer is the same for all CL implementations. 12:30:32 And I'm a rank beginner at all this, so I have no idea about package and readtable. 12:30:53 Nor did I have any idea whether or not it was clisp-specific or the same across all Common Lisps. 12:31:17 Just for background. :-) 12:31:31 cjs: Here you have the clisp specific stuff: http://clisp.podval.org/impnotes/ 12:31:32 cjs: then Common Lisp hyperspec (that's what we call CLHS) is a must. 12:32:01 cjs: CLHS is available online, and you can also download it and read it locally 12:32:09 cjs: otherwise clhs (http://www.lispworks.com/documentation/HyperSpec/Front/index.htm) and most tutorial and books are written in an implementation neutral way (even if sometimes some implementation specific stuff slips). 12:32:37 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 12:32:39 cjs: http://cliki.net/Lisp+Books and http://cliki.net/Online+Tutoria 12:32:47 cjs: http://cliki.net/Lisp+Books and http://cliki.net/Online+Tutorial 12:32:59 nefo [~nefo@221.238.99.251] has joined #lisp 12:32:59 -!- nefo [~nefo@221.238.99.251] has quit [Changing host] 12:32:59 nefo [~nefo@unaffiliated/nefo] has joined #lisp 12:33:03 I'm using the Barski book. 12:33:35 Good. 12:33:36 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 12:33:40 urandom__ [~user@p548A4B1B.dip.t-dialin.net] has joined #lisp 12:34:15 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 12:35:12 It's a wee bit verbose at the beginning for someone who's been through _The Little Schemer_, but I'm guessing that will cease to be a problem in a chapter or two. 12:35:37 -!- nefo [~nefo@unaffiliated/nefo] has quit [Client Quit] 12:37:16 -!- nha [~prefect@5-74.104-92.cust.bluewin.ch] has quit [Ping timeout: 276 seconds] 12:37:17 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 12:37:19 -!- xyxu [~xyxu@58.41.14.46] has quit [Quit: Leaving.] 12:39:17 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 12:39:18 cjs: back then, i've found Practical Common Lisp very interesting and.. practical 12:39:32 for after Barski... 12:40:02 Yes, I've glanced at that. Looked like a fantastic book. 12:40:48 It was one of the things that prompted me to buy _Practical OCaml_ sight unseen. What a horrorshow that was. 12:40:50 -!- oudeis [~oudeis@2.54.254.131] has quit [Read error: Connection reset by peer] 12:40:52 ..and Paul Graham's "on Lisp" may be more attractive to someone who once was a little Schemer (i weren't) 12:41:11 -!- morphism [~Nevermind@123.16.97.109] has quit [Quit: Leaving.] 12:41:43 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 12:45:44 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 12:47:21 -!- Zephyrus [~emanuele@unaffiliated/zephyrus] has quit [Ping timeout: 252 seconds] 12:48:49 Zephyrus [~emanuele@unaffiliated/zephyrus] has joined #lisp 12:49:14 xlq [~apropos@89-168-190-152.dynamic.dsl.as9105.com] has joined #lisp 12:49:15 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 12:49:50 In C, it is common to return values through pointer parameters. Can this be done easily with CFFI, by marking a parameter as "out", for example? 12:49:57 How do I do a comment? 12:50:05 cjs: ; use a semicolon 12:50:06 xlq: yes. 12:50:09 Thanks. 12:50:16 oudeis [~oudeis@2.54.254.131] has joined #lisp 12:50:49 cjs: ;;;; heading 12:50:54 cjs: ;;; section 12:51:04 cjs: ;; code aligned comment 12:51:23 cjs: (some code) ; right comment 12:51:40 this is a convention applied by editors and lisp formatters. 12:52:50 pjb: How? The CFFI manual for defcfun doesn't show any obvious way. 12:53:44 -!- ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has quit [Quit: Leaving.] 12:53:44 xlq: I don't know the details by heart. See how one foreign function that does it is defined... 12:56:47 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 12:57:16 Snaffu [~Snaffu@oh-69-34-16-39.sta.embarqhsd.net] has joined #lisp 12:58:39 X-Scale` [email@sgi-ultra64.broker.freenet6.net] has joined #lisp 12:58:46 -!- X-Scale [email@sgi-ultra64.broker.freenet6.net] has quit [Read error: Connection reset by peer] 12:58:56 bgs100 [~ian@unaffiliated/bgs100] has joined #lisp 13:00:23 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 13:00:33 -!- marsell [~marsell@120.22.204.21] has quit [Quit: marsell] 13:02:29 superflit_ [~superflit@71-33-188-87.hlrn.qwest.net] has joined #lisp 13:02:30 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 13:03:03 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Ping timeout: 260 seconds] 13:03:06 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 13:03:35 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 13:04:35 -!- superflit [~superflit@71-33-178-18.hlrn.qwest.net] has quit [Ping timeout: 276 seconds] 13:04:35 -!- superflit_ is now known as superflit 13:05:16 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 13:05:53 -!- oudeis [~oudeis@2.54.254.131] has quit [Ping timeout: 276 seconds] 13:07:29 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 13:07:51 ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has joined #lisp 13:08:59 deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has joined #lisp 13:11:16 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 13:12:24 morphism [~Nevermind@123.16.97.109] has joined #lisp 13:14:01 gko [~gko@220-135-201-90.HINET-IP.hinet.net] has joined #lisp 13:15:13 akovalenko, making C++ Wrapper was what I avoided to do. Even with SWIG. Provide a Proxy based on current prototype is way easier. 13:15:32 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 13:17:05 hargettp [~hargettp@pool-71-184-183-74.bstnma.east.verizon.net] has joined #lisp 13:17:06 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 13:17:32 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 13:20:15 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has quit [Quit: Leaving.] 13:20:15 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 13:25:16 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 13:26:09 -!- sbryant [~freenode@ghanima.slavasaur.com] has quit [Quit: ZNC - http://znc.in] 13:27:15 morphism: of course you're better without a wrapper, but when you have a _C++_ interface exported, with mangled names and such, there seems to be no other options 13:27:15 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 13:28:37 sbryant [~freenode@ghanima.slavasaur.com] has joined #lisp 13:32:22 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 13:35:36 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 13:38:59 -!- dto [~dto@pool-96-252-89-130.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 13:39:28 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 13:41:14 Vivitron [~user@pool-108-7-56-243.bstnma.fios.verizon.net] has joined #lisp 13:41:15 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Read error: Connection reset by peer] 13:42:51 xlq: fe[nl]ix recently told me that CFFI doesn't support that. 13:44:15 -!- coyo [kvirc@unaffiliated/bandu] has quit [Ping timeout: 248 seconds] 13:46:27 xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has joined #lisp 13:47:16 -!- jtza8 [~jtza8@wbs-196-2-122-110.wbs.co.za] has quit [Ping timeout: 245 seconds] 13:50:34 akovalenko, that's what made me confused too. Most of my C++ lib can be done with SWIG except 90 % of those things related to STL things. Which I can't find any help to implement wrapper for CL. 13:51:09 So I chose to use Proxy communication via socket instead. 13:51:50 morphism: that's because of the templates. You need a C++ compiler to instanciate the templates. 13:52:03 As I accept Hybrid as the simple solution. 13:52:10 morphism: so any code that use C++ template cannot be publicly exported as a library. 13:52:42 pjb, I'm not C++ expert then @.@ 13:52:43 morphism: what you could do, is to write a C++ stub that would instanciate all the templates needed in the program, to wrap them up in a library. 13:53:01 it wasted me so much time in 6 months ago 13:53:08 *since 13:53:15 But since any "innocent" C++ code could instanciate any number of non obvious templates (thanks to overloading), you must be luckly. 13:53:29 Yes, it's better to write a C API wrapper over the C++ code. 13:53:34 why don't you tell me about this sooner ? T_T 13:53:39 antgreen [~user@12.232.236.2] has joined #lisp 13:53:39 yay 13:53:51 It should be obvious. 13:53:54 that's what I recieved when keep asking about C++ wrapper for CL 13:54:58 I upgraded the proxybot to current C++ lib version, so now I just need to improve my target features. 13:54:58 -!- ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has quit [Quit: Leaving.] 13:57:27 ( Proxybot - it's the thing written in C++ too, to communicate with my target C++ lib and send/ receive my CL command ) 13:57:40 -!- kleppari [~spa@bitbucket.is] has quit [Ping timeout: 244 seconds] 13:57:49 such a translator =.= 13:58:14 a string is no list? (according to lisp) 13:59:15 Yes, I repeated it a few times the other day... 13:59:53 =) funny 14:00:07 I heard this sentence 3 hours ago 14:00:15 from someone in this channel too 14:00:15 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 14:00:48 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 14:01:09 Tasser: CL was about practicality, not theoretical elegace of strings as single-linked lists of characters 14:01:42 Perhaps in ACL2 it is the case? Their vectors are lists... 14:02:05 pjb, point 14:03:19 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 14:03:52 pchrist_ [~spirit@gentoo/developer/pchrist] has joined #lisp 14:05:24 -!- manuel_ [~manuel_@pD9FDF627.dip.t-dialin.net] has quit [Quit: manuel_] 14:12:01 -!- Kajtek is now known as Kajtek2 14:12:08 -!- lundis [~lundis@dyn56-31.yok.fi] has quit [Quit: Fear not, I will return] 14:12:13 -!- Kajtek2 is now known as Kajtek 14:15:31 pnq [~nick@AC8121A6.ipt.aol.com] has joined #lisp 14:16:17 dbushenko [~dim@93.125.18.247] has joined #lisp 14:17:39 -!- morphism [~Nevermind@123.16.97.109] has quit [Quit: Leaving.] 14:19:07 MoALTz [~no@host-92-18-18-50.as13285.net] has joined #lisp 14:20:03 tritchey [~tritchey@173-161-75-105-Illinois.hfc.comcastbusiness.net] has joined #lisp 14:20:04 morphism1 [~Nevermind@123.16.97.109] has joined #lisp 14:20:14 nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has joined #lisp 14:21:38 -!- nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has quit [Client Quit] 14:25:40 -!- Yuuhi [benni@p54839A50.dip.t-dialin.net] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 14:26:26 -!- xan_ [~xan@15.Red-88-13-107.dynamicIP.rima-tde.net] has quit [Ping timeout: 245 seconds] 14:27:17 Yuuhi [benni@p54839A50.dip.t-dialin.net] has joined #lisp 14:27:46 -!- Snaffu [~Snaffu@oh-69-34-16-39.sta.embarqhsd.net] has quit [Ping timeout: 276 seconds] 14:28:01 X-Scale [email@sgi-ultra64.broker.freenet6.net] has joined #lisp 14:28:27 -!- X-Scale is now known as Guest17282 14:28:31 -!- X-Scale` [email@sgi-ultra64.broker.freenet6.net] has quit [Read error: Connection reset by peer] 14:29:45 Is there something in asdf that returns a flattened, ordered tree of source file paths for a given ASDF system? 14:29:46 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 14:30:07 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 14:34:18 Blkt [~user@82.84.162.115] has joined #lisp 14:35:24 -!- Guest17282 is now known as X-Scale 14:36:22 Cloud_ [~cbolano@189.139.97.234] has joined #lisp 14:36:38 morphism1: btw, is your C++ code compatible with gcc/g++? 14:36:39 -!- morphism1 [~Nevermind@123.16.97.109] has quit [Quit: Leaving.] 14:36:53 -!- Cloud_ is now known as cesarbp 14:37:09 Snaffu [~Snaffu@oh-69-34-16-39.sta.embarqhsd.net] has joined #lisp 14:37:31 altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has joined #lisp 14:37:42 there's a bunch of map*** functions - can I use map for starters and replace it with a specific map function in case I need it? 14:38:01 silenius [~silenius@p4FFC94E2.dip.t-dialin.net] has joined #lisp 14:38:57 Tasser: only map and mapcar are actually similar. 14:39:06 the other map*** functions do special things. 14:39:25 -!- naryl1 is now known as naryl 14:39:47 morphism [~Nevermind@123.16.97.109] has joined #lisp 14:39:48 sykopomp: seems to be nothing like that in ASDF. and if you do it yourself with module-components and the like, it will remain possible for some extreme dynamic CLOS magic to screw it, anyway 14:40:33 akovalenko: All I want is to generate a list of files to hand off to grep. 14:40:35 :\ 14:40:37 sykopomp: for some purposes, it would be good to /trace/ how ASDF loads things. It is possible and its result is sensible 14:40:46 akovalenko, it's VC++ , so I think it's not. 14:41:49 akovalenko: Yeah, I'm reading around asdf.lisp a bit to familiarize myself with it. Looks like I need to give it a shot, myself. :) 14:43:11 -!- morphism [~Nevermind@123.16.97.109] has quit [Read error: Connection reset by peer] 14:43:17 morphism [~Nevermind@123.16.97.109] has joined #lisp 14:43:23 -!- Snaffu [~Snaffu@oh-69-34-16-39.sta.embarqhsd.net] has quit [Ping timeout: 276 seconds] 14:44:37 morphism: I recommend you simply make an extern "C" interface... I tried looking into direct linking, but I got nightmares (real) about it sometime after getting into exception handling. 14:47:18 zmv [~daniel@c953332e.virtua.com.br] has joined #lisp 14:50:43 I'm now working on using gcc intermediate dumps for automatic FFI generation (like in gcc -fdump-translation-unit-slim-raw). interesting to know if similar approach was ever tried before me.. 14:51:09 I know of gccxml-based groveller, but real gcc dumps are way better 14:52:21 -!- xlq [~apropos@89-168-190-152.dynamic.dsl.as9105.com] has left #lisp 14:53:17 kleppari [~spa@bitbucket.is] has joined #lisp 14:56:47 akovalenko: I used gcc dumps (but without automation yet, just some exploratory research) for vtable and class layout 14:57:18 mangling was easy 14:58:59 akovalenko: I'm wrapping clang's AST for that sort of work, actually. 14:59:02 -!- cesarbp [~cbolano@189.139.97.234] has quit [Ping timeout: 256 seconds] 14:59:03 akovalenko: why not use clang ? 15:00:44 paroneayea [~user@fsf/member/paroneayea] has joined #lisp 15:00:59 p_l|backup, I can't. And at the moment , I have already given up on that idea. 15:01:31 morphism: why? 15:01:33 I can just code the part i need in C++ and send the rest to CL via socket. 15:01:37 Ah 15:01:42 that one can be easier, true 15:01:50 easier for concurrency, too 15:01:55 yes 15:01:58 that's my goal too 15:02:12 On Windows you can also use COM. No idea whether the open-source bindings work with DCOM, though 15:02:13 separate the processing and the current running app 15:02:21 super dumb question... say I have 'some-symbol, and that symbol has a value associated with it... is there any way to get the value of the quoted some-symbol without doing (eval some-quoted-symbol) ? 15:02:34 I know I can archive concurrency via multithread scheduling too 15:02:38 paroneayea: symbol-value. 15:02:43 pkhuong: thanks :) 15:02:47 That only works for special bindings. 15:02:53 but sometime, concurrency cause hard problem on synchronization 15:03:20 oudeis [~oudeis@93-173-18-107.bb.netvision.net.il] has joined #lisp 15:03:47 Snaffu [~Snaffu@oh-69-34-16-39.sta.embarqhsd.net] has joined #lisp 15:04:16 Daev [~KAPITAL@nc-71-55-67-254.dyn.embarqhsd.net] has joined #lisp 15:04:32 -!- Snaffu [~Snaffu@oh-69-34-16-39.sta.embarqhsd.net] has quit [Client Quit] 15:05:28 -!- SucklingPig [~KAPITAL@nc-71-55-67-254.dyn.embarqhsd.net] has quit [Read error: Connection reset by peer] 15:06:27 morphism: it's easier to synchronize a shared-nothing case 15:06:52 as you only get to sync time and data, not also low-level primitives 15:07:05 ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has joined #lisp 15:13:08 p_l|backup, yes, functional & stateless style should be fine. 15:13:13 na[ii] [~textual@c-67-171-131-23.hsd1.wa.comcast.net] has joined #lisp 15:13:25 -!- newcup [newcup@peruna.fi] has quit [Ping timeout: 240 seconds] 15:13:53 fe[nl]ix: I'm using windows-targetted GCC for type layouts and (non-preprocessor) constants. Does clang support this target? 15:14:31 yes 15:14:33 fe[nl]ix: gccxml pretended to do it, but suddenly it sometimes get things wrong, especially for x86-64 15:15:19 IIRC clang can also keep track of preprocessor constants because it uses a built-in preprocessor 15:15:37 -!- Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Quit: Leaving] 15:16:04 I've already wrote a parser and evaluator for a C subset needed for #define'd constants :) 15:16:04 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 15:16:26 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 15:16:49 lolsuper_ [~super_@pool-173-65-194-148.tampfl.fios.verizon.net] has joined #lisp 15:16:49 -!- lolsuper_ [~super_@pool-173-65-194-148.tampfl.fios.verizon.net] has quit [Changing host] 15:16:49 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 15:16:50 I a RESTART-CASE clause, isn't it possible to access the actual error that was raised? 15:16:50 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 15:17:05 fe[nl]ix: seems to work now (of course it needs type layout info to get it right, that's why I use gcc dumps) 15:17:06 fe[nl]ix: right, but that doesn't appear to be exposed in the C api. 15:17:21 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 15:17:57 akovalenko: clang does all that type lookup, including resolving typedefs, etc. 15:18:03 loke: too late -- actual error is gone 15:18:32 Hmm... OK, thanks 15:19:25 -!- altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has quit [Quit: Computer has gone to sleep.] 15:19:31 pkhuong: I understand that clang /tries/ to do it, but it's unclear to me whether it will keep up with mingw headers and newer syntax extensions used there 15:20:30 pkhuong: I actually need bleeding-edge mingw for /some/ headers: even gcc-4.4 is too old 15:20:32 IIUC, it handles the linux kernel with minimal modifications. 15:20:39 -!- fortitudeZDY [~fortitude@123.103.66.133] has quit [Quit: Lost terminal] 15:21:24 I don't know what extension 4.5 introduced, though. New attributes? 15:21:31 pkhuong: modifications of /the headers/ ? however minimal they must be, it sounds scary for my purpose 15:21:55 akovalenko: considering how scary the linux kernel is, that's still pretty good. 15:22:57 Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has joined #lisp 15:23:40 my purpose is to have a generator that one can prefer over writing a screen-half of manual FFI code. that's why a minor modification may be a show-stopper 15:24:28 akovalenko: right, but given that the benchmark is *compiling* the kernel, minor modifications make it very likely that other code will work fine. 15:25:16 timack [~timack@hlfx59-2a-224.ns.sympatico.ca] has joined #lisp 15:25:23 i.e. we already have some solutions for heavy foreign libraries (when it's acceptable to spend more than 30 minutes over a library binding), but when it comes to an occasional call or two, everybody seems to prefer manual labor 15:26:07 that's where I hope to make a difference :) 15:26:14 -!- timack [~timack@hlfx59-2a-224.ns.sympatico.ca] has quit [Client Quit] 15:27:02 You do realize that clang compiles real C code in the wild fine, and has for more than a year, right? 15:27:39 pkhuong: yes (and I'll definitely take a closer look at it) 15:28:09 bonus: it's meant to be used like we want to, unlike gcc's dumps. 15:28:58 well, I'm feeling convinced.. 15:29:24 *akovalenko* sudoes apt-get install clang.. 15:29:26 akovalenko: clang also is built as a library + executable driver. It has API in C++, though (IIRC) 15:29:48 p_l|backup: there's a C wrapper. It's slightly insane and doesn't expose all of the AST. 15:30:05 It handles type and function declarations fine, though. 15:30:16 oh good to know 15:30:32 pkhuong: are you perchance working on C++ interop? 15:30:43 nope. 15:31:45 morphism: you can try abcl and jni-bwapi 15:32:21 akovalenko: , but that depends on a couple fixes to define-alien-routine that I haven't sent in yet. 15:32:47 pearle [~pearle@blk-224-178-238.eastlink.ca] has joined #lisp 15:32:57 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: No route to host] 15:33:28 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 15:33:37 is the xmlrpc server for lisppaste on common-lisp.net up? 15:33:40 -!- morphism [~Nevermind@123.16.97.109] has quit [Quit: Leaving.] 15:35:23 pkhuong: still, I might use that to restart my project 15:35:44 Spion [~spion@unaffiliated/spion] has joined #lisp 15:35:57 p_l|backup: I feel that the best way to get C++ interop is to generate C wrappers ;) 15:36:21 which is what SWIG does, fwiw. 15:36:27 pkhuong: that's not enough 15:36:52 pkhuong: well, it's not enough and leads to ugly explosion of code sometimes (not to mention that SWIG can't handle everything) 15:36:54 one would like to define classes at runtime 15:37:13 and yes, sometimes you need to *shudder* subclass 15:37:29 p_l|backup: you can do that with a C wrapper. 15:38:05 (modulo CRTP, and even that could often be hacked) 15:38:55 -!- Spion_ [~spion@unaffiliated/spion] has quit [Ping timeout: 248 seconds] 15:39:23 morphism [~Nevermind@123.16.97.109] has joined #lisp 15:40:20 pkhuong: do I need a separate build of clang for each target?? 15:41:29 akovalenko: iirc, mine handles -m32 and -m64. I'm not sure it builds all the cross-compilation targets in by default, but it can (that's how XCode handles iOS development). 15:43:15 -!- ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has quit [Quit: Leaving.] 15:43:16 pkhuong: thanks. (now i see how clang is useful, but still not for the use case I have in mind, though. "instead of writing your one or two FFI calls manually, you can just (1) download and compile clang...") 15:44:31 akovalenko: It would be interesting to be able to autogenerate bindings completely, without certain issues most grovellers face 15:45:07 It's funny in a way - Java IDEs have to do the same thing, namely build a compiler, to deal with the language. 15:45:13 IntelliJ compiler is quite good, afaik 15:45:42 I expect clang will always fail fast, instead of silently misparsing. That's a major advantage compared to hand-rolled 80% parsers. 15:46:50 pkhuong: I decided in favor of hand-rolled parser because I wanted cross-compilation support too 15:46:51 true 15:47:00 -!- pnq [~nick@AC8121A6.ipt.aol.com] has quit [Ping timeout: 255 seconds] 15:47:13 and it has wonderful abilities when it comes to tracking down actual errors 15:50:26 gffa [~gffa@unaffiliated/gffa] has joined #lisp 15:50:29 Bike [~Glossina@71-214-98-226.ptld.qwest.net] has joined #lisp 15:51:52 -!- abeaumont [~abeaumont@90.165.165.246] has quit [Remote host closed the connection] 15:52:15 manuel_ [~manuel_@pD9FDF627.dip.t-dialin.net] has joined #lisp 15:52:19 pkhuong: if we can always /run/ the compiled C code on the grovelling machine, I could just create an executable that printed everything (peeking out the right subset of #defines is either slow or requires preliminary syntax validation, but it's still easier than real parsing and *evaluation*..) 15:52:55 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 15:53:49 attila_lendvai [~attila_le@adsl-89-132-54-12.monradsl.monornet.hu] has joined #lisp 15:53:49 -!- attila_lendvai [~attila_le@adsl-89-132-54-12.monradsl.monornet.hu] has quit [Changing host] 15:53:49 attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has joined #lisp 15:53:58 akovalenko: creating the executable requires a lot of parsing... 15:55:05 pkhuong: I've actually started with executable creation (remember that I get type layouts from the dump, so the only thing missing is constant #definitions) 15:55:33 altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has joined #lisp 15:55:58 pkhuong: it was awfully slow, but in ~5-10 minutes it were able to select the compilable subset of #defines 15:55:59 -!- zmv [~daniel@c953332e.virtua.com.br] has quit [Ping timeout: 248 seconds] 15:56:05 so the whole machinery isn't cross-compilation friendly either? 15:56:18 -!- oudeis [~oudeis@93-173-18-107.bb.netvision.net.il] has quit [Quit: This computer has gone to sleep] 15:57:26 pkhuong: it was not friendly a couple of month ago, when I /started/ this thing. And now it is (I don't even need binutils to work -- gcc targetted appropriately is enough) 15:57:43 zmv [~daniel@c953332e.virtua.com.br] has joined #lisp 15:58:50 manish [~manish@122.167.38.92] has joined #lisp 15:59:45 pkhuong: what's left to be done is getting the /Lisp/ side of FFI generation right. Constants (#defined, and enum'med, and mixed) seem to work perfectly now 16:01:01 some of it will likely always require human hinting. 16:01:06 X-Scale` [email@89.180.178.160] has joined #lisp 16:01:12 Stuff like using enums for bitfields... 16:01:25 -!- X-Scale [email@sgi-ultra64.broker.freenet6.net] has quit [Ping timeout: 240 seconds] 16:01:48 pkhuong: if you want to provide a good interface to C library, it requires human hinting (or strong AI) 16:02:11 -!- altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has quit [Quit: Computer has gone to sleep.] 16:03:11 akovalenko, pkhuong: fyi, I'm planning to play a bit with clang, to use it's iterator to generate cffi-grovel stuff. I was planning to further extend verrazano, but gcc-xml is flat water, and they are planning to remove the half baked xml output from clang... so, it'll be something under hu.dwim.* 16:03:42 but sometimes (most of the time) you are /not/ working on beautiful foreign library wrappers, you just want to know something like offsetof(_IMAGE_OPTIONAL_HEADER,Subsystem) 16:03:59 swig was hopeless when I last saw it a couple of years ago 16:04:30 linux's sparse comes with XML output for declarations, fwiw. 16:04:56 *attila_lendvai* googles sparse 16:04:56 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 16:05:08 attila_lendvai: it's on kernel.org ;) 16:05:36 parsing is not the hardest part of it all (until we go for C++ support, of course). 16:05:36 16:05:40 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 16:07:15 pkhuong: or others... do you have opinion about what is a good strategy to approach the problem? for now I think clang is friendly for this kind of usage (.so with public C interface to walk the AST it parses). and they say #define's are also available in one way or another 16:07:29 at some point, gcc-xml parsed w32api headers successfully and all that, but the structure field offsets were bogus (it's a sizeof(long) issue, of couse) 16:07:41 -!- morphism [~Nevermind@123.16.97.109] has quit [Read error: Connection reset by peer] 16:08:26 akovalenko: clang doesn't do things that way. You'll get "long", and you can depend on the host lisp getting long right. 16:08:46 in my opinion gccxml is a hackish solution with little maintenance... clang on the other hand seems much more maintained and it actually compiles stuff. 16:09:15 attila_lendvai: I think the "right" way is to use clang... I'm not yet convinced that it's on the shortest path to workingness. 16:10:38 ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has joined #lisp 16:11:57 about swig, i remember seeing https://github.com/glycerine/swig-cpp-to-cffi-for-common-lisp-enhancements/tree/master/swig/Lib/cffi as a try at defining c wrappers to c++'s stl for cffi 16:13:35 xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has joined #lisp 16:13:41 -!- ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has quit [Client Quit] 16:13:51 handling STL isn't that hard. Or so I remember 16:14:48 altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has joined #lisp 16:15:25 coyo [kvirc@pool-71-164-173-28.dllstx.fios.verizon.net] has joined #lisp 16:15:25 -!- coyo [kvirc@pool-71-164-173-28.dllstx.fios.verizon.net] has quit [Changing host] 16:15:25 coyo [kvirc@unaffiliated/bandu] has joined #lisp 16:15:25 p_l|backup: true, but there isn't yet anything in official swig for cffi to handle it 16:18:02 naeg [~naeg@194.208.239.170] has joined #lisp 16:22:47 attila_lendvai: I'm trying to solve an especially "hackish" use case -- when a need for a bit of FFI comes out in the middle of unrelated hacking. Those cases when people just hard code a constant or a field offset. Hence I want something that is *immediately easier* than hardcoding, and requiring swig or clang or whatever will be a show-stopper for this specific goal. 16:23:33 acelent: well, my perception is warped by reading mangling protocol from the standard 16:25:05 attila_lendvai: as of gcc dumps, they are there for several years (without significant format changes!), and gcc has a big chance of being already installed on any system where people are developing in Lisp. These properties make it /the/ solution (again, for the specific use cases I have in mind) 16:25:42 akovalenko: darwin users will likely disagree in a year or two. 16:28:34 darwin users in general, yep. Lisp developers on darwin? let's see :) 16:29:57 well, my goal was to use clang for compilation. Not needed for end users 16:30:00 just implement a c/c++ on lisp 16:30:15 oGMo: let me think.. no. 16:30:23 pkhuong: ;) 16:31:01 C? Doable. C++ ... that's very Dwarvenly. 16:32:03 moah [~gnu@dslb-092-073-066-073.pools.arcor-ip.net] has joined #lisp 16:32:04 -!- leo2007 changed the topic of #lisp to: ##c 16:32:04 Seeing that C/C++ is *much more* work than C, we can conclude that the value of C++ is close to zero :) 16:32:12 a C (parser) alone is probably not enough to catch all the architecture bits, though i suppose you could account for that separately 16:33:03 umm... someone has the old topic? 16:33:48 oGMo: the problem is, you can't catch all the architecture bits by doing something clever once and for all. You'll have to track how each platform's abi changes over time 16:34:40 akovalenko: ABIs are fairly stable, actually... compared to other stuff 16:35:02 well, C++ has issues there, but mainly related to actual handling last time I checked 16:35:12 (so it's down to linking proper support lib) 16:37:17 emacs suddenly doesn't do CASE 16:37:18 p_l|backup: swig's stl bindings for other languages (e.g. c#) don't even bother with mangling. for instance, for each stl::vector template, a swig user defines it as a type and maps it to a target language type/class, and swig creates the c wrappers and respective foreign calls for it 16:38:07 -!- pkhuong changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language . New: ABCL 0.27.0, usocket 0.5.3, SBCL 1.0.51, anaphora 0.9.4, SBCL officially in Git, slime-indentation changes in CVS 16:38:58 oGMo: (require 'cl-macs) 16:39:27 akovalenko: right whihc suddenly doesn't work heh 16:40:04 akovalenko: installing clang is trivial. and gccxml is not gcc, I need to compile it myself... afaik it's not even packaged on debian, but if it is, then I did verrazano based on the latest, which I'm not sure will work with a random packaged version... 16:41:17 attila_lendvai: vanilla gcc can also dump its many IRs. 16:42:58 attila_lendvai: gccxml is still in debian 16:43:29 attila_lendvai: and installing pre-built clang is trivial, of course, but.. have you ever troubleshooted LLVM compilation? 16:43:51 akovalenko: it's getting better. 16:46:16 -!- dbushenko [~dim@93.125.18.247] has quit [Quit: Ex-Chat] 16:49:16 well, for ffi generation we'll only need the parsing part of clang 16:49:49 attila_lendvai: that requires building all of LLVM. 16:50:04 attila_lendvai: no, we need it to get type layouts right 16:50:05 dbushenko [~dim@93.125.18.247] has joined #lisp 16:50:44 attila_lendvai: if it can't provide reliable type layout info, it's almost useless 16:51:05 akovalenko: it does type resolution as part of parsing. 16:51:18 oh, you say that a struct layout depends on the arch, and we can't just emit the same CFFI definitions and expect CFFI to do the proper alignment and stuff? 16:51:27 -!- Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has quit [Ping timeout: 248 seconds] 16:51:35 pkhuong: consider gcc_struct vs. ms_struct 16:51:36 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 16:51:45 akovalenko: that's for the FFI to get right. 16:52:04 pkhuong: well, and that's what grovellers delegate to compilers 16:52:22 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 16:52:40 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Remote host closed the connection] 16:52:41 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 16:52:46 only because it's simpler to get the offset of the few interesting slots than to try and fully parse declarations. 16:53:07 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 16:53:15 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 16:53:19 in my understanding grovellers are only needed for #define stuff and for C++. or at least writing verrazano gave me that impression... 16:54:11 and it already generates complex ffi's: http://common-lisp.net/cgi-bin/darcsweb.cgi?r=fetter-verrazano;a=tree;f=/example-bindings 16:57:08 serichsen [~user@hmbg-4d06ee62.pool.mediaWays.net] has joined #lisp 16:57:13 Good evening! 17:01:21 -!- replore_ [~replore@ntkngw304073.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 17:02:39 -!- lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has quit [Ping timeout: 248 seconds] 17:03:52 jtza8 [~jtza8@wbs-196-2-122-110.wbs.co.za] has joined #lisp 17:04:44 Xach: Tomorrow, 19:00, Ristorante Marilù, there is a Hamburg Lisp meeting. 17:04:47 -!- topo [~topo@f053032243.adsl.alicedsl.de] has quit [Ping timeout: 248 seconds] 17:04:48 jve__ [~vjacob@78-105-184-157.zone3.bethere.co.uk] has joined #lisp 17:05:19 -!- topobot [~topo@f053032243.adsl.alicedsl.de] has quit [Ping timeout: 248 seconds] 17:06:41 -!- vjacob [~vjacob@78-105-184-157.zone3.bethere.co.uk] has quit [Read error: Operation timed out] 17:07:09 attila_lendvai: it's also interesting in how full parsing of headers can facilitate exploratory FFI programming. Now I have "cc-apropos" for WinAPI, with an output like this: http://paste.lisp.org/+2OCC 17:07:45 nice 17:08:13 i.e. instead of going to MSDN or grepping the headers, i do something in lisp REPL 17:08:40 I wonder if any groveler, right now, supports exception handling 17:09:20 I have some idea on actual exception handling for IA64ABI C++ (aka "all GCC compatible"), but none for Windows, yet. Windows is both easier and harder 17:09:53 -!- simplechat [~simplecha@unaffiliated/simplechat] has quit [Remote host closed the connection] 17:10:11 p_l|backup: I wonder if cross-Lisp throw is supported by major CLs (well, with SEH it's easier to support it than not to support it, but on other platforms...) 17:10:43 cpt_nemo [cpt_nemo@rfc1459.de] has joined #lisp 17:10:48 p_l|backup: on Windows, it's easier on ia32 and harder on x64 17:11:35 -!- cjs [~cjs@EM111-191-37-179.pool.e-mobile.ne.jp] has quit [Ping timeout: 276 seconds] 17:11:43 -!- deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has quit [Ping timeout: 248 seconds] 17:11:57 akovalenko: I found out that main issue on x64 is that handler registration API changed 17:12:01 p_l|backup: that said, FFI is related to exception support only when you want to catch some specific exception, not just to unwind-protect and cleanup after it 17:13:30 p_l|backup: win/x64 requires a correct *static* unwind tables from native compilers 17:13:42 akovalenko: actually, static tables aren't required 17:13:50 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #lisp 17:13:55 -!- tritchey [~tritchey@173-161-75-105-Illinois.hfc.comcastbusiness.net] has quit [Quit: tritchey] 17:13:58 akovalenko: it's just that there's support for preloading handler data 17:14:01 p_l|backup: well, I've managed to make SBCL fly without them, so I know :) 17:14:24 akovalenko: SBCL/win64? 17:14:37 p_l|backup: yep. Where SEH was used on Win32, I've just switched to VEH 17:14:49 ah 17:15:25 I prefer SEH - after talking with some people, I was told about some extras available for dynamic setting of old-style SEH handlers 17:15:30 -!- jve__ is now known as vjacob 17:18:04 p_l|backup: if you use SEH on Win64, you must make sure that your program is correctly VirtualUnwind'able from any point where an exception can happen: OS may complain about invalid stack otherwise 17:19:06 p_l|backup: that would require some deep hacking of SBCL compiler, with introduction of OS-specific code into it. So I've decided in favor of VEH. 17:19:33 -!- Daev [~KAPITAL@nc-71-55-67-254.dyn.embarqhsd.net] has quit [Ping timeout: 256 seconds] 17:21:07 Amadiro [~Amadiro@ti0021a380-dhcp3462.bb.online.no] has joined #lisp 17:21:10 -!- X-Scale` [email@89.180.178.160] has quit [Remote host closed the connection] 17:21:19 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Ping timeout: 248 seconds] 17:21:24 X-Scale [email@sgi-ultra64.broker.freenet6.net] has joined #lisp 17:21:33 heh. I was planning on my own implementation, you know? ;) 17:23:35 cjs [~cjs@EM1-112-243-119.pool.e-mobile.ne.jp] has joined #lisp 17:23:41 fantazo [~fantazo@178-190-236-60.adsl.highway.telekom.at] has joined #lisp 17:27:36 p_l|backup: and it would be great to be able to steal code and ideas from a source like that :)) so feel free to reinvent everything :) 17:27:37 situ [~quassel@223.191.80.144] has joined #lisp 17:27:38 we still have to get SEH completely right on SBCL/win32 17:29:11 akovalenko: I was planning on reusing huge chunks of SBCL 17:29:29 akovalenko: possibly using SBCL's Python as a cross-compiler for my bytecode first 17:30:17 pkhuong: I don't remember how it looks in mainline SBCL -- please elaborate on what's wrong with SEH there 17:30:54 pkhuong: IIRC I had to fix several trivial problems along the way, but nothing gross. And cross-FFI unwinding on Win32 seems to work.. 17:31:09 -!- situ [~quassel@223.191.80.144] has quit [Read error: Connection reset by peer] 17:31:32 we depend on regalloc to place SEH frames on the stack. Unfortunately, regalloc doesn't guarantee that they'll be in the right (address) order, so the linkage is messed up. 17:31:35 pkhuong: trying to spot relevant changes... Well, the latest thing was DEP compatitibility 17:31:51 It's only an issue when a single stack frame contains multiple SEH 17:31:55 pkhuong: ah, that's irrelevant for me 17:32:20 pkhuong: or so it seems 17:32:36 pkhuong: I have only one Lisp-installed SEH handler per thread now, 17:33:01 since I stopped installed it around each FFI call () 17:33:13 we use SEH for unwind-protect on win32. 17:33:59 FreeArtMan [~FreeArtMa@93.177.213.54] has joined #lisp 17:34:05 pkhuong: remember that SEH is like HANDLER-BIND 17:34:58 and we pun our clean-up frames as SEH structs on win32. 17:36:25 pkhuong: yep, now I see the regalloc-problem.. 17:36:32 pkhuong: applies here as well 17:36:38 (theoretically at least) 17:37:38 -!- FreeArtMan [~FreeArtMa@93.177.213.54] has quit [Client Quit] 17:39:31 Daev [~KAPITAL@nc-71-55-67-254.dyn.embarqhsd.net] has joined #lisp 17:39:52 gravicappa [~gravicapp@ppp91-78-213-161.pppoe.mtu-net.ru] has joined #lisp 17:40:49 me345 [~me345@adsl-75-15-232-163.dsl.bkfd14.sbcglobal.net] has joined #lisp 17:44:00 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.5] 17:45:51 -!- Daev [~KAPITAL@nc-71-55-67-254.dyn.embarqhsd.net] has quit [Ping timeout: 248 seconds] 17:51:59 pavelludiq [~pavelludi@87.246.58.193] has joined #lisp 17:52:00 Cam_ [~i@trivialand/staff/Cam] has joined #lisp 17:52:20 pkhuong: do you know if it's legal for EXCEPTION_UNWINDING handler to add another frame _below_ itself? 17:52:48 I don't do win32, but nyef thought that wasn't allowed. 17:52:49 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 17:52:57 -!- antgreen [~user@12.232.236.2] has quit [Remote host closed the connection] 17:53:08 pkhuong: (ia32-only) ..then we could register only the topmost uwp as SEH, and it would take care on other uwps.. 17:53:32 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 17:54:43 it's simpler (to me) to fix the register allocator, frankly. 17:54:52 we're talking a dozen LOC 17:56:30 *akovalenko* frequently resorts to low-level system hackery instead of thinking up a smart solution :(( 17:57:06 but it's an ugly and un-principled fix. 17:57:42 just remembered how i tried to "solve" fpu stack impedance by handling under/over-flow exceptions.. 17:58:26 pkhuong: and I would come up with something ugly and *principled, which is way worse :) 17:59:34 for a short time, I considered fixing the mismatch between x87's stack and our regalloc with mmx moves ;) 17:59:58 klltkr [~rfg@dsl78-143-205-208.in-addr.fast.co.uk] has joined #lisp 18:00:12 schaueho [~schaueho@dslb-088-066-057-185.pools.arcor-ip.net] has joined #lisp 18:02:30 *akovalenko* actually had EMMS instruction for a while in (Lisp->C) path. Wonderful symmetry, except that you only *considered* that for a *short* time :) 18:04:42 no, no, EMMS destroys your x87 state. Just emit moves like you're not supposed to. 18:05:18 mrSpec [~Spec@unaffiliated/mrspec] has joined #lisp 18:06:21 -!- vjacob [~vjacob@78-105-184-157.zone3.bethere.co.uk] has quit [Quit: Leaving] 18:07:11 -!- urandom__ [~user@p548A4B1B.dip.t-dialin.net] has quit [Ping timeout: 248 seconds] 18:07:19 oh yeah. Also, on x64, our assembly trampolines don't save the XMM state. It hasn't been an issue on posix platforms so far, but win64 might be different. 18:09:39 -!- Cam_ is now known as Cam 18:11:07 -!- gko [~gko@220-135-201-90.HINET-IP.hinet.net] has quit [Ping timeout: 256 seconds] 18:12:39 pkhuong: I seem to have committed a fix 18:13:01 pkhuong: approx. at the time when I came up with XMM issue at sbcl-devel 18:13:51 pkhuong: anyone interested can grep map_all_xmm in my version of src/runtime/x86-64-assem.S 18:15:17 -!- benny [~benny@i577A1495.versanet.de] has quit [Ping timeout: 276 seconds] 18:15:25 it's a single instruction, we just have to align the stack pointer; I had an issue in the software write barrier code, and just worked around it by calling our own bzero. 18:15:46 benny [~benny@i577A3787.versanet.de] has joined #lisp 18:18:25 yep, of course i've included and $-32,%rsp 18:18:26 18:18:35 mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has joined #lisp 18:19:29 pkhuong: and, btw, it *is* a real issue on win64 -- this fix was a reaction on a real bug report 18:19:48 -!- silenius [~silenius@p4FFC94E2.dip.t-dialin.net] has quit [Remote host closed the connection] 18:22:00 -!- katesmith [~katesmith@unaffiliated/costume] has quit [Quit: Leaving] 18:22:20 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 18:22:22 katesmith [~katesmith@75-138-199-162.static.snfr.nc.charter.com] has joined #lisp 18:22:22 -!- katesmith [~katesmith@75-138-199-162.static.snfr.nc.charter.com] has quit [Changing host] 18:22:22 katesmith [~katesmith@unaffiliated/costume] has joined #lisp 18:22:26 -!- schaueho [~schaueho@dslb-088-066-057-185.pools.arcor-ip.net] has quit [Ping timeout: 276 seconds] 18:23:04 -!- dbushenko [~dim@93.125.18.247] has quit [Quit: Ex-Chat] 18:23:29 ...as of fpu stack tricks: my main concern was due to modern OSes being lazy about fpu ownership; several competing SBCLs may cause a ping-pong costing significantly more than a wanton use of fpu would cost on a bare metal.. 18:24:19 ericklc [~ikki@189.247.158.88] has joined #lisp 18:24:36 ...and it just seems *ugly* that we have to do this stack sillyness even when neither C nor Lisp is actually using FPU :) 18:24:47 -!- elopezc [~ikki@189.247.104.36] has quit [Read error: Connection reset by peer] 18:25:06 migrate to SSE ;) 18:25:25 yep, that's what caused me to make it work on x64 :) 18:25:28 ... if we had reliable backtraces, I wouldn't worry about stack conservatism and aligning all our stack frames would be fine. 18:25:31 ..among other things :) 18:25:47 -!- hargettp [~hargettp@pool-71-184-183-74.bstnma.east.verizon.net] has quit [Quit: Leaving...] 18:26:00 pkhuong: and I have done something to the effect of reliable backtraces also 18:26:29 without the non-negligible overhead on foreign calls? 18:28:05 pkhuong: safepoints+threads already require some jumping-through-hoops that are drowning the cost of maintaining a parallel frame chain.. 18:28:07 -!- Blkt [~user@82.84.162.115] has quit [Ping timeout: 256 seconds] 18:28:20 right. 18:29:07 pkhuong: and when it came to Win64, backtraces turned from unreliable into an utter mess, so I have to do something anyway. 18:29:52 pkhuong: since then, I compile SBCL runtime with -fomit-frame-pointer on both archs, and have yet to see any problem with backtraces :) 18:31:41 bzzbzz [~franco@modemcable240.34-83-70.mc.videotron.ca] has joined #lisp 18:32:58 neat. re stack conservatism, it's actually pretty easy to make the reg alloc use certain slots only for boxed data, and to make these slots contiguous. We only have to associate two small integers with each function. 18:33:02 kaidw [~kaidw@199.68.199.101] has joined #lisp 18:34:20 pkhuong: heh, i've started to think about gc-precision-potential of it all just a day or two ago :) 18:35:10 schaueho [~schaueho@dslb-088-066-013-141.pools.arcor-ip.net] has joined #lisp 18:35:22 -!- kaidw [~kaidw@199.68.199.101] has quit [Client Quit] 18:35:53 pkhuong: btw, isn't it possible to make compiler produce some metadata about the function (or only its safepoints) that would be useful for GC? 18:37:05 yes, possible. 18:37:05 pkhuong: it seems to be possible to make GC completely... liberal? (non-conservative) without runtime overhead 18:37:23 there's the issue of interruptions in the middle of VOPs. 18:37:43 heh, poor safepointless people :) 18:38:20 single stepping ;) 18:38:59 lolsuper_ [~super_@pool-173-65-194-148.tampfl.fios.verizon.net] has joined #lisp 18:38:59 -!- lolsuper_ [~super_@pool-173-65-194-148.tampfl.fios.verizon.net] has quit [Changing host] 18:38:59 lolsuper_ [~super_@unaffiliated/lolsuper-/x-9881387] has joined #lisp 18:41:29 well, if conservatism would be limited to a context of single-stepped function, it would be great enough :) 18:42:00 kingless [~user@108-65-61-54.lightspeed.rlghnc.sbcglobal.net] has joined #lisp 18:42:44 no, I mean we could use single stepping to work around that. But we'd likely still have some conservatism (e.g. interrupt contexts) 18:43:17 pkhuong: handling async signals in Lisp is Just Plain Wrong, btw 18:43:33 pkhuong: i know that it works most of the time. It's all by chance. 18:44:19 pkhuong: i came to a conclusion that deferring such things to safepoints is actually a *requirement* 18:44:36 hargettp [~hargettp@pool-71-184-183-74.bstnma.east.verizon.net] has joined #lisp 18:45:59 X-Scale` [email@89.180.186.33] has joined #lisp 18:46:37 -!- X-Scale [email@sgi-ultra64.broker.freenet6.net] has quit [Ping timeout: 240 seconds] 18:48:00 -!- hargettp [~hargettp@pool-71-184-183-74.bstnma.east.verizon.net] has quit [Client Quit] 18:49:50 pkhuong: i must admit that a compiler is still largely a mystery for me 18:50:54 pkhuong: i understand VOPs and fixups and jump-tables and pseudo-atomic sections, -- low-level boring details -- but not IR1/IR2 transformations 18:52:17 *akovalenko* tried two or three times to understand it enough for making win32's thread base cacheable in register: seeing those continuous fetches from %FS:xxx is too much pain (still) 18:52:28 -!- kingless [~user@108-65-61-54.lightspeed.rlghnc.sbcglobal.net] has quit [Ping timeout: 260 seconds] 18:56:09 nyef still has his ebx-threading tree somewhere. 18:56:10 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 18:56:45 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 18:57:37 pkhuong: yes I know, but losing a GPR completely is a pain as well. 18:57:38 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 18:58:05 meh. LLVM. 18:58:09 ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has joined #lisp 18:58:11 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 18:59:56 ahoyyy 18:59:57 `. 18:59:58 `. 18:59:59 HG` [~HG@p5DC04E29.dip.t-dialin.net] has joined #lisp 19:00:08 Sorry. /me fails at ssh escape sequence 19:00:36 Xach: glad it wasn't a key passphrase :) 19:01:33 -!- leo2007 [~leo@123.123.253.89] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 19:03:01 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 19:05:29 *akovalenko* (who never used IRC before) was going to type an (apropos ...) form here instead of a REPL several times, as ERC prompt looks not unlike the SLIME one :) 19:06:42 -!- me345 [~me345@adsl-75-15-232-163.dsl.bkfd14.sbcglobal.net] has quit [Read error: Connection reset by peer] 19:07:52 -!- pchrist_ [~spirit@gentoo/developer/pchrist] has quit [Quit: leaving] 19:10:39 -!- realitygrill [~realitygr@adsl-76-226-116-245.dsl.sfldmi.sbcglobal.net] has quit [Ping timeout: 248 seconds] 19:10:47 realitygrill [~realitygr@adsl-76-226-101-62.dsl.sfldmi.sbcglobal.net] has joined #lisp 19:12:19 leo2007 [~leo@123.123.253.89] has joined #lisp 19:14:11 -!- gravicappa [~gravicapp@ppp91-78-213-161.pppoe.mtu-net.ru] has quit [Remote host closed the connection] 19:14:56 LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has joined #lisp 19:15:23 jewel [~jewel@196-215-114-61.dynamic.isadsl.co.za] has joined #lisp 19:18:12 bayesian [~MLPFiM@gateway/tor-sasl/frendshipismagic] has joined #lisp 19:19:16 superflit_ [~superflit@174-16-44-159.hlrn.qwest.net] has joined #lisp 19:19:34 hi lidp 19:19:35 lisp 19:21:03 -!- superflit [~superflit@71-33-188-87.hlrn.qwest.net] has quit [Ping timeout: 260 seconds] 19:21:03 -!- superflit_ is now known as superflit 19:21:31 -!- altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has quit [Quit: Computer has gone to sleep.] 19:24:56 hargettp [~hargettp@pool-71-184-183-74.bstnma.east.verizon.net] has joined #lisp 19:24:58 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 19:25:02 akovalenko: for maximum confusion, I think somebody should make an ERC package (or install the nickname ERC onto cl-user) (-: 19:25:15 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 19:26:57 -!- leo2007 [~leo@123.123.253.89] has quit [Quit: rcirc on GNU Emacs 23.3.50.1] 19:26:57 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 19:27:16 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 19:28:22 vlion [~user@76.178.165.160] has joined #lisp 19:28:30 -!- vlion [~user@76.178.165.160] has left #lisp 19:31:02 antifuchs: and for even more maximum confusion we could add a REPL bot here 19:31:15 hah 19:31:32 antifuchs: pretty printer with its *pprint-length* will be useful 19:31:44 -!- moah [~gnu@dslb-092-073-066-073.pools.arcor-ip.net] has left #lisp 19:32:11 -!- wbooze [~levgue@xdsl-78-35-158-245.netcologne.de] has quit [Read error: Operation timed out] 19:33:10 wbooze [~levgue@xdsl-78-35-158-245.netcologne.de] has joined #lisp 19:33:43 btw, CL-IRC does have an "IRC" nickname, so that maximum is not too far 19:34:20 manuel__ [~manuel_@p57921CE1.dip.t-dialin.net] has joined #lisp 19:34:44 antifuchs: and with strong AI, we'd have an *ultimate* confusion: the REPL chatting back in human language :) 19:34:53 -!- Athas [~athas@130.225.165.40] has quit [Read error: Connection reset by peer] 19:35:42 Athas [~athas@130.225.165.40] has joined #lisp 19:36:30 -!- manuel_ [~manuel_@pD9FDF627.dip.t-dialin.net] has quit [Ping timeout: 255 seconds] 19:36:30 -!- manuel__ is now known as manuel_ 19:41:30 elopezc [~ikki@189.247.161.169] has joined #lisp 19:45:19 -!- ericklc [~ikki@189.247.158.88] has quit [Ping timeout: 248 seconds] 19:45:48 -!- hargettp [~hargettp@pool-71-184-183-74.bstnma.east.verizon.net] has quit [Quit: Leaving...] 19:45:54 doesthiswork [~Adium@he190123.dsl.fsr.net] has joined #lisp 19:47:45 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Remote host closed the connection] 19:48:40 deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has joined #lisp 19:53:39 -!- X-Scale` [email@89.180.186.33] has quit [Quit: Time left until the Epochalypse: 26yrs 16wks 3days 19hrs 20mins 13secs] 19:53:50 X-Scale [email@sgi-ultra64.broker.freenet6.net] has joined #lisp 19:53:51 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 19:54:03 Jasko [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 19:54:27 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 19:55:57 -!- Jasko3 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Ping timeout: 256 seconds] 19:56:01 -!- Jasko2 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has quit [Ping timeout: 245 seconds] 20:00:58 Jasko2 [~tjasko@c-174-59-204-245.hsd1.pa.comcast.net] has joined #lisp 20:02:15 naeg [~naeg@194.208.239.170] has joined #lisp 20:04:28 altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has joined #lisp 20:09:25 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 20:09:43 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 20:12:13 -!- df [~df@81.187.8.163] has quit [Ping timeout: 240 seconds] 20:12:47 if I know a pathname of ASDF definition file, is there a straightforward way to make it known to ASDF? I use a function that binds *CENTRAL-REGISTRY* around find-system - there should be a better way. 20:13:12 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [Quit: leaving] 20:14:36 df [~df@163.8.187.81.in-addr.arpa] has joined #lisp 20:14:46 There is a setup file for asdf that you can use to declare a directory as a source of asdf files - that's what I use 20:15:43 dans [~daniel@92.80.89.31] has joined #lisp 20:19:11 -!- schaueho [~schaueho@dslb-088-066-013-141.pools.arcor-ip.net] has quit [Ping timeout: 256 seconds] 20:21:40 akovalenko: LOADing the asd may or may not work. 20:21:55 Vivitron: all that seems not to be too useful in a specific case: when I'm working in REPL and just want ASDF to get a clue Right Now, without any plans for the future 20:22:19 pkhuong: yep, I know (both that it's considered harmful and that it works most of the time) 20:22:21 pkhuong: not with ASDF2 20:24:50 oh, rebinding *system-definition-search-functions* seems to be easier 20:25:29 (it's shorter and it doesn't ask CL for *.ASD just to select a single one of them) 20:25:46 nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has joined #lisp 20:25:51 -!- jewel [~jewel@196-215-114-61.dynamic.isadsl.co.za] has quit [Ping timeout: 248 seconds] 20:26:29 hello 20:27:21 -!- deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has quit [Ping timeout: 255 seconds] 20:28:30 deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has joined #lisp 20:30:39 hello bayesian 20:31:28 akovalenko: i'd add the directory where the asd file resides in (or make a directory where you link to it) and add that one to asdf:*central-registry* 20:31:42 I just came to http://paste.lisp.org/+2OCH 20:33:58 madnificent: your advice is better than creating config files, but it's a reconfiguration anyway, not something one-shot that allows me to tell ASDF about something *now* 20:34:06 pnq [~nick@ACA34CB5.ipt.aol.com] has joined #lisp 20:34:13 is there an inverse operation for symbol-function somewhere? 20:34:34 madnificent: somewhere in CL implementations, but not the stantdard 20:34:37 *standard 20:34:49 ah, then i'll go without, thanks :) 20:35:23 akovalenko: if you put it in your .sbclrc (or something of the likes) then it's permanent. but otherwise you can push it to asdf:*central-registry* and then asdf will start using the definitions in the new directory as well, no? 20:35:23 function-lambda-expression may succeed 20:35:26 -!- nachtwandler [~nachtwand@p4FE31F34.dip.t-dialin.net] has quit [Quit: leaving] 20:36:20 function-lambda-expression might be a good way to degrade to when there's nothing better to be found... thanks 20:36:35 madnificent: yeah, but I don't want it to use *other* asds in that directory 20:36:52 madnificent: neither do I want it to look for new asds there, etc 20:37:59 madnificent: just wanted to say "dear ASDF, i need *this system* *now*". All propositions so far seem to extend beyond *now* 20:38:00 oh, that may change things. you'd have to symlink and all that :( then i would also try to load it as a quick hack. then later on, perhaps, link to it. though it will become more complex 20:38:26 loading the asd file manually will likely work (i think), that's a *now* scenario 20:38:32 madnificent: I've already pasted what I'll use http://paste.lisp.org/+2OCH 20:38:48 oh cool, sorry. didn't follow the complete backtrack 20:39:02 madnificent: the only remaining concern is that I'd like if ASDF would have something out of box 20:39:27 like we now can load-system instead of going 'ooooos and (perform...) 20:39:27 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 20:39:43 you could post that on the mailing list, perhaps it'll be added 20:39:44 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 20:40:03 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 20:40:32 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 20:40:35 fantazo_ [~fantazo@178-190-238-61.adsl.highway.telekom.at] has joined #lisp 20:40:49 akovalenko: you can add the directory that contains the .asd to some list or another it might be enough to push it into asdf:*central-registry* 20:40:50 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #lisp 20:41:04 akovalenko: that doesn't have any effect beyond the lifetime of the image 20:41:29 antifuchs: yeah, but that adds the other files. he just said that that wasn't what he wanted 20:41:40 *madnificent* tries to stop an endless loop of all people in #lisp asking that (including me) 20:41:58 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 20:42:58 -!- fantazo_ [~fantazo@178-190-238-61.adsl.highway.telekom.at] has quit [Remote host closed the connection] 20:43:04 antifuchs: when we have a non-trivial lifecycle of image with dumps/migrations/restores, asdf seems to have more important problems 20:43:06 -!- deke [~deke@fl-71-54-185-16.dhcp.embarqhsd.net] has quit [Ping timeout: 245 seconds] 20:44:00 -!- fantazo [~fantazo@178-190-236-60.adsl.highway.telekom.at] has quit [Ping timeout: 255 seconds] 20:44:09 HG`` [~HG@p5DC05396.dip.t-dialin.net] has joined #lisp 20:44:16 Daev [~KAPITAL@nc-184-3-67-135.dhcp.embarqhsd.net] has joined #lisp 20:46:39 antifuchs: e.g. I sometimes have to use change-class for making systems "sealed", telling ASDF not to do *anything* with their files, and not to expect them to be available.. 20:48:02 -!- HG` [~HG@p5DC04E29.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 20:48:03 .. and not to load/compile/access their dependencies, too. 20:48:36 *akovalenko* would be glad to hear of a less convoluted way to similar ASDF behavior 20:50:09 akovalenko: for our product, we register fake defsystems that are empty and have no-op PERFORM methods (: 20:51:58 antifuchs: yep, something like that :) wouldn't it be nice to type (asdf:say-goodbye-to :sb-posix) and have it done for you? 20:52:04 antifuchs: why ? 20:52:32 fe[nl]ix: because our product ends up getting concatenated into one fasl 20:52:42 and re-loading random asdf systems after that is just not ok 20:52:45 fe[nl]ix: and I prefer to deliver stand-alone images 20:53:28 fe[nl]ix: but the end result are the same -- none of us wants ASDF to look desperately for the sources and call (file-write-date) in vain.. 20:53:54 ..at the user's site, when an application is delivered. 20:54:29 akovalenko: maybe a better way would be something that would... unbind all of ASDF? 20:54:43 and relevant systems 20:54:49 p_l|backup: and may be not 20:55:15 basically, a very simplified approach to treeshaking by removing known objects 20:57:11 -!- Athas [~athas@130.225.165.40] has quit [Read error: Connection reset by peer] 20:57:29 p_l|backup: yep, the good idea for some cases. however, I don't *always* want the image to be tree-shaked this way 20:58:17 -!- MoALTz [~no@host-92-18-18-50.as13285.net] has quit [Quit: Leaving] 20:58:18 p_l|backup: consider my sbcl/windows standalone-exe distributions: the whole point of it is to have :asdf, among other things, preloaded and fully available in the image 20:58:21 Athas [~athas@130.225.165.40] has joined #lisp 20:59:12 -!- naeg [~naeg@194.208.239.170] has quit [Quit: WeeChat 0.3.5] 21:02:32 p_l|backup: the problem with ASDF becomes visible when ASDF is *supposed* to be used on customer site: then it will try to do something about preloaded / delivered systems, if some of them happen to be among the dependencies of things newly loaded. 21:02:55 poet [~poet@unaffiliated/poet] has joined #lisp 21:03:14 -!- sdemarre [~serge@91.176.125.157] has quit [Read error: Connection reset by peer] 21:03:25 rename systems pre-delivery. 21:03:25 sdemarre [~serge@91.176.125.157] has joined #lisp 21:03:31 -!- poet [~poet@unaffiliated/poet] has quit [Client Quit] 21:04:17 pkhuong: hmm 21:04:37 pkhuong: how would it help? 21:04:47 -!- pavelludiq [~pavelludi@87.246.58.193] has quit [Ping timeout: 248 seconds] 21:05:20 Cloud [~cbolano@189.139.97.234] has joined #lisp 21:05:26 they won't be in the dependencies of newly-loaded systems. 21:05:38 pkhuong: maybe you mean that they won't be among dependencies for other stuff 21:05:46 but *that's not what I want* 21:05:53 -!- ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has quit [Read error: Connection reset by peer] 21:05:56 -!- Cloud is now known as cesarbp 21:06:08 -!- mrSpec [~Spec@unaffiliated/mrspec] has quit [Quit: mrSpec] 21:06:22 -!- LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has quit [Quit: Leaving.] 21:06:46 pkhuong: SBCL actually jumps through hoops with contrib modules for exactly this purpose 21:07:11 pkhuong: we *want* :sb-posix system to be there, to be available, not to be renamed into :our 21:07:48 ..into :our-secret-sb-posix, but we don't want SBCL to recompile stuff in /usr/bin/ or C:/Program files. 21:07:59 -!- sdemarre [~serge@91.176.125.157] has quit [Ping timeout: 248 seconds] 21:08:17 ianmcorvidae [~ianmcorvi@fsf/member/ianmcorvidae] has joined #lisp 21:09:52 pkhuong: and if we look how SBCL contribs are built to achieve this goal, we see nothing "pretty" and "simple" -- just the same kind of tricks that we have to do with applications :) 21:10:18 urandom__ [~user@p548A1FF7.dip.t-dialin.net] has joined #lisp 21:12:41 -!- sellout- [~Adium@c-98-245-162-253.hsd1.co.comcast.net] has quit [Quit: Leaving.] 21:13:03 ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has joined #lisp 21:13:18 -!- ZabaQ [~john.conn@135.114-84-212.staticip.namesco.net] has quit [Client Quit] 21:14:12 -!- homie [~levgue@xdsl-78-35-158-245.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:14:16 -!- wbooze [~levgue@xdsl-78-35-158-245.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:16:53 -!- attila_lendvai [~attila_le@unaffiliated/attila-lendvai/x-3126965] has left #lisp 21:17:25 pavelludiq [~pavelludi@87.246.58.193] has joined #lisp 21:18:21 -!- dans [~daniel@92.80.89.31] has quit [Quit: Lost terminal] 21:19:32 pkhuong: btw, asdf's level of logical pathname friendliness gradually turned precise copying of SBCL solution from hard into unfeasible for applications with hairy dependencies... 21:19:33 -!- ehu [~ehuels@ip118-64-212-87.adsl2.static.versatel.nl] has quit [Ping timeout: 255 seconds] 21:20:02 not my area ;) 21:20:14 ddp [~ddp@c-24-19-99-148.hsd1.wa.comcast.net] has joined #lisp 21:20:29 -!- ddp [~ddp@c-24-19-99-148.hsd1.wa.comcast.net] has quit [Client Quit] 21:20:38 *akovalenko* is unsure whether :aoeu or :htns would make a good name for New Shiny Better System Definition Facility.. 21:20:46 ddp [~ddp@c-24-19-99-148.hsd1.wa.comcast.net] has joined #lisp 21:21:00 -!- ddp [~ddp@c-24-19-99-148.hsd1.wa.comcast.net] has quit [Client Quit] 21:25:33 -!- bayesian [~MLPFiM@gateway/tor-sasl/frendshipismagic] has quit [Remote host closed the connection] 21:32:22 :aeiou rolls off the fingers better for any english speaker. 21:32:25 -!- mstevens [~mstevens@fsf/member/pdpc.active.mstevens] has quit [Quit: leaving] 21:33:10 -!- Bike [~Glossina@71-214-98-226.ptld.qwest.net] has quit [Read error: Connection reset by peer] 21:33:20 Bike [~Glossina@71-214-98-226.ptld.qwest.net] has joined #lisp 21:34:07 lnostdal_ [~lnostdal@77.17.51.223.tmi.telenormobil.no] has joined #lisp 21:34:32 Fade: dvorak layout is international (and it's probably more popular than any new CL definition facility can hope to be) 21:35:29 you could call it xcvb 21:35:31 owait 21:35:40 *akovalenko* actually types Russian in transliterated dvorak, not only English. Well, it's Lisp or C most of the time anyway. 21:36:12 sykopomp: qwerty will probably be all used up before I get to write my own system definition facility :) 21:36:44 -!- billstclair [~billstcla@unaffiliated/billstclair] has quit [Quit: Linkinus - http://linkinus.com] 21:37:33 -!- Daev [~KAPITAL@nc-184-3-67-135.dhcp.embarqhsd.net] has quit [Ping timeout: 260 seconds] 21:38:46 zxcv and confuse everyone. 21:38:51 hands up, dvorak users 21:39:10 I suspect there's more azerty than dvorak around here. :) 21:39:32 *sykopomp* dvoraks on a kinesis. 21:39:49 as if we didn't already have proof enough that you were a freak. ;) 21:40:13 I use tentacles to type. 21:41:44 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Remote host closed the connection] 21:41:45 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 21:42:02 marsell [~marsell@120.22.131.18] has joined #lisp 21:42:10 Davidbrcz [~david@proxysup.isae.fr] has joined #lisp 21:42:18 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 21:42:29 -!- edgar-rft [~user@HSI-KBW-078-043-123-191.hsi4.kabel-badenwuerttemberg.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 21:43:04 Phoodus [~foo@ip72-223-116-248.ph.ph.cox.net] has joined #lisp 21:43:04 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 21:43:11 -!- Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has quit [Quit: Quitte] 21:43:28 as of azerty, yeah, sure 21:43:43 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 21:43:58 -!- dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has quit [Quit: dnolen] 21:44:32 dnolen [~davidnole@cpe-98-14-92-234.nyc.res.rr.com] has joined #lisp 21:45:53 -!- BlankVerse [~pankajm@202.3.77.219] has quit [Ping timeout: 256 seconds] 21:46:40 Nshag [user@chl45-1-88-123-84-8.fbx.proxad.net] has joined #lisp 21:46:57 Daev [~KAPITAL@nc-184-3-67-135.dhcp.embarqhsd.net] has joined #lisp 21:48:37 -!- mishoo_ [~mishoo@79.112.115.118] has quit [Read error: Operation timed out] 21:48:43 sykopomp: what, you still reach your keyboard physically? i mind-control the keys, but map them to dvorak because it looks cooler 21:49:14 -!- Daev is now known as gortonsfisherman 21:54:08 hrm, you can't precompute a method combination for optimal repeated calling can you 21:54:24 madnificent: you win. 21:54:36 I WIN \O/ 21:54:44 \o/ 21:54:53 -!- manuel_ [~manuel_@p57921CE1.dip.t-dialin.net] has quit [Quit: manuel_] 21:55:08 though i think you must be alien in one of the lisp logos, so you have more publicity 21:55:17 *madnificent* heads back to code 21:55:27 simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has joined #lisp 21:55:27 -!- simplechat [~simplecha@123-243-79-139.static.tpgi.com.au] has quit [Changing host] 21:55:27 simplechat [~simplecha@unaffiliated/simplechat] has joined #lisp 21:56:04 -!- pavelludiq [~pavelludi@87.246.58.193] has quit [Read error: Operation timed out] 21:56:09 -!- Athas [~athas@130.225.165.40] has quit [Remote host closed the connection] 21:56:43 chturne [~chturne@host86-128-227-166.range86-128.btcentralplus.com] has joined #lisp 21:57:13 Euthydemus [~euthydemu@unaffiliated/euthydemus] has joined #lisp 21:57:21 ltriant [~ltriant@lithium.mailguard.com.au] has joined #lisp 22:01:10 Bike1 [~Glossina@71-38-152-64.ptld.qwest.net] has joined #lisp 22:02:37 -!- HG`` [~HG@p5DC05396.dip.t-dialin.net] has quit [Quit: HG``] 22:04:05 -!- Bike [~Glossina@71-214-98-226.ptld.qwest.net] has quit [Ping timeout: 276 seconds] 22:04:46 -!- Davidbrcz [~david@proxysup.isae.fr] has quit [Ping timeout: 245 seconds] 22:05:03 -!- Euthydemus [~euthydemu@unaffiliated/euthydemus] has quit [Ping timeout: 248 seconds] 22:05:45 LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has joined #lisp 22:08:19 -!- cjs [~cjs@EM1-112-243-119.pool.e-mobile.ne.jp] has quit [Quit: Leaving] 22:09:35 -!- altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has quit [Quit: Computer has gone to sleep.] 22:10:33 -!- pnq [~nick@ACA34CB5.ipt.aol.com] has quit [Read error: Connection reset by peer] 22:13:15 -!- realitygrill [~realitygr@adsl-76-226-101-62.dsl.sfldmi.sbcglobal.net] has quit [Read error: Connection reset by peer] 22:13:16 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 22:13:50 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 22:14:07 -!- tali713 [~user@c-76-17-236-129.hsd1.mn.comcast.net] has quit [Ping timeout: 248 seconds] 22:15:54 realitygrill [~realitygr@76.226.226.67] has joined #lisp 22:27:00 -!- zmv [~daniel@c953332e.virtua.com.br] has quit [Read error: Operation timed out] 22:29:17 zmv [~daniel@c953332e.virtua.com.br] has joined #lisp 22:29:18 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 22:29:49 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 22:31:23 tali713 [~user@c-107-2-70-58.hsd1.mn.comcast.net] has joined #lisp 22:31:56 Euthydemus [~euthydemu@unaffiliated/euthydemus] has joined #lisp 22:32:03 -!- df [~df@163.8.187.81.in-addr.arpa] has quit [Read error: Operation timed out] 22:32:36 df [~df@163.8.187.81.in-addr.arpa] has joined #lisp 22:35:49 -!- Tordek [tordek@supporter.blinkenshell.org] has quit [Ping timeout: 240 seconds] 22:42:16 replore [~replore@ntkngw304073.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #lisp 22:42:53 sellout- [~Adium@c-98-245-162-253.hsd1.co.comcast.net] has joined #lisp 22:42:58 -!- nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has quit [Quit: nicdev] 22:43:57 -!- replore [~replore@ntkngw304073.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 22:43:58 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 22:44:28 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 22:48:21 -!- nano- [nano@debian.as] has quit [Changing host] 22:48:21 nano- [nano@xmms2/developer/nano] has joined #lisp 22:50:27 Panocha [~Blooop@2001:470:1f08:12e0::38db] has joined #lisp 22:50:28 -!- tali713 [~user@c-107-2-70-58.hsd1.mn.comcast.net] has quit [Ping timeout: 260 seconds] 22:50:30 hi 22:50:32 anybody here? 22:50:38 no 22:50:50 I am designing a new help forum for the Lisp language 22:50:57 but am torn on which logo to use 22:51:05 here is a montage of the 4 I have under consideration 22:51:06 http://i.imgur.com/Usqtb.jpg 22:51:11 I just need some feedback 22:51:18 Panocha: go away 22:51:34 oh so #lisp is mad that any competing forum would be created? 22:51:43 -!- ChanServ has set mode +o fe[nl]ix 22:51:44 what if I told you that this channel would be embedded in a java applet 22:51:45 and to everyone else: Don't click that. 22:52:01 -!- fe[nl]ix has set mode +b *!~Blooop@2001:470:1f08:12e0::38db 22:52:01 -!- Panocha [~quassel@pdpc/supporter/professional/fenlix] has been kicked from #lisp by fe[nl]ix (Panocha) 22:56:32 it wolud be nice if we could kickban right now :) 22:56:47 madnificent: slowpoke 22:58:06 Qworkescence [~quad@unaffiliated/quadrescence] has joined #lisp 23:04:53 deke [~deke@fl-71-54-184-132.dhcp.embarqhsd.net] has joined #lisp 23:05:04 sykopomp: what's there, some exploit for our browsers? 23:05:22 no, just a nsfw image. 23:05:28 sykopomp: well, for everyone else's browser probably, not for my w3m 23:05:48 aah, then i happily won't click :) 23:09:45 -!- klltkr [~rfg@dsl78-143-205-208.in-addr.fast.co.uk] has quit [Ping timeout: 256 seconds] 23:13:42 -!- Vivitron [~user@pool-108-7-56-243.bstnma.fios.verizon.net] has quit [Remote host closed the connection] 23:15:51 billstclair [~billstcla@unaffiliated/billstclair] has joined #lisp 23:16:08 -!- xan_ [~xan@129.131.117.91.dynamic.mundo-r.com] has quit [Ping timeout: 260 seconds] 23:16:09 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 23:16:38 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 23:16:42 as of ASDF -- is there a preferred way of spelling licen[cs]e? 23:17:05 i was afraid of one of it becoming deprecated.. 23:17:06 -!- gaidal_ [~gaidal@113.119.24.104] has quit [Read error: Connection reset by peer] 23:17:33 gaidal_ [~gaidal@113.119.24.104] has joined #lisp 23:18:34 am I right that :license is en_US, :licence is en_GB ? 23:22:23 -!- marsell [~marsell@120.22.131.18] has quit [Ping timeout: 248 seconds] 23:23:25 -!- jtza8 [~jtza8@wbs-196-2-122-110.wbs.co.za] has quit [Remote host closed the connection] 23:28:22 xyxu [~xyxu@222.68.159.148] has joined #lisp 23:28:59 akovalenko: your assertion about brittish versus american english is correct, i don't know which one deserves the preference, but i'd assume :license will stick around longest. 23:29:01 -!- zmv [~daniel@c953332e.virtua.com.br] has quit [Ping timeout: 256 seconds] 23:29:35 it's best to use :licence when you are working with US folks, and :license when working with british folks. 23:29:36 imo 23:30:27 zmv [~daniel@c953332e.virtua.com.br] has joined #lisp 23:30:40 -!- killerboy [~mateusz@users69.kollegienet.dk] has quit [Quit: leaving] 23:33:17 sykopomp: shouldn't it be vice-versa? 23:33:27 madnificent: I meant exactly what I said. :3 23:33:39 evil bastard :P 23:33:43 :3 23:41:29 sykopomp: you'd probably also call it :licensia when reporting a bug to French men, and :|la licence| when discussed in Russian :) 23:41:46 :3 23:42:01 but asdf doesn't accept those arguments for its defsystem 23:42:15 note that :3 is a potential number, not a keyword 23:42:33 ..arguing with asdf is hopeless anyway 23:43:25 Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has joined #lisp 23:43:31 -!- Hexstream [~hexstream@modemcable075.97-200-24.mc.videotron.ca] has left #lisp 23:44:15 btw, it's weird that there is no easy way to go between asdf keywords and accessors, short of MOP (if we are lucky) 23:44:16 antgreen [~user@12.10.75.2] has joined #lisp 23:44:59 -!- LiamH [~healy@pool-108-18-161-45.washdc.east.verizon.net] has quit [Quit: Leaving.] 23:45:11 -!- hugod [~hugod@70.24.176.31] has quit [Ping timeout: 245 seconds] 23:45:19 tritchey [~tritchey@c-98-213-213-26.hsd1.in.comcast.net] has joined #lisp 23:49:28 dextroid [~dextroid@c-71-202-233-36.hsd1.ca.comcast.net] has joined #lisp 23:49:57 can someone help me install weblocks? i've got it using quicklisp but it raises an exception on (asdf:oos 'asdf:load-op 'weblocks-demo) 23:50:37 ... never mind found it; for some reason quicklisp didn't install prevalence 23:54:11 dextroid: I suspect weblocks-demo might have dependencies that aren't installed with the weblocks system 23:54:25 tali713 [~user@c-107-2-70-58.hsd1.mn.comcast.net] has joined #lisp 23:54:27 dextroid: should be possible to avoid this if you use (ql:quickload :weblocks-demo) always 23:54:34 quickload isn't just for installing (: 23:54:35 yeah, that's what it was 23:54:48 thanks 23:55:11 best to forget asdf:oos (or asdf:load-system) exists at all (-; 23:55:25 nefo [~nefo@221.238.99.251] has joined #lisp 23:55:25 -!- nefo [~nefo@221.238.99.251] has quit [Changing host] 23:55:25 nefo [~nefo@unaffiliated/nefo] has joined #lisp 23:55:33 yeah, that was from weblocks.org so I figured it was recommended 23:56:17 also: this sure takes a while to start up 23:56:18 altsrid [~altsrid@S010678ca39ff0146.vn.shawcable.net] has joined #lisp 23:59:07 nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has joined #lisp 23:59:24 -!- nicdev [~nicdev@c-98-217-188-86.hsd1.ma.comcast.net] has quit [Client Quit] 23:59:43 -!- xyxu [~xyxu@222.68.159.148] has quit [Ping timeout: 248 seconds]