IRC channel logs


back to list of logs

***michel_mno is now known as michel_mno_afk
<nalaginrut>morning guilers~
***michel_mno_afk is now known as michel_mno
<civodul>Hello Guilers!
<ArneBab>paroneayea: just read your pro-gpl article and there’s one thing I’d like to add: The GPL is not only copyleft to protect the users, but also to give copyleft software developers an edge over developers of unfree software. As such every complication writers of proprietary software have with using GPL software is very much intended: This is the additional cost they could avoid by releasing their work as free software.
<ArneBab>If this cost is higher than the additional revenue they expect from being proprietary, then the rational choice is making their software free. This would not be the case if all the free projects they use were using lax licenses.
<davexunit>hey folks, having an issue parsing an HTTP response with Guile's HTTP parser.
<davexunit>I *think* the issue lies not with Guile, but a malformed response header, but I haven't been able to confirm it.
<davexunit>there's a blank Content-Type header that Guile (I think rightfully) barfs on
<davexunit>"Content-Type: "
<davexunit>does anyone know if this is actually valid?
<davexunit>I don't know if I should complain to the site that is doing this or patch Guile to treat an unknown Content-Type as application/octet-stream
<davexunit>the last line on <> suggests the application/octet-stream route
<civodul>davexunit: i think in general, even if our client is Right, we have to do something sensible that works with broken servers
<davexunit>apparently everyone else's http client does that ;)
<davexunit>I'll submit a patch for stable-2.0 when I get the opportunity
<ArneBab>davexunit: Freenet uses application/octet-stream
<davexunit>ArneBab: thanks, that's what the w3c spec mentions as well
<davexunit>so seems like the right thing to do
<ArneBab>yes - it just says “this is a bytestream, treat it however you like”
<dsmith-work>Morning Greetings, Guilers
<dsmith-work>Bah. seems like debian stable doesn't have the gawk-doc package.
<dsmith-work>Not even in non-free
<dsmith-work>ACTION boggles
<amz3>héllo :)
<mark_weaver>lack of GNU documentation is one thing that perpetually annoyed me about debian
<mark_weaver>but now I run GNU Guix :)
***michel_mno_afk is now known as michel_mno
<daviid>sneek: later tell wingo Andy, could you please add me as a project admin for guile-gnome on savannah, I'd like to be able to update its savannah webpages as well, thanks!
<sneek>Got it.
<amz3>stis: is the c parser in guile-log written in scheme or prolog
<daviid>the savannah nongnu g-wrap homepage looks cool to now!
<daviid>rotty1: ^^ [and hi! :)]
<amz3>anyway prolog unification algorithm is all I was told was significant to prolog, what remains is sugar syntax for parsing natural language and other grammars
<amz3>python parser is written in scheme using parser combinators in shceme. "Unification" is hidden by the parser combiantor API
<amz3>it started as a dsl for unification algorithm, if they took the time to write the syntax for it, they knew it was worth and had time to do it.
<amz3>but I will never know it's anohter time, the past.
<daviid>rotty1: fyi, when we write news for avannah projects, it lands in our income items waiting for approval, so i just had a pending news for approval in my income items...
<stis>amz3: well you do have a nice framework doing backtracking as well with the unification that backtracks.
<stis>the c-parser is unfinished, I would not recomend it atm
<stis>amz3: the unification is not especially important in guile-log parser framework
<stis>the varaiables backtracks and means less gc-pressure
<stis>actually I tend to use as much normal variables as possible in the combinator frameworkd that is located in the guile function stack
<amz3>I don't understand the need for specifci variables, is because of the relation that you keep track of between variables?
<amz3>stis: ^^^^
<stis>wel you set it and at backtracking you unset it, it is all allocated from the stack so it's fast
<amz3>in the parser combinator or in prolog?
<stis>it's inside the parser combinators. ANd is a base functionality in prolog
<stis>I'm using it at the lowest level. You can see them if you don't use a mk-token
<stis>(so is part of the scanning)
<amz3>that 's it :0
<stis>You can do it without prolog variables as well and only use functional datastructures
<stis>then you will only use backtracking and no unification
<stis>That' te method you would use if you based the combinarors ontop of kanren
<stis>cause kanren has slow variable bnding and lookup.
<stis>(not guile-log's kanren though)
<amz3>zhich part of guile log is written in C ?
<stis>the basic interface to the prolog variables, which are smobs. the unification, the stack infrastructure, unwinding and stack management, a vlist/vhash implementation, predicate indexing.
<stis>oh and the attributee logic.
<stis>at one point I modded the guile VM and gain 3x in speed.
<stis>there are a few artifacts from that experiment remaining
<stis>oh yes I needed to add quite a gc framework to have proper gc of prolog programs
<stis>for this you need a modded bdw-gc, reaaallly hacky but it' works surpricingly well
<rotty1>daviid: fwiw, I've put the sbank tutorial (back) online:
<daviid>rotty1: nice, will rerad
<rotty1>I need to update installation instructions (at
<rotty1>(Ikarus and Ypsilon have not been tested in quite a while, and notes on Racket are missing (but are probably inferrable from the current docs)
<rotty1>also, no need to grab gobject-introspection and gir-repo from git, regular distro packages should work)
<daviid>rotty1: the messagew passinhg approach sounds a regression to me, why did you do that?
<daviid>i guess because no goops in racket :)
<daviid>the generic function multi methods polimorphic is by an order of magnitude more powerfull, l=flexible ...
<daviid>rotty1: but nice work of course! will look into it asap. you said 2 modules are missing for guile right? can try to work on. but i'd really wish a full integration with goops afaic, but i guess that can be done on top of the existing sbank implementation. it's nice you are back in hacking with us! i've always apreciated your work