Re: [PATCH] Add to the 2.1.x branch GUILE_SITE_CCACHE_DIR and GUILE_EXTENSION_DIR Autoconf macros along with needed siteccachdir entry in pkgconfig file

2017-03-15 Thread Andy Wingo
On Tue 14 Mar 2017 20:41, Freja Nordsiek writes: > I missed adding an entry for meta/guile-2.2.pc.in in the commit log. Fixed > now. Applied, thanks! Note that I made a small change to the commit log: > Subject: [PATCH] GUILE_SITE_DIR: updated to find compiled site directories > > * meta/guil

GNU Guile 2.2.0 released

2017-03-16 Thread Andy Wingo
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, real-world programs often show a speedup of

RFC: (ice-9 sandbox)

2017-03-31 Thread Andy Wingo
Hi, Attached is a module that can evaluate an expression within a sandbox. If the evaluation takes too long or allocates too much, it will be cancelled. The evaluation will take place with respect to a module with a "safe" set of imports. Those imports include most of the bindings available in a

"guix potluck", a moveable feast

2017-03-31 Thread Andy Wingo
Hi! Following on thoughts from earlier this month that Guix is the guildhall that we always wanted, I think I have more of a plan. s/guildhall/potluck/ Firstly, a name change: the guidhall was a somewhat unified, curated thing that was Guile-specific, whereas I think I thin

Re: RFC: (ice-9 sandbox)

2017-03-31 Thread Andy Wingo
On Fri 31 Mar 2017 13:33, l...@gnu.org (Ludovic Courtès) writes: > Andy Wingo skribis: > > The allocations that trigger ‘after-gc-hook’ could be caused by a > separate thread, right? That’s probably an acceptable limitation, but > one to be aware of. Ah yes, we should document

[PATCH] Throw an exception when mutating read-only data

2017-04-02 Thread Andy Wingo
* libguile/init.c (scm_i_init_guile): Install the SIGSEGV handler unless GUILE_INSTALL_SIGSEGV_HANDLER is 0. * libguile/loader.c (scm_maybe_throw_exception_for_mutation_of_read_only_data): New public function. (sigsegv_handler): New helper. (scm_install_sigsegv_handler): New public functi

Re: RFC: (ice-9 sandbox)

2017-04-02 Thread Andy Wingo
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 of a safe binding set if no mutable >>>> ;;

Re: "guix potluck", a moveable feast

2017-04-02 Thread Andy Wingo
Hi :) Thanks all for review; comments and suggestions very welcome. Choosing this message to reply to. 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

Re: Cygwin port of Guile 2.2

2017-04-14 Thread Andy Wingo
On Tue 04 Apr 2017 18:45, "Mike Gran" writes: > I push a branch that mostly makes Guile 2.2 work on Cygwin. Neat. LGTM with some nits, with the exception of the "(throw 'unresolved)" patch -- the corresponding catch is in test-suite/test-suite/lib.scm:344. > Cygwin's uselocale is broken and ca

Re: Why is INSTALL missing?

