Re: [BUG] Eval sets incorrect runtime metainformation

2024-06-26 Thread Andy Wingo
On Wed 26 Jun 2024 11:36, Maxime Devos writes: > IIRC, the question wasn’t about debugging in general, it was about > source locations in particular. Surely program-sources (or, in this > case, procedure-source maybe?) (why are the procedures in this family > even named program-whatever, this pre

Re: [BUG] Eval sets incorrect runtime metainformation

2024-06-26 Thread Andy Wingo
Hello, On Tue 25 Jun 2024 17:07, Andrew Tropin writes: > (use-modules (system vm program) > (ice-9 eval-string)) > > (eval-string "(define (test-fn) 'hey)" > #:file "hello.scm" > #:line 1 > #:column 1 > #:compile? #f) > > (format #

Re: what to do about gnulib

2024-06-24 Thread Andy Wingo
Hi Bruno! Thanks for your kind answer and tips :) On Mon 24 Jun 2024 19:09, Bruno Haible writes: > I can reproduce a problem by > 0. using a git checkout of guile ('main' branch, not 'master' branch), > 1. using a GNU gettext version 0.22.5, 0.21, 0.20.2, or 0.19.8.1, > 2. removing the gn

fyi: deleted `master` branch

2024-06-24 Thread Andy Wingo
Hi, Following the conventional switch to name the main development branch `main` instead of `master`, I have deleted the `master` branch which wasn't being automatically kept in sync and could confuse people. Thanks to Bruno Haible for his detailed notes reproducing my problems updating gnulib :)

what to do about gnulib

2024-06-24 Thread Andy Wingo
Hi, I am not sure what to do about gnulib. To recap, gnulib provides compile-time shims for "foreign" or out-of-date target systems that allows Guile to program to a single POSIX + GNU API and not worry too much about what the system actually offers. It is never installed; instead it includes th

GNU Guile 3.0.10 released

2024-06-23 Thread Andy Wingo
the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify guile-3.0.10.tar.gz.sig The signature should match the fingerprint of the following key: pub rsa4096 2017-08-09 [SC] 4FD4 D288 D445 934E 0A14 F9A5 A880 3732 E443 6885 uid Andy Wingo uid

GNU Guile 3.0.8 released

2022-02-12 Thread Andy Wingo
[A resend, as original mail accidentally had two From headers; apologies for any duplicates!] We are delighted to announce GNU Guile release 3.0.8, the latest in the 3.0 stable release series. The Guile 3.0.8 release mixes maintenance and optimizations that were landed since the previous 3.0.7 st

GNU Guile 3.0.8 released

2022-02-10 Thread Andy Wingo
We are delighted to announce GNU Guile release 3.0.8, the latest in the 3.0 stable release series. The Guile 3.0.8 release mixes maintenance and optimizations that were landed since the previous 3.0.7 stable release in May 2021. See the NEWS extract at the end of the mail for full details. Compa

thoughts on targetting the web

2021-06-19 Thread Andy Wingo
Hi :) A brain-dump tonight. I was thinking about what it would mean for Guile to target the web. The goal would be for Guile to be a useful language for programming client-side interaction on web pages. Now, there are a number of takes for Schemes of various stripes to target JS. I haven't mad

heads-up: development branch is now "main"

2021-05-11 Thread Andy Wingo
Hi, Just a heads-up that the main Guile development branch is now named "main". If you have a recent git and a fairly conventional setup, it will be sufficient to switch your working copy by doing: git fetch origin git checkout main Then you can continue to "git pull" as usual. One note, t

GNU Guile 3.0.7 released

2021-05-10 Thread Andy Wingo
We are humbled to announce GNU Guile release 3.0.7, the latest in the 3.0 stable release series. This is a fix-up release. Compared to Guile 3.0.6, Guile 3.0.7 fixes a number of bugs, many of which were introduced in the 3.0 series. Compared to the previous stable series (2.2.x), Guile 3.0 adds

GNU Guile 3.0.6 released

