***didi is now known as bremmer
<davexunit>I see that there's no hash table literal syntax. should I just use alist->hash-table instead? <davexunit>will that be the same type of hash table that make-hash-table returns? <dje42>seems like a custom alist->hash-table is easy enough to write <nalaginrut>dsmith: but the key point is string-concatenate, I dropped 'format' and 'string-join' <nalaginrut>string-concatenate is the fastest way to append strings <nalaginrut>dsmith: but I didn't use SXML template, it's embedded template just like Django does <dsmith>nalaginrut, It's in guile in the (sxml transform) module <dsmith>nalaginrut, read the comment about SRV:send-reply <nalaginrut>well, the embedded template is nothing to do with list <nalaginrut>it's all about string parsing and split and concatenate <dsmith>The point of that link is that instead of concatenating and appending strings together, you just cons them onto a list. <dsmith>And then later, you walk the list display'ing them in order. <nalaginrut>and yes I could generate alist then call sxml->xml <dsmith>instead of appending or concatanting strings, you cons the strings onto a list. A list of strings. <dsmith>IT's got nothing to do with sxml <dsmith>other than that's the module it's in. <nalaginrut>so you mean a list of strings then calling string-concatenate? <dsmith>yeah, but instead of string-conatenate, you loop over the list calling display for each. <nalaginrut>I have to concatenate all strings, then call eval-string <nalaginrut>yes, I confess call-with-output-string does the work <dsmith>But then you are just moving the string catenate to the string port. <nalaginrut>mark_weaver wrote a 'optimize' procedure for some kind of optimization, it removed redundant things ,then concatenate rest strings <nalaginrut>it's a very efficient optimization according to the test, so I can't just use call-with-output-string <nalaginrut>if there's no 'optimize', I think your method is a good choice <nalaginrut>anyway, let me review the code again, maybe there's room for optimization, thanks for mention it ;-) <nalaginrut>hmm...seems not so easy to get rid of string-concatenate from 'optimize', I'll give it up, the efficiency is accepted anyway <ijp>aidalgol: how do I make the bot return multiple lines of output? <ijp>I had assumed a \\n would do, but since send-privmsg is just a format, that's wrong, and means I'm actually sending malformed irc requests *ijp tries to comes up with a very strange conspiracy that leads to this injection problem actually being exploited <aidalgol>shit, that means you could make the bot disconnect! <ijp>well, it hasn't broken yet <aidalgol>Or, possibly not. Might just be rejected by the server. <ijp>I should have turned on logging for the responses <nalaginrut>noah's guile-lightening seems a bit strange, we don't have foreign-ref and dynamic-pointer accepts only 2 params <ijp>I expect it has succumbed to bit-rot <wingo>you could think of our calling convention as pre-coloring certain slots... <wingo>will be nice to get to native compilation at some point :) <dje42>I see scm_puts in the api, but I can't find scm_printf. <ijp>there is no such thing <ijp>you should be able to access the format procedure though <dje42>scm_simple_format takes all SCMs, it would be REALLY NICE to have void scm_printf (SCM port, const char *format, ...); <dje42>[might want to call that scm_c_printf, but since scm_puts is not named scm_c_puts, I went with scm_printf :-) <ijp>guile's format does not use the same format specifiers as C <didi>♪ write in scheme, write in scheme ♫ <dje42>righto. Still, if you want to make it easy for people to add libguile to programs, scm_c_printf would be really nice. <ijp>if you can call it scheme <ijp>I'd rather we call it formatese <shanecelis>hello, with procedures I can add properties. Is there any way to add meta data to variables? I'm thinking about this for documentation purposes in Emacsy. <wingo>there is object-documentation, but that is associated with values <shanecelis>Any recommendations for replicating Emacs's (defvar name [value [doc-string]])? <wingo>you can set object properties on the variable object <wingo>search the manual for module-variable <wingo>you'll have to write your own utils to get that documentation out, but it would be there <wingo>the docs could be (or (object-documentation the-var) (object-documentation the-val)) <davexunit>what are object properties typically used for? <wingo>associating info with things you don't control <wingo>or associating sparse information <wingo>anywhere you would use a weak hash table <wingo>they are essentially the same <stis>shancelis, you can add documentation to syntax objects if you like as well <stis>it will not associate to the values though. <stis>for this there is two options as I know of <stis>1. In syntax parse there is a map framewotk from syntax objects to data <stis>2. in guile-cl, there is a put and get macro that works similarly like common lisps put and get <stis>but should bind to syntax objects in stead of symbols *stis did a really cool hack with scheme-sed, read guile-user!! <stis>anyway cheers and good night!