trackler 2.0.6.41 → 2.0.6.42

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/common/CONTRIBUTING.md +15 -3
  3. data/common/README.md +7 -2
  4. data/common/exercises/binary/.deprecated +3 -0
  5. data/common/exercises/counter/.deprecated +2 -0
  6. data/common/exercises/hexadecimal/.deprecated +3 -0
  7. data/common/exercises/luhn/description.md +9 -31
  8. data/common/exercises/octal/.deprecated +3 -0
  9. data/common/exercises/point-mutations/.deprecated +2 -0
  10. data/common/exercises/trinary/.deprecated +3 -0
  11. data/lib/trackler/version.rb +1 -1
  12. data/tracks/c/exercises/rna-transcription/test/test_rna_transcription.c +2 -3
  13. data/tracks/ceylon/config.json +8 -0
  14. data/tracks/ceylon/docs/ABOUT.md +15 -0
  15. data/tracks/ceylon/docs/INSTALLATION.md +9 -0
  16. data/tracks/ceylon/docs/LEARNING.md +7 -0
  17. data/tracks/ceylon/docs/TESTS.md +11 -0
  18. data/tracks/ceylon/exercises/TRACK_HINTS.md +11 -0
  19. data/tracks/ceylon/exercises/hamming/example/Hamming.ceylon +8 -0
  20. data/tracks/ceylon/exercises/hamming/source/hamming/Hamming.ceylon +5 -0
  21. data/tracks/ceylon/exercises/hamming/source/hamming/HammingTest.ceylon +30 -0
  22. data/tracks/ceylon/exercises/hamming/source/hamming/module.ceylon +3 -0
  23. data/tracks/erlang/_test/check-exercises.escript +2 -2
  24. data/tracks/erlang/exercises/{circular-buffer/rebar.conf → accumulate/rebar.config} +1 -1
  25. data/tracks/erlang/exercises/allergies/{rebar.conf → rebar.config} +1 -1
  26. data/tracks/erlang/exercises/{accumulate/rebar.conf → anagram/rebar.config} +3 -1
  27. data/tracks/erlang/exercises/{bob/rebar.conf → atbash-cipher/rebar.config} +1 -1
  28. data/tracks/erlang/exercises/{binary/rebar.conf → bank-account/rebar.config} +1 -1
  29. data/tracks/erlang/exercises/beer-song/rebar.conf +1 -1
  30. data/tracks/erlang/exercises/binary/rebar.config +30 -0
  31. data/tracks/erlang/exercises/bob/rebar.config +30 -0
  32. data/tracks/erlang/exercises/circular-buffer/rebar.config +30 -0
  33. data/tracks/erlang/exercises/clock/rebar.config +30 -0
  34. data/tracks/erlang/exercises/difference-of-squares/rebar.config +30 -0
  35. data/tracks/erlang/exercises/etl/rebar.config +30 -0
  36. data/tracks/erlang/exercises/gigasecond/rebar.config +30 -0
  37. data/tracks/erlang/exercises/grade-school/rebar.config +30 -0
  38. data/tracks/erlang/exercises/grains/rebar.config +30 -0
  39. data/tracks/erlang/exercises/hamming/rebar.config +30 -0
  40. data/tracks/erlang/exercises/hello-world/rebar.config +30 -0
  41. data/tracks/erlang/exercises/largest-series-product/rebar.config +30 -0
  42. data/tracks/erlang/exercises/leap/rebar.config +30 -0
  43. data/tracks/erlang/exercises/luhn/rebar.config +30 -0
  44. data/tracks/erlang/exercises/meetup/rebar.config +30 -0
  45. data/tracks/erlang/exercises/nucleotide-count/rebar.config +30 -0
  46. data/tracks/erlang/exercises/parallel-letter-frequency/rebar.config +30 -0
  47. data/tracks/erlang/exercises/phone-number/rebar.config +30 -0
  48. data/tracks/erlang/exercises/rna-transcription/rebar.config +30 -0
  49. data/tracks/erlang/exercises/robot-simulator/HINTS.md +9 -0
  50. data/tracks/erlang/exercises/robot-simulator/rebar.config +30 -0
  51. data/tracks/erlang/exercises/roman-numerals/rebar.config +30 -0
  52. data/tracks/erlang/exercises/scrabble-score/rebar.config +30 -0
  53. data/tracks/erlang/exercises/series/rebar.config +30 -0
  54. data/tracks/erlang/exercises/space-age/rebar.config +30 -0
  55. data/tracks/erlang/exercises/strain/rebar.config +30 -0
  56. data/tracks/erlang/exercises/sum-of-multiples/rebar.config +30 -0
  57. data/tracks/erlang/exercises/triangle/rebar.config +30 -0
  58. data/tracks/erlang/exercises/trinary/rebar.config +30 -0
  59. data/tracks/erlang/exercises/word-count/rebar.config +30 -0
  60. data/tracks/erlang/exercises/zipper/rebar.config +30 -0
  61. data/tracks/go/README.md +2 -1
  62. data/tracks/go/exercises/diamond/diamond_test.go +8 -8
  63. data/tracks/go/exercises/difference-of-squares/difference_of_squares_test.go +8 -0
  64. data/tracks/go/exercises/difference-of-squares/example.go +2 -0
  65. data/tracks/go/exercises/diffie-hellman/diffie_hellman_test.go +8 -0
  66. data/tracks/go/exercises/diffie-hellman/example.go +2 -0
  67. data/tracks/go/exercises/error-handling/error_handling_test.go +8 -8
  68. data/tracks/go/exercises/etl/etl_test.go +8 -0
  69. data/tracks/go/exercises/etl/example.go +2 -0
  70. data/tracks/go/exercises/food-chain/food_chain_test.go +6 -6
  71. data/tracks/go/exercises/hello-world/hello_world.go +2 -2
  72. data/tracks/go/exercises/hexadecimal/hexadecimal_test.go +6 -6
  73. data/tracks/go/exercises/house/house_test.go +6 -6
  74. data/tracks/go/exercises/isogram/isogram_test.go +8 -8
  75. data/tracks/go/exercises/kindergarten-garden/kindergarten_garden_test.go +6 -6
  76. data/tracks/go/exercises/leap/leap_test.go +4 -1
  77. data/tracks/go/exercises/ledger/ledger_test.go +4 -1
  78. data/tracks/go/exercises/matrix/matrix_test.go +6 -6
  79. data/tracks/go/exercises/meetup/meetup_test.go +4 -1
  80. data/tracks/go/exercises/nth-prime/example.go +2 -0
  81. data/tracks/go/exercises/nth-prime/nth_prime_test.go +8 -0
  82. data/tracks/go/exercises/nucleotide-count/nucleotide_count_test.go +8 -8
  83. data/tracks/idris/.gitignore +2 -0
  84. data/tracks/idris/_src/Makefile.template +23 -0
  85. data/tracks/idris/config.json +9 -2
  86. data/tracks/idris/exercises/hello-world/HelloWorld.ipkg +5 -0
  87. data/tracks/idris/exercises/hello-world/Makefile +23 -0
  88. data/tracks/idris/exercises/hello-world/src/Test/HelloWorld.idr +25 -0
  89. data/tracks/idris/exercises/hello-world/src/example.idr +5 -0
  90. data/tracks/java/.travis.yml +5 -0
  91. data/tracks/java/bin/build-jq.sh +11 -0
  92. data/tracks/java/exercises/allergies/src/test/java/AllergiesTest.java +14 -13
  93. data/tracks/java/exercises/hamming/src/test/java/HammingTest.java +2 -2
  94. data/tracks/java/exercises/nth-prime/src/test/java/PrimeTest.java +8 -1
  95. data/tracks/java/exercises/nucleotide-count/src/test/java/NucleotideTest.java +12 -6
  96. data/tracks/java/exercises/pascals-triangle/src/test/java/PascalsTriangleTest.java +8 -2
  97. data/tracks/java/exercises/series/src/test/java/SeriesTest.java +10 -4
  98. data/tracks/java/exercises/simple-linked-list/src/test/java/SimpleLinkedListTest.java +7 -2
  99. data/tracks/java/exercises/triangle/src/test/java/TriangleTest.java +29 -20
  100. data/tracks/kotlin/config.json +5 -0
  101. data/tracks/kotlin/exercises/build.gradle +17 -0
  102. data/tracks/kotlin/exercises/perfect-numbers/build.gradle +28 -0
  103. data/tracks/kotlin/exercises/perfect-numbers/src/example/kotlin/NaturalNumber.kt +17 -0
  104. data/tracks/kotlin/exercises/perfect-numbers/src/main/kotlin/NaturalNumber.kt +8 -0
  105. data/tracks/kotlin/exercises/perfect-numbers/src/test/kotlin/PerfectNumbersTest.kt +67 -0
  106. data/tracks/kotlin/exercises/settings.gradle +1 -0
  107. data/tracks/lua/exercises/hamming/example.lua +1 -0
  108. data/tracks/lua/exercises/hamming/hamming_spec.lua +19 -11
  109. data/tracks/ocaml/config.json +5 -0
  110. data/tracks/ocaml/exercises/beer-song/beer_song.mli +1 -1
  111. data/tracks/ocaml/exercises/beer-song/example.ml +3 -3
  112. data/tracks/ocaml/exercises/beer-song/test.ml +45 -22
  113. data/tracks/ocaml/exercises/run-length-encoding/.merlin +5 -0
  114. data/tracks/ocaml/exercises/run-length-encoding/Makefile +11 -0
  115. data/tracks/ocaml/exercises/run-length-encoding/example.ml +37 -0
  116. data/tracks/ocaml/exercises/run-length-encoding/run_length_encoding.mli +3 -0
  117. data/tracks/ocaml/exercises/run-length-encoding/test.ml +38 -0
  118. data/tracks/ocaml/tools/test-generator/src/template.ml +0 -2
  119. data/tracks/ocaml/tools/test-generator/templates/beer-song/template.ml +19 -0
  120. data/tracks/ocaml/tools/test-generator/templates/run-length-encoding/template.ml +19 -0
  121. data/tracks/php/config.json +17 -0
  122. data/tracks/php/exercises/queen-attack/example.php +86 -0
  123. data/tracks/php/exercises/queen-attack/queen-attack_test.php +125 -0
  124. data/tracks/php/exercises/scrabble-score/example.php +27 -0
  125. data/tracks/php/exercises/scrabble-score/scrabble-score_test.php +120 -0
  126. data/tracks/r/exercises/luhn/example.R +20 -32
  127. data/tracks/r/exercises/luhn/luhn.R +1 -22
  128. data/tracks/r/exercises/luhn/test_luhn.R +43 -55
  129. metadata +67 -37
  130. data/tracks/erlang/exercises/anagram/rebar.conf +0 -32
  131. data/tracks/erlang/exercises/atbash-cipher/rebar.conf +0 -30
  132. data/tracks/erlang/exercises/bank-account/rebar.conf +0 -30
  133. data/tracks/erlang/exercises/clock/rebar.conf +0 -30
  134. data/tracks/erlang/exercises/difference-of-squares/rebar.conf +0 -30
  135. data/tracks/erlang/exercises/etl/rebar.conf +0 -30
  136. data/tracks/erlang/exercises/gigasecond/rebar.conf +0 -30
  137. data/tracks/erlang/exercises/grade-school/rebar.conf +0 -30
  138. data/tracks/erlang/exercises/grains/rebar.conf +0 -30
  139. data/tracks/erlang/exercises/hamming/rebar.conf +0 -30
  140. data/tracks/erlang/exercises/hello-world/rebar.conf +0 -30
  141. data/tracks/erlang/exercises/largest-series-product/rebar.conf +0 -30
  142. data/tracks/erlang/exercises/leap/rebar.conf +0 -30
  143. data/tracks/erlang/exercises/luhn/rebar.conf +0 -30
  144. data/tracks/erlang/exercises/meetup/rebar.conf +0 -30
  145. data/tracks/erlang/exercises/nucleotide-count/rebar.conf +0 -30
  146. data/tracks/erlang/exercises/parallel-letter-frequency/rebar.conf +0 -30
  147. data/tracks/erlang/exercises/phone-number/rebar.conf +0 -30
  148. data/tracks/erlang/exercises/rna-transcription/rebar.conf +0 -30
  149. data/tracks/erlang/exercises/robot-simulator/rebar.conf +0 -30
  150. data/tracks/erlang/exercises/roman-numerals/rebar.conf +0 -30
  151. data/tracks/erlang/exercises/scrabble-score/rebar.conf +0 -30
  152. data/tracks/erlang/exercises/series/rebar.conf +0 -30
  153. data/tracks/erlang/exercises/space-age/rebar.conf +0 -30
  154. data/tracks/erlang/exercises/strain/rebar.conf +0 -30
  155. data/tracks/erlang/exercises/sum-of-multiples/rebar.conf +0 -30
  156. data/tracks/erlang/exercises/triangle/rebar.conf +0 -30
  157. data/tracks/erlang/exercises/trinary/rebar.conf +0 -30
  158. data/tracks/erlang/exercises/word-count/rebar.conf +0 -30
  159. data/tracks/erlang/exercises/zipper/rebar.conf +0 -30
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,9 @@
1
+ This exercise does require some kind of global state for your
2
+ robot. In erlang this can be done in various ways (starting with most
3
+ idiomatic one):
4
+
5
+ 1. Use some `gen_*` from OTP
6
+ 2. Roll your own process and receive messages in a loop and pass the
7
+ state as parameter around.
8
+ 3. Roll your own process and use the process dictionary.
9
+
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.
@@ -0,0 +1,30 @@
1
+ %% Erlang compiler options
2
+ {erl_opts, [debug_info]}.
3
+
4
+ {deps, []}.
5
+
6
+ {dialyzer, [
7
+ {warnings, [underspecs, no_return]},
8
+ {get_warnings, true},
9
+ {plt_apps, top_level_deps}, % top_level_deps | all_deps
10
+ {plt_extra_apps, []},
11
+ {plt_location, local}, % local | "/my/file/name"
12
+ {plt_prefix, "rebar3"},
13
+ {base_plt_apps, [stdlib, kernel, crypto]},
14
+ {base_plt_location, global}, % global | "/my/file/name"
15
+ {base_plt_prefix, "rebar3"}
16
+ ]}.
17
+
18
+ %% eunit:test(Tests)
19
+ {eunit_tests, []}.
20
+ %% Options for eunit:test(Tests, Opts)
21
+ {eunit_opts, [verbose]}.
22
+
23
+ %% == xref ==
24
+
25
+ {xref_warnings, true}.
26
+
27
+ %% xref checks to run
28
+ {xref_checks, [undefined_function_calls, undefined_functions,
29
+ locals_not_used, exports_not_used,
30
+ deprecated_function_calls, deprecated_functions]}.