trackler 2.2.1.43 → 2.2.1.44

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/lens-person/description.md +1 -1
  4. data/problem-specifications/exercises/palindrome-products/description.md +5 -12
  5. data/problem-specifications/exercises/pascals-triangle/canonical-data.json +1 -7
  6. data/tracks/c/exercises/meetup/src/example.c +64 -60
  7. data/tracks/c/exercises/meetup/src/example.h +2 -2
  8. data/tracks/c/exercises/meetup/test/test_meetup.c +4 -4
  9. data/tracks/cfml/config.json +179 -169
  10. data/tracks/cfml/exercises/markdown/.meta/HINTS.md +0 -0
  11. data/tracks/cfml/exercises/markdown/Markdown.cfc +121 -0
  12. data/tracks/cfml/exercises/markdown/MarkdownTest.cfc +51 -0
  13. data/tracks/cfml/exercises/markdown/Solution.cfc +204 -0
  14. data/tracks/cfml/exercises/markdown/SolutionTest.cfc +7 -0
  15. data/tracks/cfml/exercises/markdown/TestRunner.cfc +103 -0
  16. data/tracks/cfml/exercises/markdown/box.json +8 -0
  17. data/tracks/cfml/exercises/markdown/index.cfm +37 -0
  18. data/tracks/csharp/exercises/dominoes/DominoesTest.cs +40 -45
  19. data/tracks/csharp/exercises/meetup/MeetupTest.cs +761 -83
  20. data/tracks/csharp/generators/Exercises/Dominoes.cs +33 -0
  21. data/tracks/csharp/generators/Exercises/Meetup.cs +46 -0
  22. data/tracks/csharp/generators/Output/FormattingExtensions.cs +11 -1
  23. data/tracks/csharp/generators/Output/TypesExtensions.cs +23 -0
  24. data/tracks/csharp/generators/Output/ValueFormatter.cs +70 -69
  25. data/tracks/dart/config.json +15 -3
  26. data/tracks/dart/exercises/word-count/README.md +18 -0
  27. data/tracks/dart/exercises/word-count/lib/example.dart +26 -0
  28. data/tracks/dart/exercises/word-count/lib/word_count.dart +3 -0
  29. data/tracks/dart/exercises/word-count/pubspec.lock +293 -0
  30. data/tracks/dart/exercises/word-count/pubspec.yaml +3 -0
  31. data/tracks/dart/exercises/word-count/test/word_count_test.dart +64 -0
  32. data/tracks/ecmascript/docs/INSTALLATION.md +4 -7
  33. data/tracks/elixir/exercises/hello-world/README.md +1 -26
  34. data/tracks/elixir/exercises/hello-world/example.exs +3 -7
  35. data/tracks/elixir/exercises/hello-world/hello_world.exs +3 -25
  36. data/tracks/elixir/exercises/hello-world/hello_world_test.exs +2 -13
  37. data/tracks/elixir/mix.lock +1 -1
  38. data/tracks/elm/config.json +11 -0
  39. data/tracks/elm/exercises/pascals-triangle/README.md +51 -0
  40. data/tracks/elm/exercises/pascals-triangle/Triangle.elm +1 -0
  41. data/tracks/elm/exercises/pascals-triangle/Triangle.example.elm +23 -0
  42. data/tracks/elm/exercises/pascals-triangle/elm-package.json +14 -0
  43. data/tracks/elm/exercises/pascals-triangle/package.json +14 -0
  44. data/tracks/elm/exercises/pascals-triangle/tests/Tests.elm +34 -0
  45. data/tracks/elm/exercises/pascals-triangle/tests/elm-package.json +16 -0
  46. data/tracks/fsharp/exercises/grade-school/GradeSchool.fs +2 -2
  47. data/tracks/fsharp/exercises/grade-school/GradeSchoolTest.fs +3 -2
  48. data/tracks/java/CONTRIBUTING.md +34 -0
  49. data/tracks/java/config.json +42 -6
  50. data/tracks/java/exercises/largest-series-product/src/main/java/LargestSeriesProductCalculator.java +7 -3
  51. data/tracks/java/exercises/matrix/src/main/java/Matrix.java +23 -0
  52. data/tracks/julia/config.json +11 -2
  53. data/tracks/julia/exercises/grains/README.md +33 -0
  54. data/tracks/julia/exercises/grains/example.jl +23 -0
  55. data/tracks/julia/exercises/grains/grains.jl +9 -0
  56. data/tracks/julia/exercises/grains/runtests.jl +27 -0
  57. data/tracks/lua/README.md +1 -1
  58. data/tracks/mips/exercises/octal/README.md +3 -8
  59. data/tracks/ocaml/exercises/palindrome-products/README.md +8 -14
  60. data/tracks/perl6/.travis.yml +7 -3
  61. data/tracks/perl6/bin/exercise-gen.pl6 +5 -1
  62. data/tracks/perl6/exercises/accumulate/README.md +0 -3
  63. data/tracks/perl6/exercises/accumulate/accumulate.t +9 -3
  64. data/tracks/perl6/exercises/all-your-base/README.md +1 -1
  65. data/tracks/perl6/exercises/all-your-base/all-your-base.t +23 -11
  66. data/tracks/perl6/exercises/all-your-base/example.yaml +1 -1
  67. data/tracks/perl6/exercises/allergies/README.md +0 -1
  68. data/tracks/perl6/exercises/allergies/allergies.t +22 -10
  69. data/tracks/perl6/exercises/anagram/anagram.t +22 -10
  70. data/tracks/perl6/exercises/atbash-cipher/README.md +2 -1
  71. data/tracks/perl6/exercises/atbash-cipher/atbash-cipher.t +22 -10
  72. data/tracks/perl6/exercises/binary/README.md +2 -0
  73. data/tracks/perl6/exercises/bob/bob.t +24 -11
  74. data/tracks/perl6/exercises/bob/example.yaml +2 -2
  75. data/tracks/perl6/exercises/clock/clock.t +22 -10
  76. data/tracks/perl6/exercises/flatten-array/README.md +1 -2
  77. data/tracks/perl6/exercises/flatten-array/example.yaml +1 -1
  78. data/tracks/perl6/exercises/flatten-array/flatten-array.t +23 -11
  79. data/tracks/perl6/exercises/grade-school/README.md +0 -1
  80. data/tracks/perl6/exercises/grade-school/grade-school.t +9 -3
  81. data/tracks/perl6/exercises/grains/README.md +0 -1
  82. data/tracks/perl6/exercises/grains/grains.t +22 -10
  83. data/tracks/perl6/exercises/hello-world/example.yaml +3 -3
  84. data/tracks/perl6/exercises/hello-world/hello-world.t +25 -12
  85. data/tracks/perl6/exercises/leap/README.md +1 -1
  86. data/tracks/perl6/exercises/leap/example.yaml +1 -1
  87. data/tracks/perl6/exercises/leap/leap.t +23 -11
  88. data/tracks/perl6/exercises/linked-list/README.md +10 -10
  89. data/tracks/perl6/exercises/linked-list/linked-list.t +9 -3
  90. data/tracks/perl6/exercises/luhn/README.md +7 -7
  91. data/tracks/perl6/exercises/luhn/luhn.t +22 -10
  92. data/tracks/perl6/exercises/phone-number/README.md +3 -2
  93. data/tracks/perl6/exercises/phone-number/phone-number.t +22 -10
  94. data/tracks/perl6/exercises/raindrops/raindrops.t +22 -10
  95. data/tracks/perl6/exercises/rna-transcription/rna-transcription.t +22 -10
  96. data/tracks/perl6/exercises/robot-name/robot-name.t +9 -3
  97. data/tracks/perl6/exercises/scrabble-score/README.md +3 -1
  98. data/tracks/perl6/exercises/scrabble-score/scrabble-score.t +22 -10
  99. data/tracks/perl6/exercises/space-age/README.md +2 -1
  100. data/tracks/perl6/exercises/space-age/space-age.t +22 -10
  101. data/tracks/perl6/exercises/trinary/README.md +1 -1
  102. data/tracks/perl6/exercises/word-count/README.md +1 -2
  103. data/tracks/perl6/exercises/word-count/word-count.t +22 -10
  104. data/tracks/perl6/exercises/wordy/README.md +0 -5
  105. data/tracks/perl6/exercises/wordy/wordy.t +22 -10
  106. data/tracks/perl6/templates/test.mustache +26 -15
  107. data/tracks/python/config.json +10 -0
  108. data/tracks/python/exercises/book-store/book_store.py +1 -1
  109. data/tracks/python/exercises/flatten-array/flatten_array.py +1 -1
  110. data/tracks/python/exercises/matrix/matrix.py +1 -1
  111. data/tracks/python/exercises/palindrome-products/palindrome_products.py +2 -2
  112. data/tracks/python/exercises/perfect-numbers/perfect_numbers.py +2 -2
  113. data/tracks/python/exercises/pythagorean-triplet/pythagorean_triplet.py +3 -3
  114. data/tracks/python/exercises/raindrops/raindrops.py +1 -1
  115. data/tracks/python/exercises/scale-generator/scale_generator.py +1 -1
  116. data/tracks/python/exercises/sieve/sieve.py +1 -1
  117. data/tracks/python/exercises/sublist/sublist.py +1 -1
  118. data/tracks/python/exercises/transpose/transpose.py +1 -1
  119. data/tracks/python/exercises/triangle/triangle.py +4 -1
  120. data/tracks/python/exercises/two-bucket/example.py +59 -0
  121. data/tracks/python/exercises/two-bucket/two_bucket.py +2 -0
  122. data/tracks/python/exercises/two-bucket/two_bucket_test.py +32 -0
  123. data/tracks/scheme/config.json +59 -89
  124. data/tracks/scheme/config/maintainers.json +11 -11
  125. data/tracks/sml/exercises/allergies/README.md +20 -5
  126. data/tracks/sml/exercises/allergies/allergies.sml +11 -14
  127. data/tracks/sml/exercises/allergies/example.sml +9 -9
  128. data/tracks/sml/exercises/allergies/test.sml +65 -129
  129. data/tracks/sml/exercises/allergies/testlib.sml +159 -0
  130. data/tracks/sml/exercises/hamming/README.md +21 -5
  131. data/tracks/sml/exercises/hamming/example.sml +14 -10
  132. data/tracks/sml/exercises/hamming/hamming.sml +4 -3
  133. data/tracks/sml/exercises/hamming/test.sml +55 -64
  134. data/tracks/sml/exercises/hamming/testlib.sml +159 -0
  135. data/tracks/typescript/config.json +15 -0
  136. data/tracks/typescript/exercises/linked-list/linked-list.test.ts +11 -11
  137. data/tracks/typescript/exercises/nth-prime/README.md +36 -0
  138. data/tracks/typescript/exercises/nth-prime/nth-prime.example.ts +28 -0
  139. data/tracks/typescript/exercises/nth-prime/nth-prime.test.ts +25 -0
  140. data/tracks/typescript/exercises/nth-prime/nth-prime.ts +0 -0
  141. data/tracks/typescript/exercises/nth-prime/package.json +36 -0
  142. data/tracks/typescript/exercises/nth-prime/tsconfig.json +22 -0
  143. data/tracks/typescript/exercises/nth-prime/tslint.json +127 -0
  144. data/tracks/typescript/exercises/nth-prime/yarn.lock +2305 -0
  145. data/tracks/typescript/exercises/prime-factors/README.md +1 -1
  146. data/tracks/typescript/exercises/prime-factors/prime-factors.test.ts +11 -11
  147. data/tracks/typescript/exercises/series/README.md +1 -1
  148. data/tracks/typescript/exercises/series/series.test.ts +11 -11
  149. data/tracks/typescript/img/icon.png +0 -0
  150. data/tracks/typescript/img/icon.svg +3 -8
  151. metadata +44 -2
