trackler 2.1.0.23 → 2.1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/ceylon/LICENSE +2 -2
  4. data/tracks/ceylon/README.md +0 -5
  5. data/tracks/ecmascript/.editorconfig +7 -0
  6. data/tracks/ecmascript/Makefile +8 -0
  7. data/tracks/ecmascript/bin/md5-hash +21 -0
  8. data/tracks/ecmascript/exercises/connect/package.json +3 -3
  9. data/tracks/elixir/exercises/atbash-cipher/{atbash.exs → atbash_cipher.exs} +4 -0
  10. data/tracks/elixir/exercises/atbash-cipher/atbash_cipher_test.exs +29 -1
  11. data/tracks/elixir/exercises/atbash-cipher/example.exs +12 -6
  12. data/tracks/elixir/exercises/phone-number/example.exs +71 -29
  13. data/tracks/elixir/exercises/phone-number/phone_number.exs +22 -10
  14. data/tracks/elixir/exercises/phone-number/phone_number_test.exs +37 -12
  15. data/tracks/elm/.github/stale.yml +0 -0
  16. data/tracks/elm/.gitignore +1 -0
  17. data/tracks/elm/.travis.yml +20 -1
  18. data/tracks/elm/README.md +9 -20
  19. data/tracks/elm/bin/build.sh +15 -18
  20. data/tracks/elm/bin/install-elm-format +1 -1
  21. data/tracks/elm/config.json +172 -167
  22. data/tracks/elm/exercises/accumulate/elm-package.json +1 -3
  23. data/tracks/elm/exercises/accumulate/package.json +3 -3
  24. data/tracks/elm/exercises/accumulate/{Tests.elm → tests/Tests.elm} +1 -11
  25. data/tracks/elm/exercises/accumulate/tests/elm-package.json +16 -0
  26. data/tracks/elm/exercises/allergies/elm-package.json +2 -3
  27. data/tracks/elm/exercises/allergies/package.json +3 -3
  28. data/tracks/elm/exercises/allergies/{Tests.elm → tests/Tests.elm} +2 -12
  29. data/tracks/elm/exercises/allergies/tests/elm-package.json +16 -0
  30. data/tracks/elm/exercises/anagram/elm-package.json +2 -3
  31. data/tracks/elm/exercises/anagram/package.json +3 -3
  32. data/tracks/elm/exercises/anagram/{Tests.elm → tests/Tests.elm} +4 -14
  33. data/tracks/elm/exercises/anagram/tests/elm-package.json +16 -0
  34. data/tracks/elm/exercises/atbash-cipher/elm-package.json +2 -3
  35. data/tracks/elm/exercises/atbash-cipher/package.json +3 -3
  36. data/tracks/elm/exercises/atbash-cipher/{Tests.elm → tests/Tests.elm} +1 -11
  37. data/tracks/elm/exercises/atbash-cipher/tests/elm-package.json +16 -0
  38. data/tracks/elm/exercises/bob/elm-package.json +2 -3
  39. data/tracks/elm/exercises/bob/package.json +3 -3
  40. data/tracks/elm/exercises/bob/{Tests.elm → tests/Tests.elm} +1 -11
  41. data/tracks/elm/exercises/bob/tests/elm-package.json +16 -0
  42. data/tracks/elm/exercises/difference-of-squares/elm-package.json +2 -3
  43. data/tracks/elm/exercises/difference-of-squares/package.json +3 -3
  44. data/tracks/elm/exercises/difference-of-squares/{Tests.elm → tests/Tests.elm} +1 -11
  45. data/tracks/elm/exercises/difference-of-squares/tests/elm-package.json +16 -0
  46. data/tracks/elm/exercises/gigasecond/elm-package.json +2 -3
  47. data/tracks/elm/exercises/gigasecond/package.json +3 -3
  48. data/tracks/elm/exercises/gigasecond/{Tests.elm → tests/Tests.elm} +1 -11
  49. data/tracks/elm/exercises/gigasecond/tests/elm-package.json +16 -0
  50. data/tracks/elm/exercises/grade-school/elm-package.json +2 -3
  51. data/tracks/elm/exercises/grade-school/package.json +3 -3
  52. data/tracks/elm/exercises/grade-school/{Tests.elm → tests/Tests.elm} +1 -11
  53. data/tracks/elm/exercises/grade-school/tests/elm-package.json +16 -0
  54. data/tracks/elm/exercises/grains/Grains.elm +2 -0
  55. data/tracks/elm/exercises/grains/Grains.example.elm +9 -0
  56. data/tracks/elm/exercises/grains/elm-package.json +14 -0
  57. data/tracks/elm/exercises/grains/package.json +13 -0
  58. data/tracks/elm/exercises/grains/tests/Tests.elm +38 -0
  59. data/tracks/elm/exercises/grains/tests/elm-package.json +16 -0
  60. data/tracks/elm/exercises/hamming/elm-package.json +2 -3
  61. data/tracks/elm/exercises/hamming/package.json +3 -3
  62. data/tracks/elm/exercises/hamming/{Tests.elm → tests/Tests.elm} +1 -11
  63. data/tracks/elm/exercises/hamming/tests/elm-package.json +16 -0
  64. data/tracks/elm/exercises/hello-world/elm-package.json +2 -3
  65. data/tracks/elm/exercises/hello-world/package.json +3 -3
  66. data/tracks/elm/exercises/hello-world/{Tests.elm → tests/Tests.elm} +1 -11
  67. data/tracks/elm/exercises/hello-world/tests/elm-package.json +16 -0
  68. data/tracks/elm/exercises/largest-series-product/elm-package.json +2 -3
  69. data/tracks/elm/exercises/largest-series-product/package.json +3 -3
  70. data/tracks/elm/exercises/largest-series-product/{Tests.elm → tests/Tests.elm} +1 -11
  71. data/tracks/elm/exercises/largest-series-product/tests/elm-package.json +16 -0
  72. data/tracks/elm/exercises/leap/elm-package.json +2 -3
  73. data/tracks/elm/exercises/leap/package.json +3 -3
  74. data/tracks/elm/exercises/leap/{Tests.elm → tests/Tests.elm} +1 -11
  75. data/tracks/elm/exercises/leap/tests/elm-package.json +16 -0
  76. data/tracks/elm/exercises/list-ops/elm-package.json +2 -3
  77. data/tracks/elm/exercises/list-ops/package.json +3 -3
  78. data/tracks/elm/exercises/list-ops/{Tests.elm → tests/Tests.elm} +1 -11
  79. data/tracks/elm/exercises/list-ops/tests/elm-package.json +16 -0
  80. data/tracks/elm/exercises/nucleotide-count/elm-package.json +2 -3
  81. data/tracks/elm/exercises/nucleotide-count/package.json +3 -3
  82. data/tracks/elm/exercises/nucleotide-count/{Tests.elm → tests/Tests.elm} +1 -11
  83. data/tracks/elm/exercises/nucleotide-count/tests/elm-package.json +16 -0
  84. data/tracks/elm/exercises/pangram/elm-package.json +2 -3
  85. data/tracks/elm/exercises/pangram/package.json +3 -3
  86. data/tracks/elm/exercises/pangram/{Tests.elm → tests/Tests.elm} +1 -11
  87. data/tracks/elm/exercises/pangram/tests/elm-package.json +16 -0
  88. data/tracks/elm/exercises/phone-number/elm-package.json +2 -3
  89. data/tracks/elm/exercises/phone-number/package.json +3 -3
  90. data/tracks/elm/exercises/phone-number/{Tests.elm → tests/Tests.elm} +1 -11
  91. data/tracks/elm/exercises/phone-number/tests/elm-package.json +16 -0
  92. data/tracks/elm/exercises/raindrops/elm-package.json +2 -3
  93. data/tracks/elm/exercises/raindrops/package.json +3 -3
  94. data/tracks/elm/exercises/raindrops/{Tests.elm → tests/Tests.elm} +1 -11
  95. data/tracks/elm/exercises/raindrops/tests/elm-package.json +16 -0
  96. data/tracks/elm/exercises/rna-transcription/elm-package.json +2 -3
  97. data/tracks/elm/exercises/rna-transcription/package.json +3 -3
  98. data/tracks/elm/exercises/rna-transcription/{Tests.elm → tests/Tests.elm} +1 -11
  99. data/tracks/elm/exercises/rna-transcription/tests/elm-package.json +16 -0
  100. data/tracks/elm/exercises/robot-simulator/elm-package.json +2 -3
  101. data/tracks/elm/exercises/robot-simulator/package.json +3 -3
  102. data/tracks/elm/exercises/robot-simulator/{Tests.elm → tests/Tests.elm} +1 -11
  103. data/tracks/elm/exercises/robot-simulator/tests/elm-package.json +16 -0
  104. data/tracks/elm/exercises/roman-numerals/elm-package.json +2 -3
  105. data/tracks/elm/exercises/roman-numerals/package.json +3 -3
  106. data/tracks/elm/exercises/roman-numerals/{Tests.elm → tests/Tests.elm} +1 -11
  107. data/tracks/elm/exercises/roman-numerals/tests/elm-package.json +16 -0
  108. data/tracks/elm/exercises/run-length-encoding/elm-package.json +2 -3
  109. data/tracks/elm/exercises/run-length-encoding/package.json +3 -3
  110. data/tracks/elm/exercises/run-length-encoding/{Tests.elm → tests/Tests.elm} +1 -11
  111. data/tracks/elm/exercises/run-length-encoding/tests/elm-package.json +16 -0
  112. data/tracks/elm/exercises/say/elm-package.json +2 -3
  113. data/tracks/elm/exercises/say/package.json +3 -3
  114. data/tracks/elm/exercises/say/{Tests.elm → tests/Tests.elm} +1 -11
  115. data/tracks/elm/exercises/say/tests/elm-package.json +16 -0
  116. data/tracks/elm/exercises/scrabble-score/elm-package.json +2 -3
  117. data/tracks/elm/exercises/scrabble-score/package.json +3 -3
  118. data/tracks/elm/exercises/scrabble-score/{Tests.elm → tests/Tests.elm} +1 -11
  119. data/tracks/elm/exercises/scrabble-score/tests/elm-package.json +16 -0
  120. data/tracks/elm/exercises/series/elm-package.json +2 -3
  121. data/tracks/elm/exercises/series/package.json +3 -3
  122. data/tracks/elm/exercises/series/{Tests.elm → tests/Tests.elm} +1 -11
  123. data/tracks/elm/exercises/series/tests/elm-package.json +16 -0
  124. data/tracks/elm/exercises/space-age/elm-package.json +2 -3
  125. data/tracks/elm/exercises/space-age/package.json +3 -3
  126. data/tracks/elm/exercises/space-age/{Tests.elm → tests/Tests.elm} +1 -11
  127. data/tracks/elm/exercises/space-age/tests/elm-package.json +16 -0
  128. data/tracks/elm/exercises/strain/elm-package.json +2 -3
  129. data/tracks/elm/exercises/strain/package.json +3 -3
  130. data/tracks/elm/exercises/strain/{Tests.elm → tests/Tests.elm} +1 -11
  131. data/tracks/elm/exercises/strain/tests/elm-package.json +16 -0
  132. data/tracks/elm/exercises/sublist/elm-package.json +2 -3
  133. data/tracks/elm/exercises/sublist/package.json +3 -3
  134. data/tracks/elm/exercises/sublist/{Tests.elm → tests/Tests.elm} +1 -11
  135. data/tracks/elm/exercises/sublist/tests/elm-package.json +16 -0
  136. data/tracks/elm/exercises/sum-of-multiples/elm-package.json +2 -3
  137. data/tracks/elm/exercises/sum-of-multiples/package.json +3 -3
  138. data/tracks/elm/exercises/sum-of-multiples/{Tests.elm → tests/Tests.elm} +1 -11
  139. data/tracks/elm/exercises/sum-of-multiples/tests/elm-package.json +16 -0
  140. data/tracks/elm/exercises/triangle/elm-package.json +2 -3
  141. data/tracks/elm/exercises/triangle/package.json +3 -3
  142. data/tracks/elm/exercises/triangle/{Tests.elm → tests/Tests.elm} +1 -11
  143. data/tracks/elm/exercises/triangle/tests/elm-package.json +16 -0
  144. data/tracks/elm/exercises/word-count/elm-package.json +2 -3
  145. data/tracks/elm/exercises/word-count/package.json +3 -3
  146. data/tracks/elm/exercises/word-count/{Tests.elm → tests/Tests.elm} +1 -11
  147. data/tracks/elm/exercises/word-count/tests/elm-package.json +16 -0
  148. data/tracks/elm/package.json +2 -2
  149. data/tracks/java/exercises/clock/HINT.md +3 -0
  150. data/tracks/java/exercises/clock/src/test/java/ClockAddTest.java +3 -0
  151. data/tracks/java/exercises/clock/src/test/java/ClockCreationTest.java +3 -0
  152. data/tracks/java/exercises/clock/src/test/java/ClockEqualTest.java +21 -17
  153. data/tracks/java/exercises/simple-linked-list/src/example/java/SimpleLinkedList.java +13 -13
  154. data/tracks/java/exercises/sublist/src/example/java/RelationshipComputer.java +1 -1
  155. data/tracks/java/exercises/sublist/src/main/java/RelationshipComputer.java +1 -1
  156. data/tracks/perl5/docs/TESTS.md +2 -2
  157. data/tracks/ruby/LICENSE +2 -2
  158. data/tracks/ruby/README.md +0 -5
  159. data/tracks/typescript/LICENSE +2 -2
  160. data/tracks/typescript/README.md +0 -5
  161. data/tracks/vimscript/README.md +1 -0
  162. data/tracks/vimscript/TRACK_HINTS.md +26 -1
  163. data/tracks/vimscript/config.json +15 -0
  164. data/tracks/vimscript/docs/ABOUT.md +1 -1
  165. data/tracks/vimscript/exercises/nucleotide-count/example.vim +18 -0
  166. data/tracks/vimscript/exercises/nucleotide-count/nucleotide_count.vader +38 -0
  167. data/tracks/vimscript/exercises/nucleotide-count/nucleotide_count.vim +16 -0
  168. data/tracks/vimscript/exercises/phone-number/example.vim +4 -0
  169. data/tracks/vimscript/exercises/phone-number/phone_number.vader +36 -0
  170. data/tracks/vimscript/exercises/phone-number/phone_number.vim +11 -0
  171. data/tracks/vimscript/exercises/roman-numerals/example.vim +29 -0
  172. data/tracks/vimscript/exercises/roman-numerals/roman_numerals.vader +53 -0
  173. data/tracks/vimscript/exercises/roman-numerals/roman_numerals.vim +14 -0
  174. metadata +81 -35
  175. data/tracks/elm/elm-package.json +0 -46
  176. data/tracks/elm/exercises/hello-world/yarn.lock +0 -1136
