Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

non-Void type system #723

Open
atiti opened this issue Mar 15, 2013 · 0 comments
Open

non-Void type system #723

atiti opened this issue Mar 15, 2013 · 0 comments

Comments

@atiti
Copy link
Collaborator

atiti commented Mar 15, 2013

Rather than having to annotate /= Voids everywhere as we used to do in the pre-JML 5.4 days, we should introduce a non-null type system to BON and take advantage of it in BONc and Beetlz.

One idea is to follow Spec#'s lead and annotate classnames with markers to indicate if they are nullable or non-null.

E.g.,
{{{
o: ANY!
p: ANY
}}}
means that o is non-Void and p can be Void.

Alternatively, we could follow the Eiffel solution and declare non-Void references as "expanded" and then just reuse the type checking rules for Eiffel for BON.

@ghost ghost assigned fintanf Mar 15, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants