Skip to content

Commit

Permalink
Build learn-ocaml (ocamlsf/learn-ocaml:1.0.0)
Browse files Browse the repository at this point in the history
  • Loading branch information
AltGr committed Feb 16, 2024
1 parent 19fc137 commit 33d242f
Show file tree
Hide file tree
Showing 154 changed files with 275,255 additions and 274,422 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ocamlsf/learn-ocaml:0.16.0
ocamlsf/learn-ocaml:1.0.0
4 changes: 1 addition & 3 deletions docs/css/learnocaml_main.css
Original file line number Diff line number Diff line change
Expand Up @@ -590,11 +590,9 @@ body {
margin: 0 0 30px 0;
}
#learnocaml-main-exercise-list .exercise > .stats > .stars {
position: absolute;
line-height: 20px;
height: 30px;
bottom: 0; left: 10px;
vertical-align: bottom;
left: 10px;
}
#learnocaml-main-exercise-list .exercise > .stats > .length {
position: absolute;
Expand Down
4 changes: 4 additions & 0 deletions docs/exercise-index.json
Original file line number Diff line number Diff line change
Expand Up @@ -2362,6 +2362,10 @@
[
"Rui Barata",
"rui.barata@ubi.pt"
],
[
"Leonardo Santos",
"leomendesantos@gmail.com"
]
],
"focus": [
Expand Down
4 changes: 4 additions & 0 deletions docs/exercises.json
Original file line number Diff line number Diff line change
Expand Up @@ -2361,6 +2361,10 @@
[
"Rui Barata",
"rui.barata@ubi.pt"
],
[
"Leonardo Santos",
"leomendesantos@gmail.com"
]
],
"focus": [
Expand Down
19 changes: 15 additions & 4 deletions docs/exercises/fpottier/alpha_beta.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/anagrams.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/breaking_sort.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/counting_trees.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/enumerating_trees.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/generic_sorting.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/huffman.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/infinite_arrays.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/leftist_heaps.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/merge_sort.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/nondet_monad_cont.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/nondet_monad_defun.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/nondet_monad_seq.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/parser_combinators.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/persistent_arrays.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/pprint.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/random_access_lists.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/sat.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/spectre.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/stereo.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/symbolic_sequences_data.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/symbolic_sequences_objects.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/tictactoe.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/tree_iterators.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/fpottier/unionfind.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/1.2_declarations.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/1.3_bool.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/1.4_conditionals.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/10_assoc.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/10_parameterized_lists.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/10_run_length.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/11_lists_lists.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/11_printable.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/4.0_rock_paper_scissors.json

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions docs/exercises/hferee/4.2_coordinates.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,28 @@
},
{
"id": "4.2_coordinates",
"prelude": "type cartesian = { x: float; y: float; }\ntype polar = { r: float; angle: float; }\n\n\ntype point = Cartesian of cartesian | Polar of polar\n",
"prelude_ml": "type cartesian = { x: float; y: float; }\ntype polar = { r: float; angle: float; }\n\n\ntype point = Cartesian of cartesian | Polar of polar\n",
"template": "\n",
"descr": [
[
"",
"<h1 id=\"It-39-s-time-to-coordinate-point\">It&#39;s time to coordinate, point!</h1>\n\n<p>The following record types represent two ways of representing points in the plane.</p>\n<pre class='ocaml'><code class='ocaml'>type cartesian = { x: float; y: float; }\ntype polar = { r: float; angle: float; }</code></pre>\n\n<p><strong>Question 1:</strong></p>\n<p>Write a function <code>cartesian_of_polar</code> that converts a point in polar coordinates to cartesian coordinates.</p>\n<p><strong>Question 2:</strong></p>\n<p>Define the function <code>middle_cart: cartesian -&gt; cartesian -&gt; cartesian</code> that calculates the midpoint of two points.</p>\n<p>We now define the type <code>point</code> that can represent points in the plane using either of the representations.</p>\n<pre class='ocaml'><code class='ocaml'>type point = Cartesian of cartesian | Polar of polar</code></pre>\n\n<p><strong>Question 3:</strong></p>\n<p>Define a function <code>middle: point -&gt; point -&gt; point</code> that calculates the midpoint of two points, regardless of their representation.</p>\n"
]
],
"prepare": "",
"test": "vOMBFC3sPu6ML0HR+WquUmMEAlo8XE/WOlQePkmdqM6bh5RqF7zIGyN/6fnc5JhKey8RKjNfhfKd229RdWeDpRBmUQQrRIZuf2gae1VTMIl7DctG/3xraiQQVZNClziAB3S0uxRP2smfNDrVGycIdqzI7V7uCoXtaA53nxL2tR3x",
"solution": "drQKp85Rpqj6oOshST1OoopRA5BQSo/COptRVFebwIkzr/pXVWCAXnshtKmqbb9roH40LGtmwOXsGsAKxyKXxlJ9A/stENVCoapbxdNMI4svTt6/fg92bW6VWgEGkWeBPc70uhRPVenSNC0TFDEQbrjI8A3BBUjwulNMndXWaTjoukeQ2UrQdOSKx8FGR67B+EcND6cAEB/zH6EHHvLx/RGQDX5BYJhRICiaf1KhxyKQNI/aJS39h4UW//bIKg47Q9ZNHSNC6/rJbWHsolEjw8Q2iAfPmBefQpVZ/APDIsRvzcv6lCoXexRo+JxO4l7dqd3ESgdLUb0uZj0F8sul1P4/GxhbUNGwww3aOWQJEcUzE5QNXo9RVCBUVV/VovrJ+3gBNRAr7Ax6P2LqaKziIIUc/H1zPLyidovzUrNgpehAPpse",
"compiled": {
"prelude_cmi": "Q2FtbDE5OTlJMDI5hJWmvgAAAhAAAABvAAABywAAAbugJ1ByZWx1ZGWgwaApY2FydGVzaWFuAFoIAAA4AEBAoKDgoCF4AFJAwLOQoyVmbG9hdERAkEACBfXhAEAA+rDACUAuL19sZWFybi1vY2FtbC1idWlsZC9leGVyY2lzZXMvaGZlcmVlLzQuMl9jb29yZGluYXRlcy9wcmVsdWRlLm1sQUBTwAQCQUBcQEChBBZBoOCgIXkAU0DAs5AED0CQQAIF9eEAQAD5sMAEDUFAXcAEDkFAZkBAoQQiQkBBQUBAQEBAsMAEEUFAQMAEEkFAaEBAQKBAQKEEJ0BBQKDBoCVwb2xhcgBbCAAAOABAQKCg4KAhcgBVQMCzkAQmQJBAAgX14QBAAPywwAQkQml4wAQlQmkAQUBAoQQ5RKDgoCVhbmdsZQBWQMCzkAQyQJBAAgX14QBAAPuwwAQwQmkAQsAEMUJpAE9AQKEERUVAQUFAQEBAQLDABDRCaWnABDVCaQBRQEBABCOhBElDQUCgwaAlcG9pbnQAXAgAADgAQECRoOCgKUNhcnRlc2lhbgBYkKDAs5AEVUCQQAIF9eEAQAD+QECwwARIRQBUAGHABElFAFQAd0BAoQRdR6DgoCVQb2xhcgBZkKDAs5AEPUCQQAIF9eEAQAD9QECwwARWRQBUAHjABFdFAFQBAIhAQKEEa0hAQUBAQEBAsMAEWkUAVABUBARAQEAESKEEbkZBQECElaa+AAAAugAAABkAAABiAAAATqCgJ1ByZWx1ZGWQMFVRguX3jF+xtQU7fzGWT3KgoCZTdGRsaWKQMEsEtO2hmqci3zZRQYlfs0egoDhMZWFybm9jYW1sX2ludGVybmFsX2ludGaQMPt1gYHblLIMsLmRaJHUpougoDNMZWFybm9jYW1sX2NhbGxiYWNrkDDUpYi3TxeTmj0JaE3dOIohoKA4Q2FtbGludGVybmFsRm9ybWF0QmFzaWNzkDC2xmlJVeEAAa7SZ1cRBKlhQISVpr4AAAAEAAAAAgAAAAUAAAAFoJBAQA==",
"prepare_cmi": "Q2FtbDE5OTlJMDI5hJWmvgAAAAoAAAACAAAABgAAAAWgJ1ByZXBhcmVAhJWmvgAAANYAAAAeAAAAcwAAAFygoCdQcmVwYXJlkDCT2GyTOQd4JtXvW6/OiHtZoKAmU3RkbGlikDBLBLTtoZqnIt82UUGJX7NHoKAnUHJlbHVkZZAwVVGC5feMX7G1BTt/MZZPcqCgOExlYXJub2NhbWxfaW50ZXJuYWxfaW50ZpAw+3WBgduUsgywuZFokdSmi6CgM0xlYXJub2NhbWxfY2FsbGJhY2uQMNSliLdPF5OaPQloTd04iiGgoDhDYW1saW50ZXJuYWxGb3JtYXRCYXNpY3OQMLbGaUlV4QABrtJnVxEEqWFAhJWmvgAAAAQAAAACAAAABQAAAAWgkEBA",
"solution_cmi": "Q2FtbDE5OTlJMDI5hJWmvgAAAhIAAABhAAABhwAAAXWgKFNvbHV0aW9uoLCgMmNhcnRlc2lhbl9vZl9wb2xhcgBm0MDBQMCzoZCSJ1ByZWx1ZGUlcG9sYXJAkEACBfXhAEAA78CzoQQIKWNhcnRlc2lhbkCQQAIF9eEAQADwQAIF9eEAQADxQLDACUEuL19sZWFybi1vY2FtbC1idWlsZC9leGVyY2lzZXMvaGZlcmVlLzQuMl9jb29yZGluYXRlcy9zb2x1dGlvbi5tbEFARMAEAkFAVkBAoQQaQECgsKArbWlkZGxlX2NhcnQAZ9DAwUDAs6EEGQQRQJBAAgX14QBAAPLAwUDAs6EEHwQXQJBAAgX14QBAAPPAs6EEIwQbQJBAAgX14QBAAPRAAgX14QBAAPVAAgX14QBAAPZAsMAEGkUAVgBawAQbRQBWAGVAQKEEM0NAoLCgK2Vuc3VyZV9jYXJ0AGjQwMFAwLOhBDIlcG9pbnRAkEACBfXhAEAA98CzoQQ3BC9AkEACBfXhAEAA+EACBfXhAEAA+UCwwAQuRwEAogEApsAEL0cBAKIBALFAQKEER0ZAoLCgJm1pZGRsZQBp0MDBQMCzoQRGBBRAkEACBfXhAEAA+sDBQMCzoQRMBBpAkEACBfXhAEAA+8CzoQRQBB5AkEACBfXhAEAA/EACBfXhAEAA/UACBfXhAEAA/kCwwARHSwEA+wEA/8AESEsBAPsBAQVAQKEEYElAQISVpr4AAADzAAAAIwAAAIUAAABroKAoU29sdXRpb26QMCiRmrAgxRYFG6NztS6LQqigoCZTdGRsaWKQMEsEtO2hmqci3zZRQYlfs0egoCdQcmVwYXJlkDCT2GyTOQd4JtXvW6/OiHtZoKAnUHJlbHVkZZAwVVGC5feMX7G1BTt/MZZPcqCgOExlYXJub2NhbWxfaW50ZXJuYWxfaW50ZpAw+3WBgduUsgywuZFokdSmi6CgM0xlYXJub2NhbWxfY2FsbGJhY2uQMNSliLdPF5OaPQloTd04iiGgoDhDYW1saW50ZXJuYWxGb3JtYXRCYXNpY3OQMLbGaUlV4QABrtJnVxEEqWFAhJWmvgAAAAQAAAACAAAABQAAAAWgkEBA",
"test_cmi": "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",
"exercise_lib": {
"cma": "Q2FtbDE5OTlBMDI5AAAB5DoAAAA5AAAAAAAAADoAAAA5AAAAAAAAAFQAAABTAAAAKQAAACoAAAABAAAAAQAAABwAAAAhAAAACwAAABwAAAAhAAAAGwAAACIAAAA/AAAAAAAAACgAAAACAAAAAAAAAFcAAAAAAAIAAgAAAAYAAAAAAAAAQwAAACgAAAABAAAAAAAAAEMAAAAbAAAAJQAAAAIAAAApAAAAKgAAAAEAAAA1AAAAAAAAAAwAAABIAAAAAQAAAAwAAABIAAAAAQAAAF4AAAAAAAAAXgAAAAAAAAA2AAAAAAAAAA0AAABIAAAAAAAAAA0AAABIAAAAAAAAAF4AAAAAAAAAXgAAAAAAAABCAAAAAgAAACgAAAACAAAAAAAAAEgAAAABAAAACwAAAEgAAAAAAAAACwAAAF0AAAAAAAAACwAAAF4AAAAAAAAADAAAAF0AAAAAAAAADAAAAF4AAAAAAAAAQgAAAAIAAAAoAAAAAwAAACsAAAAAAAAA6P///wkAAAArAAAAAAAAAMb///8LAAAAKwAAAAEAAACz////CgAAAAwAAAArAAAAAgAAAKD///8KAAAADAAAAA4AAAAQAAAAPgAAAAQAAAAAAAAAEwAAAAQAAAA5AAAAAAAAAISVpr4AAANyAAAAmQAAAiUAAAHV0KAIAAAoACdQcmVsdWRlUEygoJKSBAVIQKCgJlN0ZGxpYpAwSwS07aGapyLfNlFBiV+zR6CgBAyQMFVRguX3jF+xtQU7fzGWT3KgoDhMZWFybm9jYW1sX2ludGVybmFsX2ludGaQMPt1gYHblLIMsLmRaJHUpougoDNMZWFybm9jYW1sX2NhbGxiYWNrkDDUpYi3TxeTmj0JaE3dOIohoKA4Q2FtbGludGVybmFsRm9ybWF0QmFzaWNzkDC2xmlJVeEAAa7SZ1cRBKlhQEBAQEBAoAgAACgAJ1ByZXBhcmVcTKCgkpIEBUhAoKAmU3RkbGlikDBLBLTtoZqnIt82UUGJX7NHoKAEDJAwk9hskzkHeCbV71uvzoh7WaCgJ1ByZWx1ZGWQMFVRguX3jF+xtQU7fzGWT3KgoDhMZWFybm9jYW1sX2ludGVybmFsX2ludGaQMPt1gYHblLIMsLmRaJHUpougoDNMZWFybm9jYW1sX2NhbGxiYWNrkDDUpYi3TxeTmj0JaE3dOIohoKA4Q2FtbGludGVybmFsRm9ybWF0QmFzaWNzkDC2xmlJVeEAAa7SZ1cRBKlhQEBAQEBAoAgAACgAKFNvbHV0aW9uaAEBvKCgkJCTIjIuAQCMoKCTLmNhbWxfYWRkX2Zsb2F0AQCsoKCTLmNhbWxfZGl2X2Zsb2F0AQC0oKCQkJMiMi4BALygoJMEDgEA3KCgkwQNAQDkoKCTLmNhbWxfc2luX2Zsb2F0AQEYoKCTLmNhbWxfbXVsX2Zsb2F0AQEkoKCTLmNhbWxfY29zX2Zsb2F0AQEwoKCTBAgBATygoJKSBC4BAbhAoKAmU3RkbGlikDBLBLTtoZqnIt82UUGJX7NHoKAENZAwKJGasCDFFgUbo3O1LotCqKCgJ1ByZXBhcmWQMJPYbJM5B3gm1e9br86Ie1mgoCdQcmVsdWRlkDBVUYLl94xfsbUFO38xlk9yoKA4TGVhcm5vY2FtbF9pbnRlcm5hbF9pbnRmkDD7dYGB25SyDLC5kWiR1KaLoKAzTGVhcm5vY2FtbF9jYWxsYmFja5Aw1KWIt08Xk5o9CWhN3TiKIaCgOENhbWxpbnRlcm5hbEZvcm1hdEJhc2ljc5AwtsZpSVXhAAGu0mdXEQSpYUCgkiZTdGRsaWJAQEBAQEBAQEBA",
"js": "function\ndynload(g){\"use strict\";var\nh={},e=254,f=g.jsoo_runtime,b=f.caml_register_global;b(2,[0],\"Prelude\");b(3,[0],\"Prepare\");function\nc(a){var\nb=a[2],c=a[1];return[e,c*Math.cos(b),c*Math.sin(b)]}function\nd(b,a){return[e,(b[1]+a[1])/2.,(b[2]+a[2])/2.]}function\na(a){return 0===a[0]?a[1]:c(a[1])}b(4,[0,c,d,a,function(c,b){var\ne=a(b);return[0,d(a(c),e)]}],\"Solution\");return h}if(typeof\nmodule===\"object\"&&module.exports)module[\"exports\"]=dynload;\n"
},
"test_lib": {
"cma": "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",
"js": "function\ndynload(h){\"use strict\";var\ni={},a=h.jsoo_runtime;function\ng(b,c){return b.length==1?b(c):a.caml_call_gen(b,[c])}function\nf(b,c,d,e){return b.length==3?b(c,d,e):a.caml_call_gen(b,[c,d,e])}var\nb=a.caml_get_global_data().Test_lib,c=0;function\nd(a){return c}var\ne=f(b[26],0,b[109][2],d);g(b[1],e);a.caml_register_global(1,[0,c],\"Test\");return i}if(typeof\nmodule===\"object\"&&module.exports)module[\"exports\"]=dynload;\n"
}
},
"max-score": 0
},
null
Expand Down
Loading

0 comments on commit 33d242f

Please sign in to comment.