File without changes
@@ -7,3 +7,4 @@ elm-stuff
7
7
  CHECKLIST
8
8
  build.js
9
9
  node_modules
10
+ build
@@ -4,10 +4,29 @@ language: bash
4
4
 
5
5
  sudo: false
6
6
 
7
+ before_install:
8
+ - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
9
+ - | # epic build time improvement - see https://github.com/elm-lang/elm-compiler/issues/1473#issuecomment-245704142
10
+ if [ ! -d sysconfcpus/bin ];
11
+ then
12
+ git clone https://github.com/obmarg/libsysconfcpus.git;
13
+ cd libsysconfcpus;
14
+ ./configure --prefix=$TRAVIS_BUILD_DIR/sysconfcpus;
15
+ make && make install;
16
+ cd ..;
17
+ fi
18
+
19
+
7
20
  install:
8
21
  - nvm install 6
9
22
  - nvm use 6
10
23
  - npm install
24
+ - if [ ! -f node_modules/.bin/elm-make-old ];
25
+ then
26
+ mv node_modules/.bin/elm-make node_modules/.bin/elm-make-old;
27
+ printf '%s\n\n' '#!/bin/bash' 'echo "Running elm-make with sysconfcpus -n 2"' '$TRAVIS_BUILD_DIR/sysconfcpus/bin/sysconfcpus -n 2 elm-make-old "$@"' > $(npm config get prefix)/bin/elm-make;
28
+ chmod +x $(npm config get prefix)/bin/elm-make;
29
+ fi
11
30
  - bin/install-elm-format linux
