| L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993. |
....predictions are provided for these two skeletons. Further skeletons are under development but are not currently modelled. At present we can present results for the manual analysis of exemplars and are currently automating this process. 3.2. Implementation. The host compilers are the ML Kit [2] for the front end, pro ling and transformation systems, and Objective Caml [5] for backend compilation and execution. This combination allows the transformational compiler to be implemented on a separate machine so that the backend can be kept small and retargetable. 3.3. Analysis. During our ....
....in the sequential prototype and between executing skeletons in the parallel version. A two phase algorithm is implemented whereby the skeleton information is added to the existing types and then the type information is stripped out leaving the network description: val ff3 = map (fn x = x 1) [1,2,3] val ff3 : node(map,base list, int base) base list] The handling of free values complicates our analysis. We wish to avoid the transmision of functional data at runtime as large free value bindings can overload the communications. For non functional free values, lambda lifting [7] is ....
[Article contains additional citation context not shown here]
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (Version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....form, not the original source text. This usually is very confusing for the programmer. Turner s implementation produces error messages relating to the original source text, without requiring the elaborator to have any knowledge of derived forms. The implementation is based on the ML Kit [7]. The elaborator was modi ed so that it only returns a syntax tree as its result. The nodes of the syntax tree is annotated with error information if there is any. The error information including: 1. Information about the position of the phrase in the source text; 2. Information about whether ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ml kit (version 1). Technical Report 93/14, Department of Computer Science,University of Copenhagen, 1993.
....in comparison to other methods. This is esp. important, when several di#erent analysis problems must be solved simultaneously, which is the case in compilers and software engineering systems. Esp. in compiler research, there is a current trend to use types throughout the compilation process [21, 18, 5]. Proofs and a more detailed discussion with examples that could not be presented here due to space limitations can be found in our technical report [8] 2 A Simple Type System for Dependence Types Before presenting our formal approach we briefly discuss the basic ideas. To analyze ....
....methods used in this paper for a large variety of analysis problems, some of which are discussed in the preceding sections. Another reason for using a program analysis method readily adaptable to di#erent analysis problems is the trend in modern compilers for using types in the compilation process [21, 18, 5]. Additional benefits are a type based approach does not require the complete program to be available for analysis and types provide a good user interface, esp. important in software engineering applications. Set constraints is another method for analyzing programs [10] Although constraints are ....
Birkedal, L. and Rothwell, N. and Tofte, M. and Turner, D.N. . The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....of the safety of programs a straightforward task. 1.1 Regions Tofte and Talpin [35, 36] suggest a type and e#ects system for verifying the soundness of region based memory management. In later work, Tofte and others show how to infer region types and lifetimes and how to implement their theory [34, 3, 4]. There are several advantages to region based memory management; from our point of view, the two most important are: 1. Deallocation is explicit but provably safe. 2. The run time routines necessary for region based memory management are relatively simple constant time operations and, in ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....ambiguities in the 1990 definition [Kah93] Textbooks and introductions to SML include [Tof89, FF98, Pau96, Gil97] The original version of the ML Kit was an interpreter based directly on the semantics. This The ML Kit is available from http: www.it c.dk research mlkit . has been documented [BRTT93] MLj is an extension of the SML language (and a compiler for the extended language) which offers integration with Java . Information about the implementation and semantics of MLj can be found in [BKR98, BK99, MKB00] Another variant of ML is Caml, information on which can be found in [Ler97, ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science (DIKU), University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen, Denmark,
....available components wherever we can. In particular, we expect that much of the existing Isabelle code will serve our purposes well, and that the automated tools developed earlier in the project will slot in easily. We also intend to borrow a parser and type checker from the ML Kit Compiler [BRTT93] and to take advantage of Aspinall s Proof General interface [Asp99] If appropriate, we may use parts of the PROSPER proof environment toolkit [DCN 00] We do not aim for a tool engineered to the level of a commercial product, but for a reasonably clean and robust system suitable for ....
L. Birkedal, N. Rothwell, M. Tofte, and D.N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....skeletons to any depth. Nesting of HOFs is common in functional programs and a rich source of potential parallelism. However, exploiting nested parallelism is known to be a difficult problem involving many program analysis and resource allocation issues. 2 Compiler structure We use the ML Kit [2] as the host compiler for our system. This provides basic compilation support for SML and, being written in SML itself, is well suited to the type of analysis we wish to perform. The target compiler for our system is Objective Caml [4] This was chosen because it is a relatively lightweight ....
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (Version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....in SML 93, a program which takes in a core SML program and returns an annotated version of the program. We have also implemented a support program to calculate the execution trace of a program. The implementation is built using the parser, elaborator and other libraries from the ML Kit [13]. 105 8.2.1 The Interface of the Annotating Program Our implementation provides a single function, type L = Set of Labels Static final answer: string list L L L The argument to the function is a list of strings, with the following elements: Element 1: The name of the file in ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (Version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, Universitetsparken 1, DK-2100 Copenhagen, 1993.
....reconstruction system Following the extensions discussed in Section 6, we have implemented a prototype analyzer. It takes an expression of the core ML as an input, performs type (and use) reconstruction and produces a use annotated expression. It has been implemented by using the ML kit version 1 [4] as a front end, and supports full features of the core ML: records, datatype declarations, references, and exceptions. Polymorphism on types and uses is based on the let polymorphism discussed in Section 6. 31 Polymorphic recursion on uses would be sound (just as polymorphic recursion on ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (Version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
.... and also consider the extensions seen in Standard ML ( MTH97] MTH90] MT91] Simple examples of how to implement algorithm W for a mini ML language are given by Tofte in [Tof89] and Cardelli in [Car87] Clear source code for an implementation of W for Standard ML can be found in the ML Kit [BRTT93]. It is not certain at the moment whether the ML Kit will be used as a basis for implementation in this project. 3.3 Other inference algorithms A number of alternative type inference algorithms have been proposed some of which are designed from the pragmatic perspective of helping programmers ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....being representative of the actual parallel operations rather than the semantics. Also, P 3 L differs from other approaches in being an imperative language. 2 The Parallel Compiler 2. 1 Compiler components and structure The overall compiler structure is outlined in [21] We use the ML Kit [22] for the compiler front end, to parse and elaborate the source SML program. The ML Kit is closely based on the Standard ML definition [23] and provides an evaluator which mirrors the dynamic semantics. All our analysis is conducted within this framework, including identification of skeletons, ....
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (Version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....of the safety of programs a straightforward task. 1.1 Regions Tofte and Talpin [35, 36] suggest a type and e#ects system for verifying the soundness of region based memory management. In later work, Tofte and others show how to infer region types and lifetimes and how to implement their theory [34, 3, 4]. There are several advantages to region based memory management; from our point of view, the two most important are: 1. Deallocation is explicit but provably safe. 2. The run time routines necessary for region based memory management are relatively simple constant time operations and, in ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not reflect the views of these agencies. 1 Today a small number of compilers work with typed intermediate languages in order to realize some or all of these benefits [23, 34, 7, 41, 25, 38, 14]. However, in all of these compilers, there is a conceptual line where types are lost. For instance, the TIL ML compiler preserves type information through approximately 80 of compilation, but the remaining 20 is untyped. We show how to eliminate the untyped portions of a compiler and by so ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....model calling conventions by specifying them as formal translations of source function types to STAL types. 1 Introduction and Motivation Statically typed source languages have e#ciency and software engineering advantages over their dynamically typed counterparts. Modern type directed compilers [18, 25, 7, 32, 19, 29, 11] exploit the properties of typed languages more extensively than their predecessors by preserving type information computed in the front end through a series of typed intermediate languages. These compilers use types to direct sophisticated transformations such as closure conversion [17, 31, 16, ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
.... discipline [22, 18, 28, 37] Furthermore, the ability to type check intermediate code provides an invaluable tool for debugging new transformations and optimizations [41, 30] Today a small number of compilers work with typed intermediate languages in order to realize some or all of these benefits [22, 34, 6, 41, 24, 39, 13]. However, in all of these compilers, there is a conceptual line where types are lost. For instance, the TIL ML compiler preserves type information through approximately 80 of compilation, but the remaining 20 is untyped. We show how to eliminate the untyped portions of a compiler and by so ....
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
....[PS94] but have so far been rather slow (cubic complexity for higherorder languages) and thus impractical for large programs. Analyses based on the latter method are as fast as we can expect essentially linear time complexity and have been treated in [Hen91] untyped lambda calculus) [And92] (a subset of C) BJ93] a subset of Scheme) and [BW93] a subset of Standard ML) Except for [BW93] constraint based binding time analyses have either been for dynamically typed languages or have not used the available type information. We show that the use of type information is advantageous ....
....one just has to consider the constraint system ffi .Dg which will be normalized to f g. The former system has a countable infinite number of solutions (because fi can be mapped to any binding time type) the latter has exactly one solution. The same problem can be found in [JGS93, Section 8. 7] [And92, Chapter 5], and [And93, Figure 7] For an ff where S(ff) 6= T (ff) we now have T (ff) 6= D and S(ff) D from which it follows that T 0 (ff) 6= D, U(ff) 6= D, and S 0 (ff) D. Thus T 0 (ff) S 0 (ff) For an ff where S(ff) T (ff) we have by choice of T 0 that S 0 (U(ff) T 0 (U(ff) ....
[Article contains additional citation context not shown here]
Lars Ole Andersen. C program specialization. Technical Report 92/14, DIKU, Department of Computer Science, University of Copenhagen, May 1992.
....rather slow cubic complexity for higher order languages and thus impractical for large programs. Analyses based on the latter method are as fast as we can expect essentially linear time complexity and have been treated by Henglein [7] for the untyped lambda calculus, by Andersen [1], for a subset of C, by Bondorf and J rgensen [4] for a subset of Scheme, and by the present authors [3] for a subset of Standard ML. Except for the latter, constraint based binding time analyses have either been for dynamically typed languages or have not used the available type information. We ....
....the sense defined in [7] The first four constraints in the system can be solved by equality but contrary to the claim in Henglein s Proof 4 some variables (fi 1 ,fi 2 ) are mapped to D and the fifth constraint is not satisfied by the solution. The same problem can be found in [8] Section 8. 7, [1], Chapter 5.2, and [2] Section 5.4. A binding time analysis based on an algorithm with this problem can yield incorrect results leading to a crash of the partial evaluator. The problem is that the rewritings performed on the constraint systems in [7] only propagate the information that fi 3 ....
[Article contains additional citation context not shown here]
Lars Ole Andersen. C program specialization. Technical Report 92/14, DIKU, Department of Computer Science, University of Copenhagen, May 1992.
....that of lifting HOFs from arbitrary code using automated proof synthesis. The central core of the Parallel ML with Skeletons(PMLS) compiler was constructed from 1997 to 2000, incorporating map and fold skeletons. Considerable e ort was put into selecting host compilers for the project. The ML Kit [2] was used for the front end because it provided an evaluator for SML based closely upon the structural operational semantics. Objective Caml [9] was used for the back end because of its relatively lightweight implementation. Since we were targeting general purpose machines we chose MPI [13] as the ....
....the behaviour of the Objective Caml Marshal module. This should be possible in theory but in practice we currently compile and run the pro led code and use modi ed skeletons to actually measure the data sizes generated. Table 1. 1 shows the predictions for each version squaring the 3 3 matrix [[1,2,3], 4,5,6] 7,8,9] T p is the sequential instance function execution time averages in S. Dw is the total number of bytes generated as arguments to the instance function. D r is the total number of bytes generated as results from instance functions. For comparison, Tm is the measured instance ....
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ml kit Version 1. Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
.... for Presentation and Animation of Dynamic Models in Object oriented Design Kurt Nrmark, Lars Iversen, and Per Madsen Aalborg University Denmark October 1, 1998 Abstract Modelling the dynamic aspects of an object oriented design is important to gain concrete insight into the ways objects interact and relate to each other. A similar insight may be obtained from a static model, but at a more abstract level and in a more indirect way. Dynamic models ....
....used animated interaction diagrams, time would be presented both graphically and temporally. Clearly, this would be an overkill. Thus, in the following discussion we will focus exclusively on animated object graphs. Animated object graphs are used in a process which we call design by animation [ 6 ] In a design by animation process we create and explore dynamic models represented as scenarios. It is our basic hypothesis that a design by animation process gives ideal support for the object oriented designer in the creative phases of the OOD process. Moreover, we are convinced that the ....
Lars Iversen and Per Madsen. Design by animation. Master's thesis, Department of Computer Science, Aalborg University, Denmark, June 1998. In Danish.
....reconstruction system Following the extensions discussed in Section 6, we have implemented a prototype analyzer. It takes an expression of the core ML as an input, performs type (and use) reconstruction and produces a use annotated expression. It has been implemented by using the ML kit version 1 [4] as a front end, and supports full features of the core ML: records, datatype declarations, references, and exceptions. Polymorphism on types and uses is based on the let polymorphism discussed in Section 6. Polymorphic recursion on uses would be sound (just as polymorphic recursion on regions is ....
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (Version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
No context found.
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
No context found.
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
No context found.
Lars Birkedal, Nick Rothwell, Mads Tofte, and David N. Turner. The ML Kit (version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
No context found.
L. Birkedal, N. Rothwell, M. Tofte, and D. N. Turner. The ML Kit (Version 1). Technical Report 93/14, Department of Computer Science, University of Copenhagen, 1993.
No context found.
Abildskov, Lars Peter, & Paul Erik Dahl: QuickTime. Unpublished project report, Department of Computer Science, Aarhus University, December 15, 1991. (In Danish.)
First 50 documents
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