From 5c00b978b0bc0c1eeb64682cba6aa338fea320bf Mon Sep 17 00:00:00 2001 From: NanoTech Date: Sun, 11 Dec 2016 23:27:36 -0600 Subject: Start implementing error explanations --- src/errors/NoDependentTypes.txt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/errors/NoDependentTypes.txt (limited to 'src/errors/NoDependentTypes.txt') diff --git a/src/errors/NoDependentTypes.txt b/src/errors/NoDependentTypes.txt new file mode 100644 index 0000000..435bdcb --- /dev/null +++ b/src/errors/NoDependentTypes.txt @@ -0,0 +1,31 @@ +Explanation: The Dhall programming language does not allow functions from terms +to types. These function types are also known as "dependent function types" +because you have a type whose value "depends" on the value of a term. + +For example, this is $_NOT a legal function type: + + + ┌─────────────┐ + │ Bool → Type │ + └─────────────┘ + + +Similarly, this is $_NOT legal code: + + + ┌────────────────────────────────────────────────────┐ + │ λ(Vector : Natural → Type → Type) → Vector +0 Text │ + └────────────────────────────────────────────────────┘ + ⇧ + Invalid dependent type + + +Your function type is invalid because the input has type: + +↳ $txt0 + +... and the output has kind: + +↳ $txt1 + +... which makes this a forbidden dependent function type -- cgit v1.2.3