Commit Graph

17 Commits

Author SHA1 Message Date
Qi Xiao
d1b75c7097 Add a "dissoc" builtin. 2017-09-16 17:48:53 +01:00
Qi Xiao
aa2f8a54ee Implement Assoc for several types. 2017-09-01 01:07:34 +02:00
Qi Xiao
6cfca909ec Use persistent hashmap to implement map.
This resolves #414.
2017-09-01 01:07:20 +02:00
Qi Xiao
4f884b6dbf Add Hash to Value interface. 2017-08-30 20:52:27 +02:00
Qi Xiao
f1b9fb0b45 Eq -> Equal. 2017-08-30 19:47:50 +02:00
Qi Xiao
4a7a4184ed Add an Eqer interface, and implement for many types.
This is to prepare for the transition to using the custom persistent map
implementation, which requires an Eq method for key types.
2017-07-14 01:28:51 +01:00
Qi Xiao
263f848aca eval: Add IteratePair, both interface and implementations. 2017-07-13 10:47:36 +01:00
Qi Xiao
27f73d7064 Add eval.IterateKeyer and make it part of MapLike. 2017-02-12 23:53:49 -05:00
Qi Xiao
916da7de7b Allow arbitrary spaces after = in map pairs.
Use this to pretty-print maps.
2017-02-11 23:23:36 -05:00
Qi Xiao
05d60dc64d eval: Add a HasKey method to Map and Struct. 2016-03-20 16:18:08 +01:00
Qi Xiao
7a74bb9b12 Add a "to-json" builtin. 2016-03-10 16:37:36 +01:00
Qi Xiao
2cdbf67147 Slightly simplify Repr. 2016-02-19 20:31:54 +01:00
Qi Xiao
2413edcc09 Implement pretty printing.
This fixes #112.
2016-02-19 20:11:31 +01:00
Qi Xiao
17ae71b36c Change the syntax of pairs to use = to separate key and value.
This resolves #136.
2016-02-19 13:58:49 +01:00
Qi Xiao
65a0ab4e83 eval: Introduce a MapLike interface. 2016-02-19 12:21:55 +01:00
Qi Xiao
83cbe3b230 Introduce a Lener interface. 2016-02-19 11:49:19 +01:00
Qi Xiao
e6a9e79ea0 Restructure the eval package. 2016-02-18 22:52:05 +01:00