2017-04-14 Thread Andy Wingo
On Tue 04 Apr 2017 22:01, Tobias Gerdin writes: > While preparing to build Guile v2.2.0 I noticed that the file INSTALL, > which is referred to from README, was removed by Neil in > e4c39847a2b083829d111fcae4e9459d2f8a4ba1 in 2009 or so. Why was this > so? (I realise it would just be a copy of th

Re: [PATCH] Throw an exception when mutating read-only data

2017-04-14 Thread Andy Wingo
Hi :) On Sun 02 Apr 2017 17:34, Derek Upham writes: > Andy Wingo writes: > >> * libguile/init.c (scm_i_init_guile): Install the SIGSEGV handler unless >> GUILE_INSTALL_SIGSEGV_HANDLER is 0. >> * libguile/loader.c >> (scm_maybe_throw_exception_for_mutation_

Re: [PATCH] Throw an exception when mutating read-only data

2017-04-14 Thread Andy Wingo
Hi Pedro, On Mon 03 Apr 2017 12:49, Pedro Alves writes: > AFAICS, guile uses bare setjmp/longjmp for exceptions. > > But, one should not use longjmp to jump out of a signal handler, since > that leaves the signal mask disabled if the system automatically masks > the signal on handler entry (whic

Re: RFC: (ice-9 sandbox)

2017-04-14 Thread Andy Wingo
On Mon 03 Apr 2017 17:35, l...@gnu.org (Ludovic Courtès) writes: > Riastradh’s document at > has this: > > Affix asterisks to the beginning and end of a globally mutable > variable. This allows the reader of the program to recognize very > easi

Re: RFC: (ice-9 sandbox)

2017-04-14 Thread Andy Wingo
On Thu 06 Apr 2017 23:41, Freja Nordsiek writes: > On the subject of ports and i/o, I have a few ideas. R6RS i/o in the > (rnrs io ports) module generally requires the port to be explicitly > given, rather than assuming current in or out if not given (though > rnrs io simple does make those assum

Re: Cygwin port of Guile 2.2

2017-04-17 Thread Andy Wingo
On Fri 14 Apr 2017 15:41, Derek Upham writes: > There’s the finalizer thread, but there’s also the signal delivery > thread. The “sigaction” code ensures that signal delivery thread is > running. And note that “primitive-fork” is supposed to display a > warning if you are forking with outstandi

Re: RFC: (ice-9 sandbox)

2017-04-17 Thread Andy Wingo
On Sat 15 Apr 2017 19:23, Nala Ginrut writes: > Could you please add #:from keyword to evil-in-sand box to indicate > the language front-end? Don't forget there's multi-lang plan. :-) In theory yes, but I don't know how to make safe sandboxes in other languages. ice-9 sandbox relies on the Sche

Re: RFC: (ice-9 sandbox)

2017-04-18 Thread Andy Wingo
On Fri 31 Mar 2017 11:27, Andy Wingo writes: > Attached is a module that can evaluate an expression within a sandbox. Pushed to master. See NEWS here, where I include a couple more entries of note: * Notable changes ** New sandboxed evaluation facility Guile now has a way

GNU Guile 2.2.1 released

2017-04-19 Thread Andy Wingo
We are happy to announce GNU Guile release 2.2.1, the first bug-fix release in the new 2.2 stable release series. This release adds a "sandbox" facility that can run code from untrusted users. It also includes a compiler and runtime change that ensures that attempts to mutate literal constants wi

GNU Guile 2.2.2 released

2017-04-21 Thread Andy Wingo
We sheepishly announce GNU Guile release 2.2.2, a quick bug-fix to the recent 2.2.1 release. This release restores our ability to compile with libgc 7.2, and restores the ability of syntax objects to be structurally compared with equal?. * * * Guile is an implement

Re: Cygwin port of Guile 2.2

2017-05-02 Thread Andy Wingo
On Mon 01 May 2017 22:48, Derek Upham writes: > Running pthread_join() on a thread only guarantees that the thread has > returned an exit value. Would you mind providing a reference please? It is not that I don't believe you but I think it's important to know whether this is a bug in Guile or i

Re: Is the backtrace broken in 2.2.2?

2017-05-02 Thread Andy Wingo
On Mon 01 May 2017 06:45, Nala Ginrut writes: > Hi all! > I'm using the latest Guile from git repo. > It seems something is wrong to print message of backtrace. > > ---cut > Exception thrown while printing backtrace: > ERROR: In procedure vector-ref: Va

Re: Cygwin port of Guile 2.2

2017-05-03 Thread Andy Wingo
On Wed 03 May 2017 05:18, Derek Upham writes: > Andy Wingo writes: > >> On Mon 01 May 2017 22:48, Derek Upham writes: >> >>> Running pthread_join() on a thread only guarantees that the thread has >>> returned an exit value. >> >> Would you mind

Re: Cygwin port of Guile 2.2

2017-05-09 Thread Andy Wingo
On Wed 03 May 2017 16:21, Derek Upham writes: > scm_join_thread start scm_join_thread isn't actually implemented in terms of scm_i_pthread_join any more. Probably that's what's going wrong here -- and probably that should be fixed to ensure that we actually join the thread. (Otherwise it wou

2.2 git users should switch to stable-2.2 branch

2017-05-10 Thread Andy Wingo
Hello Guilefolk, As we did with Guile 1.8 and 2.0, I just pushed a stable-2.2 branch. This is the branch for Guile 2.2 development -- the branch that keeps a stable API and ABI during the 2.2.x series. It's the one you want to be using unless you are doing development of Guile itself. If you hav

Re: 2.2 git users should switch to stable-2.2 branch

2017-05-15 Thread Andy Wingo
On Thu 11 May 2017 21:54, Christopher Allan Webber writes: >> Incidentally if you use Guile commercially and would like to support my >> work on it, let me know. > > I don't know what the right answer is to it (maybe eventually there > would be a company making money off of Guix deployment that

Re: Cygwin port of Guile 2.2

2017-05-15 Thread Andy Wingo
Greets, On Fri 12 May 2017 16:13, Derek Upham writes: > Andy Wingo writes: > >> scm_join_thread isn't actually implemented in terms of >> scm_i_pthread_join any more. Probably that's what's going wrong here -- >> and probably that should be fixed to ens

Re: GNU Guile 2.2.2 released

2017-05-15 Thread Andy Wingo
On Sat 13 May 2017 15:05, Matt Wette writes: >> On Apr 21, 2017, at 7:41 AM, Andy Wingo wrote: >> >> We sheepishly announce GNU Guile release 2.2.2, a quick bug-fix to the >> recent 2.2.1 release. > > The FreeBSD section in README is not quite correct IMO.

Re: [PATCH] On Hurd, skip tests that require working setrlimits for memory

2017-05-16 Thread Andy Wingo
On Tue 16 May 2017 11:35, manolis...@gmail.com writes: > From: Manolis Ragkousis > > On Hurd, setrlimits are not yet implemented. See > . Applied, thanks :) Andy

Re: Compiler memory consumption

2017-05-16 Thread Andy Wingo
Hi! Definitely sounds like we have an issue we should deal with. On Tue 16 May 2017 18:19, l...@gnu.org (Ludovic Courtès) writes: > here is the gcprof output I find gcprof useful when I want to improve runtime by removing allocation. However I don't find it useful when dealing with memory use

Re: Build Issue on Master: Value out of range

2017-06-13 Thread Andy Wingo
On Mon 12 Jun 2017 17:25, Ian Price writes: > The log of make is attached, but I notice that the following error appears > several times, and is, I'd guess, the main issue? > > ;;; ERROR: In procedure load-thunk-from-memory: incompatible bytecode kind Guile master is branched for 3.0, and the b

guile 3 update

2017-10-22 Thread Andy Wingo
Hi! I have been thinking on how to get from where we are to good native compilation. I think the next thing is instruction explosion. As described here: https://wingolog.org/archives/2016/02/04/guile-compiler-tasks Currently in Guile's VM there are instructions like vector-ref. Thi

Re: guile 3 update

2017-10-30 Thread Andy Wingo
Hi :) On Sun 22 Oct 2017 15:22, Christopher Allan Webber writes: > - Could native code compilation also be a step towards WASM, assuming >they lend us their GC? Regarding this question: yes! Specifically with the "GC" proposal (which in reality is much more: https://github.com/WebAssembl

guile 3 update: lowered conditionals

2017-10-30 Thread Andy Wingo
Hi, An update on the Guile 3 effort. Since last week I attacked the conditional instructions, replacing e.g. "br-if-< A B OFFSET" with a sequence of "

Re: Compiler memory consumption

2017-10-30 Thread Andy Wingo
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. > > Also, our 16K line python.scm file translates into 428K labels, which > du

Re: Weak tables harmful to GC?

2017-10-30 Thread Andy Wingo
>From 6ec4642516eaabf7a63644463a7836eb3efbcd60 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 30 Oct 2017 18:19:37 +0100 Subject: [PATCH] Weak tables are now bucket-and-chain tables This change should make weak tables work better with libgc, as the weak components that need mark functions are smaller, so they don&#x

Re: Weak tables harmful to GC?

2017-10-31 Thread Andy Wingo
escr’ in weaks.c in > 2.0.) Good idea; fixed. Andy >From 098c4171ef53791d97b5c675218f302efc7bcf26 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 31 Oct 2017 09:10:55 +0100 Subject: [PATCH 2/3] Refactor weak table to use bitmaps for weak entries --- libguile/weak-table.c | 107 +

guile 3 update: better reasoning about fixnums

2017-11-13 Thread Andy Wingo
Hi, An update on Guile 3 hackings over the past couple weeks. Firstly I made a change to the CPS language. Before, "primcalls" -- invocations of primitives known to the compiler, some of which ultimately compile to instructions/bytecode -- took all arguments as CPS values. This was even the cas

guile 3 update: more number unboxing improvements

2017-11-29 Thread Andy Wingo
Hi, In the last update (https://lists.gnu.org/archive/html/guile-devel/2017-11/msg00010.html) I talked a lot about fixnums. This last couple weeks' work is along the same lines. Firstly I added support for specialized instructions that compare (in the < or = sense) s64 and u64 values against 8-b

GNU Guile 2.2.3 released.

2017-12-01 Thread Andy Wingo
We are delighted to announce GNU Guile release 2.2.3, the third bug-fix release in the 2.2 stable release series. Besides the usual pile of bug fixes, this release has two notable improvements that we hope you will enjoy. The first is that the compiler is faster, especially on large Scheme files.

guile 3 update: instruction explosion for pairs, vectors

2018-01-08 Thread Andy Wingo
Hey all! This is an update along the road to Guile 3. Check https://lists.gnu.org/archive/html/guile-devel/2017-11/msg00016.html for the previous entry. Since 25 November there have been around 100 commits or so. Firstly I merged in patches from stable-2.0, including patches corresponding to th

Re: guile 3 update: instruction explosion for pairs, vectors

2018-01-16 Thread Andy Wingo
On Tue 09 Jan 2018 15:30, Mikael Djurfeldt writes: > Maybe this is all completely obvious to you, but I want to remind, > again, about the plans and ideas I had for GOOPS before I had to leave > it at its rather prototypical and unfinished state: > > As you recall, generic functions (GFs) then ca

guile 3 update: instruction explosion for bytevectors

2018-01-17 Thread Andy Wingo
Greets, FYI I wrote up a new update on the road to Guile 3; as I seem to be getting closer, it's in blog form: https://wingolog.org/archives/2018/01/17/instruction-explosion-in-guile Cheers, A

Guile 3 update -- more instruction explosion, intrinsics

2018-04-13 Thread Andy Wingo
Hello all :) This mail is an update on Guile 3 progress. Some previous updates were here: https://lists.gnu.org/archive/html/guile-devel/2018-01/msg9.html https://lists.gnu.org/archive/html/guile-devel/2018-01/msg3.html I took a break for a while and picked up this work again a coup

tracepoints/breakpoints and native compilation

2018-05-09 Thread Andy Wingo
Hi :) A design question for everyone. I am wondering how to support breakpoints, tracepoints, and the like in a Guile with native-code compilation. If you are not familiar with what Guile does currently, see: https://www.gnu.org/software/guile/manual/html_node/Traps.html Basically Guile supp

