Filters








15,008 Hits in 3.1 sec

Polymorphic Type Inference for Machine Code [article]

Matthew Noonan, Alexey Loginov, David Cok
2016 arXiv   pre-print
In this paper, we motivate and develop a novel type system and algorithm for machine-code type inference.  ...  Using these type-system features as a guideline, we have developed Retypd: a novel static type-inference algorithm for machine code that supports recursive types, polymorphism, and subtyping.  ...  Acknowledgments The authors would like to thank Vineeth Kashyap and the anonymous reviewers for their many useful comments on this manuscript, and John Phillips, David Ciarletta, and Tim Clark for their  ... 
arXiv:1603.05495v2 fatcat:vtaoufc2ezf4dcklunu54az3je

Java bytecode as a typed term calculus

Tomoyuki Higuchi, Atsushi Ohori
2002 Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming - PPDP '02  
We propose a type system for the Java bytecode language, prove the type soundness, and develop a type inference algorithm.  ...  Moreover, our type theoretical approach opens up various type safe extensions including higher-order methods, flexible polymorphic typing through polymorphic type inference, and type-preserving compilation  ...  We have developed and implemented a type inference algorithm and shown that type verification of JVM code is done by ML-style polymorphic type inference.  ... 
doi:10.1145/571157.571178 dblp:conf/ppdp/HiguchiO02 fatcat:gcqenkr2c5a4temd42i5lmzpwy

Efficient first-class generics on stock Java virtual machines

James Sasitorn, Robert Cartwright
2006 Proceedings of the 2006 ACM symposium on Applied computing - SAC '06  
The NextGen Generic Java compiler eliminates these pathologies by retaining parametric type information at runtime and customizing the code in generic classes and polymorphic methods where necessary to  ...  NextGen is a production compiler for the entire Java 5.0 language; it executes on standard JVMs and is backward compatible with existing libraries and other binaries.  ...  Static Polymorphic Methods Since static polymorphic methods have no dynamic receiver, all of the polymorphic type information for a method call can be inferred statically.  ... 
doi:10.1145/1141277.1141656 dblp:conf/sac/SasitornC06 fatcat:jpknuf2lpzgtfoyq2r46snrmim

Inferring Types by Mining Class Usage Frequency from Inline Caches

Nevena Milojković, Clément Béra, Mohammad Ghafari, Oscar Nierstrasz
2016 Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies - IWST'16  
Dynamically typed languages allow developers to write more expressive source code, but their lack of static information about types of variables increases the complexity of a program.  ...  This frequency serves as a proxy for the likelihood that a run-time type of the variable is that class and it is used to promote the correct type towards the top of the list of possible types for a variable  ...  We thank Eliot Miranda for helping us to implement the primitives we added in the Pharo VM and reviewing all our related commits.  ... 
doi:10.1145/2991041.2991047 fatcat:4f4shvmuxrgufft7hnc2exloxa

Cumulative subject index

1988 Information and Computation  
machines, 79, 193 I Boldface number indicates appropriate volume: lightface number indicates pagination.  ...  , 60 effective objects, partial morphisms in, 76, 250 partial maps, theory, 79. 95 Clocks synchronization, fault-tolerant algorithm for, 77. 1 Codes binary exhaustive prefix, synchronizing properties and  ...  210 Consistency postdictive, consideration as restriction on inductive inference machines. 79. 193 Constructions calculus of, basic theory, 76, 95 Containment rules for polymorphic type expressions  ... 
doi:10.1016/0890-5401(88)90023-5 fatcat:xnrqpyeuefaepjhrbx4w5pqz4e

Learning Units-of-Measure from Scientific Code

Matthew Danish, Miltiadis Allamanis, Marc Brockschmidt, Andrew Rice, Dominic Orchard
2019 2019 IEEE/ACM 14th International Workshop on Software Engineering for Science (SE4Science)  
CamFort is our multi-purpose tool for lightweight analysis and verification of scientific Fortran code.  ...  However, many users find it onerous to provide units-of-measure information for existing code, even in part.  ...  of the code. b) Machine learning for code: Machine learning is increasingly applied to source code [13] with the goal of driving new software engineering tools and program analyses.  ... 
doi:10.1109/se4science.2019.00013 dblp:conf/icse/DanishABRO19 fatcat:46cylbgcdjbxxo5hktpzzrn3fq

Mining inline cache data to order inferred types in dynamic languages

Nevena Milojković, Clément Béra, Mohammad Ghafari, Oscar Nierstrasz
2018 Science of Computer Programming  
For more than 90% of variables, the correct runtime type is present among first six inferred types.  ...  The analysis of the top-n+2 inferred types (where n is the number of recorded run-time types for a variable) for 5486 variables from four different software systems shows that ICTI produces promising results  ...  Acknowledgements We gratefully acknowledge the financial support of the Swiss National Science We thank Eliot Miranda for helping us to implement the primitives we added in the Pharo VM and reviewing  ... 
doi:10.1016/j.scico.2017.11.003 fatcat:lbet5c3exvgtnhjhdzsvfgukcy

An ad hoc Approach to the Implementation of Polymorphism [chapter]

