The BitC compiler currently supports a --noalloc flag, which raises an
error if the unit of compilation being compiled performs allocation.

This is a useful check, but it can be done in a static analyzer. On the
other hand, it can also be handled with a form of effect typing.

Question: is non-allocation sufficiently important enough that it should
be part of the in-language type system, or is the use-case for it rare
enough that we should handle it in a static checker?


As background to this question, it occurred to me this morning that
effect analysis can be viewed as a degenerate case of control-flow model
checking, and it is already my intention to add a push-down model
checking framework to BitC. Those properties would be checked by the
checker rather than the compiler, but they would be checkable in
whole-program form.


shap

_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to