Re: tracepoints/breakpoints and native compilation

2018-05-14 Thread Andy Wingo
On Tue 15 May 2018 05:08, Mark H Weaver writes: > I think we should consider deprecating these legacy debug hooks, and > instead to support debugging features similar to GDB, using the same > implementation methods that GDB uses. > > Alternatively, I wonder if it would be feasible to enhance GDB

c99 support

2018-06-23 Thread Andy Wingo
Hi, Is there anyone who compiles Guile with a compiler that does not support C99? If so, please give platform and compiler. Thanks, Andy

Re: c99 support

2018-06-23 Thread Andy Wingo
On Sat 23 Jun 2018 21:23, Eli Zaretskii writes: >> From: Andy Wingo >> Date: Sat, 23 Jun 2018 21:11:29 +0200 >> Cc: guile-devel@gnu.org >> >> Is there anyone who compiles Guile with a compiler that does not support >> C99? If so, please give platform and co

Re: c99 support

2018-06-29 Thread Andy Wingo
On Sat 23 Jun 2018 22:12, Andy Wingo writes: > Is there anyone who compiles Guile with a compiler that does not support > C99? If so, please give platform and compiler. > > I think my questions are limited to, in decreasing order of importance: > > * Is there any system t

guile 3 update, june 2018 edition

