IRC channel logs

2020-11-14.log

back to list of logs

***ericonr- is now known as ericonr
<fossy>playing with this blynn compiler
<fossy>i must say, building lonely is quite slow
<fossy>the main problem i currently see with using thi is the fact that producing lonely goes via C
<fossy>still not done...
<fossy>siraben: how long does ./vm run effectively.hs take for you?
<siraben>fossy: did you compile with -O2?
<siraben>the longest step tasks 900 ms for me I think
<siraben>takes*
<siraben>fossy: oh it takes 1600 ms
<siraben>but it's waiting for input from stdin
<siraben>`(cat rts.c; ./vm run effectively.hs) > lonely.c`
<siraben>ah I see it's slow now
<siraben>I'll run it later when my computer isn't under load from another project compiling
<fossy>siraben: yeah i get 1800ms, but then it hangs i think
<fossy>huh
<fossy>ok then? if i do `(cat rts.c; echo "" | ./vm run effectively.hs) > lonely.c` it produces something
<fossy>OOOH, the command is wrong!
<fossy>looking at the makefile, i get (cat rts.c && ./vm run effectively.hs < lonely.hs) > lonely.c
<fossy>note the < lonely.hs
<fossy>hence the README is wrong, i'll pr later today
<fossy>how very interesting
<fossy>there are many more layers of compilers *after* lonely, as i expected
<fossy>as from a clean tree `make -n precisely` (the last one, afaict) shows
<fossy>siraben: so, now i have a precisely binary, trying to run your r5rs-denot on it is proving difficult however, do you have any pointers? or is it just going to be hack and slash modifications of the code to get it to work under ben lynn
<fossy>?
<siraben>fossy: ah, my r5rs-denot project will not run on it.
<fossy>oh, why is that?
<siraben>Ben Lynn's Haskell compiler is for a subset of Haskell
<siraben>So not modules, libraries, etc.
<siraben>no*
<fossy>right.
<fossy>so in your plan, where were you going to go after Ben Lynn for bootstrpaping?
<siraben>Ben Lynn → Lazy Scheme → Impure Scheme → Scheme with macros → R5RS
<fossy>ok got it
<siraben>r5rs-denot is a good reference, I'll probably use that.
<siraben>Heh this will be unusual, compiling a strict language into call-by-need lambda calculus
<fossy>lmao, yes
<fossy>idd you have particular implementations of lazy scheme and impure scheme in mind? i've heard of the terms but i can't say i am farmilar with them
<siraben>fossy: Ben Lynn benchmarked his implementation against Miranda (an older implementation of Haskell) https://crypto.stanford.edu/~blynn/compiler/miranda.html
<siraben>lazy scheme is just lazy lambda calculus in Scheme syntax, I think. Impure scheme would have continuations, mutable references, I/O
<siraben>fossy: see https://github.com/siraben/compiler/tree/lispy/descriptions
<fossy>ooh more information!
<fossy>i see the process now, i think
<siraben>Yeah.
<fossy>extremely interesting, i will be following this very closely -- i'll help out where possible but i won't say functional programming is my strong suit by any means, lol
<siraben>Thanks. I would probably need most help on implementing hygienic macro expansion lol
<OriansJ>lots of potential but still no license. And working with unlicensed material has derivative licensing issues as well.
<siraben>I'll email him then
<OriansJ>certainly a priority if we wish to use it or any derivative of it
<OriansJ>and if we wish to continue this route even if he refuses to add a free license; we will have to do a strict https://en.wikipedia.org/wiki/Chinese_wall
<OriansJ>reimplementation
<siraben>i.e. clean room?
<siraben>i would not be able to do that then since I've extensively studied his implementation
<OriansJ>siraben: one team reads the code and write specs and a different team that has never looked at the code writes the implementation.
<OriansJ>from the written specs
<OriansJ>Those that have looked at the code; can't do implementation
<siraben>From his other projects he seems to use GPLv3 a lot so it's likely he'll use it again.
<OriansJ>siraben: let us hope so, otherwise it looks like it'll be alot of work.
<siraben>indeed. Also, his IOCCC version is licensed under CC BY-SA 3.0 https://www.ioccc.org/2019/lynn/hint.html
<OriansJ>siraben: IOCCC code is far from easy to maintain.
<siraben>haha, i guess
<siraben>guessed*
<siraben>I'm not terribly concerned about the licensing atm, moreso the technical aspects.
<siraben>I'll let you know when I get a reply.
<OriansJ>siraben: licensing is my top concern as the technical aspects can be fixed with effort. As otherwise Guix and other Linux Distros will never accept the work.