[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.
From: |
Maxime Devos |
Subject: |
[bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize. |
Date: |
Fri, 18 Mar 2022 14:22:21 +0100 |
User-agent: |
Evolution 3.38.3-1 |
Reily Siegel schreef op vr 18-03-2022 om 10:01 [+0100]:
> > Looks like there's a bug somewhere then. Has this been reported?
> > Could a link be added to the report so we know when the #:aot-
> > exclude
> > can be removed? If it's an issue with ant-build-system, can this
> > be
> > reported?
>
> Clojure libraries are usually not designed to be AOT-compiled, and
> are largely distributed in source form. The fact that Guix's
> clojure-build-system chooses to AOT all Clojure code by default is
> confusing to me.
For languages for which a compiler is available, AOT is rather standard.
(E.g., C, C++, Guile Scheme, Python, Java, Fortran). Apparently Clojure
has a compiler as well. Basically, why not AOT when it is possible, instead
of delaying compilation until runtime?
> At some point, this default should probably be changed because many
> Clojure libraries rely on the fact that they are distributed
> uncompiled to work properly.
How can a Clojure library rely on this fact in the first place? I
don't quite see how -- for comparison, there are a few methods in Guile
for detecting if it is has been compiled or is being interpreted,
e.g. some uses of 'eval-when', '%load-compiled-path' or 'procedure-
name', but they are rather convoluted and unused (except in examples).
Also, if a Clojure library misbehaves when being AOT-compiled, without
additional context, that seems like a bug in the Clojure library to me
(or the AOT-compilation code).
Greetings,
Maxime.
signature.asc
Description: This is a digitally signed message part
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Reily Siegel, 2022/03/16
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Maxime Devos, 2022/03/17
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Reily Siegel, 2022/03/18
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize.,
Maxime Devos <=
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Reily Siegel, 2022/03/19
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Maxime Devos, 2022/03/19
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Reily Siegel, 2022/03/21
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Maxime Devos, 2022/03/21
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Maxime Devos, 2022/03/21
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Maxime Devos, 2022/03/21
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Maxime Devos, 2022/03/21
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Reily Siegel, 2022/03/21
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Maxime Devos, 2022/03/21
- [bug#53765] [PATCH v2 05/18] gnu: Add clojure-core-memoize., Maxime Devos, 2022/03/19