IRC channel logs

2022-02-04.log

back to list of logs

<sneek>wb chrislck :)
<mwette>sneek: later tell maximed Thanks! The guix/../github hint helped find my error.
<sneek>Will do.
<drakonis>wishlist(?): rewrite the jit in guile and have the ability to go from bytecode to ISA instructions, for that sweet sweet handrolled optimizations
<drakonis>mainly to be able to implement performant code without needing to resort to C, that is.
***sneek_ is now known as sneek
<wingo>sneek: later tell civodul when do you end up working in non-interned symbols??
<sneek>Okay.
<civodul>wingo: re uninterned symbols, i don't usually use them, but i experimented with making module-gensym return uninterned symbol
<wingo>ah.
<wingo>i wonder if we could change to implement marks as (make-variable #f) and only lazily make the gensym if the mark needs to be serialized
<wingo>similarly for other uses of marks internally to psyntax
<wingo>er, of module-gensym i mean
<wingo>the use of module-gensym is pretty weird tbh, in that it doesn't use the lexical idea of what the current module is, which is already threaded through psytnax
<civodul>it was introduced to address reproducibility issues
<civodul>but anyway, i thought that it made little sense to add these symbols to the interned symbol table
<civodul>because by definition they need to be unique
<civodul>but that requires a change to have the assembler let them through
<civodul>wingo: WDYT of https://git.savannah.gnu.org/cgit/guile.git/log/?h=wip-symbol-props ?
<wingo>i think they need to be serializable?
<civodul>they are serializable, you can treat them like regular symbols
<wingo>like, module A provides a macro which modules B and C use, some mark from module A gets embedded in modules B and C, somehow B and C can share info that way
<wingo>not sure exactly how this works but it's something like that iirc
<wingo>so you need to be able to write them out and load as interned symbols afaiu
<wingo>otherwise we could just use strings
<civodul>AFAICS the changes is twofold: (1) use make-symbol instead of string->symbol in module-gensym, and (2) remove the 'interned-symbol?' check at https://git.savannah.gnu.org/cgit/guile.git/tree/module/system/vm/assembler.scm#n1309
<wingo>i really don't want to add the ability to write uninterned symbols, fwiw
<civodul>if strings work, that's even simpler, but i think we need symbols at some point no?
<civodul>yeah, that's the problem
<wingo>if we need symbols then we need them to be interned, that's the whole thing
<wingo>civodul: nice patch :)
<civodul>wingo: let me know if you think it's OK for "main"
<wingo>civodul: lgtm
<civodul>awesome, thanks
<civodul>it doesn't fundamentally change my memory consumption issues, but every bit helps i guess :-)
<attila_lendvai>when guile loads a module, it automatically recompiles its dependencies. is there a way in a loaded guile to reload a module, and its transitive closure of dependencies, where the .scm file got touch since last loading?
<attila_lendvai>s/touch/touched/
<attila_lendvai>my ultimate goal is a geiser experience, where i can reload stuff without restarting
<civodul>attila_lendvai: Guile doesn't track dependencies
<civodul>auto-compilation looks at individuals and that's it
<attila_lendvai>civodul, what i mean is the #:use-module declarations of modules. they are de-facto dependencies.
<civodul>yes, but auto-compilation doesn't take them into accoutn
<civodul>*account
*attila_lendvai binds 'geiser-restart-repl to a key in his emacs
***vijaymarupudi_ is now known as vijaymarupudi
<maximed>civodul,apteryx: (a locally modified version of) guile-eris now supports GNUnet DHT (sent to pukkamustard)!
<sneek>Welcome back maximed, you have 1 message!
<sneek>maximed, mwette says: Thanks! The guix/../github hint helped find my error.
<maximed>so the path to substitutes over GNUnet now is reviewing & testing the substitutes over IPFS+guile-eris patches
<civodul>maximed: woow!
<civodul>now that's impressive
<civodul>what's the URL of scheme-gnunet?
<maximed> https://git.gnunet.org/gnunet-scheme.git
<maximed>There's no dedicated website.
<maximed>And the naming (gnunet-scheme or scheme-gnunet) is rather inconsistent
<maximed>(guile stuff is usually named guile-foo, but there's already a guile-gnunet. GNUnet stuff is named gnunet-foo, but there's already gnunet-guile2)
<maximed>And a package definition can be found at https://issues.guix.gnu.org/53775
<civodul>neat!
<civodul>are you involved with the GNUnet team or is it more of an independent project of yours?
<civodul>maybe i'm too curious :-)
<civodul>anyway i have to finish boring stuff at work but hopefully i'll apply the patch later today
<maximed>It's formally under the umbrella of GNUnet (it's on git.gnunet.org, copyright is assigned -- err, ‘shared’ with GNUnet e.V., I sent a mail to gnunet-developers about whether I could use ‘GNUnet’ in the name and they approved ...)
<maximed>But otherwise, it's in practice an independent project.
<civodul>ah ok
<tohoyn>anybody here using the Atom editor?
<lilyp>was about to ask if it's packaged in #guix before I noticed
<drakonis> http://web.cs.wpi.edu/~jshutt/kernel.html still v. impressive.
<bsima>hm, looks similar to bel's 'clo' and 'lit' forms
<drakonis> https://bass-lang.org/ this is kernel written in go with a dash of clojure
<drakonis>mostly inspired, really.
<drakonis>a shame jshutt passed away
<bsima>cd /Users/bsima/org
<bsima>oops
<stis> https://gmplib.org/manual/Factorial-Algorithm
<civodul>stis: heh, interesting!
<stis>I'l try to do some benchmark with ffi