aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/documentation/lux/meta/type/quotient.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/documentation/lux/meta/type/quotient.lux')
-rw-r--r--stdlib/source/documentation/lux/meta/type/quotient.lux45
1 files changed, 45 insertions, 0 deletions
diff --git a/stdlib/source/documentation/lux/meta/type/quotient.lux b/stdlib/source/documentation/lux/meta/type/quotient.lux
new file mode 100644
index 000000000..1451674e6
--- /dev/null
+++ b/stdlib/source/documentation/lux/meta/type/quotient.lux
@@ -0,0 +1,45 @@
+(.require
+ [library
+ [lux (.except)
+ ["$" documentation]
+ [data
+ ["[0]" text (.only \n)
+ ["%" \\format (.only format)]]]
+ [macro
+ ["[0]" template]]]]
+ [\\library
+ ["[0]" /]])
+
+(.def .public documentation
+ (.List $.Module)
+ ($.module /._
+ ""
+ [($.default /.class)
+ ($.default /.value)
+ ($.default /.label)
+ ($.default /.equivalence)
+
+ ($.documentation (/.Class value label)
+ "The class knows how to classify/label values that are meant to be equivalent to one another.")
+
+ ($.documentation (/.Quotient value label)
+ (format "A quotient value has been labeled with a class."
+ \n "All equivalent values will belong to the same class."
+ \n "This means all equivalent values possess the same label."))
+
+ ($.documentation /.quotient
+ ""
+ [(quotient class value)])
+
+ ($.documentation /.type
+ "The Quotient type associated with a Class type."
+ [(def even
+ (class even?))
+
+ (def Even
+ Type
+ (type even))
+
+ (is Even
+ (quotient even 123))])]
+ []))