f() => matrix() OK
f() => error
This is because genmatrix's semantics are screwy.
genmatrix allows a lambda-expression as a first argument
(undocumented), but not a named function (because it
treats symbols as array names) or a compiled function.
This violates referential transparency. It also breaks
translate. The translate case can be patched, either by
allowing translated functions as first arg (more
inconsistency!), or by having translate cons up a lambda-
Log in to post a comment.