Skip to content

Maybe secure DO macros against variable capture #21

@phoe

Description

@phoe
18:58 < _death> phoe: another thing about screamer, I remember they warn about using stuff like 
                DOLIST/DOTIMES in nondeterministic functions, because it may not establish a new binding on 
                each iteration (it's implementation-defined).. but since they shadow CL symbols like DEFUN, 
                why not also shadow DOLIST and friends to provide just that?.. I've not tried it

While it's impossible to shield against this in the general case and it would be highly troublesome to do this for complex macros like loop or iterate, I think that the transformation for do and friends would be simple and possible.

Would exporting the fixed screamer:do and friends be worth it, be possible, and/or break anything that depends on them not being exported?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions