guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Does declaration order matter in guile?


From: Dr. Arne Babenhauserheide
Subject: Re: Does declaration order matter in guile?
Date: Tue, 14 Feb 2023 21:26:54 +0100
User-agent: mu4e 1.8.13; emacs 28.1

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: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]