IRC channel logs

2021-04-26.log

back to list of logs

***sneek_ is now known as sneek
<Ikosit>Hi guile! :)
<Ikosit>Is it possible to tell guix, that the character ; is just a normal symbol?
<Ikosit>s/guix/guile
<Ikosit>sry sometimes i confuse guix and guile :S
<leoprikler>Ikosit: '#{,}#
<leoprikler>s/,/;/
<Ikosit>leoprikler: That wont work, since i need to write ; back as ;
<leoprikler>do something clever with symbol->string?
<Ikosit>leoprikler: And also '#{;}# doesn't work
<Ikosit>(It works with the r7rs syntax)
<leoprikler>it works for me inside a REPL, but I don't know your constraints
<rekado>do you want to write comments?
<lloda>you can do (string->symbol ";") ?
<lloda>but '#{;}# does work for mme
<p0a>hey all
<p0a>Has the Guile project considered providing a cmake module for guile?
<p0a>I'm thinking of attempting to submit a PR that does that. Since guile-config is available, it shouldn't be hrad
<p0a>s/hrad/hard
<lloda>I use https://github.com/stevengj/nlopt/blob/master/cmake/FindGuile.cmake
<lloda>is that what you mean?
<lloda>there are several versions floating around don't know which is the reference one
<lloda>it would be nice if that came with the package and you didn't have to search for it
<p0a>lloda: I was just reading the cmake tutorial on writing stuff like that and I can't tell you I completely understand what I'm looking at
<p0a>but the /opt/local/lib path makes me think this is unix only
<lloda>hmm
<p0a>although guile-config is used in that find module and /that/ should be OS-agnostic
<lloda>i have tested that on debian and mac os
<lloda>cannot say about windows
<p0a>"Search the paths specified by the HINTS option. These should be paths computed by system introspection, such as a hint provided by the location of another item already found. Hard-coded guesses should be specified with the PATHS option."
<p0a>So it appears that since it does not exist on Windows, it will simply be ignored. However, it still should be a PATHS not a HINTS. I agree it would be nice to have it included with Guile
<lloda>i think it should be included with cmake tbh
<p0a>someone told me it should be included with guile because cmake can't maintain those
<p0a>and guile is already doing maintanance of guile-config (which is the key ingredient)
<lloda>they only have to accept patches :-\ they already maintain other languages. Their call I suppose
<p0a>This has an OpenCog copyright with BSD license however. What does that mean in terms of me modifying it and submitting it as a PR?
<lloda>you keep their notice and you're good to go iiuc
<p0a>Gotcha, thanks
<lloda>i think it would work better if included with cmake since then it's enough for you to do find_package(Guile), that's it. If it comes with Guile then you still have to tell cmake where to find the module
<lloda>which defeats the purpose somewhat
<p0a>Guile would test if cmake is installed and if so install it in the right path, cmake provides a mechanism for libraries to do that
<p0a>according to what I've understood from conversations
<flatwhatson>It works basically like pkg-config, you just put your .cmake in the right location.
<flatwhatson>Though it's somewhat redundant if you're already supplying a .pc, calling pkg-config from cmake is trivial.
<flatwhatson>What would be really nice is adding cmake helper functions for compiling and installing Guile packages to the correct paths.
***zap1 is now known as zzappie
<p0a>flatwhatson: so cmake should have helper functions for libraries? Is that what you mean?
<flatwhatson>Here's mine from last time I played with it: https://paste.gnome.org/pnp7824i5
<flatwhatson>Idea was to extend GNUInstallDirs with some guile-specific paths, GUILE_INSTALL_SITE_DIR and GUILE_INSTALL_SITE_CCACHE_DIR
<flatwhatson>These could be used with some guild incantations and cmake's install() to do the right thing
<p0a>flatwhatson: does this work on windows?
<p0a>I can't test because I don't have windows but I'm curious if you know
<p0a>For example (display (version)) ==> 3.0.1 but my guile is under guile/3.0/
<p0a>seems to be an issue
<flatwhatson>No idea about Windows! It's only using (version) for the version check, (effective-version) is for the install path
<p0a>Oh yes, I missed it
<Ikosit>rekado: I want to extend the syntax of kmonad, which uses a lispy syntax
<Ikosit>(kmonad is a tool for remapping keys on linux)
<Ikosit>And its syntax uses a single ; for the key ;
<leoprikler>IOW you want to read kmonad files with Guile?
<chrislck>knomad uses haskell, not guile
<leoprikler>haskell-on-guile when? :P
<rekado>yale-haskell is a bit dated, but it’s implemented in a Scheme-like DSL on top of Common Lisp
<chrislck>who's raising their hand for lisp on lisp then
<leoprikler>See also: Lokke, Emacs Lisp in Guile
<Ikosit>chrislck: I know, my program is more also more like m4
<Ikosit>chrislck: But i would really like to turn the lispy config syntax in guile :)
<dsmith-work>Morning Greetings, Guilers
<wingo>hey ppl that track perf-related things -- if you see anything weird over past week or two either in compile time or run time, do let me know (cc manumanumanu, lloda)
*wingo about to push a couple more things
<lloda>check
<wingo>compiled file size also
<dsmith-work>Ikosit: is kmonad related to Xmonad?
<Ikosit>dsmith-work: No
<Ikosit>The only similarity is that both are written in haskell
<dsmith-work>Ok. Was thinking it might be a companion app or something. (becaue both haskell)
<wingo>just took a look on the microbenchmarks and things are mostly neutral for the module call changes and even the cross-module inlining
***DadeBonetti1 is now known as DadeBonetti
<rekado>I’m a little bit disappointed to see that libfive was ported from Scheme to C++ to add Python bindings: https://news.ycombinator.com/item?id=26943176
<rekado>whatever works for them, but I really liked that it was written in Scheme
<davexunit>rekado: that's a bummer :(
<leoprikler>rekado: The version that's packaged in Guix already has C++, did I miss something?
<wingo>yaaarrrrrrrgh, investigating a slowdown in a bignum-heavy benchmark -- of course it was the gmp malloc change that is causing the slowdown
*wingo was pulling hair looking for compiler slowdowns
<wingo>that was it
<wingo>added an environment variable :P
<civodul>wingo: oh! what sort?
<wingo>just that if you build against external gmp, anything that uses bignums gets slower
<civodul>d'oh, how come? it no longer defaults to custom allocators?
<wingo>right
<civodul>d'oh!
<civodul>i missed that
<wingo>it defaults to custom allocators iff using mini-gmp
<civodul>oh right, ok
<civodul>yes, that's the safe choice
<wingo>otherwise you can (when i push a patch) set GUILE_INSTALL_GMP_MEMORY_FUNCTIONS=1 in the env
<wingo>but, irritating.
<civodul>yeah, it's annoying that we have to make such a choice
<wingo>well, another reason to rewrite using mpn rather than mpz
<civodul>it's like: slower bignum allocations, or slower bignum operations
<civodul>yes
<civodul>or to just stick to small numbers :-)
<wingo>lol ;)
*civodul tries "guix build guix --with-input=guile@3.0.5=guile-next --with-branch=guile-next=master"
*wingo dissuades self from merging the cross-module inlining stuff.... for now :P
<wingo>night!
<civodul>heh, night wingo!
<davexunit>guile has some decent representation in the lisp game jam that just wrapped up.
<davexunit> https://itch.io/jam/spring-lisp-game-jam-2021/entries
<davexunit>dystopia.el, birb, and the test subject (mine) are all made with guile
<rekado>davexunit: I wanted to try “the test subject” but I get this: ./launch-game: line 10: /home/rekado/Downloads/the-test-subject/bin/guile: No such file or directory
<rekado>oh, I think I’ll need to install /lib64/ld-linux-x86-64.so.2
<rekado>perhaps you could have used “guix pack -RR”
<rekado>hmm, even after creating the loader link I get errors: /home/rekado/Downloads/the-test-subject/bin/guile: error while loading shared libraries: libffi.so.7: cannot open shared object file: No such file or directory
*rekado notices all the comments there
<civodul>davexunit, leoprikler: neat!
<civodul>rekado: it's not a pack?
<zzappie>rekado: Speaking of guix pack --RR, I packaged birb with guix pack and it was like 700+ megs uncompressed
<zzappie>thats a lot :D
<leoprikler>that's twice the size of dystopia.el
<civodul>thumbs up to you too zzappie
<leoprikler>or wait, does "uncompressed" mean after unpacking the tarball?
<civodul>"guix size guile guile-chickadee | tail -1" says 258 MiB
<civodul>but i guess it depends on the additional dependencies you pull in
<zzappie>civodul: The game was written by my friend - torkut. I only helped with packging so far...
<zzappie>leoprikler: right, its 180mb compressed
<leoprikler>Phew
<civodul>zzappie: ah ok