@@ -1,2 +1,2 @@
1
- def calculate_total(array, number=None):
1
+ def calculate_total(books):
2
2
  pass
@@ -1,2 +1,2 @@
1
- def flatten():
1
+ def flatten(iterable):
2
2
  pass
@@ -1,3 +1,3 @@
1
1
  class Matrix(object):
2
- def __init__(self):
2
+ def __init__(self, matrix_string):
3
3
  pass
@@ -1,6 +1,6 @@
1
- def largest_palindrome():
1
+ def largest_palindrome(max_factor, min_factor):
2
2
  pass
3
3
 
4
4
 
5
- def smallest_palindrome():
5
+ def smallest_palindrome(max_factor, min_factor):
6
6
  pass
@@ -1,6 +1,6 @@
1
- def divisor_generator():
1
+ def divisor_generator(number):
2
2
  pass
3
3
 
4
4
 
5
- def is_perfect():
5
+ def is_perfect(number):
6
6
  pass
@@ -1,10 +1,10 @@
1
- def primitive_triplets():
1
+ def primitive_triplets(number_in_triplet):
2
2
  pass
3
3
 
4
4
 
5
- def triplets_in_range():
5
+ def triplets_in_range(range_start, range_end):
6
6
  pass
7
7
 
8
8
 
9
- def is_triplet():
9
+ def is_triplet(triplet):
10
10
  pass
@@ -1,2 +1,2 @@
1
- def raindrops():
1
+ def raindrops(number):
2
2
  pass
@@ -1,3 +1,3 @@
1
1
  class Scale(object):
2
- def __init__(self):
2
+ def __init__(self, tonic, scale_name, pattern=None):
3
3
  pass
@@ -1,2 +1,2 @@
1
- def sieve():
1
+ def sieve(limit):
2
2
  pass
@@ -1,2 +1,2 @@
1
- def check_lists():
1
+ def check_lists(first_list, second_list):
2
2
  pass
@@ -1,2 +1,2 @@
1
- def transpose():
1
+ def transpose(input_lines):
2
2
  pass
@@ -3,5 +3,8 @@ class TriangleError(Exception):
3
3
 
4
4
 
5
5
  class Triangle(object):
6
- def __init__(self):
6
+ def __init__(self, side_a, side_b, side_c):
7
+ pass
8
+
9
+ def kind(self):
7
10
  pass
@@ -0,0 +1,59 @@
1
+ '''
2
+ The solution follows the following approach:
3
+
4
+ ->Pour from first bucket to second
5
+ 1.Fill the first bucket and empty it into the second bucket.
6
+ 2.If first bucket is empty fill it.
7
+ 3.If the second bucket is full empty it.
8
+ 4.Repeat steps 1,2,3 till either the first or second bucket contains the
9
+ desired amount.
10
+
11
+ ->Pour from first bucket to second
12
+ 1.Fill the second bucket and empty it into the first bucket.
13
+ 2.If second bucket is empty fill it.
14
+ 3.If the firts bucket is full empty it.
15
+ 4.Repeat steps 1,2,3 till either the first or second bucket contains the
16
+ desired amount.
17
+ '''
18
+
19
+
20
+ def two_bucket(bucket_one_cap, bucket_two_cap, desired_liters, first):
21
+ if first == "one":
22
+ moves = 0
23
+ bucket_one, bucket_two = 0, 0
24
+ while(True):
25
+ if bucket_one == 0:
26
+ moves += 1
27
+ bucket_one = bucket_one_cap
28
+ elif bucket_two == bucket_two_cap:
29
+ moves += 1
30
+ bucket_two = 0
31
+ else:
32
+ moves += 1
33
+ measure = min(bucket_one, bucket_two_cap - bucket_two)
34
+ bucket_one -= measure
35
+ bucket_two += measure
36
+ if bucket_one == desired_liters:
37
+ return (moves, "one", bucket_two)
38
+ elif bucket_two == desired_liters:
39
+ return (moves, "two", bucket_one)
40
+
41
+ elif first == "two":
42
+ moves = 0
43
+ bucket_one, bucket_two = 0, 0
44
+ while(True):
45
+ if bucket_two == 0:
46
+ moves += 1
47
+ bucket_two = bucket_two_cap
48
+ elif bucket_one == bucket_one_cap:
49
+ moves += 1
50
+ bucket_one = 0
51
+ else:
52
+ moves += 1
53
+ measure = min(bucket_two, bucket_one_cap - bucket_one)
54
+ bucket_two -= measure
55
+ bucket_one += measure
56
+ if bucket_one == desired_liters:
57
+ return (moves, "one", bucket_two)
58
+ elif bucket_two == desired_liters:
59
+ return (moves, "two", bucket_one)
@@ -0,0 +1,2 @@
1
+ def two_bucket(bucket_one_cap, bucket_two_cap, desired_liters, first):
2
+ pass
@@ -0,0 +1,32 @@
1
+ '''
2
+ All test cases adapted from
3
+ exercism/problem-specifications/exercises/two-bucket/canonical-data.json
4
+ '''
5
+
6
+ import unittest
7
+
8
+ from two_bucket import two_bucket
9
+
10
+
11
+ class TwoBucketTest(unittest.TestCase):
12
+ def test_bucket_one_size_3_bucket_two_size_5_start_with_bucket_one(self):
13
+ self.assertEqual(two_bucket(3, 5, 1, "one"), (4, "one", 5))
14
+
15
+ def test_bucket_one_size_3_bucket_two_size_5_start_with_bucket_two(self):
16
+ self.assertEqual(two_bucket(3, 5, 1, "two"), (8, "two", 3))
17
+
18
+ def test_bucket_one_size_7_bucket_two_size_11_start_with_bucket_one(self):
19
+ self.assertEqual(two_bucket(7, 11, 2, "one"), (14, "one", 11))
20
+
21
+ def test_bucket_one_size_7_bucket_two_size_11_start_with_bucket_two(self):
22
+ self.assertEqual(two_bucket(7, 11, 2, "two"), (18, "two", 7))
23
+
24
+ def test_bucket_one_size_1_bucket_two_size_3_start_with_bucket_two(self):
25
+ self.assertEqual(two_bucket(1, 3, 3, "two"), (1, "two", 0))
26
+
27
+ def test_bucket_one_size_2_bucket_two_size_3_start_with_bucket_one(self):
28
+ self.assertEqual(two_bucket(2, 3, 3, "one"), (4, "two", 1))
29
+
30
+
31
+ if __name__ == '__main__':
32
+ unittest.main()
@@ -1,149 +1,119 @@
1
1
  {
2
- "language": "Scheme",
3
2
  "active": true,
4
3
  "exercises": [
5
4
  {
6
- "uuid": "f2936612-edc4-44f9-a403-c60f7c6486e4",
7
- "slug": "hello-world",
8
5
  "core": false,
9
- "unlocked_by": null,
10
6
  "difficulty": 1,
11
- "topics": [
12
-
13
- ]
7
+ "slug": "hello-world",
8
+ "topics": null,
9
+ "unlocked_by": null,
10
+ "uuid": "f2936612-edc4-44f9-a403-c60f7c6486e4"
14
11
  },
15
12
  {
16
- "uuid": "ce513303-471b-459a-bcf1-6c69f4d83ae7",
17
- "slug": "hamming",
18
13
  "core": false,
19
- "unlocked_by": null,
20
14
  "difficulty": 1,
21
- "topics": [
22
-
23
- ]
15
+ "slug": "hamming",
16
+ "topics": null,
17
+ "unlocked_by": null,
18
+ "uuid": "ce513303-471b-459a-bcf1-6c69f4d83ae7"
24
19
  },
25
20
  {
26
- "uuid": "b94548df-3b35-4ce1-80c7-36179d2b3b86",
27
- "slug": "leap",
28
21
  "core": false,
29
- "unlocked_by": null,
30
22
  "difficulty": 1,
31
- "topics": [
32
-
33
- ]
23
+ "slug": "leap",
24
+ "topics": null,
25
+ "unlocked_by": null,
26
+ "uuid": "b94548df-3b35-4ce1-80c7-36179d2b3b86"
34
27
  },
35
28
  {
36
- "uuid": "397d9cfc-43f9-4c57-bc55-5c94ae8f532e",
37
- "slug": "grains",
38
29
  "core": false,
39
- "unlocked_by": null,
40
30
  "difficulty": 1,
41
- "topics": [
42
-
43
- ]
31
+ "slug": "grains",
32
+ "topics": null,
33
+ "unlocked_by": null,
34
+ "uuid": "397d9cfc-43f9-4c57-bc55-5c94ae8f532e"
44
35
  },
45
36
  {
46
- "uuid": "4cf6697c-ad9e-426c-a2d8-6c3695812421",
47
- "slug": "bob",
48
37
  "core": false,
49
- "unlocked_by": null,
50
38
  "difficulty": 1,
51
- "topics": [
52
-
53
- ]
39
+ "slug": "bob",
40
+ "topics": null,
41
+ "unlocked_by": null,
42
+ "uuid": "4cf6697c-ad9e-426c-a2d8-6c3695812421"
54
43
  },
55
44
  {
56
- "uuid": "9f13b913-a650-4cbf-a392-4b5614e1aa2a",
57
- "slug": "raindrops",
58
45
  "core": false,
59
- "unlocked_by": null,
60
46
  "difficulty": 1,
61
- "topics": [
62
-
63
- ]
47
+ "slug": "raindrops",
48
+ "topics": null,
49
+ "unlocked_by": null,
50
+ "uuid": "9f13b913-a650-4cbf-a392-4b5614e1aa2a"
64
51
  },
65
52
  {
66
- "uuid": "26bf9c24-ba92-473e-9270-8964f1bf71f2",
67
- "slug": "rna-transcription",
68
53
  "core": false,
69
- "unlocked_by": null,
70
54
  "difficulty": 1,
71
- "topics": [
72
-
73
- ]
55
+ "slug": "rna-transcription",
56
+ "topics": null,
57
+ "unlocked_by": null,
58
+ "uuid": "26bf9c24-ba92-473e-9270-8964f1bf71f2"
74
59
  },
75
60
  {
76
- "uuid": "62a5a71c-a9eb-416b-809c-c862a4828e8b",
77
- "slug": "robot-name",
78
61
  "core": false,
79
- "unlocked_by": null,
80
62
  "difficulty": 1,
81
- "topics": [
82
-
83
- ]
63
+ "slug": "robot-name",
64
+ "topics": null,
65
+ "unlocked_by": null,
66
+ "uuid": "62a5a71c-a9eb-416b-809c-c862a4828e8b"
84
67
  },
85
68
  {
86
- "uuid": "8ed74044-2361-459e-aca5-abd73ed5c1cb",
87
- "slug": "phone-number",
88
69
  "core": false,
89
- "unlocked_by": null,
90
70
  "difficulty": 1,
91
- "topics": [
92
-
93
- ]
71
+ "slug": "phone-number",
72
+ "topics": null,
73
+ "unlocked_by": null,
74
+ "uuid": "8ed74044-2361-459e-aca5-abd73ed5c1cb"
94
75
  },
95
76
  {
96
- "uuid": "c550055c-4bd5-478b-8e91-94347a314aef",
97
- "slug": "anagram",
98
77
  "core": false,
99
- "unlocked_by": null,
100
78
  "difficulty": 1,
101
- "topics": [
102
-
103
- ]
79
+ "slug": "anagram",
80
+ "topics": null,
81
+ "unlocked_by": null,
82
+ "uuid": "c550055c-4bd5-478b-8e91-94347a314aef"
104
83
  },
105
84
  {
106
- "uuid": "d72cf2c3-9f30-4df1-a69b-04c638bb2426",
107
- "slug": "nucleotide-count",
108
85
  "core": false,
109
- "unlocked_by": null,
110
86
  "difficulty": 1,
111
- "topics": [
112
-
113
- ]
87
+ "slug": "nucleotide-count",
88
+ "topics": null,
89
+ "unlocked_by": null,
90
+ "uuid": "d72cf2c3-9f30-4df1-a69b-04c638bb2426"
114
91
  },
115
92
  {
116
- "uuid": "a3c7a4d2-ba08-47c9-a88e-2311ad02d945",
117
- "slug": "difference-of-squares",
118
93
  "core": false,
119
- "unlocked_by": null,
120
94
  "difficulty": 1,
121
- "topics": [
122
-
123
- ]
95
+ "slug": "difference-of-squares",
96
+ "topics": null,
97
+ "unlocked_by": null,
98
+ "uuid": "a3c7a4d2-ba08-47c9-a88e-2311ad02d945"
124
99
  },
125
100
  {
126
- "uuid": "903374d2-8155-4fe3-bf90-5b6359c7b5cc",
127
- "slug": "list-ops",
128
101
  "core": false,
129
- "unlocked_by": null,
130
102
  "difficulty": 1,
131
- "topics": [
132
-
133
- ]
103
+ "slug": "list-ops",
104
+ "topics": null,
105
+ "unlocked_by": null,
106
+ "uuid": "903374d2-8155-4fe3-bf90-5b6359c7b5cc"
134
107
  },
135
108
  {
136
- "uuid": "5b44ccd4-b1f4-4b86-89c8-f1dec5905ccb",
137
- "slug": "scrabble-score",
138
109
  "core": false,
139
- "unlocked_by": null,
140
110
  "difficulty": 1,
141
- "topics": [
142
-
143
- ]
111
+ "slug": "scrabble-score",
112
+ "topics": null,
113
+ "unlocked_by": null,
114
+ "uuid": "5b44ccd4-b1f4-4b86-89c8-f1dec5905ccb"
144
115
  }
145
116
  ],
146
- "foregone": [
147
-
148
- ]
149
- }
117
+ "foregone": [],
118
+ "language": "Scheme"
119
+ }
@@ -1,25 +1,25 @@
1
1
  {
2
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md",
2
3
  "maintainers": [
3
4
  {
4
- "github_username": "achengs",
5
- "show_on_website": false,
6
5
  "alumnus": false,
7
- "name": null,
6
+ "avatar_url": null,
8
7
  "bio": null,
8
+ "github_username": "achengs",
9
9
  "link_text": null,
10
10
  "link_url": null,
11
- "avatar_url": null
11
+ "name": null,
12
+ "show_on_website": false
12
13
  },
13
14
  {
14
- "github_username": "yurrriq",
15
- "show_on_website": false,
16
15
  "alumnus": false,
17
- "name": null,
16
+ "avatar_url": null,
18
17
  "bio": null,
18
+ "github_username": "yurrriq",
19
19
  "link_text": null,
20
20
  "link_url": null,
21
- "avatar_url": null
21
+ "name": null,
22
+ "show_on_website": false
22
23
  }
23
- ],
24
- "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
25
- }
24
+ ]
25
+ }
@@ -29,20 +29,35 @@ allergens that score 256, 512, 1024, etc.). Your program should
29
29
  ignore those components of the score. For example, if the allergy
30
30
  score is 257, your program should only report the eggs (1) allergy.
31
31
 
32
+ ## Loading your exercise implementation in PolyML
32
33
 
33
- ## Running the tests
34
+ ```
35
+ $ poly --use {exercise}.sml
36
+ ```
34
37
 
35
- Even though there are multiple implementations, we encourage to use Poly/ML.
38
+ Or:
36
39
 
37
40
  ```
38
- $ poly -q < test_{ exercise }.sml
41
+ $ poly
42
+ > use "{exercise}.sml";
39
43
  ```
40
44
 
41
- If you want to start an interactive session:
45
+ **Note:** You have to replace {exercise}.
46
+
47
+ ## Running the tests
48
+
42
49
  ```
43
- $ poly --use test_{ exercise }.sml
50
+ $ poly -q --use test.sml
44
51
  ```
45
52
 
53
+ ## Feedback, Issues, Pull Requests
54
+
55
+ The [exercism/sml](https://github.com/exercism/sml) repository on
56
+ GitHub is the home for all of the Standard ML exercises.
57
+
58
+ If you have feedback about an exercise, or want to help implementing a new
59
+ one, head over there and create an issue. We'll do our best to help you!
60
+
46
61
  ## Source
47
62
 
48
63
  Jumpstart Lab Warm-up [http://jumpstartlab.com](http://jumpstartlab.com)