2018-06-29 Thread Andy Wingo
Hi, Just wanted to give an update on Guile 3 developments. Last note was here: https://lists.gnu.org/archive/html/guile-devel/2018-04/msg4.html 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,

Re: guile 3 update, june 2018 edition

2018-07-05 Thread Andy Wingo
Hi :) On Mon 02 Jul 2018 11:28, l...@gnu.org (Ludovic Courtès) writes: > Andy Wingo skribis: > >> My current plan is that the frame overhead will still be two slots: the >> saved previous FP, and the saved return address. Right now the return >> address is always a b

guile 3 update, july edition

2018-07-21 Thread Andy Wingo
Hi :) Just a brief update with Guile 3. Last one was here: https://lists.gnu.org/archive/html/guile-devel/2018-06/msg00026.html There is a now a "lightning" branch that has GNU lightning merged in and built statically into Guile. It causes about 1 MB of overhead in the -Og libguile-3.0.so, b

Guile 3 update, August edition

2018-08-20 Thread Andy Wingo
Hi! Last dispatch was here: https://lists.gnu.org/archive/html/guile-devel/2018-07/msg00037.html To recap, I merged in GNU lightning and added an extra machine-code return address to frames, but hadn't actually written the JIT yet. Since July, I made it so that all Guile bytecode function ent

