IRC channel logs

2017-03-12.log

back to list of logs

<spk121>If it weren't for primitive-fork, they Cygwin port would finally pass the test suite for the first time in years.
<chatter29>hey guys
<chatter29>allah is doing
<chatter29>sun is not doing allah is doing
<chatter29>to accept Islam say that i bear witness that there is no deity worthy of worship except Allah and Muhammad peace be upon him is his slave and messenger
***PuercoPope is now known as PuercoPop
<ryanwatk`>daviid: I tried your suggestions but I still have some issues, I believe it is primarily some makefile stuff, it seems to need to write an info file somewhere? And since I use guixsd, I am not really sure where it should go, I am a slight unix sysadmin noob :D
<amz3>héllo #guile!
<amz3>ryanwatk`: what version of guile do you use?
<amz3>I think chickadee only works withh guile 2.2 \\cc davexunit
<amz3>is it possible to have duck typing using goops?
<amz3>is it possible to do single distch function?
<janneke>amz3: can you clarify, possibly with a minimal [pseudo-code] example
<ryanwatk`>amz3: how can I obtain guile 2.2?
<janneke>ryanwatk`: `guix package -i guile-next' is one way
<ryanwatk`>janneke: but I think the makefile somehow links to another guile, somehow it was trying to compile from site/2.0
<janneke>ryanwatk`: the makefile?
<ryanwatkinz>janneke: I am getting this on make install: /gnu/store/cmddj11fnksfkl3ksranm2dclbiv5jzn-profile/bin/install: cannot create regular file '/home/ryan/.guix-profile/share/info/chickadee.info': Read-only file system
<ryanwatkinz>janneke: presumably I am meant to install in a guix way, there was a guix.scm that I used to make the environment but make install didnt work with this either
<janneke>ryanwatkinz: don't you want something like:
<janneke>guix package -f guix.scm
<janneke>or
<janneke>guix package -f guix.scm --with-input=guile=guile-next
<ryanwatk`>janneke: I will try that, one sec :D
<ryanwatk`>janneke: god I really have problems copy pasting stack traces from gnu screen :'(
<amz3>janneke: goops can do it I guess, basically what I want is to use both assoc and generic methods
<janneke>amz3: what i've been doing a lot is something like
<amz3>like?
<janneke>(define (foo o) (match o (($ <bar>) ...) (($ <baz> ..))))
<amz3>ok
<amz3>I forgot about that feature of match
<janneke>not sure if that's what you mean, still guessing here ;-)
<amz3>basically yes, but I don't want to write the match myself...
<amz3>I will make a pseudo code
<janneke>hmm, i'd like to chat with paroneayea about this some time
<janneke>having one big procedure with a big, manual, still possibly incomplete matcher is not nice
<janneke>but having many separate small methods is also not always great
<amz3>ACTION agrees
<amz3>What I want actually to do, is to be able to work with multiple backends in my database library
<amz3>that's why I think about generic and dispatch stuff
<amz3>in Python, I would have used monkey patching for sure
<amz3>ACTION code to strach some pseudo python guile code
<amz3>s/monkey patching/duck typing/
<amz3>janneke: http://dpaste.com/2NJ3R9P
<amz3> http://paste.lisp.org/display/341271
<amz3>(define database (sf:open "memory://"))
<amz3>it's like sqlite, you can change it to:
<amz3>(define database (sf:open "file:///var/sf/"))
<amz3>btw my database doesn't implement the unify thing yet
<amz3>I think I only need to inherit from a common class, I don't need duck typing actually
<amz3>unfiy does complete the assoc using what is found in the database
<amz3>it returns a list of the assoc that match the pattern you provided
<amz3>right now i know only how to do exact match but it would be fun to be able to provide a predicate procedure to filter the output according to some heuristic
<janneke>amz3: i looked but the code confuses me; no functions only values
<janneke>sorry
<amz3>there is no definition, it's how i want the final code to look like
<stis>Heya guilers!
<amz3>o/
***dje_ is now known as xdje
<ArneBab>to give a perspective on progress with Lilypond: It now changed from "it does not work at all and might be purged from distros" to "it’s slower by factor 4 but it fully works"
<holomorph>so it's better than guilemacs now? >:)
<ArneBab>yes
<ArneBab>it actually works for general work for most users
<ArneBab>I just wrote a mail to guile-user with more details.
<ArneBab>because I think this is important
<holomorph>great
<random-nick>are variable object GCed?
<wingo>good evening
<stis>evening !
<janneke>ArneBab: saw your mail, have indeed the guile-2.0 smob/stability problems been solved?!
<janneke>very exciting news!
<ArneBab>janneke: thus say the Lilypond people
<ArneBab>janneke: I can compile my old infinite-hands lilypond file again, and they compile 300 page books with it
<janneke>ArneBab: that's amazing.
<ArneBab>the main remaining problem seems to be that with Guile 2.x lilypond is up to factor 4 slower. But that’s to be expected given that it was optimized for the performance model of Guile 1.8
<ArneBab>so I hope they’ll be able to take advantage of Guile 2.2 features bit by bit
<janneke>ACTION reads Thomas Morley's mail
<janneke>ArneBab: yes, well shipping without .go files would make it slow
<janneke>guile 2.1 should show quite some performance improvement
<ArneBab>and Guile itself already ships with .go files for different platforms, so the problem is pretty much solved (speaking as the mathematician I am not).
<janneke>ArneBab: i have no idea whether compiling lilypond .go files is trivial or has some technical problems to be solved...
<ArneBab>I’m sure it’s not trivial (few things are trivial with large programs which weren’t designed for them), but it looks like the problems are not conceptual (without a known path forward).
<ArneBab>ecraven: with Guile 2.1.8 likely the last release before 2.2, could you update your benchmarks again? http://ecraven.github.io/r7rs-benchmarks/benchmark.html
<ArneBab> https://lists.gnu.org/archive/html/guile-devel/2017-03/msg00061.html
<ArneBab> http://alpha.gnu.org/gnu/guile/guile-2.1.8.tar.gz
<ArneBab> http://alpha.gnu.org/gnu/guile/guile-2.1.8.tar.gz.sig
***dje is now known as xdje