diff options
Diffstat (limited to 'src/type/mod.rs')
-rw-r--r-- | src/type/mod.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/type/mod.rs b/src/type/mod.rs index d020ab3..f08dc1a 100644 --- a/src/type/mod.rs +++ b/src/type/mod.rs @@ -68,9 +68,23 @@ pub enum TypeError { FunAsAtom, + InvalidFunDef(SExp, FunDefError), + OtherError } +#[derive(Debug,PartialEq)] +pub enum FunDefError { + NoFunToken, + NoArgumentList, + NoTypeList, + NoReturnType, + NoFunctionBody, + InvalidArgumentList, + InvalidTypeList, + InvalidReturnType, +} + use Type::*; impl Type { |