[Openmcl-devel] Query about ASSERT and COMPILER-LET

Ron Garret ron at flownet.com
Thu Apr 16 14:16:05 PDT 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.
> Thanks,
> R
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> https://lists.clozure.com/mailman/listinfo/openmcl-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.clozure.com/pipermail/openmcl-devel/attachments/20200416/4fc2948a/attachment.htm>

More information about the Openmcl-devel mailing list