Hey, Jürgen,
Thanks.
This is part of continuing work on the mtx native function thing I
put up six months ago, and just for the sake of consistency, I was
trying make all the mtx functions lambdas, but it's no problem to
use a ∇ function when I need ambivalence. (If I'd looked at how
you implement lambdas and conditionals, I would have known the
lambda approach wouldn't work...)
Speaking of mtx, per the note I sent you a couple days ago, have
you had a chance to look into making the dlopen() in
NativeFunction::try_one_file() use RTLD_LAZY instead of RTLD_NOW?
I don't think anyone but me is using mtx, so it's cool if LAZY
isn't in your plans--it just means I patch the line when you put
out a new SVN.
Thanks,
Henrik
On 10/24/24 11:30, Dr. Jürgen
Sauermann wrote:
Hi Henrik,
I believe I fixed the Segfault. You should now get
a DEFN ERROR instead with )MORE information.
SVN 1782.
The reason is this:
1, Conditionals, i.e. COND →→ IFSTAT ←→ ELSESTAT ←←
create 2 or 3 statements, one for COND, one for IFSTAT and
optionally one for ELSESTAT.
2. GNU APL lambdas are limited to one APL _expression_ (= one APL
statement)
and the _expression_ must yield a value (and can therefore not
be a branch).
3. The normal work-around for this limitation is to use a proper
∇-defined function.
Best Regards,
Jürgen