Re: GNU Guile 2.2.0 released

2017-03-16 Thread Ludovic Courtès
Hello! Andy Wingo skribis: > We are delighted to announce GNU Guile release 2.2.0, the first of a > new stable release series. > > More than 6 years in the making, Guile 2.2 includes a new optimizing > compiler and high-performance register virtual machine. Compared to > the old 2.0 series, rea

Re: GNU Guile 2.2.0 released

2017-03-18 Thread Ludovic Courtès
Jean Louis skribis: > There is mistake with the link 2.2.0: > https://www.gnu.org/software/guile/download/(string-append%20https://ftp.gnu.org/gnu/guile/guile-%20(latest-guile-version)%20.tar.gz) Fixed: https://git.savannah.gnu.org/cgit/guile/guile-web.git/commit/?id=f46a5d7ebbad36d005c36aaf

Re: RFC: (ice-9 sandbox)

2017-03-31 Thread Ludovic Courtès
Hello! Andy Wingo skribis: > Any thoughts? I would like something like this for a web service that > has to evaluate untrusted code. Would be nice! > (define (call-with-allocation-limit limit thunk limit-reached) > "Call @var{thunk}, but cancel it if @var{limit} bytes have been > allocated.

Re: RFC: (ice-9 sandbox)

2017-03-31 Thread Ludovic Courtès
Andy Wingo skribis: > On Fri 31 Mar 2017 13:33, l...@gnu.org (Ludovic Courtès) writes: [...] >>> ;; These can only form part of a safe binding set if no mutable >>> ;; pair is exposed to the sandbox. >>> (define *mutating-pair-bindings* >>> '

Re: "guix potluck", a moveable feast

2017-04-01 Thread Ludovic Courtès
Hello! Andy Wingo skribis: > As an interlude, here is how a user would enter an environment that has > a potluck package "foo" using Guix (using a pack is also possible). We > start with setup steps: > > (1) Install Guix as a user. (This needs to be easier.) > (2) guix channel add potluck

Re: "guix potluck", a moveable feast

2017-04-02 Thread Ludovic Courtès
Chris Marusich skribis: > l...@gnu.org (Ludovic Courtès) writes: > >> Beside, related to Chris’ comment, I’m a bit concerned about versioning >> in such a widely distributed repo. The package graph in Guix has zero >> degrees of liberty: every package is connected

Re: RFC: (ice-9 sandbox)

2017-04-03 Thread Ludovic Courtès
Andy Wingo skribis: > On Fri 31 Mar 2017 23:41, l...@gnu.org (Ludovic Courtès) writes: > >> Andy Wingo skribis: >> >>> On Fri 31 Mar 2017 13:33, l...@gnu.org (Ludovic Courtès) writes: >> >> [...] >> >>>>> ;; These can only form part

Re: "guix potluck", a moveable feast

2017-04-04 Thread Ludovic Courtès
Hey! Andy Wingo skribis: > On Sun 02 Apr 2017 01:05, l...@gnu.org (Ludovic Courtès) writes: > >> Andy Wingo skribis: >> >>> (1) Install Guix as a user. (This needs to be easier.) >>> (2) guix channel add potluck https://gitlab.com/potluck/potluck

Re: RFC: (ice-9 sandbox)

2017-04-14 Thread Ludovic Courtès
Hi! Andy Wingo skribis: > On Mon 03 Apr 2017 17:35, l...@gnu.org (Ludovic Courtès) writes: > >> Riastradh’s document at <http://mumble.net/~campbell/scheme/style.txt> >> has this: >> >> Affix asterisks to the beginning and end of a globally mutable >&

Compiler memory consumption

2017-05-16 Thread Ludovic Courtès
Hello! Attached is a stripped-down version of Guix’s build-aux/compile-all.scm, and here is the gcprof output I get while compiling gnu/packages/python.scm, which defines 841 package objects (structs) with 5 times more thunks of the form (lambda () value): --8<---cut here-

Re: Compiler memory consumption

2017-05-16 Thread Ludovic Courtès
Heya, Andy Wingo skribis: >> Also, for reference, loading python.go peaks at 315M RSS: >> >> $ \time ./pre-inst-env guile -c '(use-modules (gnu packages python))' >> 0.18user 0.02system 0:00.18elapsed 112%CPU (0avgtext+0avgdata >> 315648maxresident)k >> 0inputs+0outputs (0major+7784minor)pagefa

Re: Including sjson (formerly (ice-9 json)) and fash.scm in guile proper?

2017-06-03 Thread Ludovic Courtès
Hello! (A bit late, but hey!) Christopher Allan Webber skribis: > So: > - Are Guile's developers open to having an (ice-9 fash) module? > - And should I submit (ice-9 json), with my changes? FWIW I’m definitely in favor of (ice-9 json), especially if the #nil hack has disappeared. :-) I’m

Re: Static linking of Guile extensions

2017-09-08 Thread Ludovic Courtès
Hi Maxim, Maxim Cournoyer skribis: > scheme@(guile-user)> (use-modules (ice-9 readline)) > While compiling expression: > ERROR: In procedure dynamic-link: file: "libguilereadline-v-18", message: > "file not found" You could patch Guile to link guile-readline/*.lo into libguile-2.2.la (which wo

Re: What's required to include sxml->html?

2017-09-08 Thread Ludovic Courtès
Hi Amirouche, Amirouche skribis: > What's required to include sxml->html inside guile? At least tests and documentation, similar to what we have for all the other modules. I agree it would be useful! Ludo’.

Re: Compiler memory consumption

2017-09-12 Thread Ludovic Courtès
Hello, This is a followup to the compiler issue, this time focusing on execution time, trying to see why the compiler takes so long to compile gnu/packages/*.scm, which should be trivial. As a test bed, I built this from the Guix tree: GUILE_LOAD_COMPILED_PATH=$PWD guild compile \ -L $PWD

Weak tables harmful to GC?

2017-09-17 Thread Ludovic Courtès
Hello, l...@gnu.org (Ludovic Courtès) skribis: > Total time: 66.515425859 seconds (31.859444991 seconds in GC) So, more investigation on the GC side… ‘perf’ shows a profile like this: --8<---cut here---start->8--- 12.33% guilelibgc

Simplifying revealed ports

2017-10-11 Thread Ludovic Courtès
Hello, While debugging , I was surprised to see that revealed ports were not GC’d at all. The manual suggests otherwise (info "(guile) Ports and File Descriptors"): If a port’s revealed count is greater than zero, the file descriptor will not be closed when the po

Re: Weak tables harmful to GC?

2017-10-21 Thread Ludovic Courtès
Hello! l...@gnu.org (Ludovic Courtès) skribis: > All in all, given that these issues are very likely causes of the > execution time and memory consumption issues that plague the compiler > (where we have huge symbol and source property tables), I’m in favor of > switching bac

Re: Weak tables harmful to GC?

2017-10-22 Thread Ludovic Courtès
Hi Chris, Thanks for your support. :-) Christopher Allan Webber skribis: > + else > +{ > + /* The move to BDW-GC with Guile 2.0 introduced some bugs > + related to weak hash tables, threads, memory usage, and the > + alloc lock. We were unable to

Re: Weak tables harmful to GC?

2017-10-24 Thread Ludovic Courtès
Christopher Allan Webber skribis: > Ludovic Courtès writes: > >> Also, it no longer displays the pathological behavior shown in >> <https://bugs.gnu.org/28590>. >> >> Of course, even better if people could test the two patches and confirm >> that it

Re: Weak tables harmful to GC?

2017-10-25 Thread Ludovic Courtès
Christopher Allan Webber skribis: > Ludovic Courtès writes: > >> Christopher Allan Webber skribis: >> >>> Ludovic Courtès writes: >>> >>>> Also, it no longer displays the pathological behavior shown in >>>> <https://bugs.gnu.org/28

Re: Compiler memory consumption

2017-10-25 Thread Ludovic Courtès
Hello, An update on this… l...@gnu.org (Ludovic Courtès) skribis: > This is a followup to the compiler issue, this time focusing on > execution time, trying to see why the compiler takes so long to compile > gnu/packages/*.scm, which should be trivial. > > As a test bed, I buil

Re: Simplifying revealed ports

2017-10-25 Thread Ludovic Courtès
l...@gnu.org (Ludovic Courtès) skribis: > While debugging <https://bugs.gnu.org/28784>, I was surprised to see > that revealed ports were not GC’d at all. The manual suggests otherwise > (info "(guile) Ports and File Descriptors"): > > If a port’s revealed count

Re: Weak tables harmful to GC?

2017-10-26 Thread Ludovic Courtès
Hello! Here’s an updated patch set (tested on top of 1008ea315483d1fb41b2a8c10680e511238836d0). Let me know if things still go wrong. Thanks, Ludo’. >From a301af4f03377c6eabf663df8eeabf6db5e3950a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 21 Oct 2017 16:18:39

Re: Weak tables harmful to GC?

2017-10-26 Thread Ludovic Courtès
Hi Ricardo, Ricardo Wurmus skribis: > I tried building Guile with the following Guix package definition: > > (define-public guile-2.2-awesome > (package (inherit guile-2.2) > (name "guile-awesome") > (source (origin (inherit (package-source guile-2.2)) >(patches (list > "/home

Re: Weak tables harmful to GC?

2017-10-26 Thread Ludovic Courtès
Hi, Ricardo Wurmus skribis: > BOOTSTRAP GUILEC language/tree-il/primitives.go > /gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash: > line 6: 30173 Killed GUILE_AUTO_COMPILE=0 ../meta/build-env > guild compile --target="x86_64-unknown-linux-gnu" -O1 -L

Re: Weak tables harmful to GC?

2017-10-30 Thread Ludovic Courtès
Hi Ricardo, Ricardo Wurmus skribis: > In language/tree-il/analyze.scm: > 1053:33 3 Exception thrown while printing backtrace: > ERROR: In procedure assq: Wrong type argument in position 2 (expecting > association list): ((system base pmatch) car . #f) > > ice-9/boot-9.scm:760:25: In procedur

Re: Compiler memory consumption

2017-10-30 Thread Ludovic Courtès
Hello, Andy Wingo skribis: > On Wed 25 Oct 2017 19:42, l...@gnu.org (Ludovic Courtès) writes: > >> In short, compiling the top-level thunk is what’s killing us, because >> the space and time complexity is proportional to the number of labels >> therein. >> >>

Re: Weak tables harmful to GC?

2017-10-30 Thread Ludovic Courtès
Hi, Ricardo Wurmus skribis: > previously I wrote: > >> The “guile-awesome” package finished compiling (after about 46 minutes). >> I’m now testing “guix pull” with a version of Guix that uses >> “guile-awesome”. > > I’m sure I’m doing something wrong (see below for guesses). Here’s what > I get

Re: Weak tables harmful to GC?

2017-10-30 Thread Ludovic Courtès
Hi Andy, Andy Wingo skribis: > As discussed on IRC, what do you think of this patch? It preserves the > thread-safety properties of weak tables and just adapts them to be > bucket-and-chain tables. Let me know how it works for you. That was fast! The code certainly looks nicer than the old e

Re: Weak tables harmful to GC?

2017-10-31 Thread Ludovic Courtès
Heya! Andy Wingo skribis: > On Tue 31 Oct 2017 00:13, l...@gnu.org (Ludovic Courtès) writes: > >> I built libguile with the patch (I haven’t yet taken the time to rebuild >> all of Guile). It works, but unfortunately it still shows quick growth >> of the heap

Re: Website translations with Haunt

2017-12-14 Thread Ludovic Courtès
Hi! "pelzflorian (Florian Pelz)" skribis: > I want to ask for your thoughts on my new solution since translations > are probably important to many Haunt users. In particular, I believe > there was some discussion on Website translation on the Guile or Guix > lists as well. I’d love those sites

GNU Guile 2.2.4 released

2018-07-02 Thread Ludovic Courtès
ic key, then run this command to import it: gpg --keyserver keys.gnupg.net --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5 and rerun the 'gpg --verify' command. This release was bootstrapped with the following tools: Autoconf 2.69 Automake 1.16.1 Libtool 2.4.6 Makeinfo 6.5 Gnulib

Re: guile 3 update, june 2018 edition

2018-07-02 Thread Ludovic Courtès
Hello! Andy Wingo skribis: > The news is that the VM has been completely converted over to call out > to the Guile runtime through an "intrinsics" vtable. For some > intrinsics, the compiler will emit specialized call-intrinsic opcodes. > (There's one of these opcodes for each intrinsic functio

Re: crashes with Fibers

2018-07-02 Thread Ludovic Courtès
Hello Clément, Clément Lassieur skribis: > ;; bad > (define (test4) > (run-fibers >(lambda () > (spawn-fiber > (lambda () > (let ((channel (make-channel))) > (call-with-new-thread >(lambda () > (p

Re: bug#22608: Module system thread unsafety and .go compilation

2018-07-03 Thread Ludovic Courtès
Hello, taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis: > To speed up the compilation of the many Scheme files in Guix, we use a > script that first loads all modules to be compiled into the Guile > process (by calling 'resolve-interface' on the module names), and then > the corr

GNU Guix Days before FOSDEM

2018-08-24 Thread Ludovic Courtès
Hello! Pjotr Prins skribis: > If you intend to come and/or want to speak please add your name and > proposed title to the new page at > > https://libreplanet.org/wiki/Group:Guix/FOSDEM2018 > > Alternatively, reply here or mail me privately so we can keep a tally. The real URL is: https://l

Re: FOSDEM 2019

2018-08-29 Thread Ludovic Courtès
Heya, Christopher Lemmer Webber skribis: > I added a talk topic: "A Guiler's Year of Racket". I think there's a > lot we could learn from our fellow friends in Racket-land, and I'd like > to share some of that! I’d be very interested in listening to it! Ludo’.

Re: guile 3 update, september edition

2018-09-17 Thread Ludovic Courtès
Hello! Andy Wingo skribis: > This is an update on progress towards Guile 3. In our last update, we > saw the first bits of generated code: > > https://lists.gnu.org/archive/html/guile-devel/2018-08/msg5.html > > Since then, the JIT is now feature-complete. It can JIT-compile *all* > code

Re: guile 3 update, september edition

2018-09-18 Thread Ludovic Courtès
Hello, Andy Wingo skribis: > On Mon 17 Sep 2018 11:35, l...@gnu.org (Ludovic Courtès) writes: > >>> The threshold at which Guile will automatically JIT-compile is set from >>> the GUILE_JIT_THRESHOLD environment variable. By default it is 5. >>> If you

Re: GNU Guix Days before FOSDEM

2019-01-05 Thread Ludovic Courtès
Hello, Pjotr Prins skribis: > We have an exciting program for the minimalism devroom at FOSDEM, see > > https://fosdem.org/2019/schedule/track/minimalistic_languages/ > > We also have two GNU Guix days before FOSDEM. The idea is to break out > into working groups during those two days. I have

Re: GNU Guix Days before FOSDEM

2019-01-08 Thread Ludovic Courtès
Hello! zimoun skribis: > At Paris' Guix' meeting in December, I really enjoyed the after lunch > session: quick demo about tools. > Janneke showed how they uses Emacs as Window Manager. > Ricardo showed some tricks with git-worktree. > Ludo showed guile-guix stuff---I do not remember well. > > R

Re: FOSDEM 2019

2019-02-04 Thread Ludovic Courtès
Hello Mikael! Mikael Djurfeldt skribis: > It was a great experience and joy for me to meet some of you at FOSDEM > 2019. Thank you all! Seconded, that was awesome! Meeting Guilers, both newcomers and old-timers :-), was just great! > Everyone who works with Guile knows that it's crap and look

Re: FOSDEM 2019

2019-02-05 Thread Ludovic Courtès
Hi, Amirouche Boubekki skribis: > What does it mean in practice? What are the tasks that must dealt with? Like I wrote, an immediate task is to write a Racket importer for Guix¹ and to actually package things. Next, we could ensure the subset of these packages that use #r6rs can also be used a

Re: FOSDEM 2019

2019-02-06 Thread Ludovic Courtès
Nala Ginrut skribis: > Does it mean someone is working on writing Racket specific dialect > front-end on Guile? I appreciate! Nope! Actually Chris Webber raised the issue of collaboration between Racket and Guile in their talk, which is why we’re discussing it. But Guile is still Guile and the

Re: Cross-compiling guile libraries

2019-03-23 Thread Ludovic Courtès
Hi Mathieu, Mathieu Othacehe skribis: > Even if guild has a "target" option allowing to cross-compile sources, > autotools does not seem to have support for guile > cross-compilation. For instance, passing "--host=aarch64-linux-gnu" to > configure script doesn't set the "target" argument of guil

Releasing 2.2.5?

2019-06-06 Thread Ludovic Courtès
Hello comrades! What would you think of releasing ‘stable-2.2’ as 2.2.5? It’s great if you can do it, Mark, but otherwise I can do it. Thanks, Ludo’.

Re: Immediate doubles (up to 2^256) and rationals coming to Guile 3

2019-06-07 Thread Ludovic Courtès
Hi Mark, Mark H Weaver skribis: > I've found a way to efficiently support both immediate IEEE binary-64 > doubles up to ~1.158e77 (with larger ones transparently allocated on the > heap), and also immediate exact rationals with up to 54 binary digits > (~16 decimal digits), without restricting t

Re: Immediate doubles (up to 2^256) and rationals coming to Guile 3

2019-06-11 Thread Ludovic Courtès
Hello, Mark H Weaver skribis: > Ludovic Courtès writes: [...] >> IIUC, your plan is to have a different tagging on 32-bit platforms, >> without fixflos, right? I’m curious to see how much complexity would >> entail from that. > > Yes, although I'm avoiding

Re: Immediate doubles (up to 2^256) and rationals coming to Guile 3

2019-06-11 Thread Ludovic Courtès
Hi, Mark H Weaver skribis: > Ludovic Courtès writes: >> Though an immediate, like a fixnum or an iflo, is still something >> different from a tagged heap object like a pair, right? So I would >> expect SCM_THOB_P to be a different test, not a drop-in replacement for

Re: Distributed verification of release tarballs using Guix? (was Re: Releasing 2.2.5?)

2019-06-16 Thread Ludovic Courtès
Hi Mark, Mark H Weaver skribis: > Ludovic Courtès writes: >> What would you think of releasing ‘stable-2.2’ as 2.2.5? > > I think it's a fine idea. Awesome. We’ll have to update NEWS; I can give it a go, but if you could add bullet items for the things you’ve worked

Re: Distributed verification of release tarballs using Guix? (was Re: Releasing 2.2.5?)

2019-06-17 Thread Ludovic Courtès
Hi Mark, Mark H Weaver skribis: > Sure, I can take care of updating NEWS in the next day or two. Awesome, thank you! >>> Regrettably, Guile 2.2 has become too heavy to build on the only machine >>> in my possession that I have any trust in. I don't have a machine that >>> I consider sufficien

GNU Guile 2.2.5 released

2019-06-20 Thread Ludovic Courtès
e are the SHA256 checksums: c3c7a2f6ae0d8321a240c7ebc532a1d47af8c63214157a73789e2b2305b4c927 guile-2.2.5.tar.gz 340a2ec7a6beb080f1b6f34e642dc2fb2235176468dcad2d01fdc695ed5a0128 guile-2.2.5.tar.lz fc3073f12d43650e643dc0111730b73a9fa11f131b9b72f66d01e82d83e685a7 guile-2.2.5.tar.xz [*] Use a .s

Re: Distributed verification of release tarballs using Guix? (was Re: Releasing 2.2.5?)

2019-06-20 Thread Ludovic Courtès
Hi Mark, Mark H Weaver skribis: > I've finished my updates to the NEWS file in preparation for the 2.2.5 > release. Feel free to reorganize, edit, or expand on the NEWS entries > as you think best. I believe that all of the relevant changes are > listed, anyway. Thanks a *lot* for all the pre

GNU Guile 2.2.6 released

2019-06-30 Thread Ludovic Courtès
s bootstrapped with the following tools: Autoconf 2.69 Automake 1.16.1 Libtool 2.4.6 Makeinfo 6.5 Gnulib v0.1-1157-gb03f418 Happy hacking with Guile! Ludovic Courtès, Mark H Weaver, and Andy Wingo. signature.asc Description: PGP signature

Re: [FOSDEM] FOSDEM 2020 Minimalistic, Experimental and Emerging Languages Devroom CfP

2019-10-12 Thread Ludovic Courtès
Hello! Manolis Ragkousis skribis: > We are excited to announce a devroom on minimalistic, experimental > and/or emerging languages (with big ideas) at FOSDEM on Sunday > February 2nd 2020! Woohoo! Thank you Manolis, Pjotr, and everyone who makes it possible once again! Ludo’.

Re: conflicts in the gnu project now affect guile

2019-10-18 Thread Ludovic Courtès
Hi Mark, Mark H Weaver skribis: > RMS has not yet appointed me as a co-maintainer. To my knowledge, the > only thing he has done so far is to *ask* me if I wanted to be appointed > co-maintainer. I answered "yes", but I've not yet received any further > messages from him on this topic. I also

Re: guile 3 update, halloween edition

2019-11-15 Thread Ludovic Courtès
Hello Andy & all! Thanks for the great summary. I’ve taken a look at ‘wip-exceptions’, which is also remarkably easy to follow because all the changes are incremental and follow the path you explained in your message; thanks a lot for making it this clear! I’ve very much support this change, I a

Re: guile 3 update, halloween edition

2019-11-16 Thread Ludovic Courtès
Hi Andy! Andy Wingo skribis: > On Fri 15 Nov 2019 10:03, Ludovic Courtès writes: > >> 0. Do I get it right that ‘throw’ and ‘catch’ are not “deprecated” in >> the sense of (ice-9 deprecated) and are instead simply not the >> “preferred” exception mechanism? > &

For a cheaper ‘bytevector->pointer’

2019-11-24 Thread Ludovic Courtès
Hello! A few days ago David was explaining on #guile how ‘bytevector->pointer’ was generating too much garbage for his use case. An idea we came up with was to embed the pointer object in the bytevector. The patch below does that but it leads to segfaults because I’m guessing there’s generated b

Mutating public bindings of a declarative module

2019-11-24 Thread Ludovic Courtès
Hello! It seems that if you ‘set!’ a public variable of a declarative module, the change is visible to all the module users, but it’s not necessarily visible to procedures within that module, presumably because they use an inlined or specialized variant of that thing. I would have imagined that p

[PATCH 0/2] Silence run-time warnings for SRFI-3[45]

2019-11-25 Thread Ludovic Courtès
the case in Guile 2.x), and the second one adds #:replace for srfi-35. Let me know what you think! Overall, I think we should be cautious with run-time warnings because they’re hard to turn off and there’s nothing the user (as in: the Guix user) can do about it. Ludo’. Ludovic Courtè

[PATCH 1/2] srfi-34: Replace the 'raise' core binding.

2019-11-25 Thread Ludovic Courtès
In Guile 2.x, (srfi srfi-34) would already replace 'raise'. Replacing avoids a run-time warning about the core binding being overridden. * module/srfi/srfi-34.scm (raise): New variable. Mark it as #:replace instead of #:re-export. --- module/srfi/srfi-34.scm | 10 +++--- 1 file changed, 7 in

guile-devel@gnu.org

2019-11-25 Thread Ludovic Courtès
This ensures core binding '&error' is silently replaced by the SRFI-35 variant. * module/srfi/srfi-35.scm (srfi:&error): New variable. Use it to #:replace '&error'. --- module/srfi/srfi-35.scm | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/module/srfi/srfi-35.scm b/mo

Re: Mutating public bindings of a declarative module

2019-11-25 Thread Ludovic Courtès
Hello! Andy Wingo skribis: > On Sun 24 Nov 2019 18:54, Ludovic Courtès writes: > >> It seems that if you ‘set!’ a public variable of a declarative module, >> the change is visible to all the module users, but it’s not necessarily >> visible to procedures within that mo

Re: For a cheaper ‘bytevector->pointer’

2019-11-25 Thread Ludovic Courtès
n practice, every time there’s '* in the FFI, it’d accept a bytevector, right? I would prefer immediate pointers if that’s possible, and then one of the two other solutions. Thanks! Ludo’. commit c705f743031b305051549928cd91e5cfdfef7ec7 Author: Ludovic Courtès Date: Sun Jan 30 2

Re: [PATCH 1/2] srfi-34: Replace the 'raise' core binding.

2019-11-26 Thread Ludovic Courtès
Andy Wingo skribis: > On Mon 25 Nov 2019 17:45, Ludovic Courtès writes: > >> In Guile 2.x, (srfi srfi-34) would already replace 'raise'. Replacing >> avoids a run-time warning about the core binding being overridden. >> >> * module/srfi/srfi-34.

Removing the locale warning?

2019-12-14 Thread Ludovic Courtès
Hello! What about getting rid of the locale warning, as shown below? More generally, I'm in favor of reducing run-time warnings to a bare minimum, because application users often don’t care about them (plus they’re not i18n’d), and because application developers cannot silence them or handle them

Re: Removing the locale warning?

2019-12-16 Thread Ludovic Courtès
Hi, Andy Wingo skribis: > On Sat 14 Dec 2019 16:44, Ludovic Courtès writes: > >> What about getting rid of the locale warning? >> >> More generally, I'm in favor of reducing run-time warnings to a bare >> minimum, because application users often don’t c

Re-exporting a replaced binding

2020-01-03 Thread Ludovic Courtès
Hi again! I’m not sure if this is an intended consequence of cf08dbdc189f0005cab6f2ec7b23ed9d150ec43d, so I thought I’d share this example of a practical effect: --8<---cut here---start->8--- ludo@ribbon /tmp [env]$ cat x.scm (define-module (x) #:use-module (

SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-03 Thread Ludovic Courtès
Hello Guilers! Göran Weinholt wrote a pure-Scheme (R6RS) implementation of common cryptographic hash functions: https://github.com/weinholt/hashing I thought this would make a useful benchmark (and probably favorable to JIT because it’s one hot loop), so here goes (computing the SHA256 hash of

Re: SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-03 Thread Ludovic Courtès
Ludovic Courtès skribis: > ludo@ribbon ~/src/guix$ ./pre-inst-env guix environment --pure --ad-hoc > guile-next guile3.0-hashing -- guile ~/tmp/sha256.scm > > ;;; (hash "b33576331465a60b003573541bf3b1c205936a16c407bc69f8419a527bf5c988") > clock utime stime cutime cs

Re: SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-06 Thread Ludovic Courtès
Hi Göran, Göran Weinholt skribis: > I've pushed a Guile-specific version of (hashing fixnums) that inlines > the generic arithmetic procedures. This and some other small changes > improved the runtime: > >clock utime stime cutime cstime gctime > before: > 2.2.6 31.06 32.61 0.0

Re: SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-06 Thread Ludovic Courtès
Hello, Andy Wingo skribis: > On Sat 04 Jan 2020 01:40, Ludovic Courtès writes: > >> Ludovic Courtès skribis: >> >>> ludo@ribbon ~/src/guix$ ./pre-inst-env guix environment --pure --ad-hoc >>> guile-next guile3.0-hashing -- guil

Re: Re-exporting a replaced binding

2020-01-06 Thread Ludovic Courtès
Hi! Andy Wingo skribis: > On Fri 03 Jan 2020 19:30, Ludovic Courtès writes: [...] >> Should the #:re-export clause propagate the replace bit, or should >> it not? :-) > > It is a good question :) Before, if you re-exported a #:replace > binding, it wasn't po

Re: SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-07 Thread Ludovic Courtès
Hi! Andy Wingo skribis: > On Mon 06 Jan 2020 10:47, Ludovic Courtès writes: > >> Andy Wingo skribis: >> >>> With cross-module inlining of "small" definitions, I think we would >>> solve a lot of this kind of problem. I think we could add t

Re: SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-07 Thread Ludovic Courtès
Andy Wingo skribis: > On Tue 07 Jan 2020 12:08, Ludovic Courtès writes: > >> Andy Wingo skribis: >> >>> Concretely I would add a little part of the compiler to the Tree-IL >>> phase to serialize a bytecode for the "small" definitions in the module

Better HTTPS support in (web client)

2020-01-10 Thread Ludovic Courtès
Hello Guilers! I’ve pushed a ‘wip-https-client’ branch that contains improvements for HTTPS support in (web client) that I’d like to be part of Guile 3: https://git.savannah.gnu.org/cgit/guile.git/log/?h=wip-https-client In a nutshell: • $https_proxy support and a ‘current-https-proxy’ para

Re: Better HTTPS support in (web client)

2020-01-13 Thread Ludovic Courtès
Hello! Chris Vine skribis: > Is the new implementation usable with suspendable ports? When I last > looked the read-response-body procedure was not, which meant that > http-get and http-put were not, which meant that you could not really > use them with fibers. It’s not a “new implementation”,

Re: Better HTTPS support in (web client)

2020-01-13 Thread Ludovic Courtès
Hi Andy, Andy Wingo skribis: > On Fri 10 Jan 2020 15:49, Ludovic Courtès writes: > >> Hello Guilers! >> >> I’ve pushed a ‘wip-https-client’ branch that contains improvements for >> HTTPS support in (web client) that I’d like to be part of Guile 3: >> &g

Re: GNU Guile 3.0.0 released

2020-01-18 Thread Ludovic Courtès
Hi! Andy Wingo skribis: > We are delighted to announce GNU Guile release 3.0.0, the first in the > new 3.0 stable release series. > > Compared to the previous stable series (2.2.x), Guile 3.0 adds support > for just-in-time native code generation, speeding up all Guile programs. > See the NEWS e

Logo baseline

2020-01-18 Thread Ludovic Courtès
Hello Guilers! The Guile logo has this “GNU extension language” baseline. As Guile 3 came out, this baseline felt odd to me, not quite corresponding to the way I see Guile. Clearly, Guile is still an extension language, with many great applications (Gnucash, Lepton-EDA, OpenCog, GDB, etc.), and

Re: Logo baseline

2020-01-19 Thread Ludovic Courtès
Hello! Arne Babenhauserheide skribis: > Thomas Morley writes: > >>> Clearly, Guile is still an extension language, with many great >>> applications (Gnucash, Lepton-EDA, OpenCog, GDB, etc.) >> >> Well, you forgot LilyPond > > The one tool that uses Guile while dominating its domain. Yup, I don

Re: Logo baseline

2020-01-20 Thread Ludovic Courtès
Hello, Arne Babenhauserheide skribis: > Ludovic Courtès writes: >> Like I wrote, Guile remains an extension language, no argument here. >> >> However, describing it as “just” an extension language seems odd to me. >> It doesn’t take into account what many have been

Segfault while building on 64-bit Cygwin

2020-01-20 Thread Ludovic Courtès
Hi John, John Cowan skribis: > Guile 2.9.9, like .8 and .7, does not build on Cygwin (64 bit). Configure > runs without error, but make crashes with this (truncated to just the tail): > > Making all in bootstrap > make[2]: Entering directory > '/cygdrive/c/Users/rr828893/Downloads/guile-2.9.9/b

Re: Segfault while building on 64-bit Cygwin

2020-01-21 Thread Ludovic Courtès
Hello, John Cowan skribis: > Yes, gladly, but I don't know how to get one in this context. You would unpack, configure, and build like you did before (with JIT enabled, so as to reproduce the crash), but before that you’d run “ulimit -c unlimited” in that shell to make sure there’s a core dumpe

Re: Segfault while building on 64-bit Cygwin

2020-01-23 Thread Ludovic Courtès
Hi, John Cowan skribis: > Thanks. Unfortunately, the standard recipe for making core dumps on Mac This bug report is about Cygwin, not macOS, right? :-) Ludo’.

Re: Segfault while building on 64-bit Cygwin

2020-01-25 Thread Ludovic Courtès
John Cowan skribis: > Both Cygwin and MacOS crash in pretty much the same way. By disabling the > JIT, I was able to get the Cygwin build to run to completion. That I understand. However, I was asking for the backtrace of the crash on Cygwin when JIT is enabled. Could you grab it? Thanks in

CPU and GC cost of bignums

2020-02-04 Thread Ludovic Courtès
Hello! (If you’re in a hurry, there are good news at the bottom.) I noticed that 3.0 (and also 2.2 actually) takes a long time to compile Guix’ gnu/services/mail.scm, which is macro-heavy, producing lots of top-level defines. At -O2 (the default), we have: --8<---cut here---

Re: garbage collection slowdown

2020-02-05 Thread Ludovic Courtès
Hi Han-Wen, Great to see you back here! Han-Wen Nienhuys skribis: > On Tue, Jan 28, 2020 at 11:41 PM Han-Wen Nienhuys wrote: >> Unfortunately, it looks like the adoption of the BDW GC library caused >> a ~6x slowdown, causing an overall end-to-end slowdown of 50%. >> >> I was wondering if you

Re: CPU and GC cost of bignums

2020-02-05 Thread Ludovic Courtès
Hey ho! Ludovic Courtès skribis: > … but has the disadvantage that it doesn’t work: ‘numbers.test’ fails > badly on bignums. I think with the excitement I no longer knew what I was saying. So, here’s a revised patch that actually preserves memory management (as in: ‘mpz_t’ are even

Re: CPU and GC cost of bignums

2020-02-06 Thread Ludovic Courtès
imperative. > On Wed 05 Feb 2020 17:29, Ludovic Courtès writes: > >> /* The next three functions (custom_libgmp_*) are passed to >> mp_set_memory_functions (in GMP) so that memory used by the digits >> themselves is known to the garbage collector. This

Re: garbage collection slowdown

2020-02-06 Thread Ludovic Courtès
Hi Mikael! Mikael Djurfeldt skribis: > Could the frequency of GC be adapted similarly such that the balance > between GC and allocation is shifted towards allocation in phases with a > lot of heap growth? I guess we’ve been mostly “end users” of libgc, assuming the right design decisions were m

Re: CPU and GC cost of bignums

2020-02-08 Thread Ludovic Courtès
Hi, Ludovic Courtès skribis: > To my surprise, on a pure bignum microbenchmark, this is > counterproductive: I found out that I was comparing my own Guile build, which was against the ‘libgc-back-pointers’ package, with that ‘guile-next’ build against ‘libgc’; no wonder mine was slower

Re: [PATCH, v2] Fix build on platforms where the stack grows upwards

2020-02-08 Thread Ludovic Courtès
Hi, John Paul Adrian Glaubitz skribis: > * libguile/continuations.c (scm_dynthrow): Fix missing mra >parameter to grow_stack for SCM_STACK_GROWS_UP. Applied, thanks! Ludo'.

Re: [PATCH, v2] Fix build on ia64

2020-02-08 Thread Ludovic Courtès
John Paul Adrian Glaubitz skribis: > * libguile/continuations.c (capture_auxiliary_stack): Fix > logic in preprocessor code when checking for ia64 host; > fix dereferencing of ctx variable. > * libguile/threads.h (struct scm_thread): Add missing member > SCM_STACKITEM *auxiliary_s

Re: [PATCH, v2] Fix build on ia64

2020-02-09 Thread Ludovic Courtès
Hi, John Paul Adrian Glaubitz skribis: > I have actually signed the copyright assignment for the FSF already, but > only for gdb/binutils. I asked back then whether it would be possible to > sign the copyright assignment for all GNU projects but that was rejected. Yeah, that’s not possible. >

Re: MIssing scm_memory_error

2020-02-09 Thread Ludovic Courtès
Hi Dale, dsm...@roadrunner.com skribis: > In Guile 3.0 (and probably earlier) scm_memory_error has gone away, > with no mention of a replacement in NEWS. It would seem that ‘scm_memory_error’ was deprecated in 2014 in commit c2247b782a9234bb9aedee5204c30daf1d01a510 and removed in 2017 in commit

Re: [PATCH, v2] Fix build on ia64

2020-03-05 Thread Ludovic Courtès
Hi, John Paul Adrian Glaubitz skribis: > On 2/9/20 2:32 PM, Ludovic Courtès wrote: >>> I have actually signed the copyright assignment for the FSF already, but >>> only for gdb/binutils. I asked back then whether it would be possible to >>> sign the copyright assig

Re: [PATCH] Accept .sld as scheme extensions in r7rs

2020-03-07 Thread Ludovic Courtès
Hi, Nguyễn Thái Ngọc Duy skribis: > This is similar to 0bb980f12 (New function: install-r6rs!, 2019-09-25) > which accepts .sls extension for r6rs. In r7rs, most portable libraries > use .sld. > > * module/ice-9/boot-9.scm (install-r7rs!): Update %load-extensions. Applied. Thank you, and apolo

  1   2   3   4   5   6   7   8   9   10   >