aboutsummaryrefslogtreecommitdiff
path: root/neb/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'neb/__init__.py')
-rw-r--r--neb/__init__.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/neb/__init__.py b/neb/__init__.py
index f5574d1..4ae32a6 100644
--- a/neb/__init__.py
+++ b/neb/__init__.py
@@ -47,13 +47,14 @@ class Function:
self.args = args
self.many = many
self.type_ = TypeEnum.ANY # TODO no it's not
+ self.return_type = Type(":any")
def describe(self, name=None):
if name is None:
name = self.name
out = [f"({name}"]
out.append(string_args(self.args, self.many))
- return " ".join(out).strip() + ")"
+ return " ".join(out).strip() + f") {self.return_type}"
def arity_check(self, symbol, params):
min_arity = len([a for a in self.args if not a.optional])
@@ -115,7 +116,7 @@ class UserFunction(Function):
super().__init__(name, newparams, body, args, many)
def __str__(self):
- out = f"(func {self.name} ("
+ out = f"(func {self.name} {self.return_type} ("
args_list = [f"{a.name} {a.type_}" for a in self.args]
if self.many:
args_list.append(f"{self.many.name} {self.many.type_}")