Ron Morrison, Alan Dearle, Richard Connor, Fred Brown
2000 Fully Integrated Data Environments  
There are a number of different categories of polymorphic expression: ad hoc, universal -parametric and inclusion; all of which have many advantages in terms of code reuse and software economics.  ...  Here, we address this problem and describe a new technique which can implement all forms of polymorphism, use a conventional machine architecture and support non-uniform data representations.  ...  Quintin Cutts and Graham Kirby are also thanked for their proof reading and suggestions.  ... 
doi:10.1007/978-3-642-59623-0_39 fatcat:eo7mkunr2nc2hbn2umfjto622a

An ad hoc approach to the implementation of polymorphism

R. Morrison, A. Dearle, R. C. H. Connor, A. L. Brown
1991 ACM Transactions on Programming Languages and Systems  
There are a number of different categories of polymorphic expression: ad hoc, universal -parametric and inclusion; all of which have many advantages in terms of code reuse and software economics.  ...  Here, we address this problem and describe a new technique which can implement all forms of polymorphism, use a conventional machine architecture and support non-uniform data representations.  ...  Quintin Cutts and Graham Kirby are also thanked for their proof reading and suggestions.  ... 
doi:10.1145/117009.117017 fatcat:spdxycmrvjbvhprmocb64ovecy

TIL

David Tarditi, Greg Morrisett, Perry Cheng, Chris Stone, Robert Harper, Peter Lee
2004 SIGPLAN notices  
In turn, this led directly to the idea of certified object code, inspiring the development of Proof-Carrying Code and Typed Assembly Language as certified object code formats.  ...  The goal of the TIL project was to explore the use of Typed Intermediate Languages to produce high-performance native code from Standard ML (SML).  ...  To do so required that type information be propagated to the back end of the compiler so that types are available for analysis by polymorphic code.  ... 
doi:10.1145/989393.989449 fatcat:jjosndg3zjdw7i3qk3e7qdyqd4

Dynamic typing as staged type inference

Mark Shields, Tim Sheard, Simon Peyton Jones
1998 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98  
Furthermore it can be implemented e ciently; most of the type inference is done at compile-time, leaving only some residual uni cation for run-time.  ...  This approach seamlessly extends a single type system to accommodate types that are only known at run-time, while still supporting both type inference and polymorphism.  ...  Acknowledgements We thank Walid Taha and the anonymous referees for their helpful comments on this work.  ... 
doi:10.1145/268946.268970 dblp:conf/popl/ShieldsSJ98 fatcat:aghidzngjzccvfz7mjtswkic2y

A Retrospective on Region-Based Memory Management

Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg
2004 Higher-Order and Symbolic Computation  
Turner for their contributions to the development of the ML Kit. We would also like to thank the anonymous reviewers and the editors for valuable comments and suggestions. Notes  ...  Also, Elsman and Hallenberg wrote a machine code generator for the HP PA-RISC architecture [20] .  ...  In 1992, Talpin and Jouvelot published a static type discipline for polymorphic references, which used an effect system for controlling quantification of type variables [48] .  ... 
doi:10.1023/b:lisp.0000029446.78563.a4 fatcat:z3ftlshx3fbgnpajdfwhi4l4ry

Deciding ML typability is complete for deterministic exponential time

Harry G. Mairson
1990 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '90  
We use let for two purposes only: to generate an exponential amount of blank tape for the Turing Machine simulation to begin, and to compose an exponential number of applications of the ML formula simulating  ...  The simulation of the transition function 6 of the Turing Machine is realized uniquely through terms in the lambda calculus zoilhovl the use of the polymorphic let construct.  ...  The coding tricks used here allow types to simulate calculations by exploiting the power of polymorphism to drive the inference engine of unification, in the same spirit that Church showed how the values  ... 
doi:10.1145/96709.96748 dblp:conf/popl/Mairson90 fatcat:3liiwezldndofnbf5msy6jxtn4

The hiphop virtual machine

Keith Adams, Jason Evans, Bertrand Maher, Guilherme Ottoni, Andrew Paroski, Brett Simmers, Edwin Smith, Owen Yamauchi
2014 Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications - OOPSLA '14  
The HipHop Virtual Machine (HHVM) is a JIT compiler and runtime for PHP.  ...  While PHP values are dynamically typed, real programs often have latent types that are useful for optimization once discovered.  ...  So, for modestly polymorphic code, the chain of tracelet guards performs a linear search for a machine code fragment that matches the current input types.  ... 
doi:10.1145/2660193.2660199 dblp:conf/oopsla/AdamsEMOPSSY14 fatcat:ice77zutz5bz5drsgwfdpd3kfq

Using Hindley-Milner type inference to optimise list representation

Cordelia V. Hall
1994 Proceedings of the 1994 ACM conference on LISP and functional programming - LFP '94  
Hindley-Milner type inference and partial evaluation are all that is needed to optimise this structure, yielding considerable improvements in space and time consumption for some interesting programs.  ...  This framework is applicable to many data types and their optimised representations, such as lists and parallel implementations of bags, or arrays and quadtrees.  ...  The rst,`p olyexp , infers a polymorphic type for an expression, while the second,`, infers a monomorphic type. The third,`p at , infers a type, and a type assignment for bound pattern variables.  ... 
doi:10.1145/182409.156781 dblp:conf/lfp/Hall94 fatcat:c5q5kym5gjevbdmzidkqchvncu
« Previous Showing results 1 — 15 out of 15,008 results