00:00:45 -!- sellout [n=greg@dhcp-18-190-3-195.dyn.mit.edu] has quit [Client Quit] 00:37:10 -!- hypno [n=hypno@impulse2.gothiaso.com] has quit ["[BX] Oral sex makes your day"] 00:37:57 -!- mdc_mobile [n=mdc_mobi@quark.entity.com] has quit [] 00:41:02 alms [n=alms@209-150-48-250.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #ccl 00:52:08 sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has joined #ccl 02:46:51 pemryan [n=pemryan@159.226.35.246] has joined #ccl 02:48:47 -!- pemryan [n=pemryan@159.226.35.246] has quit [Client Quit] 02:49:19 pemryan [n=pemryan@159.226.35.246] has joined #ccl 02:51:42 -!- mdc [n=mdc@ds9.entity.com] has quit [] 02:54:14 pem [n=pem@159.226.35.246] has joined #ccl 02:54:35 -!- pemryan [n=pemryan@159.226.35.246] has quit [Client Quit] 03:02:04 -!- pem is now known as pemryan 03:12:51 mdc [n=mdc@ds9.entity.com] has joined #ccl 03:41:27 trijezdci [n=trijezdc@f8a01-0357.din.or.jp] has joined #ccl 03:42:28 hi, anybody home? 03:42:59 yes 03:46:00 I was wondering if you could point me at any known resources of recursive descent parsers in CL, I found some parser generators via google but not any actual RD parsers 03:47:31 I haven't done anything with Lisp in almost 20 years but I thought it might be worthwhile using it (and relearn) in relation to a compiler I am working on, perhaps do an EBNF parser that calculates FIRST and FOLLOW sets or something like that 03:48:23 so basically I am looking for relevant code to study and learn from, the parser generators I found have not been very helpful 03:51:04 bfulgham_ [n=brent@adsl-69-234-130-247.dsl.irvnca.pacbell.net] has joined #ccl 03:51:53 -!- bfulgham is now known as bfulgham|away 03:52:03 It seems to me that writing a recursive-descent parser in CL isn't much different from writing one in another programming language. 03:53:38 well, the recursive functions won't differ much, but the infrastructure probably will 03:53:43 like symbol table etc 03:53:54 scope handling, tree building 03:54:30 Data structures. 03:54:56 if I just do the same thing I do when I write lexers and parsers in C, I am not sure that the outcome will be very lisp like 03:54:58 -!- pemryan is now known as pem 03:55:31 I need to get back into thinking lisp, instead of thinking C 03:55:39 if you know what I mean 03:58:06 Chapters 24 and 25 of Practical Common Lisp are about parsing binary files. Maybe reading that would give you some ideas. 03:58:27 http://www.gigamonkeys.com/book/ if you don't have the hard copy. 03:58:30 is that the book by Paul Graham? 03:58:35 ah thanks 04:31:07 another question, re the cocoa bridge 04:31:24 the documentation says you can only add methods to classes defined in CCL 04:32:03 do I interpret that as defining categories is not supported 04:32:40 also I couldn't seem to find any equivalent for protocols 04:33:38 I believe it does in fact work to define methods on arbitrary objects. 04:33:52 e.g., (objc:defmethod (#/foo #>NSInteger) ((obj ns:ns-object)) 12) should work. 04:34:20 ok, so its likely using the category feature of objc then 04:34:23 cool 04:34:29 what about protocols? 04:34:57 Or "the category feature of ObjC is only necessary to keep the ObjC compiler happy, the runtime doesn't care." 04:35:07 There is currently no way to say that a given class implements a particular formal protocol. There is a trac ticket about that (#453), but I haven't gotten around to it yet. 04:35:34 fair enough 04:36:07 As a workaround, you can override #/conformsToProtocol in your subclass. 04:36:50 http://trac.clozure.com/openmcl/ticket/453 04:37:00 I am just trying to get a grip on how "equivalent" the bridge is to objc 04:38:33 does the bridge check visibility of ivars? like @public, @protected and @private in objc? 04:40:16 You mean does SLOT-VALUE care about that ? 04:40:31 yes 04:41:40 I don't know for sure, but I think the @public/@protected/@private thing is an illusion maintained by the Objective-C compiler. I don't recall that the runtime has any notion of those things. 04:42:03 its enforced by the compiler yes, but also has an impact on linkage 04:42:30 It's not clear what it'd mean for SLOT-VALUE to see who's calling it and impose access restrictions based on that ... 04:42:34 of course in lisp that's a different story as everyting you use ends up in the lisp image 04:43:23 yes, I guess it would be difficult if you just call defmethod from any place without any notion of encapsulation into a compilation unit 04:43:33 Welcome to CL. 04:43:37 heh 04:43:58 not complaining, just trying to get my head around the different paradigms 04:45:33 all in all, I quite like what I see, I have been checking first MCL and then MCL for the last 10 years and most of the time I concluded "not ready for me yet" but now it looks fine :-) 04:45:45 er MCL, then OpenMCL 04:45:49 It's basically the CL philosophy that "you should have enough rope to hang yourself with"; some people thought that CLOS (and CL) should impose more encapsulation, but that was generally viewed as saying "children shouldn't play with sharp objects" and was not a popular view. 04:46:29 yes, I understand, I am not complaining, I think it makes sense in environments like lisp and smalltalk to do that, 04:46:56 yet I think in imperative languages like C, Pascal etc etc the more nazi and anal the language the better 04:58:12 need to go out, thanks for the help so far 05:57:04 -!- bfulgham_ [n=brent@adsl-69-234-130-247.dsl.irvnca.pacbell.net] has quit [] 07:27:23 -!- rme [n=rme@pool-70-105-116-145.chi.dsl-w.verizon.net] has quit [] 08:38:39 vy [n=user@nbvyazici.cs.bilkent.edu.tr] has joined #ccl 09:02:55 Hello. What's the name of config file ccl would read at startup, something like ~/.sbclrc ? 10:16:11 pem: ccl-init.lisp or .ccl-init.lisp 10:17:09 http://ccl.clozure.com/ccl-documentation.html#Personal-Customization-with-the-Init-File 11:14:35 -!- vy [n=user@nbvyazici.cs.bilkent.edu.tr] has quit [Remote closed the connection] 11:35:00 -!- sellout [n=greg@c-24-128-50-176.hsd1.ma.comcast.net] has quit [] 12:09:16 sellout [n=greg@guest-fw.dc4.itasoftware.com] has joined #ccl 12:09:45 Thank you, bill 13:35:51 -!- billstclair [n=billstcl@unaffiliated/billstclair] has quit [brown.freenode.net irc.freenode.net] 13:41:35 billstclair [n=billstcl@unaffiliated/billstclair] has joined #ccl 13:56:13 jajcloz [n=jaj@pool-98-118-48-50.bstnma.fios.verizon.net] has joined #ccl 14:01:08 mdc_mobile [n=mdc_mobi@ds9.entity.com] has joined #ccl 14:17:16 dat [n=dthomp@nmd.sbx08736.mcminor.wayport.net] has joined #ccl 15:13:43 milanj [n=milan@79.101.230.134] has joined #ccl 16:19:06 -!- dat [n=dthomp@nmd.sbx08736.mcminor.wayport.net] has quit [Read error: 113 (No route to host)] 16:36:06 hypno [n=hypno@195.43.248.100] has joined #ccl 16:39:04 dat [n=dthomp@dyn-188-dynamic.linfield.edu] has joined #ccl 18:00:30 milanj- [n=milan@93.86.57.115] has joined #ccl 18:09:03 -!- milanj [n=milan@79.101.230.134] has quit [Read error: 110 (Connection timed out)] 18:40:57 -!- dat [n=dthomp@dyn-188-dynamic.linfield.edu] has quit [Read error: 110 (Connection timed out)] 19:07:14 anRch [n=markmill@nmd.sbx00833.peaboma.wayport.net] has joined #ccl 19:33:43 -!- bfulgham|away is now known as bfulgham 19:55:55 -!- anRch [n=markmill@nmd.sbx00833.peaboma.wayport.net] has quit [] 20:18:01 -!- sellout [n=greg@guest-fw.dc4.itasoftware.com] has quit [] 20:30:27 dat [n=dthomp@dyn-188-dynamic.linfield.edu] has joined #ccl 22:36:56 -!- jajcloz [n=jaj@pool-98-118-48-50.bstnma.fios.verizon.net] has quit [Read error: 104 (Connection reset by peer)] 22:37:04 jajcloz [n=jaj@pool-98-118-48-50.bstnma.fios.verizon.net] has joined #ccl 23:47:39 -!- gbyers [n=gbyers@c-68-35-15-143.hsd1.nm.comcast.net] has quit []