Jay Hayes
e4771a46a4
Remove other process killing example
...
The narrative no longer reads consistently... Just 🔪 it
2016-05-04 15:29:20 -05:00
Jay Hayes
12681f3aa2
Interleave sends and receives
2016-05-04 15:18:16 -05:00
Jay Hayes
6aae32e672
Explain FIFO nature of message in own example
2016-05-04 15:17:52 -05:00
Jay Hayes
75c54e0585
Remove explanation of tail recursion
...
Curious readers might look it up, so just mention it in passing and let
them focus on the task at hand: handling multiple messages.
2016-05-04 15:13:49 -05:00
Jay Hayes
4e4e35f575
Remove process about killing others 😆
2016-05-04 15:13:35 -05:00
Jay Hayes
f7cced5913
Replace multiple receives with assert_receives
...
❤️ #101
2016-05-04 15:08:17 -05:00
Jay Hayes
65b9af48b4
Add example of process as state
2016-05-04 15:07:12 -05:00
Jay Hayes
6126d5a836
Add koan illustrating tail recursion
2016-05-04 15:06:57 -05:00
Jay Hayes
1f24de98f4
Rearrange existing koans to paint a clearer picture
2016-05-04 15:06:39 -05:00
Jay Hayes
322799a655
Remove koans illustrating self-exit
...
I don't really like these examples, because the process would exit
anyway when the function returns... Also having to sleep is not ideal.
2016-05-04 15:06:12 -05:00
Jay Hayes
cdfca2a24a
Extract variable for spawned function
2016-05-04 15:05:47 -05:00
Jay Hayes
92ccbcd68d
Tweak descriptions of a couple process koans
2016-05-04 15:05:47 -05:00
Jay Hayes
1f1112c888
Add koan illustrating that a process is referenced by a pid
2016-05-04 15:05:19 -05:00
Uku Taht
b39f951fcc
Merge pull request #101 from elixirkoans/multiple-answers-for-assert-receive
...
Allow multiple answers in pinned context
2016-05-04 17:58:44 +01:00
Uku Taht
bc8f98d5d9
Merge pull request #100 from iamvery/tweak-maps-koan
...
Replace pipeline with composed function in maps koan
2016-05-04 15:49:05 +01:00
Jay Hayes
e2468b92cc
Avoid keys order issue by using Maps.has_key?/2
2016-05-04 09:28:49 -05:00
Jay Hayes
f93e29cc8c
Remove "keys and values" example
2016-05-04 09:28:35 -05:00
Uku Taht
a9ee9404ad
Destructure answers in test function
2016-05-04 10:48:14 +01:00
Uku Taht
48b593be8e
Merge pull request #99 from iamvery/tweak-enum-koan
...
Tweak enum koan
2016-05-04 10:18:08 +01:00
Uku Taht
43d4ac5360
Merge pull request #92 from iamvery/update-koans
...
Update various koans
2016-05-04 09:49:48 +01:00
Uku Taht
cda9b3526c
Merge pull request #93 from iamvery/assert-receive-does-not-work
...
Problem with assert_receive in koans
2016-05-04 09:48:55 +01:00
Jay Hayes
c39916df2e
Replace pipeline with composed function
...
At this point, the learner hasn't seen functions, the Enum module, or
the pipe operator, so it feels like a little much to add that here. The
reason it's needed is that the order of keys/1 and values/1 is reverse
of how it's defined. This is due to an implementation detail in Erlang's
maps. We /could/ use this as a learning opportunity rather than sorting
them, but I'm not sure what could be said about that...
2016-05-03 19:31:07 -05:00
Jay Hayes
19998b452c
Add another match to illustrate that only the first is found
2016-05-03 19:22:16 -05:00
Jay Hayes
4017cfcd72
Change test data to illustrate that they /all/ must match
2016-05-03 19:21:51 -05:00
Jay Hayes
b184de5817
Remove parens from self
...
In my experience, the parens in this case are not idiomatic.
2016-05-03 19:11:28 -05:00
Jay Hayes
74b99676e7
Add example of anonymous function as argument
2016-05-03 19:08:51 -05:00
Jay Hayes
a808d275db
Reword function pattern matching example
2016-05-03 19:08:51 -05:00
Jay Hayes
8311362f19
Reword function with default arg example
2016-05-03 19:08:51 -05:00
Jay Hayes
64d6e72b46
Add example of matching map with struct
2016-05-03 19:08:51 -05:00
Jay Hayes
8bcd7d2c94
Reword function pattern matching example
2016-05-03 19:08:51 -05:00
Jay Hayes
944f932ec5
Add example of lists not support partial match
2016-05-03 19:08:51 -05:00
Jay Hayes
12ce3ba2d3
Reword maps matching example
2016-05-03 19:08:51 -05:00
Jay Hayes
b577a24753
Extract initial example of binding before showing rebinding
2016-05-03 19:08:51 -05:00
Jay Hayes
4fda4ab9ff
Reword pinning example
2016-05-03 19:08:51 -05:00
Jay Hayes
b2458bb472
Consistent one-liner for receive-blocked processes
2016-05-03 08:23:57 -05:00
Jay Hayes
1611483206
Reword some more examples
2016-05-03 08:23:57 -05:00
Jay Hayes
cc47f7c9c6
Simplify cases
2016-05-03 08:23:56 -05:00
Jay Hayes
71dfd882c6
Tweak wording
2016-05-03 08:23:23 -05:00
Jay Hayes
8ea68548fe
Simplify example
2016-05-03 08:23:23 -05:00
Jay Hayes
2d7982e9a3
Remove indirection of wait/0
2016-05-03 08:23:23 -05:00
Jay Hayes
b955a4db64
Remove unneeded case
2016-05-03 08:23:23 -05:00
Jay Hayes
6772308e9a
Add a little more context to example description
2016-05-03 08:23:23 -05:00
Jay Hayes
dacaf4c0b1
Actually illustrate use of receive function
2016-05-03 08:23:22 -05:00
Jay Hayes
bef1cf5028
Add new test illustrating spawning processes
2016-05-03 08:23:00 -05:00
Jay Hayes
c7c2fbcdff
Auto-pin variables when replacing blanks in assert_receive
2016-05-02 20:45:03 -05:00
Jay Hayes
1b99ab0650
Pin missing values in assert_receive
...
Turns out the way assert_receive is implemented, the expression give the
macro is used literally as the match for the expanded receive call.
2016-05-02 16:12:03 -05:00
Uku Taht
3892c0477e
Merge pull request #89 from iamvery/assert-koan-test-results
...
Assert koan test results
2016-04-28 11:06:24 +01:00
Felipe Sere
a5c3d910a7
Use heredoc-style for longer blocks of text in Display
2016-04-27 21:12:13 +01:00
Felipe Sere
fb56540193
Remove the last exit from Display
2016-04-27 21:06:26 +01:00
Felipe Sere
b01727f9b8
Extract colours into their own little module
2016-04-27 21:04:31 +01:00