IRC channel logs

2017-09-07.log

back to list of logs

***vicenteH is now known as Zenton
<mwette>waiting for 26k line module (glib) to compile ...
<mwette>died -- damn
<pmikkelsen>hello guile
<civodul>i was reading the Lisp Machine manual linked from https://news.ycombinator.com/item?id=15185827
<civodul>and thinking how depressing it must have been for rms to move to a Unix-like thing
<amz3>guile-js compiler requires *a lot* of disk space
<amz3>at least 1Go
<amz3>it requires at least 10Go so far
<amz3>20Go
<civodul>amz3: 20G to do what?
<amz3>civodul: to execute: ./guile/meta/uninstalled-env guild jslink main.js -o main.js
<amz3>oh
<amz3>I see I made a mistake in the command
<amz3>sorry!
<amz3>it works actually without a lot of disk space
<amz3>^^'
<civodul>heheh
<ArneBab_>civodul: I thought the same — but then I read in the Unix Haters Handbook that Lisp Machines took half a day to boot → http://simson.net/ref/ugh.pdf
<ArneBab_>(page 26)
<happy_gnu[m]>Half a day..p
<happy_gnu[m]>That probably was fast for the times
<happy_gnu[m]>Wasn't it?
<davexunit>civodul: me too! it was a wise strategy for the health of free software, but sad that the Lisp Machine wasn't practical enough for widespread adoption
<davexunit>I was reading the section about "areas", and I wish we had something like it in Guile
<davexunit>I really really want more ways to influence how memory is allocated for performance optimization.
<davexunit>like I wish my linear algebra types could be allocated from a pool where, as objects of that type are GC'd, the memory is re-used for others.
<avoine>davexunit: that sounds like chez'S Big Bag of Pages : https://www.cs.indiana.edu/~dyb/pubs/bibop.pdf
<civodul>davexunit: areas also caught my attention :-)
<civodul>it's clear that Lisp Machines incorporated a lot of experience
***Zenton is now known as zenton
<davexunit>avoine: oh neat, thanks for sharing that.
<davexunit>civodul: I wonder what wingo would think of such a feature
<davexunit>I don't think it's possible to implement something like pages in userspace
<davexunit>s/pages/areas/
<davexunit>well, I think it's possible to define a type <foo> whose make-foo procedure returned an instance from a shared memory pool, but then you'd need to use a guardian to protect everything from the GC and return items to the pool
<davexunit>I don't know how conducive guardians are to high performance code
<davexunit>soon enough you'd have a userspace garbage collector...
<amz3`>pk ftw!
<amz3`>with unit tests it would be much easier to test!
<amz3`>to debug I mean
<amz3`>ijp: I think I successfully implemented scheme callbacks
<ijp>as in javascript calling scheme code, yes
<ijp>or the other way?
<ijp>I guess this refers to the ffi patch
<ijp>hmm, I'm interested in this issue with the 'rest' parameter. I don't know why showing would be an issue
<ijp>shadowing
<ijp>the only time "real" names should show in code is in arguments to "real" procedures, whereas that let should have just ended up as a continuation
<ijp>ah, I think I know what the problem is, kind of silly really
<ijp>hmm, no
<amz3`>apparently, I can call scheme code from javascript and javascript from scheme ie. it works both ways
<amz3`>but my program doesn't fully run, yet.
<amz3`>I have other bug to squash
<ijp>amz3`: I believe what happens is that in the conversion from tree-il to cps, guile supplies the symbol 'rest as the name for the rest parameter, and I am just blindly copying it
<ijp>cps->bytecode doesn't care about the symbol, just the truthiness, which is what I should do
<ijp>possibly I should update my id representation to include a "raw" option, that doesn't get converted
<amz3`>I am not sure the origin of the bug
<ijp>I think this is it, but I want to clarify a few things before I make a change
<amz3`>sorry, i don't understand that yet
<amz3`>anyway, I am almost done
<amz3`>there is just a bizar bug with the following code:
<amz3`>(define (foo)
<amz3`> (number? (cons 1 2)))
<amz3`>(foo)
<ijp>does it error or give the wrong answer?
<ijp>if it errors, then it's probably just missing. I did make integer? available, but not number? since it wasn't necessary for boot-9, but the same code would work
<amz3`>ok
<amz3`>my webpage is running, but callbacks don't work
<ijp>wingo: are you still at icfp?
<stis>urgh python is horrible
<stis>it's so tide up to non functional programming that it's insane
<happy_gnu[m]>stis: thats interesting, as someone who is learning programming, everyone and everywhere people say learn python first
<stis>it's basic design is to mutate, like the for loop.
<stis>Also functional languages makes sure to use tail position, returning from non tail positions means that you net let/ec and that's extra work
<happy_gnu[m]>I felt a little lost with it
<stis>taht is not needed
<happy_gnu[m]>I didn't like that everything I had to do import. I said I want to actually learn not just import everything :/
<stis>this mutating frenzy measn that delimited continuation is of much lesser value
<happy_gnu[m]>And lists feel so much better and intuitive than arrays
<happy_gnu[m]>I seriously don't understand why people think scheme or lisp is hard
<happy_gnu[m]>It is so intuitive and easy
<happy_gnu[m]>So much more logical
<happy_gnu[m]>Maybe I am just to noob to appreciate what they mean :/
<stis>the beuty of the simplified core language of scheme is amazing, it's really really sound for computing
<stis>the more I work with scheme the more I learn to like it, not so for python
<stis>anyway for loops now works in my python to scheme compiler
<stis>for loops that is
<stis>A much better python (has tail calls) but still way too much mutating and stuff that sous not use tail call positionings
<happy_gnu[m]>I was on reddit on /r/Linux and someone posted this
<happy_gnu[m]>Just looking at thin remembered me why I didn't like those
<happy_gnu[m]> https://www.youtube.com/watch?v=QPZ0pIK_wsc
<happy_gnu[m]>Scheme is so much cleaner and
<happy_gnu[m]>I am just look at it { } if, else if, else { { } } ;
<stis>it's a pity that industry don't get it, only C C++ java C# bleah
<happy_gnu[m]>I don't understand why they say that is for beginners
<daviid>do we have 'serious' figures on how guile performs compared to python?