From: "Dr. Arne Babenhauserheide" <arne_bab@web.de>
To: wolf <wolf@wolfsden.cz>
Cc: Taylan Kammer <taylan.kammer@gmail.com>, guile-user@gnu.org
Subject: Re: Does declaration order matter in guile?
Date: Tue, 14 Feb 2023 21:26:54 +0100 [thread overview]
Message-ID: <87mt5gj78c.fsf@web.de> (raw)
In-Reply-To: <Y+vob884XBXd9h4V@ws>
[-- Attachment #1: Type: text/plain, Size: 2071 bytes --]
wolf <wolf@wolfsden.cz> writes:
>> 1. You bind 'foo' to the syntax transformer.
>>
>> 2. During the compilation of (foo y), the compiler calls the syntax transformer to
>> affect the generation of code, so it will do the right thing.
>
> Interesting, I think I understand the difference. So in some ways this can be
> compared to the C pre-processor? Is there a way to view the resulting code
> after all the transformations were applied?
In the guile shell you can use
,expand (foo 1)
to see what it expands to.
Also see
,h compile
> Meaning that if I want to use the many guile- libraries available under guix
> and elsewhere, the most pragmatic approach would be to just not care about R6RS
> vs R7RS all that much, and just do what guile manual recommends. Correct?
R7RS vs. R6RS isn’t that big of a difference in Guile, because it mostly
supports both and you can mostly use either of them.
R7RS is cleaner is some ways and managed to re-unite some of the Scheme
implementations (that were split between R5RS and R6RS). So knowing R7RS
means that you can make your code run in a much larger number of
domains, and you can keep many of your skills even when moving from
mostly server-side webdev (i.e. Chicken or Guile¹) to embedded (Chibi),
or to shipping binaries(i.e. Gambit or bigloo), or even Java/JWM (kawa),
or to others (see https://ecraven.github.io/r7rs-benchmarks/).
Why Guile? https://www.draketo.de/software/guile-10x
Why others? https://wingolog.org/archives/2013/01/07/an-opinionated-guide-to-scheme-implementations
¹: partially moving into clientside via Guilescript or others:
https://www.draketo.de/software/wisp#guilescript-2023-01-10
https://srfi-email.schemers.org/schemeweb/msg/11606995/
https://github.com/schemeweb/wiki/wiki/frontend
Also Spritely started working on Guile on WebAssembly:
https://spritely.institute/news/guile-on-web-assembly-project-underway.html
Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]
next prev parent reply other threads:[~2023-02-14 20:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-12 18:46 Does declaration order matter in guile? wolf
2023-02-12 19:52 ` Taylan Kammer
2023-02-13 8:05 ` Sascha Ziemann
2023-02-13 10:44 ` Dr. Arne Babenhauserheide
2023-02-13 17:07 ` Maxime Devos
2023-02-14 20:00 ` wolf
2023-02-14 20:26 ` Dr. Arne Babenhauserheide [this message]
2023-02-13 17:10 ` Maxime Devos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mt5gj78c.fsf@web.de \
--to=arne_bab@web.de \
--cc=guile-user@gnu.org \
--cc=taylan.kammer@gmail.com \
--cc=wolf@wolfsden.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).