[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] Folding lolevel bindings
From: |
Evan Hanson |
Subject: |
[Chicken-hackers] Folding lolevel bindings |
Date: |
Mon, 22 Feb 2016 22:08:32 +1300 |
Hi all,
I've found a small issue with constant folding for procedures from the
lolevel unit, uncovered by the recent error handling changes in that
code (812b52e in master). Basically, the compiler doesn't use lolevel,
so the foldable bindings from that unit are never bound to procedures,
so they trigger the compilation error at support.scm:1508. You can see
this by compiling the program "(number-of-slots #(1 2 3))" with master.
I can think of two ways to fix this. One is to once again bail from just
`constant-form-eval` (rather than bombing out of compilation entirely)
when an identifier is found not to be bound to a procedure. The other is
to simply make the compiler use unit lolevel. I went through the various
lists of identifiers and lolevel seems to be the only unit with foldable
bindings that isn't loaded by the compiler.
Thoughts?
Evan
- [Chicken-hackers] Folding lolevel bindings,
Evan Hanson <=