aboutsummaryrefslogtreecommitdiff
path: root/go/src/printer/printer.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/src/printer/printer.go')
-rw-r--r--go/src/printer/printer.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/go/src/printer/printer.go b/go/src/printer/printer.go
index 887c749..428958e 100644
--- a/go/src/printer/printer.go
+++ b/go/src/printer/printer.go
@@ -24,9 +24,9 @@ func Pr_str(obj types.MalType, print_readably bool) string {
return Pr_list(tobj.Val, print_readably, "(", ")", " ")
case types.Vector:
return Pr_list(tobj.Val, print_readably, "[", "]", " ")
- case map[string]types.MalType:
- str_list := make([]string, 0, len(tobj)*2)
- for k, v := range tobj {
+ case types.HashMap:
+ str_list := make([]string, 0, len(tobj.Val)*2)
+ for k, v := range tobj.Val {
str_list = append(str_list, Pr_str(k, print_readably))
str_list = append(str_list, Pr_str(v, print_readably))
}
@@ -51,6 +51,9 @@ func Pr_str(obj types.MalType, print_readably bool) string {
Pr_str(tobj.Exp, true) + ")"
case func([]types.MalType)(types.MalType, error):
return fmt.Sprintf("<function %v>", obj)
+ case *types.Atom:
+ return "(atom " +
+ Pr_str(tobj.Val, true) + ")"
default:
return fmt.Sprintf("%v", obj)
}