2021-04-28 Thread Andy Wingo
We are pleased to announce GNU Guile release 3.0.6, the latest in the 3.0 stable release series. Compared to the previous release in the 3.0 series, Guile 3.0.6 improves source-location information for compiled code, removes the dependency on libltdl, fixes some important bugs, adds an optional bu

Re: Preventing file descriptor leak to execl'd processes

2021-03-12 Thread Andy Wingo
On Sat 06 Mar 2021 17:55, Marius Bakke writes: > $ ls -l /proc/self/fd > lrwx-- 1 marius marius 64 Mar 6 17:41 0 -> /dev/pts/18 > lrwx-- 1 marius marius 64 Mar 6 17:41 1 -> /dev/pts/18 > lrwx-- 1 marius marius 64 Mar 6 17:41 2 -> /dev/pts/18 > lr-x-- 1 marius marius 64 Mar 6 1

Re: Some non-standard O_* flags are missing

2021-03-10 Thread Andy Wingo
Heya :) On Tue 09 Mar 2021 22:47, Maxime Devos writes: > On Tue, 2021-03-09 at 21:36 +0100, Andy Wingo wrote: >> Hi :) Sure, would be happy to accept a patch for these. > See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=46220> > and messages above. I'll look at up

Re: Linking to libraries in the ELF?

2021-03-09 Thread Andy Wingo
On Fri 29 Jan 2021 17:20, Maxime Devos writes: > I've got this crazy idea a few days ago, about the FFI interface. > When a program written in C is compiled with some shared libraries, > these libraries are referred to in special [insert ELF terminology > here] of the binary. I wonder if it woul

Re: [PATCH 1/1] scm_set_source_properties_x: optimize if only name, line, and/or col

2021-03-09 Thread Andy Wingo
On Sun 17 Jan 2021 23:55, Bruce Korb writes: > [Can I] swap out this code for something better now? I've disliked > this code for years. > >> static SCM >> ag_scm_c_eval_string_from_file_line( >>     char const * pzExpr, char const * pzFile, int line) Since Guile 2.0.1 you can (use-modules (i

Re: Some non-standard O_* flags are missing

2021-03-09 Thread Andy Wingo
Hi :) Sure, would be happy to accept a patch for these. It's adding more definitions to the base environment, which is usually a negative, but we'll have to find some kind of module solution for all of these flags at some point. If you do send a patch, please update the manual and NEWS also. Ch

Re: [PATCH] Support cross compilation

2021-03-09 Thread Andy Wingo
Hi :) Which library is this for? It doesn't appear to be guile itself. Andy On Sun 14 Feb 2021 10:16, Christopher Baines writes: > With these changes, I was able to cross-compile guile-lib to the GNU > Hurd, and use part of the library at least. > > * configure.ac: Set GUILE_TARGET when cross

GNU Guile 3.0.5 released

2021-01-07 Thread Andy Wingo
We are delighted to announce GNU Guile release 3.0.5, the latest in the 3.0 stable release series. Compared to the previous release in the 3.0 series, Guile 3.0.5 can compile chained "if" expressions into the equivalent of what a C compiler does with "switch". It also adds some new warning passes

Re: The size of ‘.go’ files

2020-06-24 Thread Andy Wingo
Hi :) On Tue 09 Jun 2020 18:09, Ludovic Courtès writes: > Andy Wingo skribis: > >> The guile.arities section starts with a sorted array of fixed-size >> headers, then is followed by a sequence of ULEB128 references to local >> variable names, including non-argum

Re: GNU Guile 3.0.3 released

2020-06-24 Thread Andy Wingo
On Tue 23 Jun 2020 11:36, Chris Vine writes: > On Tue, 23 Jun 2020 10:05:51 +0200 > Ludovic Courtès wrote: >> Hi Chris, >> >> Chris Vine skribis: >> >> > On Sun, 21 Jun 2020 23:04:03 +0200 >> > Ludovic Courtès wrote: >> >> We are delighted to announce GNU Guile release 3.0.3, the third bug-f

Re: The size of ‘.go’ files

2020-06-08 Thread Andy Wingo
Hi :) A few points of information :) On Fri 05 Jun 2020 22:50, Ludovic Courtès writes: > [Sorting] the ELF sections of a .go file by size; for ‘python-xyz.go’, > I get this: > > $13 = ((".rtl-text" . 3417108) > (".guile.arities" . 1358536) > (".data" . 586912) > (".rodata" . 361599) > (".sy

Re: [PATCH] Avoid malloc/free/dynwind for POSIX subrs that take strings

2020-05-17 Thread Andy Wingo
On Sun 17 May 2020 23:46, Ludovic Courtès writes: > The libunistring functions can take a pre-allocated buffer, but they > always malloc a fresh one if needed. So the best we could do is have a > ‘scm_to_stringn’ variant that takes a buffer, but it’s not guaranteed > that it’ll actually be used.

Re: [PATCH] Add tree-il optimizations for equal? on char and number literals

2020-05-14 Thread Andy Wingo
On Wed 13 May 2020 23:16, Linus Björnstam writes: > On the latest master equal? was not reduced to eq? on chars in the repl > for things like ,opt (define (a b) (equal? b #\b)). This turned out to be that I had broken the REPL command. The optimizer was working fine though. Fixed now :) Cheer

Re: [PATCH] Add tree-il optimizations for equal? on char and number literals

2020-05-13 Thread Andy Wingo
Hi :) On Wed 13 May 2020 13:20, Linus Björnstam writes: > Hi there! > > Aleix and I noticed that equal? has a lot higher overhead than eqv? on > chars, which means using (ice-9 match) for chars was suboptimal. This > patch fixes that. I think we can be a little more simple here. Scheme doesn't

Re: [PATCH] Avoid malloc/free/dynwind for POSIX subrs that take strings

2020-05-05 Thread Andy Wingo
Hi :) On Wed 29 Apr 2020 22:22, Ludovic Courtès writes: > As discussed on IRC, the patch below arranges so that subrs that take > strings and pass them to syscall wrappers can avoid the > malloc/free/dynwind overhead. This gives a 10% speedup on a tight loop > that calls these subrs: Neat opt

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

2020-03-13 Thread Andy Wingo
On Tue 10 Mar 2020 23:58, John David Anglin writes: > On 2020-02-08 9:07 a.m., Ludovic Courtès wrote: >> John Paul Adrian Glaubitz skribis: >> >>> * libguile/continuations.c (scm_dynthrow): Fix missing mra >>>parameter to grow_stack for SCM_STACK_GROWS_UP. >> Applied, thanks! > I believe th

a hack to do -- jitmaps

2020-02-26 Thread Andy Wingo
Hey :) I thought of a thing that I don't have time to implement right now: perf jitmap support in Guile. Basically, the "perf" Linux tool is a widely-available instruction-level and microarchitectural profiler. It's great: you run "perf record guile foo.scm", and then you run "perf report", and

Re: Segfault while building on 64-bit Cygwin

2020-02-17 Thread Andy Wingo
Aah, you all are amazing -- thank you!! Applied and merged. Cheers, Andy On Mon 17 Feb 2020 20:27, Charles Stanhope writes: > On 2/16/20, Charles Stanhope wrote: >> On 2/16/20, Mike Gran wrote: >>> >>> I can confirm that Charles's patch, plus another one line patch >>> to define CPU_SETSIZE

Re: Segfault while building on 64-bit Cygwin

2020-02-06 Thread Andy Wingo
On Mon 20 Jan 2020 18:22, Mike Gran writes: > On Mon, Jan 20, 2020 at 11:38:35AM -0500, John Cowan wrote: >> Yes, gladly, but I don't know how to get one in this context. Do I need to >> add some flags to the Makefile, and if so, where? (It's a twisty maze of >> passages, all different.) . Note

Re: CPU and GC cost of bignums

2020-02-06 Thread Andy Wingo
Hi :) Nice investigation! Perhaps slot-allocation should track live variables using something that's not bigints, but who knows. 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 memor

Re: Removal of hppa support

