java - Help understanding academic notation for type system -


I am trying to understand one (PDF) about programming language design. Specifically, this describes a light version named Fountive Java, in which rules are typed with such notation:

  x_: c_, c: - e0: E0 E0 & lt;: C class extends to CD {...} If mtype (m, d) = d _-> D, then C_ = D_ and C = D = ------------------------------------- -------------------------------------- cmm (c_ x _) {return E0; } Ok in C  

This is my best effort again in the text, anyway. However, the paper seems to think that such notation is familiar, and hardly explains it. Can someone tell me in the direction of better interpretation? Thanks!

This is a very complex example, and there are some different things going on inside it.

The sign of the horizontal bar is usually used for conclusions rules the premises above the line (usually is different from the white space on one line), one below the line The conclusion is example,

  P0 P1 ... Pn ------------------ C  

Means "If we hold Pn through P0 , then we can conclude that good as C Keep it in the way. "

Turnstile Notation (⊦) Amat In the type systems used for the entailment relations , it usually means "If we believe the types on the left hand, then we can get the type from the right side. " The colon is traditionally used to associate a variable or expression with one type, so

  x_: C_, it: C ⊦ e0: E0  

"value x_ type c_ and this type C , we get that code e0 type E0 . "¹

symbol for traditionally sub-typing relationships Is used, but it should clearly define the paper Be used.

" class C expanded D " refers to the syntax of the bit project. Ie, the desired base " C has been explicitly announced to expand D ".

It is hard to grok without wading the rest of the paper. I heartily recommend recommendation as a good start of the theory of Second Norman Ramsey.

¹ Note that the difference between "Conclusion" and "Entrance" is either subtle or non-existent - that is to use one for the conference, taste and / or just differentiation .


Comments

  1. Thanks for the post, I am techno savvy. I believe you hit the nail right on the head. I am highly impressed with your blog.
    It is very nicely explained. Your article adds best knowledge to our Java Online Training from India.
    or learn thru Java Online Training from India Students.

    ReplyDelete

Post a Comment