***sneek_ is now known as sneek
<Ikosit>Is it possible to tell guix, that the character ; is just a normal symbol? <Ikosit>sry sometimes i confuse guix and guile :S <Ikosit>leoprikler: That wont work, since i need to write ; back as ; <Ikosit>leoprikler: And also '#{;}# doesn't work <leoprikler>it works for me inside a REPL, but I don't know your constraints <lloda>you can do (string->symbol ";") ? <lloda>but '#{;}# does work for mme <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 <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 <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 <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 <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>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 <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 ; <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 <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 :) <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 <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>whatever works for them, but I really liked that it was written in Scheme <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>added an environment variable :P <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>it defaults to custom allocators iff using mini-gmp <wingo>otherwise you can (when i push a patch) set GUILE_INSTALL_GMP_MEMORY_FUNCTIONS=1 in the env <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>or to just stick to small numbers :-) *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 <davexunit>guile has some decent representation in the lisp game jam that just wrapped up. <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 <zzappie>rekado: Speaking of guix pack --RR, I packaged birb with guix pack and it was like 700+ megs uncompressed <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