Re: FOSDEM 2019

2018-08-22 Thread Andy Wingo
On Tue 21 Aug 2018 19:57, Ricardo Wurmus writes: > If we base our application on this proposal I think we should make these > changes: > > - mention the work on adding JIT Yes definitely! This will be Guile 3, so we can call it "Just-in-time code generation for Scheme: Speed for free in Guile 3

guile 3 update, september edition

2018-09-17 Thread Andy Wingo
Hi! 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 in Guile, including delimited contin

Re: guile 3 update, september edition

2018-09-18 Thread Andy Wingo
Greets :) 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 set it to -1, you disable the JIT. If you set it to 0, *all* >

GNU Guile 2.9.1 Released [beta]

2018-10-10 Thread Andy Wingo
We are pleased to announce GNU Guile release 2.9.1. This is the first pre-release of what will eventually become the 3.0 release series. Compared to the current stable series (2.2.x), Guile 2.9.1 adds support for just-in-time native code generation, speeding up all Guile programs. See the NEWS ex

Re: guile-2.9.1 impressions

2019-05-23 Thread Andy Wingo
Hi! On Thu 06 Dec 2018 06:21, Linas Vepstas writes: > After sending the email below, I scanned the guile-devel archives, > and I see Thomas Morley talking about Lilypond performance. > The example program he offers up caught my eye: nested deep > in a loop is this: > > (eval-string "'(a b c)")

GNU Guile 2.9.2 Released [beta]

2019-05-23 Thread Andy Wingo
We are pleased to announce GNU Guile release 2.9.2. This is the second pre-release of what will eventually become the 3.0 release series. Compared to the current stable series (2.2.x), the future Guile 3.0 adds support for just-in-time native code generation, speeding up all Guile programs. See

GNU Guile 2.9.3 Released [beta]

2019-08-03 Thread Andy Wingo
We are pleased to announce GNU Guile release 2.9.3. This is the third pre-release of what will eventually become the 3.0 release series. Compared to the current stable series (2.2.x), the future Guile 3.0 adds support for just-in-time native code generation, speeding up all Guile programs. See t

GNU Guile 2.9.4 Released [beta]

2019-08-25 Thread Andy Wingo
We are pleased to announce GNU Guile release 2.9.4. This is the fourth pre-release of what will eventually become the 3.0 release series. Compared to the current stable series (2.2.x), the future Guile 3.0 adds support for just-in-time native code generation, speeding up all Guile programs. See

Maintainership changes: many thanks to Mark!

2019-09-11 Thread Andy Wingo
Hi all, After many years working on Guile and more than 5 years in a maintainer role, Mark Weaver has decided to step down. Taking over from him and remaining as Guile co-maintainers are Ludovic Courtès and Andy Wingo. On behalf of myself and Ludovic and no doubt all Guile users and developers

conflicts in the gnu project now affect guile

