Abstract
Structural pattern-matching as a language feature has become more common in programming languages over the past decade. This talk will report on the work in progress to define such a feature for the Ada language, both from a language-design point of view, and from an implementation point of view.
- X. Leroy, D. Doligez, A. Frisch, J. Garrigue, D. Rémy and J. Vouillon, "Chapter 9. The OCaml Language, Section 6. Patterns", The OCaml Manual, https://ocaml.org/manual/patterns.html, retrieved 25-Feb-2022.Google Scholar
- Python Software Foundation, "8.6 The Match Statement", The Python Language Reference, https://docs.python.org/3/reference/compound_stmts.html# the-match-statement, retrieved 25-Feb-2022.Google Scholar
- S. Marlow (ed.), "3.17 Pattern Matching", Haskell 2010 Language Report, 2010. https://www.haskell.org /onlinereport/haskell2010/haskellch3.html, retrieved 25-Feb- 2022.Google Scholar
- F. Le Fessant and L. Maranget, "Optimizing Pattern Matching", ACM SIGPLAN Notices 36, 10.1145/507635.507641, 2001.Google Scholar
Digital Library
Recommendations
How to define a language using PROLOG
LFP '82: Proceedings of the 1982 ACM symposium on LISP and functional programmingThere have been many papers, conferences and theses concerned with the task of defining programming languages. Yet, twenty years after McCarthy's (1962) seminal paper there is still no widely accepted method which will deal with all parts of a language ...
Declaratively defining domain-specific language debuggers
GCPE '11Tool support is vital to the effectiveness of domain-specific languages. With language workbenches, domain-specific languages and their tool support can be generated from a combined, high-level specification. This paper shows how such a specification ...
An implementation of parallel pattern-matching via concurrent haskell
ACSC '02: Proceedings of the twenty-fifth Australasian conference on Computer science - Volume 4Parallel pattern-matching offers the maximum laziness for programs written in lazy functional languages. Function arguments are evaluated concurrently and all arguments are given equal precedence, so functions can return results whenever possible in the ...






Comments