[Openmcl-devel] Query about ASSERT and COMPILER-LET
ron at flownet.com
Thu Apr 16 21:16:05 UTC 2020
I’m running v1.12-dev.5-23-gb25693fa on Catalina and AFAICT the code for ASSERT has not changed, and still invokes COMPILER-LET.
COMPILER-LET is an undocumented CCL extension, but AFAICT from looking at the source it is safe to simply treat it as if it expanded as follows:
(defmacro compiler-let (bindings &body body)
(declare (ignore bindings))
`(progn , at body))
On Apr 16, 2020, at 12:53 PM, Robert Goldman <rpgoldman at sift.info> wrote:
> In the SHOP3 planner, I use the ITERATE package for looping. When I compile SHOP3 on my Linux test machine with 1.11, I get compiler warnings, because ITERATE can't successfully code walk CCL's code.
> When I look at the warning messages, it looks to me as if ASSERT calls are being translated into a complex s-expression wrapped in ccl:compiler-let, which ITERATE doesn't know how to walk.
> However, on my laptop, which runs macOS Catalina, and CCL 1.12, I do not get these compiler warnings.
> So I was wondering: going forward can I rely on this being OK? Has the compiler-let rewrite been removed from CCL? Or is this something that is related to the OS, so that it will continue to appear on Linux?
> I would like to know because if this is something that will continue to appear, I can try to add support for ccl:compiler-let to ITERATE. But this might be quite difficult, and I would prefer not to, unless it's absolutely necessary.
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Openmcl-devel