ah i understand it is not code? but edition macros?
if i understand well...🤔
Damien
On Sat, Jul 19, 2025 at 10:40 PM Dr. Arne Babenhauserheide
wrote:
> Hi Damien,
>
> I’m glad you like it!
>
> > but i do not understand why so much {{{ }}} at page 23:
> > {{{known-heights}}}
>
> It seems then tha
Good book Arne,
thank for the sharing,
i liked the curly infix use,
but i do not understand why so much {{{ }}} at page 23:
{{{known-heights}}}
Damien
On Sat, Jul 19, 2025 at 4:53 PM Dr. Arne Babenhauserheide
wrote:
> Hi,
>
> Naming and Logic -- programming essentials with Scheme
> is a small 6
On Sat, Sep 7, 2024 at 7:52 PM Maxime Devos wrote:
>
>
>
> IIRC doing (set! some-variable some-variable) on the top-level on a
> variable of the module makes the module non-declarative by default, but
> please check the manual for details (there is some information on this, I
> don’t recall the n
just my 2 cents...
about moving code from C to Scheme, it seems to be the Racket choice , they
had Racket written in C and now they have a new version based on Chez
Scheme that is mainly written in Scheme, they move a lot of code from C to
Scheme as far as i know...
About breaking backward compat
and how long for this one? 𓄿𓎢𓆑𓇋𓅃𓉔𓇌𓃀𓆓
😂
thank you ,Arne give me some links too.
Damien
On Mon, Jun 10, 2024 at 10:13 AM Maxime Devos
wrote:
>
>
> >where is the doc of Wisp? i did not yet install it, as i understand it
> will be included in next release of Guile?
>
>
>
> Going by the the commit message, it now is in:
>
>
>
> > * doc/re
Hello,
where is the doc of Wisp? i did not yet install it, as i understand it will
be included in next release of Guile?
what is the exact meaning of : and . ?
any simple examples?
regards,
Damien
On Sat, Jun 1, 2024 at 5:07 PM Dr. Arne Babenhauserheide
wrote:
> Hi Ludo’,
>
> Ludovic Courtès
On Sun, Jan 21, 2024 at 12:24 AM Dr. Arne Babenhauserheide
wrote:
>
>
> > Is your implementation of {} compatible with SRFI-105? (curly infix)
> >
> > yes it is based on SRFI-105
>
> That’s very cool!
>
> While I’m doubtful about your other changes in scheme+, this is an
> improvement that I’d l
On Sat, Jan 20, 2024 at 9:07 PM Dr. Arne Babenhauserheide
wrote:
>
> Damien Mattei writes:
>
>
> > by keeping the same
> > number of parenthesis, but they are just differents : ( ), { }, [ ]
> > and it allow the use of infix expressions.
>
> Is your implement
hello Christina,
i just add a #; support in Scheme+ :
https://github.com/damien-mattei/Scheme-PLUS-for-Guile
Scheme+ is an extension syntax to Scheme. It goes in the opposite direction
of Wisp or Rhombus (based on Racket) by keeping the same number of
parenthesis, but they are just differents
hello,
i noticed that when defining a module and exporting a procedure not
defined this does not cause an error in Guile ( at the opposite to Racket
for example).
example:
(define-module (my_module)
#:export (my_undefined_procedure)
(include-from-path "file.scm"))
in REPL:
(use-modules (my_m
chatGPT is using the "static" 2021 free data available on internet ,free
databases,... it knows poorly after 2021 as "they" say.
Without the human intelligence that has create all the data chatGPT can do
nothing.
Now people use chatGPT to create poor quality data stored on the internet
web page
chatGPT is only a "predictor of the next word" ,okay perheaps a bit more
On Fri, Mar 17, 2023 at 8:09 PM Damien Mattei
wrote:
> i understand the fun thing... :-)
>
> and i did not check the program with Guile but asked a Racket version of
> the bouncing ball
i understand the fun thing... :-)
and i did not check the program with Guile but asked a Racket version of
the bouncing ball and it is full of errors even if i try to correct them by
hand...
Welcome to DrRacket, version 8.7 [cs].
Language: racket/gui, with debugging; memory limit: 8192 MB.
. . se
in memory if
the scm_init_guile() as already been launch for the current thread the
code is running now.
I also put omp_get_max_threads() in a static var as openmp() is called many
times in my codes and the number of available hardware cpus would change
never.
the code is here:
https://github.
https://github.com/damien-mattei/library-FunctProg/blob/master/guile-openMP.c#L91
the scheme+ code for speed test looks like that (i use collatz function to
make the computation unpredictable for any C compiler optimisations when i
compare with pur C code):
;; only for speed tests
{vtstlen <+ 26422
Hello,
i can build the *git* version of Guile on a system Ubuntu:
uname -a
Linux moita 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022
x86_64 x86_64 x86_64 GNU/Linux
but i can not build the *stable* version:
configure without options is OK but when after make i got this error:
SNARF
ut Guile doesn't actually use those symbols. At one time (well
> over 10 years ago) I got Guile to work fine with the Apple readline by
> removing those specific ./configure checks.
>
> But you are probably better off by installing gnu readline.
>
> -Dale
>
>
> ---
thanks for your help Dale,anyway readline is a simple option but really
cool...
Damien
-- Forwarded message -
From: Damien Mattei
Date: Mon, Dec 26, 2022 at 3:31 PM
Subject: Re: compilation error on Apple M1
To:
hello Dale,
yes i had to install gsed (gnu sed):
brew install
://github.com/aconchillo/homebrew-guile/tree/master/Formula
>
> Some people dislike Homebrew very much and refuse to install it, so I
> totally understand if that's the case.
>
> Best,
>
> Aleix
>
> On Sun, Dec 25, 2022 at 3:33 PM Damien Mattei
> wrote:
>
&
while trying to compile guile 3.0.7 on Apple M1...
On Mon, Dec 26, 2022 at 12:32 AM Damien Mattei
wrote:
> hello,
>
> on Apple M1 i have this error:
>
> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h
hello,
on Apple M1 i have this error:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:215:48:
note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
code
but perheaps my test are not reliable, i can only explain some slow down
now due to CPU overloaded by another process in the system at different
moment in tests. I have no idea how to perform more reliable tests.
On Thu, Dec 22, 2022 at 6:32 PM Damien Mattei
wrote:
> i'm interested with tr
:
;; 7'08" MacOS Ventura M1
{unified-minterms-set <+ (list-transduce (compose (tfilter (λ (x) x))
(tdelete-duplicates)) rcons unified-minterms-set-1)}
it is an interesting 15% speed up in my code.
On Thu, Dec 22, 2022 at 3:52 PM Damien Mattei
wrote:
> i just understood th
i just understood the scheme :-)
scheme@(guile-user)> (list-transduce (compose (tfilter (λ (x) x))
(tdelete-duplicates)) rcons (list 1 2 #f 3 3 4))
$12 = (1 2 3 4)
sorry...
On Thu, Dec 22, 2022 at 3:33 PM Damien Mattei
wrote:
> hello,
> just trying transducers before using it,
hello,
just trying transducers before using it, i try to understand.
what is wrong with that:
scheme@(guile-user)> (list-transduce (tfilter (λ (x) x))
(tdelete-duplicates) (list 1 2 #f 3 3 4))
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Wrong number of arguments to #
Entering a new pro
Hello,
i almost never use a debugger but in C as a student.
Never after.
programming in a functional style and if in need print some debug
information, all my program worked and the only hard problem were not due
to implementation but algorithm,and for that the debugger is useless...
http://i-exc
thanks,hope it will be in a next stable release of Guile
regards,
damien
On Wed, Nov 9, 2022 at 4:34 PM Linus Björnstam
wrote:
> Hi there!
>
> This commit adds internal definitions to derived conditional forms,
> with-fluids and and-let*. This means the bodies of when, unless and
> with-fluids,
ved to
>> support fine grained parallelism. :-)
>>
>> Best regards,
>> Mikael
>>
>> On Wed, Oct 12, 2022 at 11:30 PM Zelphir Kaltstahl <
>> zelphirkaltst...@posteo.de> wrote:
>>
>>> Hi!
>>>
>>> On 10/12/22 22:27, Dam
think futures are easy to use but limited
in solving acute // problems, such as using a global variable like an hash
table...
Damien
On Mon, Oct 17, 2022 at 3:17 PM Damien Mattei
wrote:
> Hello,
>
> sorry for my late answer ( i wrote the code friday but i could only debug
> today
;= end} {i <- {i + 1}})
{mtL <+ {minterms-vector[i]}}
(nodebug
(dv mtL))
{unified-minterms-vector-1[i] <- (function-unify-minterms-list
mtL)}))
(declare minterms-vector unified-minterms-vector-1)
https://github.com/damien-mattei/library-FunctProg/blob/master/gu
of CPUs (6):
cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
processor : 2
processor : 3
processor : 4
processor : 5
https://github.com/damien-mattei/library-FunctProg/blob/master/guile/logiki%2B.scm#L1900
(declare minterms-vector unified-minterms-vector-1)
(define (funct-unify-mi
available CPUs or nodes, if i understand well?
Regards,
Damien
On Wed, Oct 12, 2022 at 11:29 PM Zelphir Kaltstahl <
zelphirkaltst...@posteo.de> wrote:
> Hi!
>
> On 10/12/22 22:27, Damien Mattei wrote:
> >
> https://github.com/damien-mattei/library-FunctProg/blob/master/gu
le 'curly-infix)
;; set current path in load path
(set! %load-path (reverse (cons "." (reverse %load-path
;; other solution is to put this in shell:
;; export GUILE_LOAD_PATH="...:."
On Thu, Oct 13, 2022 at 4:10 PM Damien Mattei
wrote:
>
>
> On Thu, Oct 13, 202
On Thu, Oct 13, 2022 at 4:06 PM Olivier Dion
wrote:
> On Thu, 13 Oct 2022, Damien Mattei wrote:
> > i do not see what has changed in your code ?
>
> Just copy it. Trust me it has changed.
>
really ? :-) i read it 3 times line by line, yes the end is cut ,still no
ending
i do not see what has changed in your code ?
really strange,even with bad code the moment it crash should be the same,
sometimes works,crash or freeze
On Thu, Oct 13, 2022 at 2:41 PM Olivier Dion
wrote:
> On Thu, 13 Oct 2022, Damien Mattei wrote:
> > the code did not worked
; i rest)
(let ((i (+ i base)))
(vector-set! output i (proc (vector-ref input i
(lp (1+ i)
output
now it works but crash randomly, not even at the same stage, i continue to
test and debug
On Thu, Oct 13, 2022 at 1:57 PM Damien Mattei
wrote:
> sorry google always do reply to sin
sorry google always do reply to single author...
-- Forwarded message -
From: Damien Mattei
Date: Thu, Oct 13, 2022 at 1:56 PM
Subject: Re: map-par slower than map
To: Olivier Dion
ah just at the end? i had noticed, but i get #unspecifeid ? so my new code
is not good if your
i trying to use your code but it seems there is a ) mismatch somewhere?
On Wed, Oct 12, 2022 at 11:55 PM Olivier Dion
wrote:
> On Wed, 12 Oct 2022, Damien Mattei wrote:
> > Hello,
> > all is in the title, i test on a approximately 3 element list , i got
> > 9s with
ng it
step by step will show where is the bottleneck, let me just a few time and
i will go back to the mailing lists with interesting results i hope
On Thu, Oct 13, 2022 at 9:40 AM Damien Mattei
wrote:
> ok , i think the problem comes both from my code and from guile parmap so.
> Obviou
n Wed, Oct 12, 2022 at 11:55 PM Olivier Dion
wrote:
> On Wed, 12 Oct 2022, Damien Mattei wrote:
> > Hello,
> > all is in the title, i test on a approximately 3 element list , i got
> > 9s with map and 3min 30s with par-map on exactly the same piece of
> > code!?
>
https://github.com/damien-mattei/library-FunctProg/blob/master/guile/logiki%2B.scm#L1674
i commited the current version of code here with all files but it is
huge :-/
On Wed, Oct 12, 2022 at 10:20 PM Damien Mattei
wrote:
> Mutex? i do not think code has situation where dead lock co
was defined at top level and shared by all threads!!! yes
there could have be some mutex but this is not the case, i think even all
function are pure so why is it more slow with // than without?
Damien
On Wed, Oct 12, 2022 at 8:45 PM Maxime Devos wrote:
> On 12-10-2022 19:19, Damien Mattei wr
Hello,
all is in the title, i test on a approximately 3 element list , i got
9s with map and 3min 30s with par-map on exactly the same piece of code!?
what i change in code is in comments:
{unified-minterms-set-1 <+ (map function-unify-minterms-list minterms-set)}
;;(par-map function-unify-min
thanks, if just replaced the 'begin by 'let () to allow internal
definitions but i haven't test it yet (finally no need in my code of define
internal at this point)
regards,
Damien
On Mon, Sep 12, 2022 at 10:47 AM Taylan Kammer
wrote:
> On 12.09.2022 09:42, Damien Mattei wr
just forget to add , if it is unclear it is 'case of scheme:
https://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/if-cond-case.html#if-cond-case
On Mon, Sep 12, 2022 at 10:27 AM Damien Mattei
wrote:
> sorry if my question was unclear , i search the source code if it exist in
>
uot;step" var step ...)
...))
(loop init ...)))
((do "step" x)
x)
((do "step" x y)
y)))
regards,
Damien
On Mon, Sep 12, 2022 at 9:46 AM Zelphir Kaltstahl <
zelphirkaltst...@posteo.de> wrote:
> Hello Damien,
>
> On 9/12/22
Hello,
i can not find in the scheme community a definition of 'case in term of
macro as for when, unless,while,do... does anyone have it?
thanks,
Damien
i finalize my ideas about 'controls' and loops (with break and continue, as
while feature them ,even if scheme and macro do not allow ? (if someone
else have idea and solution about it?) implements of 'continue and 'break
because hygiene forbid it)
https://github.com/d
On Wed, Aug 31, 2022 at 5:29 PM Maxime Devos wrote:
>
> On 31-08-2022 09:01, Damien Mattei wrote:
> > I always try to keep compatibility with RnRS and in fact except cond
> > none of when, unless, cond, case, while, and do are in standart RnRS
> schem
>
> 'when&
d do as well as in
> derived forms.
>
> --
> Linus Björnstam
>
> On Sat, 27 Aug 2022, at 18:48, Damien Mattei wrote:
> > Hello,
> >
> > i'm facing sometimes recursively the problem to have definitions in
> > expression context, which i manage every time by
-- Forwarded message -
From: Damien Mattei
Date: Mon, Aug 29, 2022 at 12:09 PM
Subject: Re: expression and definition context in Scheme
To: Maxime Devos
yes , the same with 'while too, i will make it in my Scheme+ to allow inner
'define in those blocks without other
hello Maxime,
On Sat, Aug 27, 2022 at 7:00 PM Maxime Devos wrote:
>
> On 27-08-2022 18:48, Damien Mattei wrote:
>
> My ideas is as it is so easy to cheat the compiler
>
> I don't think it's cheating or abusive.
>
> from seeing the expressio context w
Hello,
i'm facing sometimes recursively the problem to have definitions in
expression context, which i manage every time by adding an upper empty (let
() my definitions goes here )
the last case i was facing this probleme is defining a 'for macro:
;; scheme@(guile-user)> (for ({i <+ 0} {i < 5} {i
>
> It's how all Lisps, including guile, works. So, yes, if one is
> interested in these languages, this is interesting knowledge :)
>
Pierpaolo you sense of humour is tickling me :-)
i admit it is not common nowadays to set-car! or set-cdr! and my teachers
at the time i learn it
forbided it and
On Wed, Aug 3, 2022 at 12:59 PM Maxime Devos wrote:
>
> (My unverified hypothesis on why you aren't seeing an error here.)
>
>
> it would be a big change and very strange :-O if the few lines of code
below in scheme returned an error on lists:
but no restrictions with lists in Guile:
scheme@(gu
#x27;(1 2 3))
scheme@(guile-user)> (set-car! lst 7)
scheme@(guile-user)> lst
(7 2 3)
which seems not logic.(but i recognize the behavior of Scheme of '80 even
if i no more use set-car! and set-cdr!)
Damien
On Wed, Aug 3, 2022 at 11:41 AM Maxime Devos wrote:
>
> On 03-08-2022 1
-- Forwarded message -
From: Damien Mattei
Date: Wed, Aug 3, 2022 at 11:51 AM
Subject: Re: string is read-only
To: Thomas Morley
ok
and i suppose it is the standard, i have been confused by other schemes or
racket where my code worked:
CHICKEN
(c) 2008-2019, The CHICKEN Team
(c
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 welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(g
Hello,
i have released the version 2.0 of Scheme+ for Guile:
https://github.com/damien-mattei/Scheme-PLUS-for-Guile
Scheme+ is an extension of the syntax of the Scheme
<https://en.wikipedia.org/wiki/Scheme_%28programming_language%29> language.
Scheme+ makes it easy the assignment of
-- Forwarded message -
From: Damien Mattei
Date: Tue, Jan 11, 2022 at 9:34 PM
Subject: Re: guile array different than srfi 25
To: lloda
sorry i have no time for this, perhaps only the creation of array differs
regards
Damien
On Tue, Jan 11, 2022 at 6:22 PM lloda wrote
hello,
why guile array differs from SRFI 25:
make-array syntax :
https://www.gnu.org/software/guile/manual/html_node/Array-Procedures.html
(make-array 'ho 2 3) ⇒ #2((ho ho ho) (ho ho ho))
different than srfi 25:
https://srfi.schemers.org/srfi-25/srfi-25.html
(make-array shape obj)
Returns a
t;
> Another thing would be to not use call/cc in the def form. Let/ec is a lot
> faster.
>
> --
> Linus Björnstam
>
> On Mon, 20 Dec 2021, at 01:05, Damien Mattei wrote:
> > Hi,
> > I finished today the first version of Scheme+.
> > Scheme+ is an extension
gs,see:
https://damien-mattei.github.io/Scheme-PLUS-for-Guile/Scheme+io.html
or:
https://github.com/damien-mattei/Scheme-PLUS-for-Guile/blob/main/README.md
static light HTML page:
https://damien-mattei.github.io/Scheme-PLUS-for-Guile/Scheme+.html
direct link to code and README:
https://gith
ok thanks,
i will try to remember that if a next time
regards,
damien
On Mon, Nov 22, 2021 at 7:31 PM lloda wrote:
>
> Hi,
>
> I just fixed this in git, thanks for the report.
>
> But yeah, if you have more, like Arun says, ideally send it to bug-guile.
> That way if no one gets to it immediatel
hello,
what it is the good place or way to submit or correct errors and typos in
guile documentation?
for example here:
https://www.gnu.org/software/guile/manual/html_node/while-do.html
the result of :
(do ((i 1 (1+ i))
(p 3 (* 3 p)))
((> i 4)
p)
(format #t "3**~s is ~s\n" i p))
seems to be a pretty work, but why there is not a simple example in the doc
about make supervector :-O ? perhaps for you it is evident what is it but
for an outside people to the project it is not.
Damien
On Sat, Oct 2, 2021 at 6:55 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> I
branch of code the way python do it that can
be seen from the whole procedure.I do not think it is a good idea and
useful. But i hoped to be able to avoid a 'declare' at the top or somewhere
but declaration even in Scheme could be necessary with some typed Scheme or
when using object oriented
yes i'm using GNU Guile 3.0.7,
https://www.gnu.org/software/guile/docs/master/guile.html/Syntax-Transformer-Helpers.html
i have tested a lot , even define-once again and i choose to use to
assignment operators and portable code because the non-portable function do
not bring more, finally it was no
:27 PM Taylan Kammer
wrote:
> On 23.09.2021 19:27, Damien Mattei wrote:
> > yes i know parsing the whole code is the only portable solution, but it
> is slow,even on a few dozen of lines the slowing is visible ,so i can even
> think of that on one thousand lines...
> >
> >
ile/docs/master/guile.html/Syntax-Transformer-Helpers.html
but not at toplevel ???
Scheme Procedure: *syntax-local-binding* *id
[#:resolve-syntax-parameters?=#t]*
Resolve the identifer id, a syntax object, within the current lexical
environment
for this reason i still searching a solution that would
On Wed, Sep 22, 2021 at 11:52 PM William ML Leslie <
william.leslie@gmail.com> wrote:
> On Thu, 23 Sep 2021, 4:51 am Taylan Kammer,
> wrote:
>
>> On 22.09.2021 11:53, Damien Mattei wrote:
>> > i already do it this way for internal defines ,using a recursi
06 AM William ML Leslie <
william.leslie@gmail.com> wrote:
> You could do it the same way python does it: have `def` be a macro that
> inspects its body for assignments to symbols, and then let-bind them at the
> top of the function.
>
> On Wed, 22 Sep 2021, 6:45 pm Damien
g. (but note that if <- is called on an already existing
variable of a different scope,upper or global,or top-level, i want ot be
able to set! it)
I want to be able to control the scoping of variables so i can make this
assignment operator the way i want,and also propose different assignment
operat
(top-level?) variables,not lexically scoped:
scheme@(guile-user)> (if #t (begin {t <§ 57} (+ t 1) ) 'never)
;;; :58:27: warning: possibly unbound variable `t'
$7 = 58
worked!
scheme@(guile-user)> t
$8 = 57
but now the nested variable in conditional branch is global (can be
i apologize for my late answer,
i wrote a long draft mail with code yesterday for answering but it is too
long i think to be send and will confuse everyone,
i'm testing a lot of answer,perhaps modifying my goals too!,
and try to summarize all that,not easy.
for now my goal change a little bit,i
hello,
i'm developing an extension to Scheme
and i need a procedure or macro that define a variable only if it is not
bind and if it is just set! it.
I can not do it in Guile or any Scheme,and i'm desperately searching a way
to do that. I finally conclude that it can be done only by adding it in t
77 matches
Mail list logo