Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
1997, Informatik aktuell
…
1 file
We have implemented a program generation library for polymorphically typed functional languages with lazy evaluation. The library combinators perform program generation by partial evaluation, a technique which allows the generation of highly-customized and efficient specialized output programs from general, parameterized input programs. Previously implemented program generation libraries for polymorphically typed languages have either required dynamic typing or been in the context of specially designed program generation languages. In contrast, our library has been implemented in Gofer, a widely available functional language. Moreover, we exploit multi-parameter constructor classes which are part of Gofer's type system to construct program generators that are bindingtime polymorphic. An appropriate polymorphic binding-time analysis can provide the necessary type annotations to specify these properties. However, we designed and implemented a minor extension of Gofer's type reconstruction mechanism that can automatically infer binding times.
Lecture Notes in Computer Science, 2010
Binding-time polymorphism enables a highly flexible bindingtime analysis for offline partial evaluation. This work provides the tools to translate this flexibility into efficient program specialization in the context of a polymorphic language. Following the cogen-combinator approach, a set of combinators is defined in Haskell that enables the straightforward transcription of a bindingtime polymorphic annotated program into the corresponding program generator. The typing of the combinators mimics the constraints of the binding-time analysis. The resulting program generator is safe, tag-free, and it has no interpretive overhead.
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming - WGP '10, 2010
Static typing in functional programming languages such as Clean, Haskell, and ML is highly beneficial: it prevents erroneous behaviour at run time and provides opportunities for optimisations. However, dynamic typing is just as important as sometimes types are not known until run time. Examples are exchanging values between applications by deserialisation from disk, input provided by a user, or obtaining values via a network connection. Ideally, a static typing system works in close harmony with an orthogonal dynamic typing system; not discriminating between statically and dynamically typed values. In contrast to Haskell's minimal support for dynamic typing, Clean has an extensive dynamic typing; it adopted ML's support for monomorphism and parametric polymorphism and added the notion of type dependencies. Unfortunately, ad-hoc polymorphism has been left out of the equation over the years. While both ad-hoc polymorphism and dynamic typing have been studied in-depth earlier, their interaction in a statically typed functional language has not been studied before. In this paper we explore the design space of their interactions.
Lecture Notes in Computer Science, 1997
We present a typed intermediate language CIL for optimizing compilers for function-oriented and polymorphically typed programming languages (e.g., ML). The language CIL is a typed lambda calculus with product, sum, intersection, and union types as well as function types annotated with ow labels. A novel formulation of intersection and union types supports encoding ow information in the typed program representation. This ow information can direct optimization.
1997
Many functions have to be written over and over again for di erent datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on di erent datatypes. Examples of such functions are pretty printers, debuggers, equality functions, uni ers, pattern matchers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is de ned by induction on the structure of user-de ned datatypes. This paper extends a functional language (a subset of Haskell) with a construct for writing polytypic functions. The extended language type checks de nitions of polytypic functions, and infers the types of all other expressions using an extension of Jones' theories of quali ed types and higher-order polymorphism. The semantics of the programs in the extended language is obtained by adding type arguments to functions in a dictionary passing style. Programs in the extended language are translated to Haskell.
Type inference for structural polymorphism-i.e. record and variant polymorphism-has been an active area of research since more than 10 years ago, and many results have been obtained. However these results are yet to be applied to real programming languages. Based on our experience with the Objective Label system, we describe how variant polymorphism can be integrated in a programming language, and what are the benefits. We give a detailed account of our type inference and compilation schemes.
1997
Many functions have to be written over and over again for di erent datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on di erent datatypes. Examples of such functions are pretty printers, debuggers, equality functions, uni ers, pattern matchers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is de ned by induction on the structure of user-de ned datatypes. This paper extends a functional language (a subset of Haskell) with a construct for writing polytypic functions. The extended language type checks de nitions of polytypic functions, and infers the types of all other expressions using an extension of Jones' theories of quali ed types and higher-order polymorphism. The semantics of the programs in the extended language is obtained by adding type arguments to functions in a dictionary passing style. Programs in the extended language are translated to Haskell.
1999
This Ph.D. progress report documents a combination of partial evaluation and compilation that enables "just-in-time program specialization". To this end, we have composed a type-directed partial evaluator for OCaml programs with a run-time code generator for the OCaml virtual machine. The composition is deforested, i.e., residual programs are directly expressed as byte code, which is then dynamically loaded. The implementation seamlessly extends OCaml with two new keywords for generating code dynamically. The system has been applied to traditional examples of partial evaluation and run-time code generation, such as the first Futamura projection for Action Semantics and the BSD Packet Filter. iii iv Contents 1 Introduction 1 1.1 Partial evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 What . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 How . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....
The elusive name of God, revealed to Moses in Exodus 3, 14-15, undergoes, in the passage from Hebrew to Greek and Latin, a historically decisive ontological recon guration. From a cryptic name which reveals the always novel dimension of God, but also his historical delity towards Israel, it becomes the name of the perfection of the Absolute as an identical and immutable being. Studying the ambiguous interpretation of the Name of God in Clement of Alexandria and Augustine, the paper analyzes the retractatio made by the theology of grace of the Latin thinker in respect of a restitution of the Christian revelation as a Platonizing theological ontology, typical of Clement and the ‘ rst Augustine’ himself. If being becomes the name of the Christian God, the One remains, for Clemente, his apophatic meta-ontological secret. In Augustine, however, the name of God doubles in nomen aeternitatis, revealing the absolute ontological transcendence of the Deus in se, and in nomen misericordiae, revealing the singular advent of the Deus ad nos as undue and irresistible grace. The deep secret of God is, therefore, his eventual and donative excess with respect to his own absolute being. God reveals his deepest personal secret by barging in as a Spirit or Gift into the historical, passionate and dispersed contingency of the ego, thus ‘inventing’ a new notion of person, ecstatic because it is an exceptional and singular epiphany from the Absolute. Lo sfuggente e differente nome di Dio, rivelato a Mosè in Esodo 3, 14-15, subisce, nel passaggio dall’ebraico al greco e al latino, una ricon gurazione ontologica storicamente decisiva: da nome criptico che rivela la dimensione sempre ulteriore e avveniente di Dio, ma comunque anche la sua storica fedeltà nei confronti di Israele eletto come i suoi padri, diviene nome della perfezione dell’Assoluto quale essere identico e immutabile. Studiando l’interpretazione ambigua del Nome di Dio in Clemente d’Alessandria e Agostino, si evidenziano la retractatio e lo scarto che la teologia della grazia del pensatore latino compiono nei confronti della restituzione della rivelazione cristiana come platonizzante ontologia teologica, attestata con rigore esemplare da Clemente e dallo stesso ‘primo Agostino’. Se l’essere diviene il nome del Dio cristiano, l’Uno ne rimane, per Clemente, l’apofatico segreto meta-ontologico. In Agostino, invece, il nome di Dio si sdoppia in nomen aeternitatis rivelativo dell’assoluta trascendenza ontologica del Deus in se e in nomen misericordiae rivelativo dell’avvento singolare del Deus ad nos come grazia indebita e irresistibile. Il segreto profondo e ulteriore di Dio è, quindi, il suo eccesso eventuale e donativo rispetto al suo stesso essere assoluto. Dio rivela il suo più profondo segreto personale irrompendo quale Spirito o Dono nella contingenza storica, passionale e dispersa dell’io, “inventando” quindi una nuova nozione di persona, estatica perché eccezionale e singolare epifania dall’Assoluto. Keywords: Name of God /onthology /Gift / Spirit / singularity. Parole chiave: Nome di Dio / ontologia / Dono /Spirito / singolarità.
Cyril Hovorun, “For the Life of the World and Orthodox Political Theology.” Theology Today 78, no. 4: 347–56, 2022
The article explores the document For the Life of the World: Toward a Social Ethos of the Orthodox Church (FLW) in the contexts that had instigated its promulgation. It maps this document in the coordinates of the Orthodox political theology during the long twentieth century. FLW corresponds to a line in "the theology of the 1960s," which advocated for liberal democracy and against anti-Westernism. The article argues that FLW fulfills the unaccomplished mission of the Panorthodox council in producing a comprehensive Orthodox social doctrine. It compares FLW with the social corpus adopted by the Russian Orthodox Church during the 2000s.
Wobec sejmików. Magnateria Rzeczypospolitej w XVI–XVIII wieku, T. 1, pod red. Marty Kupczewskiej i Karola Łopateckiego, Białystok, 2024
International Journal of Electrical and Computer Engineering (IJECE), 2024
Environmental Chemistry Letters, 2020
Reflets de la Physique, 2024
Educação Por Escrito, 2023
Bright Night 2024, 2024
Slavery and Intertextuality Section, SBL 2019, 2019
International Journal of Innovation and Applied Studies, 2021
Compte rendu critique de Pierre Brulé & Christophe Vendries (Eds), Chanter les Dieux. Musique et religion dans l' Antiquité grecque et romaine. Actes du colloque des 16, 17 et 18 decembre 1999 à Rennes et Lorient (Rennes: Presses Universitaires de Rennes, 2001), Kernos 16 (2003), p. 357-363., 2003
Value in Health, 2016
Brazilian Journal of Petroleum and Gas, 2008
Journal of Fisheries and Aquatic Science, 2010
Journal of Petroleum and Gas Engineering, 2015