aboutsummaryrefslogtreecommitdiff
path: root/src/type/check.rs
diff options
context:
space:
mode:
authorJoel Kronqvist <joel.kronqvist@iki.fi>2025-08-05 12:18:11 +0300
committerJoel Kronqvist <joel.kronqvist@iki.fi>2025-08-05 12:18:11 +0300
commit7be78efb6c56c04b8a96b3f4f7f6cf810da04dbf (patch)
tree47f8a8ba81e93dc9175b2c48f9f6387f797dd94a /src/type/check.rs
parentbf458367d77cb4ca3f4ac0a4a8c9ffe13f71b09b (diff)
downloadmyslip-7be78efb6c56c04b8a96b3f4f7f6cf810da04dbf.tar.gz
myslip-7be78efb6c56c04b8a96b3f4f7f6cf810da04dbf.zip
Fixed type of Not, added documentation to the tour for booleans
Diffstat (limited to 'src/type/check.rs')
-rw-r--r--src/type/check.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/type/check.rs b/src/type/check.rs
index d678411..81a43a4 100644
--- a/src/type/check.rs
+++ b/src/type/check.rs
@@ -64,7 +64,7 @@ impl SExp {
/// assert_eq!(Atom(And).type_check(), Ok(arr(List(vec![Boolean, Boolean]), Boolean)));
/// assert_eq!(Atom(Or) .type_check(), Ok(arr(List(vec![Boolean, Boolean]), Boolean)));
/// assert_eq!(Atom(Xor).type_check(), Ok(arr(List(vec![Boolean, Boolean]), Boolean)));
- /// assert_eq!(Atom(Not).type_check(), Ok(arr(Boolean, Boolean)));
+ /// assert_eq!(Atom(Not).type_check(), Ok(arr(List(vec![Boolean]), Boolean)));
/// ```
///
/// Though perhaps the most important task of the type system
@@ -147,7 +147,7 @@ impl SExp {
Atom(Eq | Neq | Lt | Gt | Le | Ge) =>
Ok(arr(List(vec![Integer, Integer]), Boolean)),
Atom(Or | And | Xor) => Ok(arr(List(vec![Boolean, Boolean]), Boolean)),
- Atom(Not) => Ok(arr(Boolean, Boolean)),
+ Atom(Not) => Ok(arr(List(vec!(Boolean)), Boolean)),
Atom(Nil) => Ok(List(vec![])),
Atom(Quote) => Ok(arr(
VarType("T".to_string()),