diff options
author | Joel Kronqvist <joel.kronqvist@iki.fi> | 2025-08-05 15:12:27 +0300 |
---|---|---|
committer | Joel Kronqvist <joel.kronqvist@iki.fi> | 2025-08-05 15:12:27 +0300 |
commit | 1e712e91edea0735c5eb440af26ac6d4454e70a9 (patch) | |
tree | f03b4afb90bb4e36e825814a4fddec253994b7b3 /src/type/check.rs | |
parent | 7be78efb6c56c04b8a96b3f4f7f6cf810da04dbf (diff) | |
download | myslip-1e712e91edea0735c5eb440af26ac6d4454e70a9.tar.gz myslip-1e712e91edea0735c5eb440af26ac6d4454e70a9.zip |
Fix: quote is not a typewise identity function. Added vt(&str) as util for VarType(String).
Diffstat (limited to 'src/type/check.rs')
-rw-r--r-- | src/type/check.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/type/check.rs b/src/type/check.rs index 81a43a4..c3bdcb4 100644 --- a/src/type/check.rs +++ b/src/type/check.rs @@ -28,7 +28,7 @@ impl SExp { /// /// assert_eq!( /// scons(Quote, scons(1, scons(False, Nil))).type_check(), - /// Ok(List(vec![Integer, Boolean])) + /// Ok(List(vec![QuoteTy, List(vec![Integer, Boolean])])) /// ); /// ``` /// Though so is Nil given too: @@ -150,8 +150,8 @@ impl SExp { Atom(Not) => Ok(arr(List(vec!(Boolean)), Boolean)), Atom(Nil) => Ok(List(vec![])), Atom(Quote) => Ok(arr( - VarType("T".to_string()), - VarType("T".to_string()) + vt("T"), + List(vec![QuoteTy, vt("T")]) )), SCons(op, l) => { |