2020-02-04 Thread Andy Wingo
Greets, On Tue 04 Feb 2020 12:02, John Paul Adrian Glaubitz writes: > On 1/27/20 4:46 PM, Andy Wingo wrote: >> William is correct. HPPA support is not gone from Guile; and indeed >> it's good to hear from you :) I wasn't sure there were any IA64 users >> remain

Re: Removal of hppa support

2020-01-27 Thread Andy Wingo
Hi :) On Sun 26 Jan 2020 07:19, William ML Leslie writes: > On Sun, 26 Jan 2020, 4:46 pm William ML Leslie, > wrote: > On Sun, 26 Jan 2020, 8:20 am John Paul Adrian Glaubitz, > wrote: > > > I noticed that you recently purged hppa support from guile [1]. > > This change does not remove hp

GNU Guile 3.0.0 released

2020-01-16 Thread Andy Wingo
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 extract at the end of the mail for full

Re: %module-public-interface

2020-01-15 Thread Andy Wingo
On Wed 15 Jan 2020 07:50, dsm...@roadrunner.com writes: > I'm porting some old code to 3.0 and I've come across this: > > (define-module (bobotpp bot)) > > (set-module-uses! %module-public-interface > > (list (module-ref (resolve-module '(guile-user) #f) > >

Re: GNU Guile 2.9.9 Released [beta]

2020-01-15 Thread Andy Wingo
On Tue 14 Jan 2020 22:48, Stefan Israelsson Tampe writes: > Strange that I did not dee this error before in the 2.x series > ever. Isn't it so that for procedures define in a (let () ...) the > case you are mentioning happened before but I was on the impression > that no inlining was done for de

Re: GNU Guile 2.9.9 Released [beta]

2020-01-14 Thread Andy Wingo
On Tue 14 Jan 2020 21:13, Stefan Israelsson Tampe writes: > Okey, here is another case that fails with the patch that prevents identity > misses for toplevels e.g we need similar fixes for anonymous functions. > > (define-module (b) > #:export (q)) > > (define h (make-hash-table)) > (define (

Re: GNU Guile 2.9.9 Released [beta]

2020-01-14 Thread Andy Wingo
On Tue 14 Jan 2020 17:03, Mikael Djurfeldt writes: > Hmm... it seems like both Stefan and you have interpreted my post > exactly the opposite way compared to how it was meant. :) Hah! My apologies :) > What I wanted to say is that I probably prefer you to *reverse* the > recent patch because I

Re: GNU Guile 2.9.9 Released [beta]

2020-01-14 Thread Andy Wingo
On Tue 14 Jan 2020 15:47, Stefan Israelsson Tampe writes: > Yes, your patch is indicating when you should use the same identity > e.g. all uses of procedures in a higher order position such as an > argument or a return value. But I looked at your patch, which looks > good but I saw that for oper

Re: GNU Guile 2.9.9 Released [beta]

2020-01-14 Thread Andy Wingo
On Tue 14 Jan 2020 13:18, Mikael Djurfeldt writes: > I probably don't have a clue about what you are talking about (or at > least hope so), but this---the "eq change"---sounds scary to me. > > One of the *strengths* of Scheme is that procedures are first class > citizens. As wonderfully show-case

Re: GNU Guile 2.9.9 Released [beta]

2020-01-14 Thread Andy Wingo
On Mon 13 Jan 2020 22:32, Stefan Israelsson Tampe writes: > In current guile (eq? f f) = #f for a procedure f. Try: Note that procedure equality is explicitly unspecified by R6RS. Guile's declarative modules optimization took advantage of this to eta-expand references to declaratively-bound to

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 :)

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.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

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: 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.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: 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.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: 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: 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: 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: 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-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: [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: [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: 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: 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: 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")

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: 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

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

test message; please ignore

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

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

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

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-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. > ---

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: 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

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

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: 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

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

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: 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

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-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-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

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

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:

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

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

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.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

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.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 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* >

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: 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, 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

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

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, 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: 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

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

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: 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

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

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

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

  1   2   3   4   5   6   7   8   9   10   >