aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormryouse2022-07-14 01:54:25 +0000
committermryouse2022-07-14 01:54:25 +0000
commit00c5c7e2c043949ee8b3d6c32b01d338102da51f (patch)
tree05ce30fa3c178b23798185a3eee55f91f3b81837
parent8484dbac7b5bd85e4a25705a9346647ec4d1ab8b (diff)
exprs are of type list
-rw-r--r--neb/std/types.py2
-rw-r--r--neb/structs.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/neb/std/types.py b/neb/std/types.py
index 35dca42..0ce8b52 100644
--- a/neb/std/types.py
+++ b/neb/std/types.py
@@ -27,7 +27,7 @@ TYPES.register("int?", Builtin("int?", interpretIsInt, [Arg("arg", TypeEnum.ANY)
def interpretIsList(symbol, args, env, ns):
# if it's not a list, we're done
- if not isinstance(args[0], List):
+ if not (isinstance(args[0], List) or isinstance(args[0], Expr)):
return Bool(False)
# if the symbol isn't a type, we're done
diff --git a/neb/structs.py b/neb/structs.py
index 45e69a7..db74106 100644
--- a/neb/structs.py
+++ b/neb/structs.py
@@ -119,14 +119,14 @@ class Symbol:
def __init__(self, name, line):
self.name = name
self.line = line
- self.type_ = TypeEnum.ANY # TODO no it's not
+ self.type_ = ALL_TYPES[":any"] # TODO no it's not
def __str__(self):
return f"{self.name}"
class Expr:
def __init__(self, args):
self.args = args
- self.type_ = TypeEnum.ANY # TODO no it's not
+ self.type_ = ALL_TYPES[":[]"] # TODO no it's not
def __str__(self):
return "(" + " ".join(f"{arg}" for arg in self.args) + ")"