| Glew, N. 1999. Type dispatch for named hierarchical types. In 1999 ACM SIGPLAN International Conference on Functional Programming. ACM Press, New York, NY, USA. |
....dynamically typed languages such as Lisp and Scheme, and incur the cost of a type check on every access to a data value. This would greatly limit the generality of the approach. We address this issue as follows: we make dynamic type information explicit in the language, as first class type tags [26]. There are explicit operations for attaching type tags to values, and for accessing a tagged data value. Our language can be considered as a target language into which statically typed languages with dynamic typing, such as Java and Modula 3, could be compiled, and the overhead of supporting ....
....such as Java and Modula 3, could be compiled, and the overhead of supporting dynamic typing is no more onerous than in any implementation of such languages. For example, typed assembly language uses a similar set of dynamic typing operations to represent Java objects with run time type information [48, 26]. We require that all types exported by libraries have the property that they have run time type tags associated with them. Modula 3 has a similar restriction on types exported by modules. In this paper this restriction is enforced by introducing a type constructor for types of tagged values, the ....
[Article contains additional citation context not shown here]
Neal Glew. Type dispatch for named hierarchical types. In Proceedings of ACM International Conference on Functional Programming, Paris, France, September 1999. ACM Press.
....and repetitious, though they become less so in the presence of optimizations. Because of this focus, we purposely do not explain some of the aspects of the annotations other than to mention the general things they are encoding. The reader interested in such details should consult the literature[16, 14, 7, 13, 6, 21]. 3.1 Function Entry Labels As a running example, we consider a Popcorn function foo which takes one parameter, an int, and returns an int. The Popcorn type int is compiled to the TALx86 type int4. Arithmetic operations are allowed on values of this type but treating them as pointers is not. Our ....
....to foo, nor would it be appropriate for a safety policy to bake in this specific treatment of exception handlers. Also, we have assumed there is a type exn for exception packets. TALx86 does not provide this type directly, so our compiler must encode its own representation using an extensible sum[6]. Each of the four occurrences of exn above should in fact be replaced by the typing expression 9c:Tm [ Trw(c) int4rw] rw,c] but in the interest of type setting, we spare the reader the result. For the sake of completeness, we offer a final amendment to make this pre condition correct. Our ....
Neal Glew. Type dispatch for named hierarchical types. In ACM International Conference on Functional Programming, pages 172--182, Paris, France, September 1999.
.... allviews method on o and then check through the result Tagged list to see if any of them is tagged with Tag c (or Tag i ) The checkcast operation can be implemented in the same way since the object associated with Tag c (or Tag i ) is already of type c (or i) Notice unlike Glew s recent work [19], our technique does not use hierachical extensible sums or variance based subtyping so it requires a much simpler target language. With careful coding, the allviews method can be implemented as efficiently as the untyped code used in typical Java compilers. 6.4 Miscellaneous Null references are ....
N. Glew. Type dispatch for named hierarchical types. In Proc. 1999 ACM SIGPLAN International Conference on Functional Programming (ICFP'99), September 1999.
No context found.
Glew, N. 1999. Type dispatch for named hierarchical types. In 1999 ACM SIGPLAN International Conference on Functional Programming. ACM Press, New York, NY, USA.
....that their interfaces are compatible and complete. Once interface compatibility and completeness has been verified, we assemble the code as described above and invoke a standard untyped linker. To deal with the creation and examination of exception packets TALx86 includes a type tagging mechanism [Glew 1999]. The basic idea is that freshly created heap pointers may be associated with a type, and that a tag for an unknown type ff can be tested against a tag for a known type . If the test succeeds, the unknown type is refined to the known type. Using these tags, we implement an exception packet as an ....
Glew, N. 1999. Type dispatch for named hierarchical types. In 1999 ACM SIGPLAN International Conference on Functional Programming. ACM Press, New York, NY, USA.
....that their interfaces are compatible and complete. Once interface compatibility and completeness have been verified, we assemble the code as described above and invoke a standard untyped linker. To deal with the creation and examination of exception packets TALx86 includes a type tagging mechanism [Glew 1999]. The basic idea is that freshly created heap pointers may be associated with a type, and that a tag for an unknown type # can be tested against a tag for a known type # . If the test succeeds, the unknown type is refined to the known type. Using these tags, we implement an exception packet as an ....
Glew, N. 1999. Type dispatch for named hierarchical types. In 1999 ACM SIGPLAN International Conference on Functional Programming. ACM Press, New York, NY, USA.
....lambda calculus with some additional typing machinery. Like Crary, Weirich, and Morrisett, I use a type erasure interpretation, and the both the tagging and target languages are eraseable. 1 Correctness theorems for the translation are stated here and proven in a companion technical report [Gle99] I implemented the ideas in a type directed compiler as part of the TALx86 project [MCG 99] TALx86 is a typed assembly language, and the key ideas of the target language were used to augment TALx86 s type system; these extensions were straightforward. This result is significant for without ....
....when this condition holds. In fact, b1 will probably not type check at all when this condition does not hold, as it may use values of type #1 where #2 s are expected. The static semantics is sound with respect to the operational semantics. The proof appears in the companion technical report [Gle99] Standard techniques are used in the proof and the only di#culty is with the tag comparison operation. In showing type preservation for a successful tag comparison I use the fact that #; # #T x : tag (#1 , #1) and #; # #T x : tag (#2 , #2) implies # #T #1 # #2 . Then by rule t2 the ....
[Article contains additional citation context not shown here]
Neal Glew. Type dispatch for named hierarchical types. Technical Report TR99-1738, Department of Computer Science, Cornell University, 4130 Upson Hall, Ithaca, NY 14853-7501, USA, April 1999. Available at http://www.cs.cornell.edu/ glew/paper-list.html.
No context found.
Neal Glew. Type dispatch for named hierarchical types. In Fourth ACM International Conference on Functional Programming, pages 172-182, Paris, France, September 1999.
No context found.
N. Glew. Type dispatch for named hierarchical types. In 1999.
No context found.
Neal Glew. Type dispatch for named hierarchical types. In ACM International Conference on Functional Programming, pages 172--182, Paris, France, September 1999.
No context found.
N. Glew. Type dispatch for named hierarchical types. In Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming (ICFP'99), volume 34.9 of ACM Sigplan Notices, pages 172--182, N.Y., Sept. 27--29 1999. ACM Press.
No context found.
N. Glew. Type dispatch for named hierarchical types. In Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming (ICFP'99), volume 34.9 of ACM Sigplan Notices, pages 172--182, N.Y., Sept. 27--29 1999. ACM Press.
No context found.
Neal Glew. Type dispatch for named hierarchical types. In 1999.
No context found.
N. Glew. Type dispatch for named hierarchical types. In 1999.
No context found.
Neal Glew. Type dispatch for named hierarchical types. In Fourth ACM International Conference on Functional Programming, pages 172-182, Paris, France, September 1999.
No context found.
Neal Glew. Type Dispatch for Named Hierarchical Types. In Proc. 1999.
No context found.
N. Glew. Type dispatch for named hierarchical types. In Proceedings of the Fourth ACM SIGPLAN International Conference on Functional Programming (ICFP'99), volume 34.9 of ACM Sigplan Notices, pages 172--182, N.Y., Sept. 27--29 1999. ACM Press.
No context found.
N. Glew. Type dispatch for named hierarchical types. In 1999.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC