trackler 2.1.0.23 → 2.1.0.24

Sign up to get free protection for your applications and to get access to all the features.
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
  }