IRC channel logs

2014-12-26.log

back to list of logs

<slucx>good morning everyone
<tadni>slucx: .i coi la .slucx.
***adhoc_ is now known as adhoc
<nalaginrut>morning guilers~
***alandipert_ is now known as alandipert
***heroux_ is now known as heroux
***Fuuzetsu_ is now known as Fuuzetsu
***Fuuzetsu is now known as Guest52575
<nalaginrut>slucxx: did you see my reply? ;-)
<slucxx>yeah, i did, thanks
<slucxx>nalaginrut:
<nalaginrut>ok ;-)
<slucxx>;)
<nalaginrut>slucxx: string-copy will make a new copy, substring is COW, substring/shared reuses the original string
<slucxx>yeah, i got it. mark_weaver told me too, yesterday
<slucxx>scheme is so beautiful
<slucxx>i am fall in love with it.
<nalaginrut>yeah~
***slucxx is now known as slucx
***_zxq9_ is now known as zxq9
<nalaginrut>it's funny that Content-Type is wrong, content-type is correct, but Cache-Control is correct while cache-control is wrong
*nalaginrut think there's bug in (web http)
<nalaginrut>wait, it's my fault, I misunderstand the usage of control-type
<agumonkeyy>hi there
<agumonkeyy>guile -c '...' core-dumps when the same expression in the repl runs fine
<agumonkeyy>expression was just '(define (fact n) ... ) (fact 10000)'
<agumonkeyy>with -c I can't go higher than 3500
<agumonkeyy>in the repl it stops working at 10001 :)
<slucx>agumonkeyy: try iterate not recursion
<agumonkeyy>slucx: I was curious about the differences in interpretation/compilation between both -c and repl entry points
<agumonkeyy>Other than that iteration is easier on the metal. That said, I didn't 10000! to run that fast on my old c2d. Guile 2.0.11, not even 2.2
<slucx>I don't know, but i think this problem is that the stack is different
<slucx>different between repl and guile -c
<agumonkeyy>smaller max stack size ?
<slucx>yeah, i think so
<agumonkeyy>make sense, -c is for quick oneliners, not deep computation
<nalaginrut>agumonkeyy: is your function tail-recursive?
<agumonkeyy>nalaginrut: not even
<nalaginrut>agumonkeyy: if so, it's reasonable why it's overflowed
<agumonkeyy>I wasn't questionning whether or not it should stop, just the difference in behaviours
<nalaginrut>agumonkeyy: and you shouldn't reply on such algorithm
<nalaginrut>agumonkeyy: you're asking why the stack size can't be larger, right?
<agumonkeyy>nope
<agumonkeyy>only the difference in behaviours between '-c' and repl
<agumonkeyy>if both segfaulted at (fact 1000) I wouldn't be bothering you :)
<nalaginrut>agumonkeyy: it's fine ;-) if you think there's difference between interpreter and compiler, you may try --no-auto-compile with it
<agumonkeyy>Ha, I only tried --auto-compile
<nalaginrut>I mean different stack size
<nalaginrut>auto compile is default
<nalaginrut>you have to store your code to a file, then try this test
<agumonkeyy>that's another entry point
<agumonkeyy>I was curious about -c only
<slucx>nalaginrut: how can we get then stack size?
<slucx>s/then/the/
<nalaginrut>guile -c "(display (%get-stack-size))"
<slucx>(%get-stack-size) in repl is less than guile -c
<agumonkeyy>ha, nice trick
<slucx>afk, brush my teeth
<agumonkeyy>slucx: indeed, 270 in '-c' 160 under the repl.
<agumonkeyy>different optimization paths then, jit and such
<nalaginrut>there's no JIT in 2.0 yet, maybe 2.2 will
<slucx>$1 = 1033
<slucx>so strange
<agumonkeyy>no jit, but still a bytecode translation before running right ?
<slucx>agumonkeyy: nalaginrut when eval a deep non-tail-recursive, the guile -c is aborted, not VM overflow.
<nalaginrut>agumonkeyy: you may expect more optimizations in 2.2, say, master branch
<nalaginrut>slucx: you may gdb it to see if it's also an overflow
<agumonkeyy>nalaginrut: I follow andy wingo blog, he's doing all kinds of voodoo that I can't understand
<agumonkeyy>I don't know if he works with other people or if he is a 100x programmer
<nalaginrut>agumonkeyy: it's not easy to understand if you don't have little knowledge about advanced compilers
<nalaginrut>s/don't//
<nalaginrut>agumonkeyy: but not all posts from him are talking about compilers
<agumonkeyy>I did two classes on optimizing compilation in college, so I know a little, still too little to follow
<nalaginrut>something he discussed are too cutting-edge compared to the textbook
<nalaginrut>one may only learned from papers rather than a textbook
<agumonkeyy>yeah, and my classes were in the context of imperative semantics, not LISP with all it's idiosyncrasies
<nalaginrut>anyway, not all the posts are about compilers, there's a great post about secure token design thinking
<agumonkeyy>only one thing darker than advanced compilation, security :)
<nalaginrut>agumonkeyy: yes, that's one of the problem, since Guile-2.2 uses CPS rather than SSA as the IR, almost all the textbooks uses SSA
<agumonkeyy>yep
<nalaginrut>IMO, the big advantage to get involved in a real free software project/community, is to learn real technics of the industry
<nalaginrut>reading textbooks is not enough for a hacker ;-P
<agumonkeyy>not all FOSS require more advanced knowledge than famous textbooks
<agumonkeyy>If you know Appel's book you're already in some sense in the real
<nalaginrut>agumonkeyy: yes, Appel's book is very great, I like this book, it explains 90% knowledge, but for a compiler like Guile, there're something you have to learn from papers.
<nalaginrut>I didn't mean to drop to read textbook, it's very important to read
<agumonkeyy>bbl
<slucx>good night
<nalaginrut>night
<stis>hej guilers!