***dje is now known as xdje
***fangism is now known as fangism-hongry
<ijp>mark_weaver: do you know what the current state of the art for square matrix exponentiation is? <mark_weaver>I learned a rather interesting way to compute e^matrix, but as for matrix^k, I don't know of a better way than the usual exponentiation algorithm that does O(log(k)) matrix multiplications <mark_weaver>but I'm hardly an expert in this area, so the fact that I don't know a better way doesn't mean much. <ijp>mark_weaver: I was meaning matrix^k, I had been thinking about the "multiplicationless" way by taking advantage of the cayley-hamilton theorem, but after thinking about it more, it's not really a good solution, particularly for large matrices, as it requires more space <ijp>I know there is the other method by decomposing to a diagonal matrix and exponentiating that, but IIRC that doesn't work in general <sethalves>that branch builds and runs. is there a command-line switch or such that I need to make it act as a r7rs scheme? <sethalves>it seems to understand (import (scheme base)) and loads module/scheme/base.scm, but errors out at the first define inside the begin <jmd>How long does it take to build guile? <ijp>jmd: master or stable? <ijp>master takes like half an hour here, stable would be much quicker <jmd>You must have some very fast hardware :) <ijp>jmd: on my old computer I couln't even build master :) <jmd>I've been building 2.0.11 for the last hour-and-a-half <wingo>jmd: what bdw-gc do you have? <wingo>jmd: did it progress any farther? there is a bug with an old bdw-gc that causes a hang <jmd>wingo: Its finished now. <ArneBab>ijp: I think you can decompose everything to a diagonal matrix by singular value decomposition, but that’s extremely expensive. <mark_weaver>sethalves: r7rs-wip is not really ready for public usage yet, but if you want to get a mostly working R7RS-repl with it, first you need to set the associated reader and printer options: <mark_weaver>(read-enable 'r6rs-hex-escapes) (read-enable 'hungry-eol-escapes) (read-enable 'r7rs-symbols) (print-enable 'r7rs-symbols) (print-enable 'datum-labels) <mark_weaver>then, from the REPL, do this: (module-add! (resolve-module '(r7rs-user)) 'import (module-variable (resolve-module '(guile)) 'import) <mark_weaver>and then you'll be in a REPL that has nothing but 'import' defined, so you can proceed to import the appropriate modules. <mark_weaver>the first thing you're likely to notice is that module names like (srfi 1) are not yet supported. You'll have to import (srfi :1) instead (r6rs-style) <mark_weaver>other than that, the remaining omissions are mostly obscure, and you'll probably be good to go. I'd be curious to hear how it goes! <ArneBab>taylanub: I did not get it to work :( <taylanub>ArneBab: are you just missing benchmark implementations in Guile, or was there something wrong with the benchmark framework? <ArneBab>taylanub: I would just have to port the benchmarks to guile <ArneBab>(IIRC they are mostly the racket-scripts) <ArneBab>problem: I saw here how big the difference gets between a bad but working implementation and a masterful implementation. For wisp string-handling it was factor 20… <taylanub>by the way if anyone knows how to make merge requests on Gitorious, please teach me and sethalves :) ***sethalve_ is now known as sethalves
***jjmarin_ is now known as jjmarin
***cluck` is now known as cluck
<sethalves>mark_weaver -- do you expect to support (import (srfi 1)), or should I go through my code and add cond-expands for guile's imports? <sethalves>(the r7rs-setup incantation you indicated seem to work for me) <mark_weaver>sethalves: yes, certainly we will support (import (srfi 1))