|
15 | 15 | "indent_size": 2,
|
16 | 16 | "highlightjs_language": "wasm"
|
17 | 17 | },
|
18 |
| - "files": { |
19 |
| - "solution": [], |
20 |
| - "test": [], |
21 |
| - "example": [], |
22 |
| - "exemplar": [] |
23 |
| - }, |
24 | 18 | "test_runner": {
|
25 | 19 | "average_run_time": 16
|
26 | 20 | },
|
| 21 | + "files": { |
| 22 | + "solution": [ |
| 23 | + "%{kebab_slug}.wat" |
| 24 | + ], |
| 25 | + "test": [ |
| 26 | + "%{kebab_slug}.spec.js" |
| 27 | + ], |
| 28 | + "example": [ |
| 29 | + ".meta/proof.ci.wat" |
| 30 | + ] |
| 31 | + }, |
27 | 32 | "exercises": {
|
28 |
| - "concept": [], |
29 | 33 | "practice": [
|
30 | 34 | {
|
31 | 35 | "slug": "darts",
|
|
34 | 38 | "practices": [],
|
35 | 39 | "prerequisites": [],
|
36 | 40 | "difficulty": 3
|
37 |
| - }, { |
| 41 | + }, |
| 42 | + { |
38 | 43 | "slug": "hello-world",
|
39 | 44 | "name": "Hello World",
|
40 | 45 | "uuid": "8eae71ff-c56c-4f1c-affa-47c88fadfab8",
|
41 | 46 | "practices": [],
|
42 | 47 | "prerequisites": [],
|
43 | 48 | "difficulty": 1
|
44 |
| - }, { |
| 49 | + }, |
| 50 | + { |
45 | 51 | "slug": "collatz-conjecture",
|
46 | 52 | "name": "Collatz Conjecture",
|
47 | 53 | "uuid": "84a5d81b-f410-42d8-a7a1-d740d3957830",
|
48 | 54 | "practices": [],
|
49 | 55 | "prerequisites": [],
|
50 | 56 | "difficulty": 3
|
51 |
| - }, { |
| 57 | + }, |
| 58 | + { |
52 | 59 | "slug": "square-root",
|
53 | 60 | "name": "Square Root",
|
54 | 61 | "uuid": "fe3e2504-d952-4295-a3f8-c61c61621f98",
|
55 | 62 | "practices": [],
|
56 | 63 | "prerequisites": [],
|
57 | 64 | "difficulty": 4
|
58 |
| - }, { |
| 65 | + }, |
| 66 | + { |
59 | 67 | "slug": "grains",
|
60 | 68 | "name": "Grains",
|
61 | 69 | "uuid": "67d810e3-1784-43f2-a56f-64ab496cb42f",
|
62 | 70 | "practices": [],
|
63 | 71 | "prerequisites": [],
|
64 | 72 | "difficulty": 5
|
65 |
| - }, { |
| 73 | + }, |
| 74 | + { |
66 | 75 | "slug": "difference-of-squares",
|
67 | 76 | "name": "Difference of Squares",
|
68 | 77 | "uuid": "943f4eee-a1c6-4011-a014-515be8b1dc65",
|
69 | 78 | "practices": [],
|
70 | 79 | "prerequisites": [],
|
71 | 80 | "difficulty": 3
|
72 |
| - }, { |
| 81 | + }, |
| 82 | + { |
73 | 83 | "slug": "leap",
|
74 | 84 | "name": "Leap",
|
75 | 85 | "uuid": "d0573ad4-ef4d-42bf-97b8-268e2377feb4",
|
76 | 86 | "practices": [],
|
77 | 87 | "prerequisites": [],
|
78 | 88 | "difficulty": 1
|
79 |
| - }, { |
| 89 | + }, |
| 90 | + { |
80 | 91 | "slug": "resistor-color",
|
81 | 92 | "name": "Resistor Color",
|
82 | 93 | "uuid": "0751e431-d3a7-44bc-8718-4bc10baec4ca",
|
83 | 94 | "practices": [],
|
84 | 95 | "prerequisites": [],
|
85 | 96 | "difficulty": 4
|
86 |
| - }, { |
| 97 | + }, |
| 98 | + { |
87 | 99 | "slug": "reverse-string",
|
88 | 100 | "name": "Reverse String",
|
89 | 101 | "uuid": "1ea9b20b-6a9d-43b2-b781-1206744ca4c1",
|
90 | 102 | "practices": [],
|
91 | 103 | "prerequisites": [],
|
92 | 104 | "difficulty": 2
|
93 |
| - }, { |
| 105 | + }, |
| 106 | + { |
94 | 107 | "slug": "two-fer",
|
95 | 108 | "name": "Two Fer",
|
96 | 109 | "uuid": "f1d7f95e-e8c1-464a-99ab-c5a1395cb9a4",
|
97 | 110 | "practices": [],
|
98 | 111 | "prerequisites": [],
|
99 | 112 | "difficulty": 1
|
100 |
| - }, { |
| 113 | + }, |
| 114 | + { |
101 | 115 | "slug": "bank-account",
|
102 | 116 | "name": "Bank Account",
|
103 | 117 | "uuid": "c8f71259-13b0-4e89-acf1-4cfe16b31718",
|
104 | 118 | "practices": [],
|
105 | 119 | "prerequisites": [],
|
106 | 120 | "difficulty": 1
|
107 |
| - }, { |
| 121 | + }, |
| 122 | + { |
108 | 123 | "slug": "circular-buffer",
|
109 | 124 | "name": "Circular Buffer",
|
110 | 125 | "uuid": "db61cc68-40d8-47a7-838e-508784153a10",
|
111 | 126 | "practices": [],
|
112 | 127 | "prerequisites": [],
|
113 | 128 | "difficulty": 8
|
114 |
| - }, { |
| 129 | + }, |
| 130 | + { |
115 | 131 | "slug": "acronym",
|
116 | 132 | "name": "Acronym",
|
117 | 133 | "uuid": "086ecf2c-9356-4d09-9391-0ae4035a34f1",
|
118 | 134 | "practices": [],
|
119 | 135 | "prerequisites": [],
|
120 | 136 | "difficulty": 2
|
121 |
| - }, { |
| 137 | + }, |
| 138 | + { |
122 | 139 | "slug": "all-your-base",
|
123 | 140 | "name": "All Your Base",
|
124 | 141 | "uuid": "e201215c-169c-487c-8b50-47fa6a395906",
|
125 | 142 | "practices": [],
|
126 | 143 | "prerequisites": [],
|
127 | 144 | "difficulty": 5
|
128 |
| - }, { |
| 145 | + }, |
| 146 | + { |
129 | 147 | "slug": "binary-search",
|
130 | 148 | "name": "Binary Search",
|
131 | 149 | "uuid": "7c569e5d-bb00-44b8-8adc-34253790c19b",
|
132 | 150 | "practices": [],
|
133 | 151 | "prerequisites": [],
|
134 | 152 | "difficulty": 6
|
135 |
| - }, { |
| 153 | + }, |
| 154 | + { |
136 | 155 | "slug": "triangle",
|
137 | 156 | "name": "Triangle",
|
138 | 157 | "uuid": "ed3ca73a-a0f0-46b8-8013-8b6d20758c8f",
|
139 | 158 | "practices": [],
|
140 | 159 | "prerequisites": [],
|
141 | 160 | "difficulty": 2
|
142 |
| - }, { |
| 161 | + }, |
| 162 | + { |
143 | 163 | "slug": "nucleotide-count",
|
144 | 164 | "name": "Nucleotide Count",
|
145 | 165 | "uuid": "dbb13cbe-fea4-4aec-879f-15cda81f5a27",
|
146 | 166 | "practices": [],
|
147 | 167 | "prerequisites": [],
|
148 | 168 | "difficulty": 1
|
149 |
| - }, { |
| 169 | + }, |
| 170 | + { |
150 | 171 | "slug": "armstrong-numbers",
|
151 | 172 | "name": "Armstrong Numbers",
|
152 | 173 | "uuid": "8dff76c0-68a7-4181-859c-8e86cc1d3be4",
|
153 | 174 | "practices": [],
|
154 | 175 | "prerequisites": [],
|
155 | 176 | "difficulty": 1
|
156 |
| - }, { |
| 177 | + }, |
| 178 | + { |
157 | 179 | "slug": "rna-transcription",
|
158 | 180 | "name": "Rna Transcription",
|
159 | 181 | "uuid": "c54c9479-5ee1-43fa-906c-5f3a6c041485",
|
160 | 182 | "practices": [],
|
161 | 183 | "prerequisites": [],
|
162 | 184 | "difficulty": 3
|
163 |
| - }, { |
| 185 | + }, |
| 186 | + { |
164 | 187 | "slug": "raindrops",
|
165 | 188 | "name": "Raindrops",
|
166 | 189 | "uuid": "5bb7a61c-c942-4d80-87fb-a06fed959854",
|
167 | 190 | "practices": [],
|
168 | 191 | "prerequisites": [],
|
169 | 192 | "difficulty": 3
|
170 |
| - }, { |
| 193 | + }, |
| 194 | + { |
171 | 195 | "slug": "hamming",
|
172 | 196 | "name": "Hamming",
|
173 | 197 | "uuid": "257096af-21dc-47ed-a00f-dd17a7d03c76",
|
174 | 198 | "practices": [],
|
175 | 199 | "prerequisites": [],
|
176 | 200 | "difficulty": 2
|
177 |
| - }, { |
| 201 | + }, |
| 202 | + { |
178 | 203 | "slug": "eliuds-eggs",
|
179 | 204 | "name": "Eliud's Eggs",
|
180 | 205 | "uuid": "233fde6a-79d9-4d90-8f94-2a0519352a5c",
|
181 | 206 | "practices": [],
|
182 | 207 | "prerequisites": [],
|
183 | 208 | "difficulty": 4
|
184 |
| - }, { |
| 209 | + }, |
| 210 | + { |
185 | 211 | "slug": "pangram",
|
186 | 212 | "name": "Pangram",
|
187 | 213 | "uuid": "53d9f022-03df-464f-8838-c8aaff76fa0c",
|
188 | 214 | "practices": [],
|
189 | 215 | "prerequisites": [],
|
190 | 216 | "difficulty": 2
|
191 |
| - }, { |
| 217 | + }, |
| 218 | + { |
192 | 219 | "slug": "rotational-cipher",
|
193 | 220 | "name": "Rotational Cipher",
|
194 |
| - "uuid" : "039a7a86-d954-4bb6-a144-93b2eb17b016", |
195 |
| - "practices" : [], |
| 221 | + "uuid": "039a7a86-d954-4bb6-a144-93b2eb17b016", |
| 222 | + "practices": [], |
196 | 223 | "prerequisites": [],
|
197 | 224 | "difficulty": 4
|
198 |
| - }, { |
| 225 | + }, |
| 226 | + { |
199 | 227 | "slug": "sieve",
|
200 | 228 | "name": "Sieve of Eratosthenes",
|
201 |
| - "uuid" : "99498715-4615-4aa8-83a7-6cb0a32bd721", |
202 |
| - "practices" : [], |
| 229 | + "uuid": "99498715-4615-4aa8-83a7-6cb0a32bd721", |
| 230 | + "practices": [], |
| 231 | + "prerequisites": [], |
| 232 | + "difficulty": 6 |
| 233 | + }, |
| 234 | + { |
| 235 | + "slug": "matching-brackets", |
| 236 | + "name": "Matching Brackets", |
| 237 | + "uuid": "45892c58-05f0-4dc4-ac7d-99babf8d3006", |
| 238 | + "practices": [], |
203 | 239 | "prerequisites": [],
|
204 | 240 | "difficulty": 6
|
205 | 241 | }
|
206 | 242 | ]
|
207 | 243 | },
|
208 |
| - "concepts": [], |
209 | 244 | "key_features": [
|
210 | 245 | {
|
211 |
| - "icon": "fun", |
212 | 246 | "title": "Simple Syntax",
|
213 |
| - "content": "Simpler than native assembly languages, offering a good onramp to systems programming." |
| 247 | + "content": "Simpler than native assembly languages, offering a good onramp to systems programming.", |
| 248 | + "icon": "fun" |
214 | 249 | },
|
215 | 250 | {
|
216 |
| - "icon": "fast", |
217 | 251 | "title": "Fast",
|
218 |
| - "content": "Optimized for fast (just-in-time) compilation to native code and raw execution speed." |
| 252 | + "content": "Optimized for fast (just-in-time) compilation to native code and raw execution speed.", |
| 253 | + "icon": "fast" |
219 | 254 | },
|
220 | 255 | {
|
221 |
| - "icon": "cross-platform", |
222 | 256 | "title": "Cross-platform",
|
223 |
| - "content": "Libraries reuse across languages and ecosystems. Executables run on desktops and servers." |
| 257 | + "content": "Libraries reuse across languages and ecosystems. Executables run on desktops and servers.", |
| 258 | + "icon": "cross-platform" |
224 | 259 | },
|
225 | 260 | {
|
226 |
| - "icon": "community", |
227 | 261 | "title": "Designed by a committee",
|
228 |
| - "content": "A vendor-neutral W3C standard with numerous contributors from research labs and industry." |
| 262 | + "content": "A vendor-neutral W3C standard with numerous contributors from research labs and industry.", |
| 263 | + "icon": "community" |
229 | 264 | },
|
230 | 265 | {
|
231 |
| - "icon": "evolving", |
232 | 266 | "title": "Ever-evolving",
|
233 |
| - "content": "While a core MVP is production-ready, numerous proposals will expand WebAssembly in the future." |
| 267 | + "content": "While a core MVP is production-ready, numerous proposals will expand WebAssembly in the future.", |
| 268 | + "icon": "evolving" |
234 | 269 | },
|
235 | 270 | {
|
236 |
| - "icon": "interop", |
237 | 271 | "title": "JavaScript Interopability",
|
238 |
| - "content": "WebAssembly is a first-class citizen of the web with excellent interoperability with JavaScript." |
| 272 | + "content": "WebAssembly is a first-class citizen of the web with excellent interoperability with JavaScript.", |
| 273 | + "icon": "interop" |
239 | 274 | }
|
240 | 275 | ],
|
241 | 276 | "tags": [
|
| 277 | + "execution_mode/compiled", |
242 | 278 | "paradigm/imperative",
|
243 | 279 | "paradigm/procedural",
|
244 |
| - "typing/static", |
245 |
| - "typing/weak", |
246 |
| - "execution_mode/compiled", |
247 |
| - "platform/windows", |
248 |
| - "platform/mac", |
249 |
| - "platform/linux", |
250 |
| - "platform/ios", |
251 | 280 | "platform/android",
|
| 281 | + "platform/ios", |
| 282 | + "platform/linux", |
| 283 | + "platform/mac", |
252 | 284 | "platform/web",
|
| 285 | + "platform/windows", |
253 | 286 | "runtime/wasmtime",
|
| 287 | + "typing/static", |
| 288 | + "typing/weak", |
254 | 289 | "used_for/artificial_intelligence",
|
255 | 290 | "used_for/backends",
|
256 | 291 | "used_for/cross_platform_development",
|
|
0 commit comments