2019-10-16 Thread Andy Wingo
Hello all, In the last few weeks, a conversation among GNU maintainers that has been simmering for years burst into public. For a while it resubmerged into private GNU lists, but now it has resurfaced to affect the Guile project. Just for background information, I wrote about my thoughts here:

guile 3 update, halloween edition

2019-10-30 Thread Andy Wingo
Hey folks! I wanted to send out an update on Guile 3. Do take a look at https://git.savannah.gnu.org/cgit/guile.git/tree/NEWS to see where we've come; basically the JIT is done, and we're ready to release soonish. However! Here begins a long chain of yak-shaving: I wanted good benchmarks. Gen

Re: guile 3 update, halloween edition

2019-10-31 Thread Andy Wingo
Hey :) On Thu 31 Oct 2019 15:17, Mikael Djurfeldt writes: > How does the record subtyping relate to GOOPS? I do realize that there > are issues related to keeping bootstrapping lean, but shouldn't record > types and classes share mechanisms? They share the struct layer. Records are simple: the

Re: guile 3 update, halloween edition

2019-10-31 Thread Andy Wingo
Greets :) On Thu 31 Oct 2019 01:01, Chris Vine writes: > "Condition" is a strange word for describing structured error objects, > I agree. However, I think it would be quite confusing to describe > error objects as exceptions. "Error object" or "error condition object" > seems a reasonable alt

Re: guile 3 update, halloween edition

2019-11-03 Thread Andy Wingo
On Sat 02 Nov 2019 06:20, Mark H Weaver writes: > Andy Wingo writes: > >> So, now the pending task is to somehow get a condition/exception >> hierarchy into Guile core. I will try to mostly push things off to side >> modules but it won't always be possible. There

Re: guile 3 update, halloween edition

2019-11-15 Thread Andy Wingo
Hey thanks for the review :) 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? Correct. I think we could envision deprecat

landed r7rs support

2019-11-17 Thread Andy Wingo
Hey all :) Just a little heads-up that I just landed R7RS support. Thanks to Göran Weinholt for akku-scm (https://gitlab.com/akkuscm/akku-r7rs/) and OKUMURA Yuki for yuni (https://github.com/okuoku/yuni), off of which some of these files were based. (These projects are public domain / CC0). The

Re: landed r7rs support

2019-11-17 Thread Andy Wingo
Hi, On Sun 17 Nov 2019 16:52, Linus Björnstam writes: > The text about the standards process is probably going to annoy people > since it does not mention the division between r7rs small and large :) I suppose that is fair, as I am annoyed by R7RS :) However, the report published in 2013 does

Re: guile 3 update, halloween edition

2019-11-17 Thread Andy Wingo
Hi :) On Sat 16 Nov 2019 16:26, Ludovic Courtès writes: > Andy Wingo skribis: > >> On Fri 15 Nov 2019 10:03, Ludovic Courtès writes: >> >>> I guess we could add a specific ‘&type-exception’ exception or similar, >>> which would allow us to improve

GNU Guile 2.9.5 Released [beta]

2019-11-22 Thread Andy Wingo
We are pleased to announce GNU Guile release 2.9.5. This is the fifth pre-release of what will eventually become the 3.0 release series. Compared to the current stable series (2.2.x), the future Guile 3.0 adds support for just-in-time native code generation, speeding up all Guile programs. See t

Re: Mutating public bindings of a declarative module

2019-11-25 Thread Andy Wingo
Hi :) 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 module, presumably because they use an > inlined or speci

Re: For a cheaper ‘bytevector->pointer’

2019-11-25 Thread Andy Wingo
On Sun 24 Nov 2019 11:52, Ludovic Courtès writes: > 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

guile-devel@gnu.org

2019-11-26 Thread Andy Wingo
On Mon 25 Nov 2019 17:45, Ludovic Courtès writes: > This ensures core binding '&error' is silently replaced by the SRFI-35 > variant. Again LGTM but it would be nicest to really re-export the binding instead of making a new definition :) Andy

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

2019-11-26 Thread Andy Wingo
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.scm (raise): New variable. > Mark it as #:replace instead of #:re-export. > ---

Re: For a cheaper ‘bytevector->pointer’

