Filters








117,099 Hits in 5.8 sec

Explicit Substitutions and Programming Languages [chapter]

Jean-Jacques Lévy, Luc Maranget
1999 Lecture Notes in Computer Science  
The λ-calculus has been much used to study the theory of substitution in logical systems and programming languages.  ...  However, with explicit substitutions, it is possible to get finer properties with respect to gradual implementations of substitutions as effectively done in runtimes of programming languages.  ...  The language contains terms which are reductible, and programs which are constant.  ... 
doi:10.1007/3-540-46691-6_14 fatcat:tgwwga6f5naplivuaqer443thi

Explicit substitutions and higher-order syntax

Neil Ghani, Tarmo Uustalu
2003 Proceedings of the 2003 workshop on Mechanized reasoning about languages with variable binding - MERLIN '03  
The syntax of a language with explicit substitutions does not form a binding algebra as an explicit substitution may bind an arbitrary number of variables.  ...  This paper shows that a language containing explicit substitutions and a firstorder signature Σ is naturally modelled as the initial algebra of the Id + FΣ • + • endofunctor.  ...  language of pure explicit substitution terms.  ... 
doi:10.1145/976571.976580 dblp:conf/icfp/GhaniU03 fatcat:a3wusos4qjfhfp3kq6lxrotgla

Building Interpreters with Rewriting Strategies

Eelco Dolstra, Eelco Visser
2002 Electronical Notes in Theoretical Computer Science  
The approach is illustrated with several interpreters for the lambda calculus based on implicit and explicit (parallel) substitution, different strategies including normalization, eager evaluation, lazy  ...  Programming language semantics based on pure rewrite rules suffers from the gap between the rewriting strategy implemented in rewriting engines and the intended evaluation strategy.  ...  Introduction Language prototyping is the activity of designing and validating the design of programming languages.  ... 
doi:10.1016/s1571-0661(04)80427-4 fatcat:scasx35rijdbhk4dpl5hdra3g4

Preface: Theory and Applications of Abstraction, Substitution and Naming

Maribel Fernández, Christian Urban
2011 Journal of automated reasoning  
Mathematical treatments of concrete syntax have always been a central concern in symbolic computation, programming language implementation and computer-aided reasoning.  ...  The first International Workshop on Theory and Applications of Abstraction, Substitution and Naming (TASSN) took place in Edinburgh in 2007, followed by a second workshop in York in 2009, associated to  ...  In the article On Explicit Substitution with Names, Rose, Bloo and Lang describe the origins of the family of calculi of explicit substitution with variable names known as λx, and study the properties  ... 
doi:10.1007/s10817-011-9217-2 fatcat:p7pu4z5be5grng44bmhnsueks4

Explicit substitutions and higher-order syntax

Neil Ghani, Tarmo Uustalu, Makoto Hamana
2006 Higher-Order and Symbolic Computation  
The syntax of a language with explicit substitutions does not form a binding algebra as an explicit substitution may bind an arbitrary number of variables.  ...  This paper shows that a language containing explicit substitutions and a firstorder signature Σ is naturally modelled as the initial algebra of the Id + FΣ • + • endofunctor.  ...  language of pure explicit substitution terms.  ... 
doi:10.1007/s10990-006-8748-4 fatcat:sqmeqtihp5gj3cwlc2hq6wavay

The Metalanguage λprolog and Its Implementation [chapter]

Gopalan Nadathur
2001 Lecture Notes in Computer Science  
The Role of Metalanguages Many computational tasks involve the manipulation of linguistic objects: • prototyping programming languages • implementing compilers and program development systems Can programming  ...  becomes unnecessary Explicit treatment of substitution is an essential ingredient to realizing such benefits.  ...  translating to abstract machine programs • A loader for realizing modularity notions with separate compilation The abstract machine has been realized through a software emulator.  ... 
doi:10.1007/3-540-44716-4_1 fatcat:iq3a6msg3bc53f7qgtmb4dpsui

Functional Programming With Higher-order Abstract Syntax and Explicit Substitutions

Brigitte Pientka
2007 Electronical Notes in Theoretical Computer Science  
This paper sketches a foundation for programming with higher-order abstract syntax and explicit substitutions based on contextual modal type theory [9] .  ...  In this paper, we extend these ideas even further by adding first-class contexts and substitutions so that a program can pass and access code with free variables and an explicit environment, and link them  ...  Finally, we give several examples illustrating the basic ideas of programming with explicit substitutions.  ... 
doi:10.1016/j.entcs.2006.10.037 fatcat:dwyffkssurg7pg6fxkx56vkyh4

Meta-programming with names and necessity

