aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/data/any.lux
diff options
context:
space:
mode:
authorEduardo Julian2022-12-22 17:21:26 -0400
committerEduardo Julian2022-12-22 17:21:26 -0400
commit6f1bf11af05bd03183fee7721ac99eca826ca041 (patch)
tree9661fdef01ebb7e4c1ead05e839d608bfab86217 /stdlib/source/library/lux/data/any.lux
parent4f4a96635abb04239102e4b72dc2a9c6f678dcd2 (diff)
Added some explicit machinery for the Any type.
Diffstat (limited to 'stdlib/source/library/lux/data/any.lux')
-rw-r--r--stdlib/source/library/lux/data/any.lux25
1 files changed, 25 insertions, 0 deletions
diff --git a/stdlib/source/library/lux/data/any.lux b/stdlib/source/library/lux/data/any.lux
new file mode 100644
index 000000000..1e5c6591f
--- /dev/null
+++ b/stdlib/source/library/lux/data/any.lux
@@ -0,0 +1,25 @@
+(.require
+ [library
+ [lux (.except)
+ [abstract
+ [equivalence (.only Equivalence)]
+ [hash (.only Hash)]]]])
+
+(def .public any
+ Any
+ [])
+
+(def .public equivalence
+ (Equivalence Any)
+ (implementation
+ (def (= _ _)
+ true)))
+
+(def .public hash
+ (Hash Any)
+ (implementation
+ (def equivalence
+ ..equivalence)
+
+ (def (hash _)
+ 1)))