Javascript must be enabled to continue!
The Ultimate Conditional Syntax
View through CrossRef
Functional programming languages typically support expressive pattern-matching syntax allowing programmers to write concise and type-safe code, especially appropriate for manipulating algebraic data types. Many features have been proposed to enhance the expressiveness of stock pattern-matching syntax, such as pattern bindings, pattern alternatives (a.k.a. disjunction), pattern conjunction, view patterns, pattern guards, pattern synonyms, active patterns, ‘if-let’ patterns, multi-way if-expressions, etc. In this paper, we propose a new pattern-matching syntax that is both more expressive and (we argue) simpler and more readable than previous alternatives. Our syntax supports parallel and nested matches interleaved with computations and intermediate bindings. This is achieved through a form of nested multi-way if-expressions with a
condition-splitting
mechanism to factor common conditional prefixes as well as a binding technique we call
conditional pattern flowing
. We motivate this new syntax with many examples in the setting of MLscript, a new ML-family programming language. We describe a straightforward desugaring pass from our rich
source
syntax into a minimal
core
syntax that only supports flat patterns and has an intuitive small-step semantics. We then provide a translation from the core syntax into a
normalized
syntax without backtracking, which is more amenable to coverage checking and compilation, and formally prove that our translation is semantics-preserving. We view this work as a step towards rethinking pattern matching to make it more powerful and natural to use. Our syntax can easily be integrated, in part or in whole, into existing as well as future programming language designs.
Association for Computing Machinery (ACM)
Title: The Ultimate Conditional Syntax
Description:
Functional programming languages typically support expressive pattern-matching syntax allowing programmers to write concise and type-safe code, especially appropriate for manipulating algebraic data types.
Many features have been proposed to enhance the expressiveness of stock pattern-matching syntax, such as pattern bindings, pattern alternatives (a.
k.
a.
disjunction), pattern conjunction, view patterns, pattern guards, pattern synonyms, active patterns, ‘if-let’ patterns, multi-way if-expressions, etc.
In this paper, we propose a new pattern-matching syntax that is both more expressive and (we argue) simpler and more readable than previous alternatives.
Our syntax supports parallel and nested matches interleaved with computations and intermediate bindings.
This is achieved through a form of nested multi-way if-expressions with a
condition-splitting
mechanism to factor common conditional prefixes as well as a binding technique we call
conditional pattern flowing
.
We motivate this new syntax with many examples in the setting of MLscript, a new ML-family programming language.
We describe a straightforward desugaring pass from our rich
source
syntax into a minimal
core
syntax that only supports flat patterns and has an intuitive small-step semantics.
We then provide a translation from the core syntax into a
normalized
syntax without backtracking, which is more amenable to coverage checking and compilation, and formally prove that our translation is semantics-preserving.
We view this work as a step towards rethinking pattern matching to make it more powerful and natural to use.
Our syntax can easily be integrated, in part or in whole, into existing as well as future programming language designs.
Related Results
A quantitative comparison of two methods for higher-order EEG microstate syntax analysis
A quantitative comparison of two methods for higher-order EEG microstate syntax analysis
Entropy rate (ER) and sample entropy (SE) are two metrics that have been used to quantify the syntactic complexity of electroencephalography (EEG) microstate sequences. We here pre...
A Quantitative Comparison of Two Methods for Higher-Order EEG Microstate Syntax Analysis
A Quantitative Comparison of Two Methods for Higher-Order EEG Microstate Syntax Analysis
Abstract
Entropy rate (ER) and sample entropy (SE) are two metrics that have been used to quantify the syntactic complexity of electroencephalography (EEG) micros...
Deep-diffeomorphic networks for conditional brain templates
Deep-diffeomorphic networks for conditional brain templates
Abstract
Deformable brain templates are an important tool in many neuroimaging analyses. Conditional templates (e.g., age-specific templates) hav...
Prognostic value of SYNTAX score and SYNTAX score II in an ‘all-comers’ population treated with angoplasty
Prognostic value of SYNTAX score and SYNTAX score II in an ‘all-comers’ population treated with angoplasty
Objectives
The SYNTAX score and SYNTAX score II have a high predictive capacity for adverse cardiovascular events. We aimed to demonstrate that both scores were good pr...
Conditional Constructions in Yemsa
Conditional Constructions in Yemsa
Introduction. The main objective of this study is to produce a comprehensive description of Yemsa conditional constructions. The existing studies do not describe conditional clause...
The utility of SYNTAX score predictability by electrocardiogram parameters in patients with unstable angina
The utility of SYNTAX score predictability by electrocardiogram parameters in patients with unstable angina
Abstract
Background
SYNTAX score is one of the risk assessment systems to predict cardiac events in acute coronary syndrome patients. Despite the la...
P4637Elevated von Willebrand factor (VWF) and factor VIII are associated with higher clinical SYNTAX score in patients with stable coronary artery disease
P4637Elevated von Willebrand factor (VWF) and factor VIII are associated with higher clinical SYNTAX score in patients with stable coronary artery disease
Abstract
Background
Von Willebrand factor (VWF plays) central role in thrombogenesis, and circulates in a noncovalent complex wi...
NON-ST ELEVATION MYOCARDIAL INFARCTION: CORRELATION OF RED BLOOD CELL DISTRIBUTION WIDTH WITH SYNTAX SCORE
NON-ST ELEVATION MYOCARDIAL INFARCTION: CORRELATION OF RED BLOOD CELL DISTRIBUTION WIDTH WITH SYNTAX SCORE
Objective: To determine the correlation between mean RDW values and mean SYNTAX scores in patients of non ST elevation myocardial infarction. Methodology: This descriptive study wa...

