errors caught by ecl bytecode compiler

12 views
Skip to first unread message

Qian Yun

unread,
Apr 10, 2026, 10:03:52 PMApr 10
to fricas-devel
I'm combining all interp files into one and use ECL to
bytecode compile it, and it finds several errors:

1. "systemError" takes 1 argument, but in several places
it is called without argument: "systemError()"

2. "throwKeyedMsg" in definition of "upLoopIters" is called
with 1 argument instead of 2.

3. "bcNotReady" in definition of "bcSeriesByFormulaGen"
is called with 0 argument instead of 1.

- Qian

Waldek Hebisch

unread,
Apr 11, 2026, 1:16:44 PMApr 11
to fricas...@googlegroups.com
On Sat, Apr 11, 2026 at 10:03:47AM +0800, Qian Yun wrote:
> I'm combining all interp files into one and use ECL to
> bytecode compile it, and it finds several errors:
>
> 1. "systemError" takes 1 argument, but in several places
> it is called without argument: "systemError()"

Other places pass empty list as an argument. It does not look
entirely right, but did not cause a problem yet.

> 2. "throwKeyedMsg" in definition of "upLoopIters" is called
> with 1 argument instead of 2.

The second argument is a list which may be empty, so this
should be

throwKeyedMsg('"Malformed iterator", [])

Eventually 'throwKeyedMsg' should be changed to 'throw_msg', but
currently 'throw_msg' needs indentifier string which we do not
have here. So, changes beyond adding missing argument should wait
for later cleanup.

> 3. "bcNotReady" in definition of "bcSeriesByFormulaGen"
> is called with 0 argument instead of 1.

AFAICS bcSeriesByFormulaGen and bcNotReady should be removed.
bcSeriesByFormulaGen is unused and bcNotReady has only one
user, that is bcSeriesByFormulaGen.

It is probably better if you do such changes as I would have
to redo your work to make sure that I did not miss some
"systemError()".
--
Waldek Hebisch

Qian Yun

unread,
Apr 12, 2026, 7:50:46 AMApr 12
to fricas...@googlegroups.com
One correction: it was not ECL bytecode compiler gives the
error message, it was ECL's Lisp->C compiler.

Mentioned errors comes from fricas-1.3.13, in git HEAD,
there's an extra one in "newHasTest", I added the missing "CONCAT".
And "."->"," change in "SetFunctionSlots".

Committed as
https://github.com/fricas/fricas/commit/5b63c8c68da2d14e154b84e311dc522ae3b643c1

- Qian
Reply all
Reply to author
Forward
0 new messages