[Ecls-list] Internal error when compiling the Snark theorem prover with ECL 12.7.1

Juan Jose Garcia-Ripoll juanjose.garciaripoll at gmail.com
Tue Nov 20 00:00:05 UTC 2012


On Fri, Nov 16, 2012 at 8:22 PM, Matthias Hölzl <tc at xantira.com> wrote:

> Condition of type: TYPE-ERROR
> SI:MISSING-KEYWORD is not of type SNARK-SPARSE-ARRAY::SPARSE-VECTOR-INDEX.
> Available restarts:
>

Snark is using a lambda form with keywords in lisp-1 position. The code in
ECL for that was obsolete -- it was using an old symbol to mark missing
keywords and this lead to wrong code. I have fixed this.

Note however that such lambda forms are suboptimal for ECL and lead to
consing. Perhaps this can be fixed on the ECL side, but such code is hard
to analyze due to the interaction between lambda forms and
&allow-other-keys: the arguments to the lambda form may influence the
parsing and thus the ugly code can never be prevented.

In other words, do not use lambda forms with keywords to force inlining.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20121120/a1413e1b/attachment.html>


More information about the ecl-devel mailing list