summaryrefslogtreecommitdiff
path: root/Generics/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'Generics/README.md')
-rw-r--r--Generics/README.md64
1 files changed, 60 insertions, 4 deletions
diff --git a/Generics/README.md b/Generics/README.md
index c381e29..a6ffbee 100644
--- a/Generics/README.md
+++ b/Generics/README.md
@@ -1,22 +1,78 @@
# Generics
-
+Limbo supports polymorphic types as well as a form of pseudo-unions and pseudo-interfaces as per C and Go respectively.
Warning: This is an example about an undocumented feature of Limbo. All assertions or explanations provided are considered conjecture until proven otherwise.
## Source
-###
+### generics.b:17,21
+
+
+
+### generics.b:23,32
+
+
+
+### generics.b:34,44
+
+
+
+### generics.b:46,50
+
+
+
+### generics.b:56,63
+
+
+
+`.ws()` is defined at: generics.b:103,109
+
+### generics.b:65,69
+
+
+
+### generics.b:71,83
+
+
+
+`ismember()` is defined at: generics.b:132,144
+
+`.eq()` is defined at: generics.b:111,114
+
+### generics.b:85,87
+
+
+
+`rev()` is defined at: generics.b:154,161
+
+### generics.b:89,98
+
+
+
+`pair()` is defined at: generics.b:146,152
## Demo
+ ; generics
+ Type something: asdf
+ Broke on 'a'
+ 5
+ Five
+ Found 9!
+ Head was: :(
+ Head is: ☺
+ Head of plist: ( hello, { :(, 7 } )
+ ;
+
## Exercises
-- Can you find a way to make the eq() function do a deep comparison of Int's?
+- Can you find a way to make the `eq()` function do a deep comparison of `Int`'s?
- Try removing the `.String` from the `words` definition, what happens?
- Try removing `ref anywhere, see what happens.
## References
-- https://github.com/caerwynj/inferno-lab/blob/master/27/sexprs.b
- https://github.com/caerwynj/inferno-lab/blob/master/78/README.md
+- https://github.com/caerwynj/inferno-lab/blob/master/27/sexprs.b
+- /appl/lib/lists.b