<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
path: root/walk/atom.go
diff options
context:
space:
mode:
authorCharlie Stanton <charlie@shtanton.xyz>2023-05-12 14:25:32 +0100
committerCharlie Stanton <charlie@shtanton.xyz>2023-05-12 14:25:32 +0100
commit3c34366bdd5d817a184d6b1c901d03a16b6faa4b (patch)
tree0a084781caf7f062b52d8c0a7481e87afb7d5caa /walk/atom.go
parent551613765c9e60e2221ac920d2756b949e68f373 (diff)
downloadstred-go-3c34366bdd5d817a184d6b1c901d03a16b6faa4b.tar
Adds the json_array IO format
Diffstat (limited to 'walk/atom.go')
-rw-r--r--walk/atom.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/walk/atom.go b/walk/atom.go
index dfe5fe4..299c39d 100644
--- a/walk/atom.go
+++ b/walk/atom.go
@@ -37,6 +37,12 @@ func NewAtomBool(v bool) Atom {
}
}
}
+func (v Atom) Bool() bool {
+ if v.Typ != AtomBool {
+ panic("Tried to use non-bool as bool")
+ }
+ return v.data == 1
+}
func NewAtomNumber(v float64) Atom {
return Atom {
Typ: AtomNumber,
@@ -73,6 +79,12 @@ func NewAtomStringRune(v rune) Atom {
data: uint64(v),
}
}
+func (v Atom) StringRune() rune {
+ if v.Typ != AtomStringRune {
+ panic("Tried to use non-stringrune as stringrune")
+ }
+ return rune(v.data)
+}
func (v Atom) String() string {
switch v.Typ {
case AtomNull: