diff --git a/projects/shoggoth/src/python/ichor/isa.py b/projects/shoggoth/src/python/ichor/isa.py
index c65b5d5..c0f054d 100644
--- a/projects/shoggoth/src/python/ichor/isa.py
+++ b/projects/shoggoth/src/python/ichor/isa.py
@@ -5,37 +5,7 @@ import typing as t
class Opcode:
- ####################################################################################################
- # Logic
- ####################################################################################################
-
- # FIXME: This should become an instantiation of the BOOL enum
- class TRUE(t.NamedTuple):
- """() -> (bool)
-
- Push the constant TRUE onto the stack.
-
- """
-
- # FIXME: This should become an instantiation of the BOOL enum
- class FALSE(t.NamedTuple):
- """() -> (bool)
-
- Push the constant FALSE onto the stack.
-
- """
-
- # FIXME: This should become a `VTEST` macro ... or may be replaceable
- class IF(t.NamedTuple):
- """(bool) -> ()
-
- Branch to another point if the top item of the stack is TRUE. Otherwise fall through.
-
- """
-
- target: int
-
- # not, and, or, xor etc. can all be functions given if.
+ # Note that there's no IF, TRUE or FALSE required if bool is a builtin.
class GOTO(t.NamedTuple):
"""() -> ()
@@ -211,12 +181,16 @@ class Opcode:
nargs: int = 0
class VTEST(t.NamedTuple):
- """(VARIANTREF, B) -> (bool)
+ """(VARIANTREF, B) -> ()
Test whether B is a given arm of a variant A .
+ If it is, branch to the given target.
+ Otherwise fall through.
"""
+ target: int
+
class VLOAD(t.NamedTuple):
"""(VARIANTREF, B) -> (A)