[04:05:10] [connected at Mon Aug 16 04:05:10 2004] [04:05:10] <> *** Looking up your hostname... [04:05:10] <> *** Checking ident [04:05:11] <> *** Found your hostname [04:05:50] <> *** No identd (auth) response [04:05:50] <> *** Your host is niven.freenode.net[malloc.osuosl.org/6667], running version dancer-ircd-1.0.35 [04:05:50] [I have joined #peak] [04:05:50] ** niven.freenode.net set the topic to peak - Python Enterprise Application Toolkit | http://peak.telecommunity.com | make your functions generic with PyProtocols(current-cvs) [04:28:31] jack-|weekend is now known as jack-e [05:01:23] jack-e is now known as jack-e|RebootTut [05:45:27] jack-e|RebootTut is now known as jack-e [11:57:12] ** pje has joined us [11:57:22] Howdy. [12:00:08] heya phillip :) [12:00:15] how is life ? [12:00:20] Not bad. [12:00:30] Too many projects I want to do, as always. :) [12:01:00] My imagination expands my to-do list faster than I can finish the things already on it. [12:01:33] hehe .. /me is currently working on rebuilding my office/living-house .. so basically no coding for me right now (that's why i'm so quiet lately) [12:03:03] i read you long essays about generic-function and the refactoring of storage stuff .. sounds all very exciting [12:03:22] is the generic function stuff in pyprotocols already usable ? [12:03:30] Yes. [12:03:58] It's just may be slow compared to handwritten code at the moment. [12:04:21] but not yet with the decorater syntax ( [when(bla)]\ndef somemehtod(..) ) - or what is necessary to get it running ? [12:04:36] No, the decorator syntax works... [12:04:41] Even with Python 2.2 [12:04:51] i thought of using it to radically simplify my stateful workflow-engine [12:04:55] Technically you don't even need the brackets, those are just for visual clarity. [12:05:04] ok [12:05:13] Yeah, it's pretty awesome for conditional state machines... [12:06:30] The thing that's buzzing around my head at the moment is incremental parsing and history-sensitive error detection... [12:06:55] Some of the same algorithms are *almost* relevant for both. [12:07:20] (Incremental parsing = updating a parse tree as someone edits the text file being parsed) [12:07:54] (History-sensitive error detection = marking their typos, while keeping a valid, but slighlty out-of-date parse tree) [12:08:46] It's one thing to write such algorithms for one specific language, but I'd like to do this in a grammar-driven way [12:09:02] So you just define the language, and the parsing/error handling is automatic. [12:09:24] Then you're only writing semantic transforms from the given language to e.g. an outliner, code generator, etc. [12:10:11] I spent a good bit of my weekend chewing through hundreds of pages of academic papers and theses on the subject. [12:14:40] sounds good - but quite general and so probably not easy to implement [12:15:13] * jack-e needs to do some stuff outofoffice and is back later [12:15:35] * pje waves [12:15:43] cu [12:15:48] jack-e is now known as jack-e|away [12:15:53] (not easy, but hopefully only needing to be done once) [12:16:20] yeah .. that is allways my motivation when i'm working on nll*-libraries :-) [13:52:15] ** rdmurray has joined us [13:52:26] ** rdmurray has left IRC (Client Quit) [13:52:27] * pje waves [14:46:34] jack-e|away is now known as jack-e [14:52:23] I think I've finally figured out how to do the error recovery thing. [14:52:38] Hours spent reading an academic paper to figure out a very simple idea... :) [14:53:21] It's basically this: if a subtree encloses changes and an error, keep the old version of the subtree, and mark the changes as the source of the error. :) [14:53:52] Then, if there are any subtrees within that subtree that completely enclose some set of changes and do not contain errors, update those subtrees. [14:54:23] That's it. That's the whole darn concept once you dig past their stacks and stacks of implementation details. [14:55:19] Of course, I will doubtless have many many implementation details to deal with too, they'll just be different ones. [15:37:32] ** pje has left IRC ("Client exiting")