2019-11-26 Thread Andy Wingo
Hi :) On Mon 25 Nov 2019 23:03, Ludovic Courtès writes: > Andy Wingo skribis: > >> Honestly I would prefer not to do this. If I understand correctly, the >> problem is in FFI calls -- you have a bytevector and you want to pass it >> as a pointer. In that case the &q

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

2019-11-29 Thread Andy Wingo
On Tue 26 Nov 2019 14:09, Ludovic Courtès writes: > AFAICS there are two blockers: > > 1. We cannot replace & re-export at the same time. Following discussion on IRC, this is fixed now, with #:re-export-and-replace. Would be nice if #:re-export could know whether a binding is local or re-expo

GNU Guile 2.9.6 Released [beta]

2019-12-06 Thread Andy Wingo
We are pleased to announce GNU Guile release 2.9.6. This is the sixth pre-release of what will eventually become the 3.0 release series. Compared to the current stable series (2.2.x), the future Guile 3.0 adds support for just-in-time native code generation, speeding up all Guile programs. See t

test message; please ignore

2019-12-06 Thread Andy Wingo
Please ignore this test message. Thanks :)

draft 3.0 release schedule

2019-12-11 Thread Andy Wingo
Hi, I've been trying to put out releases on an every-other-Friday schedule. Due to holidays I will probably bump this next one (2.9.7) up to this Friday. Current plan would then be to do 2.9.8 on 3 January 2020, and then if all goes well 3.0.0 on 17 January 2020. Cheers, Andy

Re: Removing the locale warning?

2019-12-16 Thread Andy Wingo
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 care about them (plus > they’re not i18n’d), and because application develope

GNU Guile 2.9.8 Released [beta]

2020-01-02 Thread Andy Wingo
We are pleased to announce GNU Guile release 2.9.8. This is the eighth and possibly final pre-release of what will eventually become the 3.0 release series. Compared to the current stable series (2.2.x), the future Guile 3.0 adds support for just-in-time native code generation, speeding up all Gu

Re: SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-05 Thread Andy Wingo
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 -- guile ~/tmp/sha256.scm >> >> ;;; (hash "b33576331465a60b003573541bf3b1c205936a16c407bc69f8419a527bf5c988")

Re: Re-exporting a replaced binding

2020-01-05 Thread Andy Wingo
On Fri 03 Jan 2020 19:30, Ludovic Courtès writes: > I’m not sure if this is an intended consequence of > cf08dbdc189f0005cab6f2ec7b23ed9d150ec43d, so I thought I’d share this > example of a practical effect: > > ludo@ribbon /tmp [env]$ cat x.scm > (define-module (x) > #:use-module (srfi srfi-1)

Re: GNU Guile 2.9.8 Released [beta]

2020-01-05 Thread Andy Wingo
On Fri 03 Jan 2020 06:34, Nala Ginrut writes: > When I was trying to compile Artanis, the configure threw an error: > > checking for Guile version >= 3.0... configure: error: Guile 3.0 required, > but 2.9.8 found > > > Here's what I put i

Re: [PATCH] Add srfi-171 to guile

2020-01-05 Thread Andy Wingo
Hi :) Since this is a final SRFI I think there's no problem getting it in. Some formatting notes follow; since it's your first Guile patch I'm a bit verbose :) Probably this will miss 3.0.0 but make 3.0.1, FWIW. On Sun 22 Dec 2019 15:55, Linus Björnstam writes: > From 7e8d3b22ba5f814c40dbb5ab6

Re: [PATCH] Add string-replace-substring to (ice-9 string-fun)

2020-01-05 Thread Andy Wingo
On Fri 20 Dec 2019 18:32, lloda writes: > This patch adds string-replace-substring that wingo posted to the > mailing list to (ice-9 strings). This is a commonly used function and a > good implementation isn't trivial, so I think it deserves inclusion. I didn't know that this module existed :)

Re: GNU Guile 2.9.5 Released [beta]

2020-01-05 Thread Andy Wingo
On Sun 01 Dec 2019 21:41, Chris Vine writes: > Is this rewrite, and the new with-exception-handler procedure, an > opportunity to think about standardization of guile's implementation of > the R6RS/R7RS 'guard' form, or at least think about what is wanted for > 'guard'? > > The formal semantics (

