Commit Graph

233 Commits

Author SHA1 Message Date
Jay Hayes
d37df5fa77 Swap order of zipped lists to create learning opportunity
Zipping atoms and numbers creates an opportunity for the learner to
realize "💡 I just made a keyword list!"
2016-05-05 17:48:47 -05:00
Jay Hayes
ad011d80f3 Establish that modules are atoms, then show function call on them 2016-05-05 10:43:17 -05:00
Jay Hayes
948fbddcdf Remove unhelpful example
Not really useful without showing dot access.
2016-05-05 10:42:57 -05:00
Jay Hayes
ee89055af6 Remove commented koans
We can't pull this off right now since answers can't be expressions.
2016-05-05 10:41:57 -05:00
Jay Hayes
7b64bd36e9 Add other lessons that don't work with answer system 2016-05-05 10:41:28 -05:00
Jay Hayes
53fc465c3f Add atom koans 2016-05-05 10:41:28 -05:00
Jay Hayes
52f8ed0d6c Add atoms koan as between strings and tuples 2016-05-05 10:41:28 -05:00
Uku Taht
0a57e38ecb Merge pull request #111 from joneslee85/patch-1
Refactor the comma in List syntax
2016-05-05 11:38:20 +01:00
Uku Taht
964d5fe68d Merge pull request #109 from iamvery/whitespace
Fix whitespace in tasks koan
2016-05-05 11:37:50 +01:00
Uku Taht
85d7cd1540 Merge pull request #110 from iamvery/update-agents-koan
Show explicit example of named agents
2016-05-05 11:37:40 +01:00
Uku Taht
0a5694dcd6 Merge pull request #107 from iamvery/pipe-description
Update description of piping
2016-05-05 11:37:11 +01:00
Trung Lê
c1e3f6a80d Refactor the comma in List syntax 2016-05-05 19:23:25 +10:00
Felipe Seré
386111ba6d Merge pull request #102 from elixirkoans/fix-for-intellij
Strip off IntelliJ specific extension from reloaded files.
2016-05-05 07:48:21 +01:00
Jay Hayes
7711936893 Show explicit example of named agents 2016-05-04 19:57:55 -05:00
Jay Hayes
a2060d6e5b whitespace 2016-05-04 19:41:40 -05:00
Jay Hayes
c9b20bb09a Update description of piping 2016-05-04 19:33:41 -05:00
Felipe Seré
f5af10d87a Merge pull request #104 from snikolau/add-list-wrap-koan
Add wrapping list koan
2016-05-04 23:42:10 +01:00
snikolau
2e21cdf11b Add wrapping list koan 2016-05-04 22:57:05 +01:00
Uku Taht
49efc97b52 Merge pull request #98 from iamvery/process-koans
Rearrange, rm, and add process examples
2016-05-04 22:20:09 +01:00
snikolau
983db49c00 Add shortdoc to display task in mix list 2016-05-04 22:12:05 +01:00
Felipe Sere
2f3f117e4a Strip off IntelliJ specific extension from reloaded files. 2016-05-04 21:51:50 +01:00
Jay Hayes
4bf62aa301 Replace explicit kill with linked process
Since the spawned process is linked and each koan is run inside its own
process, it gets killed by association.
2016-05-04 15:32:37 -05:00
Jay Hayes
4710ad1c63 Use parens around spawn calls 2016-05-04 15:29:57 -05:00
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