Another Taste of Verse
summary
Verse treats every expression as able to produce zero, one, or many values, with built‑in choice and failure composing into sequencing, comprehension‑style for loops, and a one‑ and two‑armed iteration that reifies choice into arrays. Arrays are arrays as finite-domain functions so indexing, narrowing and function application unify; the verifier uses round parentheses to require non‑failure. Types are executable partial functions, letting user‑defined, dependent and polymorphic type constructors (array = map) and arbitrary expressions appear in pattern positions.
AI-written summary · about
chapters (16)
- 0:00Introduction And Origins Of Verse
- 3:21Declarative Programming And Language Overview
- 6:21Choice, Failure, And Conditionals
- 10:09Sequencing, Unification, And Search
- 12:33Arrays, Tuples, And Iteration
- 19:59Mapping And Transforming Arrays
- 24:12Arrays As Finite-Domain Functions
- 27:07Verification And Safe Function Calls
- 32:13Narrowing And Functional Logic Programming
- 35:16Building List-Like Operations
- 39:18Variable Binding And Scope
- 41:08Types As Partial Functions
- 46:08Array Types And Type Constructors
- 49:55Patterns And Expressions As One Concept
- 57:14Matching Functions And Higher-Order Patterns
- 1:01:10Conclusions And Future Directions
related talks
42mVerse - A New Functional Logic Language
30mThe Verse Calculus: A Core Calculus for Deterministic Functional Logic Programmi...
46mInventing a language (placeholder title)
30mA Core Language for Extended Pattern Matching and Binding Boolean Expressions
34mA Taste of Prolog
42mFunctional interpreters and you
25mAn Array-Oriented Language via the Design Recipe
18mOn the Expressive Power of Languages for Static Variability