Re: SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-06 Thread Andy Wingo
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 this during >> 3.0 and for this reason I would he

Re: GNU Guile 2.9.5 Released [beta]

2020-01-06 Thread Andy Wingo
On Mon 06 Jan 2020 00:26, Chris Vine writes: > I have a 'try' macro which adopts the approach that if an exception > arises, the macro unwinds from the dynamic environment of the code > where the exception arose to the dynamic environment of the call to > 'try', evaluates the cond clauses in that

Re: landed r7rs support

2020-01-06 Thread Andy Wingo
On Fri 22 Nov 2019 17:00, Nala Ginrut writes: > On Tue, Nov 19, 2019, 03:34 Amirouche Boubekki > wrote; > > link: > https://www.gnu.org/software/guile/manual/guile.html#Extending-the-Compiler > > In that section, maybe add a note about a web assembly backend? > > +1 > In the past decade, we'

Re: support for mips32r6

2020-01-06 Thread Andy Wingo
On Fri 30 Aug 2019 10:09, Bruno Haible writes: > A libffcall bug report [1] made me aware of an incompatible change in > the MIPS ISAs. Namely, for jumping to an address given in a register, > starting with mips32r6, the existing 'jr' instruction does not work > any more: it produces an 'illegal

Re: GNU Guile 2.9.8 Released [beta]

2020-01-07 Thread Andy Wingo
On Tue 07 Jan 2020 21:00, Stefan Israelsson Tampe writes: > Bump! > > Great, but loading an extension like: > > (catch #t > (lambda () > (throw #t) > (load-extension "libguile-persist" "persist_init") (pk 1)) > (lambda x > (let ((file >(%search-load-path "src/

Re: SHA256 performance with Guile 2.2 vs. Guile 3.0

2020-01-07 Thread Andy Wingo
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, >> for declarative modules, both

Re: GNU Guile 2.9.5 Released [beta]

2020-01-07 Thread Andy Wingo
On Tue 07 Jan 2020 00:14, Chris Vine writes: > I wonder if it would surprise the programmer to have the cond > conditionals evaluated in a different dynamic environment from the one > in which the cond consequential is evaluated where there is a > conditional which is true. I entirely agree it's

Re: Better HTTPS support in (web client)

2020-01-10 Thread Andy Wingo
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: > > https://git.savannah.gnu.org/cgit/guile.git/log/?h=wip-https-client Looks nice,

Re: GNU Guile 2.9.8 Released [beta]

2020-01-11 Thread Andy Wingo
On Thu 09 Jan 2020 22:14, Stefan Israelsson Tampe writes: > In language/cps/closure-conversion.scm: > 749:15 5 (_ 2705 _) > 771:22 4 (lp # …) > 771:22 3 (lp # …) > 771:22 2 (lp # …) > 610:11 1 (allocate-closure _ _ _ _ _ 1) Nice bug! I wish I had a test case :) Can you tr

Re: GNU Guile 2.9.8 Released [beta]

2020-01-11 Thread Andy Wingo
On Wed 08 Jan 2020 15:22, Nala Ginrut writes: > In unknown file: >4 (primitive-load-path "artanis/server/server-context" #<…>) > In ice-9/eval.scm: >626:19 3 (_ #) > 155:9 2 (_ #) > In ice-9/boot-9.scm: > 1153:19 1 (_ _ _ _ _ _ _) > 1655:16 0 (raise-exception _ #:conti

GNU Guile 2.9.9 Released [beta]

2020-01-13 Thread Andy Wingo
We are pleased to announce GNU Guile release 2.9.9. This is the ninfth and probably final pre-release of what will eventually become the 3.0 release series. Compared to the current stable series (2.2.x), the future Guile 3.0 adds support for just-in-time native code generation, speeding up all Gu

Re: GNU Guile 2.9.9 Released [beta]

2020-01-13 Thread Andy Wingo
On Mon 13 Jan 2020 09:39, Andy Wingo writes: > Compared to the previous prerelease (2.9.7), Guile 2.9.8 fixes a number > of bugs. Obviously this was meant to be 2.9.9 versus 2.9.8 :) > Changes since alpha 2.9.8 (since 2.9.7): Here too :)

  1   2   3   4   5   6   7   8   9   10   >