IRC channel logs


back to list of logs

***xieyuheng_ is now known as xyh
<guile-guest6>hello, anyone here?
***xyh is now known as xieyuheng
***holomorph is now known as lolomorph
***lolomorph is now known as holomorph
<paroneayea>hello, *
***xieyuheng is now known as demon-hunter
***demon-hunter is now known as xieyuheng
<amz3>héllo guilers
<amz3>héllo ijp, glad your are back
<amz3>ijp: do you plan on working again on guile javascript backend?
<amz3>I would be very glad If you can share some of your knowledge of the javascript backend so that I can hack myself
<amz3>it even possible to make it work?
***mjl_ is now known as mjl
<weitzelb>yes, hello!
***Fuuzetsu is now known as Guest70286
***xieyuheng_ is now known as xieyuheng
***Shozan is now known as SHODAN
<paroneayea>ACTION finally looks up what a property list is
<paroneayea>I heard sussman say in a recent talk that he doesn't use records with slots as often as property lists in a lot of his live coding
<paroneayea>so I guess that's a list like '(key1 val1 key2 val2)
<davexunit>pretty old school
<paroneayea>but you mutate it
<davexunit>didn't know about the mutation part
<paroneayea>it's not append-based like alists are
<paroneayea>I suppose you could also return new alists
<paroneayea>rather than mutate it
<paroneayea>constructed from the old ones
<paroneayea>but anyway, you don't just keep appending to the head of it
<paroneayea>I also noticed they were mentioned as for how information about symbols was stored in the 1960s lisp manual
<paroneayea>interesting stuff
<paroneayea>well, interesting to me :)
<civodul>it lends itself well to live coding because it's unstructured
<civodul>but it's kinda annoying and error-prone because it's unstructured :-)
<davexunit>I'd like to be able to redefine a record type at the REPL without breaking everywhere I've used the record prior
<davexunit>it's not a huuuuge problem, but it would be cool.
<rain1>would that be possible if it was a GOOPS object instead of a record?
<davexunit>maybe, not sure.
<davexunit>but I don't want to use GOOPS.
<civodul>currently GOOPS is the only way to do that
<paroneayea>8sync itself does not use GOOPS
<paroneayea>but I'm porting the python actor model I wrote to 8sync as a sub-system
<paroneayea>and I figured I'd try writing that optional subsystem with GOOPS (it's pretty OOP based anyway, because that's what kind of actors I was writing)
<paroneayea>I'm kinda liking it :)
<paroneayea>it's more fun than python objects.
<paroneayea>ACTION also used match-lambda for the first time today!
<civodul>i think GOOPS has become the thing several of us like to hate ;-)
<paroneayea>so watching that recent Sussman lecture: I'm not sold by Sussman by property lists :)
<paroneayea>I am sold by Sussman on a mutable toplevel + generic methods
<paroneayea>and GOOPS seems like the best thing we have for that... and it's compatible with records anyway, so
<civodul>yeah, a live system needs some sort of an upgrade protocol for records
<civodul>and GOOPS provides that
<civodul>wingo made a live programming demo a couple of years ago at FOSDEM that wouldn't have been possible without this facility
<civodul>"bitter", it was called :-)
<civodul>hmm this one doesn't have GOOPS in it
<paroneayea>maybe #guile would hate GOOPS less if someone wrote an "immutableish goops" library similar to the immutable records one :)
<paroneayea>in other words, technically the fields rearrange with live coding as the GOOPS structures change
<paroneayea>but you have functional setters
<civodul>but it's tricky
<civodul>when you redefine <foo>, you need to rewire existing instances of the old <foo> to the new one
<civodul>possibly with a different layout, a different set of fields, etc.
<civodul>GOOPS does that very well
<fhmgufs>Hello! Can you give me a simple example of an extension (module) for Guile written in C?
<fhmgufs>Sorry, I don't just mean a tutorial, but a real world code example, is there something?
<rain1>sorry that was wrong link
<fhmgufs>Ok, thanks anyway!
***Fuuzetsu is now known as Guest78801
***civodul changes topic to 'Welcome to #guile. See for more information. This channel is logged, see <>. Bug database at <>.'
***civodul changes topic to 'Welcome to #guile. See for more information. This channel is logged, see <>. Bug database at <>.'
<civodul>https everywhere :-)
<jmd>Nor any drop to drink!
<jmarciano>is there any possibility or function in Guile, to show the source code being executed at the time?
<sneek>Welcome back jmarciano, you have 1 message.
<sneek>jmarciano, daviid says: instead of upmf, you may look at guildhall
<jmarciano>while: guildhall is comparable to cpan for particular language, upmf is more comparable to apt-get or guix as general package manager. But I am certainly pulling guildhall
<jmarciano>I cannot believe that guildhall have overwritten the guild
<jmarciano>not sure
<jmarciano>guild shows me no packages even with update. strange
<daviid>jmarciano: you need to configure it, look for a wki or something...
<jmarciano>I configured it as per git instructions. But don't we have all guild in guile?
<daviid>jmarciano: guildhall does not compare with guix, it is a package manager for pure scheme, actually pure guile scheme code. if you need package management with external dependencies and all., then guix...
<jmarciano>guildhall is just for guile, so it says, yes
<jmarciano>while upmf was for everything
<jmarciano>do you use it?
<jmarciano>as if you do use it, how do you cope with guild to overwrite the guild?
<daviid>jmarciano: you need to add/edit ~/.config/guildhall/config.scm
<daviid>in this fle add arepo for guild to look at, for example
<daviid>then a destination of package installation, for example
<daviid>(destination shift-reset (fhs "/opt"))
<daviid>then do
<daviid>guild update
<daviid>guild update
<daviid>* guild list-packages, guild install pfds [for example...]
<ijp>davexunit: how do you "modularise" in haunt?
<ijp>I have a some files that are not really "posts", and that I want to read and build in a particular way
<ijp>e.g. project pages on a site should be handled differently from blog posts
***karswell` is now known as karswell