12
31
  - export PATH=$PATH:$PWD/bin
13
32
 
@@ -18,5 +37,5 @@ script:
18
37
 
19
38
  cache:
20
39
  directories:
21
- - node_modules
22
40
  - elm-stuff
41
+ - sysconfcpus
@@ -10,10 +10,9 @@ The simplest way to install Elm is via Node.js/NPM.
10
10
  If you don't already have Node.js installed on your computer, you can download it from [the official site](https://nodejs.org/). Once you have Node.js up and running, follow these steps to install the Elm platform and elm-test.
11
11
 
12
12
  ```bash
13
- $ npm install --global elm elm-test
13
+ $ npm install
14
14
  ```
15
15
 
16
-
17
16
  ## Contributing
18
17
 
19
18
  Thank you so much for contributing! :tada:
@@ -41,28 +40,26 @@ Please keep the following in mind:
41
40
  - Please do not add a README or README.md file to the exercise directory. The READMEs are constructed using shared metadata, which lives in the
42
41
  [exercism/x-common](https://github.com/exercism/x-common) repository.
43
42
 
44
- - Each exercise should have a test suite, an example solution, a template file for the real implementation and an `elm-package.json` file with the `elm-test` and `elm-console` dependencies. The CI build expects files to be named using the following convention. The example solution should be named `ExerciseModuleName.example`. The template file should be named `ExerciseModuleName.elm`. Test file should be named `ExerciseModuleNameTest.elm`.
43
+ - Each exercise should have a test suite, an example solution, a template file for the real implementation and an `elm-package.json` file with the `elm-test` and `elm-console` dependencies. The CI build expects files to be named using the following convention. The example solution should be named `ExerciseModuleName.example`. The template file should be named `ExerciseModuleName.elm`. Test file should be named `Tests.elm`.
45
44
 
46
- - The recommended workflow when working on an exercise is to first create the implementation and test files, `ExerciseModuleName.elm` and `ExerciseModuleNameTest.elm`.
47
- - Test the new exercise directly by running `elm-test exercises/exercise_module_name/ExerciseModuleNameTest.elm`.
45
+ - The recommended workflow when working on an exercise is to first create the implementation and test files, `ExerciseModuleName.elm` and `tests/Tests.elm`. You'll likely want to copy one of the existing exercise directories as a quick start.
46
+ - Test the new exercise directly by running `npm test` from the exercise directory.
48
47
 
49
- - Once the implementation of the exercise is complete, move `ExerciseModuleName.elm` to `ExerciseModuleName.example` and create the template file.
48
+ - Once the implementation of the exercise is complete, rename `ExerciseModuleName.elm` to `ExerciseModuleName.example.elm` and create the template `ExerciseModuleName.elm`.
50
49
 
51
50
  - Make sure everything is good to go by running all tests with `bin/build.sh`.
52
51
 
53
- - If you have [elm-format](https://github.com/avh4/elm-format) installed, you can easily check the project by running `WITH_FORMAT=true bin/build.sh`. If you get diffs on exercises other than the one you are working on, please submit a separate pull request.
54
-
55
52
  - Please do not commit any Elm configuration files or directories inside the exercise, such as `elm-stuff`. Please include only the standard `elm-package.json`.
56
53
 
57
54
  - Test files should use the following format:
58
55
 
59
56
  ```elm
60
- port module Main exposing (..)
61
57
 
62
- import Test.Runner.Node exposing (run)
63
- import Json.Encode exposing (Value)
58
+ module Tests exposing (..)
59
+
64
60
  import Test exposing (..)
65
61
  import Expect
62
+ import ExerciseModuleName
66
63
 
67
64
 
68
65
  tests : Test
@@ -77,19 +74,11 @@ tests =
77
74
  False
78
75
  |> Expect.equal False
79
76
  ]
80
-
81
-
82
- main : Program Value
83
- main =
84
- run emit tests
85
-
86
-
87
- port emit : ( String, Value ) -> Cmd msg
88
77
  ```
89
78
 
90
79
  - All the tests for xElm exercises can be run from the top level of the repo with `bin/build.sh`. Please run this command before submitting your PR.
91
80
 
92
- - If you are submitting a new exercise, be sure to add it to the appropriate place in the `config.json` and `elm-package.json` files. Also, please run `bin/fetch-configlet && bin/configlet` to ensure the exercise is configured correctly.
81
+ - If you are submitting a new exercise, be sure to add it to the appropriate place in the `config.json` file. Also, please run `bin/fetch-configlet && bin/configlet` to ensure the exercise is configured correctly.
93
82
 
94
83
  ## License
95
84
 
@@ -5,14 +5,12 @@
5
5
  echo '-------------------------------------------------------'
6
6
  echo "Checking Formatting"
7
7
 
8
- which elm-format > /dev/null
9
-
10
- if [ $? -ne 0 ]; then
11
- echo "elm-format not found"
12
- exit 1
8
+ if [ ! -f "bin/elm-format" ] || [[ ! $(bin/elm-format --help | grep "elm-format-0.18 0.6.1-alpha") ]]; then
9
+ echo "Installing local copy of elm-format"
10
+ bin/install-elm-format
13
11
  fi
14
12
 
15
- elm-format --yes --validate exercises/**/{*.example.elm,Tests.elm}
13
+ bin/elm-format --yes --validate exercises/**/*.example.elm exercises/**/tests/Tests.elm
16
14
 
17
15
  if [ $? -ne 0 ]; then
18
16
  echo "*******************************************************************"
@@ -24,39 +22,38 @@ if [ $? -ne 0 ]; then
24
22
  echo "*******************************************************************"
25
23
  exit 1
26
24
  else
27
- echo "formatting looks good!"
25
+ echo "Formatting looks good!"
28
26
  fi
29
27
 
30
-
31
28
  # TEST
32
29
 
33
30
  declare -i TEST_RESULT=0
34
31
  FAILED_EXERCISES=''
35
32
 
33
+ mkdir -p build/tests
34
+
36
35
  for example_file in exercises/**/*.example.elm
37
36
  do
37
+ # clean up generated code from last run
38
+ rm -rf build/tests/elm-stuff/generated-code/
39
+
38
40
  exercise_dir=$(dirname $example_file)
39
41
  exercise_name=$(basename $example_file .example.elm)
40
- mv "$exercise_dir/$exercise_name.elm" "$exercise_dir/$exercise_name.impl"
41
- mv "$exercise_dir/$exercise_name.example.elm" "$exercise_dir/$exercise_name.elm"
42
+ cp "$exercise_dir/$exercise_name.example.elm" "build/$exercise_name.elm"
43
+ cp "$exercise_dir/tests/elm-package.json" build/tests/
44
+ cp "$exercise_dir/tests/Tests.elm" build/tests/
45
+
42
46
  echo '-------------------------------------------------------'
43
47
  echo "Testing $exercise_name"
44
48
 
45
- # prevent elm-test from installing dependencies
46
- mv $exercise_dir/elm-package.json $exercise_dir/elm-package.json.disabled
47
49
 
48
- npm test -- $exercise_dir/Tests.elm
50
+ npm test -- build/tests/Tests.elm
49
51
 
50
52
  # capture result from last command (elm-test)
51
53
  if [ $? -ne 0 ]; then
52
54
  TEST_RESULT=1
53
55
  FAILED_EXERCISES+="$exercise_name\n"
54
56
  fi
55
-
56
- # be kind, rewind
57
- mv $exercise_dir/elm-package.json.disabled $exercise_dir/elm-package.json
58
- mv "$exercise_dir/$exercise_name.elm" "$exercise_dir/$exercise_name.example.elm"
59
- mv "$exercise_dir/$exercise_name.impl" "$exercise_dir/$exercise_name.elm"
60
57
  done
61
58
 
62
59
  if [ $TEST_RESULT -ne 0 ]; then
@@ -12,7 +12,7 @@ case $(uname) in
12
12
  echo "linux";;
13
13
  esac)
14
14
 
15
- URL=https://github.com/avh4/elm-format/releases/download/0.5.2-alpha/elm-format-0.18-0.5.2-alpha-$OS-x64.tgz
15
+ URL=https://github.com/avh4/elm-format/releases/download/0.6.1-alpha/elm-format-0.18-0.6.1-alpha-$OS-x64.tgz
16
16
 
17
17
  curl -L $URL | tar -xvzO > bin/elm-format
18
18
 
@@ -1,169 +1,174 @@
1
1
  {
2
- "slug": "elm",
3
- "language": "Elm",
4
- "repository": "https://github.com/exercism/xelm",
5
- "active": true,
6
- "exercises": [
7
- {
8
- "slug": "hello-world",
9
- "difficulty": 1,
10
- "topics": []
11
- },
12
- {
13
- "slug": "bob",
14
- "difficulty": 1,
15
- "topics": []
16
- },
17
- {
18
- "slug": "leap",
19
- "difficulty": 1,
20
- "topics": []
21
- },
22
- {
23
- "slug": "raindrops",
24
- "difficulty": 1,
25
- "topics": []
26
- },
27
- {
28
- "slug": "pangram",
29
- "difficulty": 1,
30
- "topics": []
31
- },
32
- {
33
- "slug": "accumulate",
34
- "difficulty": 1,
35
- "topics": []
36
- },
37
- {
38
- "slug": "triangle",
39
- "difficulty": 1,
40
- "topics": []
41
- },
42
- {
43
- "slug": "scrabble-score",
44
- "difficulty": 1,
45
- "topics": []
46
- },
47
- {
48
- "slug": "anagram",
49
- "difficulty": 1,
50
- "topics": []
51
- },
52
- {
53
- "slug": "space-age",
54
- "difficulty": 1,
55
- "topics": []
56
- },
57
- {
58
- "slug": "strain",
59
- "difficulty": 1,
60
- "topics": []
61
- },
62
- {
63
- "slug": "difference-of-squares",
64
- "difficulty": 1,
65
- "topics": []
66
- },
67
- {
68
- "slug": "word-count",
69
- "difficulty": 1,
70
- "topics": []
71
- },
72
- {
73
- "slug": "sum-of-multiples",
74
- "difficulty": 1,
75
- "topics": []
76
- },
77
- {
78
- "slug": "hamming",
79
- "difficulty": 1,
80
- "topics": []
81
- },
82
- {
83
- "slug": "rna-transcription",
84
- "difficulty": 1,
85
- "topics": []
86
- },
87
- {
88
- "slug": "run-length-encoding",
89
- "difficulty": 1,
90
- "topics": []
91
- },
92
- {
93
- "slug": "sublist",
94
- "difficulty": 1,
95
- "topics": []
96
- },
97
- {
98
- "slug": "nucleotide-count",
99
- "difficulty": 1,
100
- "topics": []
101
- },
102
- {
103
- "slug": "series",
104
- "difficulty": 1,
105
- "topics": []
106
- },
107
- {
108
- "slug": "phone-number",
109
- "difficulty": 1,
110
- "topics": []
111
- },
112
- {
113
- "slug": "grade-school",
114
- "difficulty": 1,
115
- "topics": []
116
- },
117
- {
118
- "slug": "allergies",
119
- "difficulty": 1,
120
- "topics": []
121
- },
122
- {
123
- "slug": "robot-simulator",
124
- "difficulty": 1,
125
- "topics": []
126
- },
127
- {
128
- "slug": "list-ops",
129
- "difficulty": 1,
130
- "topics": []
131
- },
132
- {
133
- "slug": "atbash-cipher",
134
- "difficulty": 1,
135
- "topics": []
136
- },
137
- {
138
- "slug": "say",
139
- "difficulty": 1,
140
- "topics": []
141
- },
142
- {
143
- "slug": "largest-series-product",
144
- "difficulty": 1,
145
- "topics": []
146
- },
147
- {
148
- "slug": "roman-numerals",
149
- "difficulty": 1,
150
- "topics": []
151
- },
152
- {
153
- "slug": "gigasecond",
154
- "difficulty": 1,
155
- "topics": []
156
- }
157
- ],
158
- "deprecated": [
159
-
160
- ],
161
- "ignored": [
162
- "bin",
163
- "elm-stuff",
164
- "node_modules",
165
- "docs"
166
- ],
167
- "foregone": [
168
- ]
2
+ "slug": "elm",
3
+ "language": "Elm",
4
+ "repository": "https://github.com/exercism/xelm",
5
+ "active": true,
6
+ "exercises": [
7
+ {
8
+ "slug": "hello-world",
9
+ "difficulty": 1,
10
+ "topics": []
11
+ },
12
+ {
13
+ "slug": "bob",
14
+ "difficulty": 1,
15
+ "topics": []
16
+ },
17
+ {
18
+ "slug": "leap",
19
+ "difficulty": 1,
20
+ "topics": []
21
+ },
22
+ {
23
+ "slug": "raindrops",
24
+ "difficulty": 1,
25
+ "topics": []
26
+ },
27
+ {
28
+ "slug": "pangram",
29
+ "difficulty": 1,
30
+ "topics": []
31
+ },
32
+ {
33
+ "slug": "accumulate",
34
+ "difficulty": 1,
35
+ "topics": []
36
+ },
37
+ {
38
+ "slug": "triangle",
39
+ "difficulty": 1,
40
+ "topics": []
41
+ },
42
+ {
43
+ "slug": "scrabble-score",
44
+ "difficulty": 1,
45
+ "topics": []
46
+ },
47
+ {
48
+ "slug": "anagram",
49
+ "difficulty": 1,
50
+ "topics": []
51
+ },
52
+ {
53
+ "slug": "space-age",
54
+ "difficulty": 1,
55
+ "topics": []
56
+ },
57
+ {
58
+ "slug": "strain",
59
+ "difficulty": 1,
60
+ "topics": []
61
+ },
62
+ {
63
+ "slug": "difference-of-squares",
64
+ "difficulty": 1,
65
+ "topics": []
66
+ },
67
+ {
68
+ "slug": "word-count",
69
+ "difficulty": 1,
70
+ "topics": []
71
+ },
72
+ {
73
+ "slug": "sum-of-multiples",
74
+ "difficulty": 1,
75
+ "topics": []
76
+ },
77
+ {
78
+ "slug": "hamming",
79
+ "difficulty": 1,
80
+ "topics": []
81
+ },
82
+ {
83
+ "slug": "rna-transcription",
84
+ "difficulty": 1,
85
+ "topics": []
86
+ },
87
+ {
88
+ "slug": "run-length-encoding",
89
+ "difficulty": 1,
90
+ "topics": []
91
+ },
92
+ {
93
+ "slug": "sublist",
94
+ "difficulty": 1,
95
+ "topics": []
96
+ },
97
+ {
98
+ "slug": "nucleotide-count",
99
+ "difficulty": 1,
100
+ "topics": []
101
+ },
102
+ {
103
+ "slug": "series",
104
+ "difficulty": 1,
105
+ "topics": []
106
+ },
107
+ {
108
+ "slug": "phone-number",
109
+ "difficulty": 1,
110
+ "topics": []
111
+ },
112
+ {
113
+ "slug": "grade-school",
114
+ "difficulty": 1,
115
+ "topics": []
116
+ },
117
+ {
118
+ "slug": "allergies",
119
+ "difficulty": 1,
120
+ "topics": []
121
+ },
122
+ {
123
+ "slug": "robot-simulator",
124
+ "difficulty": 1,
125
+ "topics": []
126
+ },
127
+ {
128
+ "slug": "list-ops",
129
+ "difficulty": 1,
130
+ "topics": []
131
+ },
132
+ {
133
+ "slug": "atbash-cipher",
134
+ "difficulty": 1,
135
+ "topics": []
136
+ },
137
+ {
138
+ "slug": "say",
139
+ "difficulty": 1,
140
+ "topics": []
141
+ },
142
+ {
143
+ "slug": "largest-series-product",
144
+ "difficulty": 1,
145
+ "topics": []
146
+ },
147
+ {
148
+ "slug": "roman-numerals",
149
+ "difficulty": 1,
150
+ "topics": []
151
+ },
152
+ {
153
+ "slug": "gigasecond",
154
+ "difficulty": 1,
155
+ "topics": []
156
+ },
157
+ {
158
+ "slug": "grains",
159
+ "difficulty": 1,
160
+ "topics": []
161
+ }
162
+ ],
163
+ "deprecated": [],
164
+ "ignored": [
165
+ "bin",
166
+ "elm-stuff",
167
+ "node_modules",
168
+ "docs",
169
+ "tests",
170
+ "libsysconfcpus",
171
+ "sysconfcpus"
172
+ ],
173
+ "foregone": []
169
174
  }