Aleksandar Nanevski
2002 Proceedings of the seventh ACM SIGPLAN international conference on Functional programming - ICFP '02  
Meta-programming is a discipline of writing programs in a certain programming language that generate, manipulate or execute programs written in another language.  ...  The resulting language provides a more fine-grained control over free variables of object programs when compared to the existing languages for meta-programming.  ...  Introduction Meta-programming is a paradigm referring to the ability to algorithmically compose programs of a certain object language, through a program written in a meta-language.  ... 
doi:10.1145/581478.581498 dblp:conf/icfp/Nanevski02 fatcat:hs5wm42bd5hqrn66ntdr4qyrbq

A multi-stage language with intensional analysis

Marcos Viera, Alberto Pardo
2006 Proceedings of the 5th international conference on Generative programming and component engineering - GPCE '06  
This paper follows the approach of Sheard and Pasalic about the use of the meta-language Ωmega as a tool for language design.  ...  Quoted expressions include an explicit annotation of their context which is used for dynamic inference of type, where a dynamic typing discipline based on Hinze and Cheney's approach is used for typing  ...  Annotations include brackets, escape, run and explicit substitution. We don't include Cross-Stage Persistence in our language.  ... 
doi:10.1145/1173706.1173709 dblp:conf/gpce/VieraP06 fatcat:vhrfm6xco5hkzkx2lrur6wxshy

Page 7818 of Mathematical Reviews Vol. , Issue 97M [page]

1997 Mathematical Reviews  
Summary: “Explicit substitutions were proposed by Abadi, Cardelli, Curien, Hardin and Lévy to internalise substitutions into A-calculus and to propose a mechanism for computing on substitutions.  ...  In spirit, Av is closely re- lated to another calculus of explicit substitutions proposed by de Bruijn and called CAéy.  ... 

Meta-programming with names and necessity

Aleksandar Nanevski
2002 SIGPLAN notices  
This report is a significant revision of and supersedes the version published in April 2002 under the number CMU-CS-02-123  ...  Explicit substitutions In this section we formally introduce the concept of explicit substitution over names and define related operations.  ...  Introduction Meta-programming is a paradigm referring to the ability to algorithmically compose programs of a certain object language, through a program written in a meta-language.  ... 
doi:10.1145/583852.581498 fatcat:cwgfhmdnxzgx3obxb6j5xcdzbm

Programming with proofs and explicit contexts

Brigitte Pientka, Jana Dunfield
2008 Proceedings of the 10th international ACM SIGPLAN symposium on Principles and practice of declarative programming - PPDP '08  
In addition, we present an operational semantics for this language based on higher-order pattern matching for dependently typed objects. Based on this development, we prove progress and preservation.  ...  This allows us to program with proofs as higher-order data. We present a decidable bidirectional type system that distinguishes between dependentlytyped data and computations.  ...  This lays the foundation for programming with proofs and explicit contexts.  ... 
doi:10.1145/1389449.1389469 dblp:conf/ppdp/PientkaD08 fatcat:oz4q4kbldvcyzjdstkdrsv5bfa

Higher-Order Substitutions

Dominic Duggan
2001 Information and Computation  
A new calculus of explicit substitutions for higher-order abstract syntax is introduced, allowing a high-level description of variable binding in object languages while also providing substitutions as  ...  Higher-order abstract syntax is an approach to metaprogramming that explicitly captures the variable-binding aspects of programming language constructs.  ...  Not only does this make programs harder to read and reason about, but a substitution predicate will be less efficient than meta-language substitution.  ... 
doi:10.1006/inco.2000.2887 fatcat:ivrt66hz5zhvbg5qcg6lldfkby

Page 8116 of Mathematical Reviews Vol. , Issue 2000k [page]

2000 Mathematical Reviews  
and the technology of explicit substitutions.  ...  Summary: “The Ac-calculus adds explicit substitutions to the /- calculus so as to provide a theoretical framework within which the implementation of functional programming languages can be studied.  ... 

From Functional Programs to Interaction Nets via the Rewriting Calculus

Horatiu Cirstea, Germain Faure, Maribel Fernández, Ian Mackie, François-Régis Sinot
2007 Electronical Notes in Theoretical Computer Science  
We use the ρ-calculus as an intermediate language to compile functional languages with pattern-matching features, and give an interaction net encoding of the ρ-terms arising from the compilation.  ...  This encoding gives rise to new strategies of evaluation, where pattern-matching and 'traditional' β-reduction can proceed in parallel without overheads.  ...  of a more general language including non-linear patterns, or non-syntactic matching theories) and could also be used to study program transformations (in the same way as, for instance, explicit substitution  ... 
doi:10.1016/j.entcs.2007.02.046 fatcat:7mfolbbavrchnicmkddr3dwbz4
« Previous Showing results 1 — 15 out of 117,099 results