Re: Improving the handling of system data (env, users, paths, ...)

2024-07-07 Thread Jean Abou Samra
Le dimanche 07 juillet 2024 à 18:58 +0300, Eli Zaretskii a écrit : > Probably.  Do you consider it a problem in Emacs or in Pango? The Pango documentation explicitly states that Pango validates the input and "renders invalid UTF-8 with a placeholder glyph". https://docs.gtk.org/Pango/method.La

Re: Improving the handling of system data (env, users, paths, ...)

2024-07-07 Thread Jean Abou Samra
Le dimanche 07 juillet 2024 à 17:16 +0200, Jean Abou Samra a écrit : > From the implementation point of view: conversion from an encoding to > another could no longer use libiconv, because it stops on invalid > multibyte sequences. Likewise, Guile could probably not use

Re: Improving the handling of system data (env, users, paths, ...)

2024-07-07 Thread Jean Abou Samra
Le dimanche 07 juillet 2024 à 17:25 +0300, Eli Zaretskii a écrit : > > If Guile restricts itself to Unicode characters and only them, it will > lack important features.  So my suggestion is not to have this > restriction. > > I think the fact that this discussion is held, and that Rob suggested >

Re: Improving the handling of system data (env, users, paths, ...)

2024-07-07 Thread Jean Abou Samra
Le dimanche 07 juillet 2024 à 08:33 +0300, Eli Zaretskii a écrit : > >     - The internal representation is a superset of UTF-8, in that it >   is capable of representing characters for which there are no >   Unicode codepoints (such as GB 18030, some of whose characters >   don't have

Re: Improving the handling of system data (env, users, paths, ...)

2024-07-07 Thread Jean Abou Samra
Le samedi 06 juillet 2024 à 15:32 -0500, Rob Browning a écrit : > At a minimum, I suggest Guile should produce an error by default > (instead of generating incorrect data) when the system bytes cannot be > encoded in the current locale. I agree that an error would be better than replacing with a

Re: GRFI [was: The Guile junk drawer and a C plea]

2024-06-29 Thread Jean Abou Samra
Le samedi 29 juin 2024 à 12:04 -0700, Matt Wette a écrit : > How about a GRFI site to deal with proposals to Guile? In the current state of Guile, even simple patches are routinely taking months to get reviewed and merged by the maintainers, if they get replies at all. Not assigning blame here, ju

Re: The Guile junk drawer and a C plea (was: [PATCH] Add nondestructive delq1, delv1, and delete1.)

2024-06-29 Thread Jean Abou Samra
Le vendredi 28 juin 2024 à 22:52 -0400, Thompson, David a écrit : > Who actually wants to use that C API? lilypond $ git grep '\bscm_' '**/*.cc' '**/*.yy' '**/*.ll' | wc -l 3961 signature.asc Description: This is a digitally signed message part

Re: [PATCH 1/3] Make string-length documentation more correct

2024-06-26 Thread Jean Abou Samra
Le mercredi 26 juin 2024 à 13:46 +0200, Maxime Devos a écrit : > > > > Maybe `the number of codepoints` will work here. > > (string-length "👨‍🏭") ;; => 3 > > (string-length "é") ;; => 2>  > > The number of characters here is 1 in both cases. > > No, in Unicode (and Guile equates character=Unicod

Re: Minimal example of extending Guile with Rust?

2024-01-29 Thread Jean Abou Samra
 There are a number of crates with Rust bindings to the Guile C API: https://lib.rs/search?q=guile Most of them are just the result of running the bindgen tool, which autogenerates Rust bindings from C header files. A few of them have slightly more convenient wrapper but none is really well-de

Re: [PATCH] Fixes for custom-ports

2023-11-28 Thread Jean Abou Samra
Le mercredi 29 novembre 2023 à 07:47 +0100, Jonas Hahnfeld a écrit : > Sure: It makes sure that the extension is loaded also when not having a > compiled custom-ports.go. For reference, see the documentation at > https://www.gnu.org/software/guile/manual/html_node/Eval-When.html - > the previously

Re: [PATCH] Fixes for custom-ports

2023-11-28 Thread Jean Abou Samra
Le dimanche 29 octobre 2023 à 10:51 +0100, Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library a écrit : > while playing with current Guile main on Windows, I found some problems > in the implementation of custom-ports that was recently committed. > Please consider the attac

[PATCH] Pedantic corrections in macro docs

2023-07-07 Thread Jean Abou Samra
As it turns out, syntax-rules have more power than one might think. From d026b3f2364754b559acf9ad8ec7129eddfb51c7 Mon Sep 17 00:00:00 2001 From: Jean Abou Samra Date: Fri, 7 Jul 2023 16:40:06 +0200 Subject: [PATCH] Pedantic corrections in macro docs --- doc/ref/api-macros.texi | 28

Re: [PATCH] Add atomic-box-update! function to (ice-9 atomic)

2023-06-21 Thread Jean Abou Samra
> Le 21 juin 2023 à 18:46, Andrew Tropin a écrit : > > Make sense, but it's hard for me to say something valuable on this > topic. Usually, I don't use eq? and don't have enough knowledge of its > internals. *Currently*, it just checks whether the two C-level SCM values are the same bitwis

Re: [PATCH] Add atomic-box-update! function to (ice-9 atomic)

2023-06-21 Thread Jean Abou Samra
Le mercredi 21 juin 2023 à 11:06 +0200, Jean Abou Samra a écrit : > Le lundi 19 juin 2023 à 16:20 +0400, Andrew Tropin a écrit : > > +  (if (eq? old-value (atomic-box-compare-and-swap! box old-value > > new-value)) > > > Are you sure eq? is a good idea here? (eq?

Re: [PATCH] Add atomic-box-update! function to (ice-9 atomic)

2023-06-21 Thread Jean Abou Samra
Le lundi 19 juin 2023 à 16:20 +0400, Andrew Tropin a écrit : > +  (if (eq? old-value (atomic-box-compare-and-swap! box old-value > new-value)) Are you sure eq? is a good idea here? (eq? 5 5) is unspecified, for example. Perhaps eqv? would be more appropriate. signature.asc Description: Th

Re: Guile 64-bit Windows support, redux

2023-06-06 Thread Jean Abou Samra
Le mardi 06 juin 2023 à 20:50 +, Mike Gran a écrit : > Also, it might be that this isn't worth doing.  After all, you can run > Guile on Cygwin and Guix on WSL on Windows 10/11 already.  > But some projects that depend on Guile do deliver on > Windows using customized versions of 2.2 or 1.8.

Re: [RFC,PATCH] Do not GC_INIT the Boehm GC if already initialized

2023-02-06 Thread Jean Abou Samra
On 06/02/2023 19:34, Jose E. Marchesi wrote: > > Hello Guile hackers. > > We are in the process of integrating GNU poke[1] in GDB by mean of > libpoke. > > Problem is, libpoke uses the Boehm GC, as guile does. We are working on > switching to an ad-hoc exact collector, but it will get some time

Re: Doc patches outstanding

2023-01-17 Thread Jean Abou Samra
Le 17/01/2023 à 07:21, Dr. Arne Babenhauserheide a écrit : Hello Jean, Jean Abou Samra writes: Thank you for applying the first one nevertheless. I am attaching patch files for the other two, that should work better. They are applied and pushed now — thank you, and thank you for your

Re: [PATCH] Add 'bytevector-slice'.

2023-01-11 Thread Jean Abou Samra
Hi Ludovic, Le 11/01/2023 à 16:00, Ludovic Courtès a écrit : +@node Bytevector Slices +@subsubsection Bytevector Slices + +@cindex subset, of a bytevector +@cindex slice, of a bytevector +@cindex slice, of a uniform vector +As an extension to the R6RS specification, the @code{(rnrs bytevectors +

Re: Doc patches outstanding

2023-01-10 Thread Jean Abou Samra
Le 11/12/2022 à 12:30, Jean Abou Samra a écrit : Aargh, it looks like there is some whitespace mangling at some point between my mail client and debbugs, preventing the patches from being applied as-is. Thank you for applying the first one nevertheless. I am attaching patch files for the other

Re: define-module, #:export and export

2023-01-08 Thread Jean Abou Samra
Le 08/01/2023 à 16:18, yarl baudig a écrit : Obviously... Ok, I tried more. Apparently, (define-syntax define-enumerate-type (syntax-rules () ((_ name->int (name id) ...) (define-syntax name->int (syntax-rules (name ...) ((_ name) id) ...) works the same as

Re: define-module, #:export and export

2023-01-08 Thread Jean Abou Samra
Le 08/01/2023 à 10:46, yarl baudig a écrit : What if I replace (define-syntax define-enumerate-type (syntax-rules () ((_ name->int (name id) ...) (define-syntax name->int (syntax-rules (name ...) ((_ name) id) ...) with (define-syntax define-enumerate-type

Re: define-module, #:export and export

2023-01-07 Thread Jean Abou Samra
Le 06/01/2023 à 14:55, Maxime Devos a écrit : Guile's implementation of macros is a little lax with typing, in the sense that objects like #false and #true (but not symbols, because hygiene) can be returned too, but IIUC this is undocumented and not standard Scheme (*). Well, that is what I

Re: define-module, #:export and export

2023-01-04 Thread Jean Abou Samra
Le 04/01/2023 à 18:28, Maxime Devos a écrit : On 04-01-2023 16:11, yarl baudig wrote: Hello guile. I don't know if that's a bug. Anyway, I am confused about this so I ask. I came across this problem playing with guix source code. I will share different "tests" each test is a directory with no

Re: Guile VM interpreter in GraalVM Truffle framework

2022-12-24 Thread Jean Abou Samra
Le 23/12/2022 à 18:06, Arvydas Silanskas a écrit : Good day, I have aspirations to run scheme on graalvm's truffle framework. And on superficial research, it seems implementing a Guile VM bytecode interpreter could be easiest path. I just want to inquire, if someone already had similar ideas

Re: Doc patches outstanding

2022-12-11 Thread Jean Abou Samra
Le 11/12/2022 à 03:05, Dr. Arne Babenhauserheide a écrit : Hi, Jean Abou Samra writes: I submitted a few doc patches which are awaiting someone to review / push. They should be simple :-)  I hope someone can have a look. - Document that eq?, eqv? and equal? take any number   of arguments

Doc patches outstanding

2022-12-07 Thread Jean Abou Samra
Hi, I submitted a few doc patches which are awaiting someone to review / push. They should be simple :-)  I hope someone can have a look. - Document that eq?, eqv? and equal? take any number   of arguments. https://lists.gnu.org/archive/html/guile-devel/2022-11/msg9.html - Fix eval-when e

Re: [Doc] Patch: eq? and friends accepts more than two arguments

2022-11-06 Thread Jean Abou Samra
. Probably better to do: From 09177dab48dabee4b6b6ac5fe110cd56e3e6e261 Mon Sep 17 00:00:00 2001 From: Jean Abou Samra Date: Sun, 6 Nov 2022 15:55:24 +0100 Subject: [PATCH] Doc: document that eq?, eqv? and equal? take any number of  arguments ---  doc/ref/api-utility.texi | 29

define-syntax-public

2022-11-04 Thread Jean Abou Samra
Hi, Guile 1.8's (ice-9 syncase) provides define-syntax-public as a convenience for define-syntax + export. It is not found in Guile 2.2 and later, though. Was this an oversight or intentional? Would it make sense to add it back as well as define-syntax-rule-public? Thanks, Jean OpenPGP_signat

Re: Feature request: Ability to document variables like defvar in elisp

2022-11-04 Thread Jean Abou Samra
Le 02/11/2022 à 11:15, Mikael Djurfeldt a écrit : (define a 5) (set-object-property! (module-variable (current-module) 'a) 'documentation "The variable a contains a number.") ? Why not, but I wanted to point out that variable documentation cannot be done in a way that is consistent with pro

Re: Feature request: Ability to document variables like defvar in elisp

2022-11-02 Thread Jean Abou Samra
Le 02/11/2022 à 02:08, Jacob Hrbek a écrit : The ability to document variables is critical for many projects such as libfive where the variables is used to declares functional computer aided design structure and other projects where variables influence the workflow. Thus proposing to change t

Crashes with continuations in Guile 2.2 on MinGW

2022-10-17 Thread Jean Abou Samra
Hi, See https://gitlab.com/lilypond/lilypond/-/issues/6430 In LilyPond, we are observing crashes when reinstating (undelimited) continuations in our Windows binaries compiled via MinGW. Note that this is with Guile 2.2; it is possible that we will move to Guile 3 at some point, but for our next s

Re: Relaxing the copyright assignment policy

2022-10-08 Thread Jean Abou Samra
FYI, it looks like the file HACKING mentions copyright assignment. You probably want to update it.

Re: Relaxing the copyright assignment policy

2022-10-06 Thread Jean Abou Samra
Le 06/10/2022 à 22:18, Ludovic Courtès a écrit : Hello Guilers! Until now, we required copyright for “legally significant¹” contributions to Guile to be assigned to the Free Software Foundation (FSF). This requirement did not exist for code not initially written for Guile—e.g., (ice-9 match)

Re: Recursive Macros generating Definitions

2022-10-03 Thread Jean Abou Samra
Le 03/10/2022 à 15:41, Frank Terbeck a écrit : I get the point, but I think it's sort of surprising, when everything in the macro-language is otherwise quite literal, to my understanding. It may be warranted to point this out in the documentation that this is a side effect of hygienic macr

Re: bug#58109: simple-format vs (ice-9 format) bug in 3.0.7?

2022-10-01 Thread Jean Abou Samra
Le 01/10/2022 à 15:40, Ludovic Courtès a écrit : Hi, Jean Abou Samra skribis: Uh, at the end of module/ice-9/format.scm, there is ;; Thanks to Shuji Narazaki (module-set! the-root-module 'format format) which dates back to commit 14469b7c69feb0f2c5b8a093f19fe2a548b31c5b Author: G

Re: simple-format vs (ice-9 format) bug in 3.0.7?

2022-09-27 Thread Jean Abou Samra
Le 27/09/2022 à 12:23, Christopher Lam a écrit : Hi guilers, here's a short bash session. Why would the first bash call to "guile s.scm" work, but not the second one? guile-3.0.7 on ubuntu. This is a duplicate of https://debbugs.gnu.org/cgi/bugreport.cgi?bug=50059

Re: simple-format vs (ice-9 format) bug in 3.0.7?

2022-09-27 Thread Jean Abou Samra
Le 27/09/2022 à 12:35, Jean Abou Samra a écrit : Le 27/09/2022 à 12:23, Christopher Lam a écrit : Hi guilers, here's a short bash session. Why would the first bash call to "guile s.scm" work, but not the second one? guile-3.0.7 on ubuntu. This is a dup

Re: Strongly typed language my ass

2022-09-20 Thread Jean Abou Samra
> Le 20 sept. 2022 à 23:44, Jacob Hrbek a écrit : > >  > In what world is this considered a strongly typed language when I need to do > these checks like it's a weakly typed one? > > (define* (lazy-assign key #:optional (val "")) > "Assign environmental variable KEY with an optiona

Re: [PATCH] Properly display locations in "source vector" form.

2022-08-26 Thread Jean Abou Samra
Le 26/08/2022 à 12:50, lloda a écrit : Ah this one has been bugging me. Applied in eb5ecf4944cd646341f7e47dda5396cf96a4b8a3. Thank you! This likely fixes https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56493.

Re: “Too many root sets” when calling compile frequently

2022-08-20 Thread Jean Abou Samra
> Le 19 août 2022 à 12:19, Maxime Devos a écrit : > >  >> On 19-08-2022 00:18, Jean Abou Samra wrote: >> Hi, >> >> Calling the Guile compiler often causes this BDWGC error: “Too >> many root sets”. >> >> scheme@(guile-user)> (define-syn

Re: “Too many root sets” when calling compile frequently

2022-08-19 Thread Jean Abou Samra
Le 19/08/2022 à 00:33, Jean Abou Samra a écrit : Le 19/08/2022 à 00:18, Jean Abou Samra a écrit : Calling the Guile compiler often causes this BDWGC error: “Too many root sets”. scheme@(guile-user)> (define-syntax-rule (repeat n expr expr* ...) (do ((i 0 (1+ i))) ((eqv? i n)) expr e

Re: “Too many root sets” when calling compile frequently

2022-08-18 Thread Jean Abou Samra
Le 19/08/2022 à 00:18, Jean Abou Samra a écrit : Calling the Guile compiler often causes this BDWGC error: “Too many root sets”. scheme@(guile-user)> (define-syntax-rule (repeat n expr expr* ...) (do ((i 0 (1+ i))) ((eqv? i n)) expr expr* ...)) scheme@(guile-user)> (use-modules (syste

“Too many root sets” when calling compile frequently

2022-08-18 Thread Jean Abou Samra
Hi, Calling the Guile compiler often causes this BDWGC error: “Too many root sets”. scheme@(guile-user)> (define-syntax-rule (repeat n expr expr* ...) (do ((i 0 (1+ i))) ((eqv? i n)) expr expr* ...)) scheme@(guile-user)> (use-modules (system base compile)) scheme@(guile-user)> (repeat 1 (c

Re: string is read-only

2022-08-03 Thread Jean Abou Samra
> Le 3 août 2022 à 11:49, Taylan Kammer a écrit : > > On 03.08.2022 11:12, Damien Mattei wrote: >> GNU Guile 3.0.1 >> Copyright (C) 1995-2020 Free Software Foundation, Inc. >> >> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. >> This program is free software, and you are

Re: string is read-only

2022-08-03 Thread Jean Abou Samra
> Le 3 août 2022 à 12:30, Taylan Kammer a écrit : > > On 03.08.2022 11:50, Jean Abou Samra wrote: >> >> >>>> Le 3 août 2022 à 11:49, Taylan Kammer a écrit : >>> >>> On 03.08.2022 11:12, Damien Mattei wrote: >>>> GNU Guile 3

Re: Mysterious crash in BDWGC on Windows

2022-06-19 Thread Jean Abou Samra
Reposting because of mangled formatting, sorry. Not sure what went wrong. Hi Guilers, Sorry about the double post on guile-devel and guile-user, I wasn't sure which one was more appropriate for this. In LilyPond, we're getting random crashes on Windows builds, with Guile 2.2 [*]. These are buil

Mysterious crash in BDWGC on Windows

2022-06-19 Thread Jean Abou Samra
Hi Guilers, Sorry about the double post on guile-devel and guile-user, I wasn't sure which one was more appropriate for this. In LilyPond, we're getting random crashes on Windows builds, with Guile 2.2 [*]. These are builds are done by cross-compilation to MinGW. Tracker issue: https://gitlab.c

Re: Are source locations broken?

2022-05-01 Thread Jean Abou Samra
Le 01/05/2022 à 19:04, Olivier Dion a écrit : Any news on that bug? Last time I looked, it seemed that there had been an oversight with source locations having changed representation (becoming 3-element vectors instead of alists with symbol keys). But since the bugfix patch I have submitted fo

(ice-9 sandbox) vs. (ice-9 safe)

2022-04-24 Thread Jean Abou Samra
Hi, Guile 2.2 has a (ice-9 sandbox) module, documented at https://www.gnu.org/software/guile/docs/docs-2.2/guile-ref/Sandboxed-Evaluation.html#index-make_002dsandbox_002dmodule Earlier Guile already had the (ice-9 safe) module, which provided a somewhat similar facility (which is also richer, a

"INTERNAL ERROR IN FORMAT-ERROR!"

2022-04-19 Thread Jean Abou Samra
Hi, The simple file (format #f "~f" 'invalid) gives me FORMAT: error with call: (format #f "~f<===" ===>invalid )     argument is not a number or a number string FORMAT: INTERNAL ERROR IN FORMAT-ERROR!     destination: #f     format string: "~f"     format args: (invalid)  

[PATCH] In curried definitions, move docstrings to outermost lambda

2022-03-28 Thread Jean Abou Samra
Hi, Please consider the following patch, fixing bug #50068. Best regards, Jean From 79552d2974e9cbcfcf01960aab68cb6824c88972 Mon Sep 17 00:00:00 2001 From: Jean Abou Samra Date: Tue, 29 Mar 2022 00:14:45 +0200 Subject: [PATCH] In curried definitions, move docstrings to outermost lambda

Macro for Python-style debugging output

2022-03-28 Thread Jean Abou Samra
The following macro is a variant of peek that mimics Python's = format specifier (e.g. print(f"{a=} {a+b=}")) by printing expressions and the values they evaluate to. (define-syntax-rule (db arg ...)   (begin     (let ((evaluated-arg arg))   (format (current-error-port) ";;; ~s => ~s\n" (quot

Are source locations broken?

2022-03-25 Thread Jean Abou Samra
Hi, Please have a look at: $ ./libguile/guile test.scm ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;;   or pass the --no-auto-compile argument to disable. ;;; compiling /home/jean/Bureau/ENS-1A/dm_anac/test.scm ;;; : warning: possibly unbound variable `unbound-variable'

Heads-up: LilyPond now running Guile 2.2

2022-03-17 Thread Jean Abou Samra
For your information: https://gitlab.com/lilypond/lilypond/-/merge_requests/1250

Re: Guile optimizations slowing down the program?

2022-03-09 Thread Jean Abou Samra
> Le 9 mars 2022 à 08:53, "Dr. Arne Babenhauserheide" a écrit > : > > > Maxime Devos writes: >> Jean Abou Samra schreef op wo 09-03-2022 om 00:31 [+0100]: >>> In summary, the less Guile optimizes, the faster LilyPond runs. Is that >>> s

Guile optimizations slowing down the program?

2022-03-08 Thread Jean Abou Samra
Hi, LilyPond has a fairly sized body of Scheme code. With Guile 2, the byte-compilation with default settings takes 1 minute, and 1min30 with Guile 3, so I've been experimenting with reducing optimizations to make it faster for development cycles. I've found that disabling optimizations reduces t

Re: 'guild compile' and C(++) extensions (in the context of LilyPond)

2022-02-21 Thread Jean Abou Samra
Le 19/02/2022 à 22:25, Olivier Dion a écrit : On Sat, 19 Feb 2022, Jean Abou Samra wrote: I had similar problem with Jami. I added C++ primitives to Guile, but these were not load using the foreign function interface. Note, I'm using Guile 3.0.8, but I think the same could be don

'guild compile' and C(++) extensions (in the context of LilyPond)

2022-02-19 Thread Jean Abou Samra
Hi, (Cross-posted to guile-user, guile-devel and the debbugs issue, I'm unsure where this should go.) In LilyPond, we have now made a development release with binaries using Guile 2.2. However, a major problem is that we don't ship Guile bytecode yet. Notably, one problem to get the bytecode in

Re: Maintenance and future of Guile (was: [patch] Add instructions for sending patches)

2021-12-13 Thread Jean Abou Samra
Le 13/12/2021 à 23:18, Jean Abou Samra a écrit : I understand the cost of reviewing and I know that nobody is entitled to anything in the free software world. Sorry, this is me non-native-speaker mixing up terms. I meant _obligated_, of course! Jean

Maintenance and future of Guile (was: [patch] Add instructions for sending patches)

2021-12-13 Thread Jean Abou Samra
heir activity, it would be nice if they could share maintainership so that at least bug fixes can be applied. (NB: Sending this as myself, _not_ after any sort of discussion at LilyPond.) Thank you for your consideration, Jean Abou Samra

Re: Auto-compilation and the REPL

2021-07-03 Thread Jean Abou Samra
Le 27/06/2021 00:04, Jean Abou Samra <j...@abou-samra.fr> a écrit : Hello, It seems that Guile always compiles the code entered at the REPL even with --no-auto-compile: jean@