IRC channel logs
2013-10-28.log
back to list of logs
<cky>Anyway, for anyone interested, I just pushed my (ice-9 i18n) changes. <cky>In the current documentation, in the Block Comments section, it says that (+ #| this is a #| nested |# block comment |# 2) evaluates to 3. <cky>Either there's a missing 1 before the block comment, or the result should be 2. <cky>git blame says it was civodul's commit. ;-) <gzg>nalaginrut: o/ You know, you got me interested in FPGAs more. :^) <nalaginrut>gzg: I'm planing a ARM board for fake lisp-machine, which means an high optimized Scheme VM runs on a ARM board <nalaginrut>I'm in Shenzhen, so I can design/produce such a board in very low cost ;-P <nalaginrut>gzg: anyway, FPGA is on my list (if I can get a cheaper one) <gzg>nalaginrut: If I go do a CS/EE, that would be a fun master's project. :^) <gzg>nalaginrut: What's you price-range? <nalaginrut>gzg: the proper board cost 400$, the cheaper can't hold lisp-machine <gzg>nalaginrut: Link and/or name to the board in-question? <nalaginrut>no mention the price of IDE, QuartusII cost 2999$ per year IIRC <gzg>nalaginrut: The "Stratix" series, by Altera? <nalaginrut>gzg: well, I haven't researched it, so I don't know clearly, since my next plan is a fake-lisp-machine runs on ARM, real-lisp-machine on FPGA is the next to next <gzg>Is implementing a practical scheme-machine really not do-able on a mid-range board? I was thinking about at least implementing a general implementation on one -- that's obviously a much simpler project/goal though. :^) <gzg>I mean a basic R7RS small implementation right on the metal, not a whole OS. <nalaginrut>gzg: there's close design, a dedicated VM bytecode design based on regular CPU, it'd be fast in principle <nalaginrut>but real lisp-machine is better since it's definitely fast than C+asm, in principle <gzg>nalaginrut: Well if and/or when you start your project, please pimp it in various places -- I'd love to hear where/how it goes. :^) <nalaginrut>gzg: you could by the fake-lisp-machine board when it's out, no more than 15$, maybe higher for abroad, but our plan is 'vary low cost' <gzg>nalaginrut: Very cool; Any place I should follow yet, to keep up to date on the project? <nalaginrut>not yet, it's only for inner community discussion yet, when the chips is decided we'll raise the topic in our mail-list, but it's for Chinese <nalaginrut>maybe you can add hack42.com into your fav, and waiting <gzg>nalaginrut: Will the project itself and documentation, be in Chinese too? <nalaginrut>gzg: no, it's a global project, only raised by Chinese community, so there'd be English docs <nalaginrut>and for completely-opened purpose, we have to choose the hardware very carefully <nalaginrut>powerful hardware is very hard to make it fully-opened <gzg>Which, ironically -- isn't fully freed. :^P <nalaginrut>and the chip is dedicated to RaspberryPI, you can't buy it on your own, IIRC <gzg>nalaginrut: Well, I'll keep a look out -- I'm going to finish up some things before I head to bed, peace. o/ <nalaginrut>speak to the board, there's a joke yesterday. The PCB machine only support standard format, and there's no firmware source code, then we have to write sed script. I recalled RMS raised Free-software movement when he encountered such situation... *wingo has been trying to raise frankenstein^Hthe RTL VM to life <wingo>I mostly have it -- compiled eval seems to work, but there is some little problem i need to find <wingo>but it's always a series of little problems :) <civodul>can be pretty hard to debug i suppose <wingo>haha, right now it's getting slower :/ <wingo>but the compiler is bigger and not yet optimized <wingo>and it uses more macros than the old compiler <wingo>so it takes longer to macroexpand <wingo>which makes bootstrap time terrible <wingo>newer code assumes the existence of peval, also <wingo>which is the case after the compiler is compiled <wingo>but it makes the naive expansion slow to interpret <wingo>civodul: did you see that i did the two-dimensional environment thing in master's evaluator? <civodul>ooh no (i was away last week), but that's a good thing <civodul>so that's why it's twice as fast i guess? <wingo>because the loop to traverse the rib chain is compiled badly <civodul>i remember trying that in CEVAL many years ago, and giving up ;-) <wingo>lots of local-ref/local-sets <wingo>the format of an environment is now a vector <wingo>especially in master where the memory overhead of a vector is just one word <wingo>in stable-2.0 there's an extra word associated with weak vector data <wingo>whereas in master weak vectors don't share an implementation with vectors <civodul>these are all the little bonuses that we tend to forget, but which are appreciable :-) *taylanub wonders what bipt is up to ... <amgarching>Hi. Is this an official syntax for keywords or a special case for define-module? (define-module (ice-9 getopt-long) :use-module ((ice-9 common-list) :select (some remove-if-not)) ...) <civodul>amgarching: '#:' is the preferred form now <civodul>though i think ':' is still accepted in 'define-module' <ijp>amgarching: you can set the reader option, but it might cause breakage <amgarching>I'd better stick with official syntax. Though #: is visually somewhat heavy. <mark_weaver>amgarching: I wouldn't recommend setting the reader option, because that's global to the entire guile session, and as ijp said may break something else that assumes :foo is a symbol. <amgarching>I just had a puzzle for which I still dont have an explanation. One of the custom imported modules had (unless ...) form in the body but no (use-modules (guile compat)) in which I define "unless" for 1.8 (pre-2.0 dont have when/unless). <amgarching>The error taking about "undefined unless variable" was firing at a very unrelated moment, namely when I called (getopt-long argv options) and after both arguments were evaluated. Does Guile 1.8 evaluate anything asyncronousely? <amgarching>I quote '(getopt-long (pk argv) (pk options)) and the error is gone. I remove the quote it is again there. <amgarching>Took me some time to find that (unless ...) form without my workaround with (use-modules (guile compat)) in a completely unrelated module. *wingo crosses fingers, hopes to boot guile 2.2 today *add^_ crosses fingers too *ijp uncrosses fingers, recrosses them, and then crosses teh crosses *wingo puts his pants on backwards *davexunit does a handstand <ijp>hold on, just let me juggle a 3 club burkes barrage to be sure <wingo>i really dig writing code assuming that i have a powerful macro expander available, and a good inliner <wingo>but it doesn't make for fast bootstraps <wingo>currently taking 10 minutes to macroexpand everything after the evaluator is compiled <wingo>surely i can reduce that but still it's a tricky baseline to have :/ <wingo>compilation itself doesn't take so long, amusingly <wingo>after compiling eval.go, compiling psyntax-pp.go takes around 11 minutes to macroexpand everything, then 5 to compile <wingo>but hey, after that things get better, but then i run into some kind of prompt/abort weirdness <wingo>i am hoping that once i fix that i'm done <TaylanUB>I heard the plan for 2.4 is out, where can one find this ? <wingo>i don't know that there is a 2.4 plan <ijp>I have a cunning plan <wingo>if it were up to me, i would say native compilation would be 3.0, and no 2.4 <ijp>sorry, forgot to /nick baldrick first <bubu>hi, (parallel ...) seems pretty awesome, but i had difficulties on how to use it. In the end I created a list of all my parameters (indexes) and used par-map, but there must an easier way to parallelize a "for-like" loop ? <dsmith-work>wingo: Ya. I noticed that the peval test fails, and the r5rs pitfalls test seems to run forever. With lots of cpu. <wingo>dsmith-work: i haven't noticed that fwiw; there have been many occasions where a make clean is needed, fwiw <ijp>bubu: first off, are you sure it is worth parallelising? <ijp>par-map is slightly more appropriate than parallel <bubu>just computing a function and changing the index "i" <bubu>each iteration takes ~1 min <ijp>(par-map (lambda (i) ...) (iota n)) <bubu>and I have around 2 thousand to do <bubu>I first computed a list with all "i" indexes <bubu>this is gonna save me 2 lines, nice <bubu>but otherwise it's awesomely easy to use, i really appreciate <bubu>(the setup of parallel work) <ijp>iota doesn't have the most memorable name (it came from apl) <bubu>my point that my list of index can be pretty long, just to know if there might be a better way to feed par-map <ijp>well, it'll really be lost in the noise compared to the rest of your code <ijp>maybe a par-for can be justified <ijp>(par-for silliness the-course) <bubu>par-for might be slight similar to what people are usually used with openmp <bubu>(is it already implemented ?) <bubu>i don't see it in the doc <ijp>no, I was being silly <ijp>"par for the course" is an english idiom (taken from golf) meaning "about what you'd expect" <add^_>Bored, I think I'm gonna read my book about λ-calculus instead.. <add^_>Or I can get stuck not too far into the book, great. <ijp>perhaps you made the mistake of starting at chapter 1 <add^_>If so, then yes, I made that mistake. <ijp>no, you start with the introduction, which tells you to start at chapter 2 <add^_>Well, I should have reread the introduction then <add^_>Because I didn't remember that :-) <ijp>there is even a diagram! <add^_>I'm not sure how to understand that though ;-) <ijp>I forget when I learned this lesson about academic books, but it was a while ago <ijp>add^_: never blindly assume chapter 1 is where to start <ijp>I think it might have been fellers book on probability <ijp>the discrete one, not the continuous one *wingo finally has a handle on the prompt miscompilation thing