-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement pre-compilation of exercises and graders #481
Commits on Nov 3, 2023
-
feat!: Implement pre-compilation of exercises and graders
to cmi, cma and js. Includes changes to the toploop to handle the dynamic loading.
Configuration menu - View commit details
-
Copy full SHA for b03bdfe - Browse repository at this point
Copy the full SHA b03bdfeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 47d5a06 - Browse repository at this point
Copy the full SHA 47d5a06View commit details -
refactor: Get rid of the pseudo-cipher
Finally :) This should give a nice economy of bandwidth since the unciphered compilation artifacts will compress much better.
Configuration menu - View commit details
-
Copy full SHA for 2792faf - Browse repository at this point
Copy the full SHA 2792fafView commit details -
Configuration menu - View commit details
-
Copy full SHA for 87ee902 - Browse repository at this point
Copy the full SHA 87ee902View commit details -
Configuration menu - View commit details
-
Copy full SHA for eaad14c - Browse repository at this point
Copy the full SHA eaad14cView commit details -
feat: Include Prelude/Prepare and shadow them
instead of just `open`. This restores the toplevel output on values defined in Prelude, and forbids access to the interface of Prepare (which were two small regressions with pre-compilation).
Configuration menu - View commit details
-
Copy full SHA for 787840b - Browse repository at this point
Copy the full SHA 787840bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a97f813 - Browse repository at this point
Copy the full SHA a97f813View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7422ca4 - Browse repository at this point
Copy the full SHA 7422ca4View commit details -
Configuration menu - View commit details
-
Copy full SHA for e63359e - Browse repository at this point
Copy the full SHA e63359eView commit details -
fix: Fix segfault on graders using samplers returning newly defined e…
…xceptions (or extensible variant cases)
Configuration menu - View commit details
-
Copy full SHA for c61a4d0 - Browse repository at this point
Copy the full SHA c61a4d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7825a6b - Browse repository at this point
Copy the full SHA 7825a6bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 46631d8 - Browse repository at this point
Copy the full SHA 46631d8View commit details -
feat(ppx-metaquot): Add transformation introducing the `register_samp…
…ler` calls * A new transformation has been added that inserts `let () = Introspection.register_sampler name fun` for each toplevel binding prefixed with `sample_*` in test.ml. * Compilation units stored in `demo-repository/exercises/exercise_name/` during the precompilation are no longer staged.
Configuration menu - View commit details
-
Copy full SHA for 3cd75f5 - Browse repository at this point
Copy the full SHA 3cd75f5View commit details -
feat: Restore compatibility with static deployment
Previous patch on byte/js selection broke static servers. This restores the compatible API by using GET args to filter the answer (on a static server, no filtering will be done but that just means a little more bandwidth usage).
Configuration menu - View commit details
-
Copy full SHA for f0e8346 - Browse repository at this point
Copy the full SHA f0e8346View commit details -
refactor: Rename and generalise
recorder
toppx_autoregister
Functorising to add parameters so that it can be used to inject printer registerers as well, for example.
Configuration menu - View commit details
-
Copy full SHA for 99e913d - Browse repository at this point
Copy the full SHA 99e913dView commit details -
feat: Add support for a
test_libs.txt
file in exercisesIt just contains the names of the ocamlfind libraries to link in.
Configuration menu - View commit details
-
Copy full SHA for d22a788 - Browse repository at this point
Copy the full SHA d22a788View commit details -
Configuration menu - View commit details
-
Copy full SHA for e768616 - Browse repository at this point
Copy the full SHA e768616View commit details -
feat: Provide lib to compile grader helper libraries
and facility to link them during the `build` step. NOTE: the helper library is going to be included in every exercise. A lighter approach could be to keep loading it separately, e.g. after loading the cma/js file from a directory holding static content on the server (and removing the `.cma` from the compilation line in `precompile_exercise.ml`). This will probably fit well once we include such a mechanism for loading custom libraries as the prelude to exercises, the main difference being that the latter will also need the `cmi` files.
Configuration menu - View commit details
-
Copy full SHA for 3fc41ca - Browse repository at this point
Copy the full SHA 3fc41caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d27523 - Browse repository at this point
Copy the full SHA 7d27523View commit details -
fix: Do some cleanup & Fix
mutation_testing
test libNow, an optional library that demonstrates the use of grader libraries.
Configuration menu - View commit details
-
Copy full SHA for c432909 - Browse repository at this point
Copy the full SHA c432909View commit details -
refactor: Generalize sampler typing
sync'ing with printer handling and the newer ppx that has the module name.
Configuration menu - View commit details
-
Copy full SHA for 264db4c - Browse repository at this point
Copy the full SHA 264db4cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ec3af6 - Browse repository at this point
Copy the full SHA 1ec3af6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54851dd - Browse repository at this point
Copy the full SHA 54851ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for f028b75 - Browse repository at this point
Copy the full SHA f028b75View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9155145 - Browse repository at this point
Copy the full SHA 9155145View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c89d9e - Browse repository at this point
Copy the full SHA 2c89d9eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32ad13e - Browse repository at this point
Copy the full SHA 32ad13eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 466e80c - Browse repository at this point
Copy the full SHA 466e80cView commit details -
fix(ci): Fix permission issues
`learn-ocaml build` now requires write access to the repository since it writes compilation artefacts in-place.
Configuration menu - View commit details
-
Copy full SHA for fa2cd23 - Browse repository at this point
Copy the full SHA fa2cd23View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b4e0ab - Browse repository at this point
Copy the full SHA 5b4e0abView commit details -
Signed-off-by: Yann Regis-Gianas <yann@regis-gianas.org>
Configuration menu - View commit details
-
Copy full SHA for 365cbb7 - Browse repository at this point
Copy the full SHA 365cbb7View commit details -
fix(partition-view): Reactivate the feature
Signed-off-by: Yann Regis-Gianas <yann@regis-gianas.org>
Configuration menu - View commit details
-
Copy full SHA for 57ca10b - Browse repository at this point
Copy the full SHA 57ca10bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee57ac1 - Browse repository at this point
Copy the full SHA ee57ac1View commit details -
strengthening(grader): Add a safeguard against grading workers going …
…haywire An uncaught exception could get caught upper on the stack, and lead the worker to start running pending lwt stuff that belong to the master.. Also attempt to fix "too many open files" error with many workers
Configuration menu - View commit details
-
Copy full SHA for cb417d1 - Browse repository at this point
Copy the full SHA cb417d1View commit details -
fix(grader): allow exercises to use vg, gg
since the libraries are already available
Configuration menu - View commit details
-
Copy full SHA for ead187e - Browse repository at this point
Copy the full SHA ead187eView commit details -
fix(teacher_tab): use newer asak compatible with precompilation
asak 0.4 is now released on opam
Configuration menu - View commit details
-
Copy full SHA for 942edc2 - Browse repository at this point
Copy the full SHA 942edc2View commit details -
Configuration menu - View commit details
-
Copy full SHA for f572990 - Browse repository at this point
Copy the full SHA f572990View commit details -
Configuration menu - View commit details
-
Copy full SHA for f1abb7d - Browse repository at this point
Copy the full SHA f1abb7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b94f053 - Browse repository at this point
Copy the full SHA b94f053View commit details -
fix(CI): disable compat tests with 0.12, 0.13
It's not expected that we remain compatible with versions that required exposing `solution.ml`.
Configuration menu - View commit details
-
Copy full SHA for 91a418e - Browse repository at this point
Copy the full SHA 91a418eView commit details -
fix(docker): install more libs in server image
these are required for compiling certain exercises
Configuration menu - View commit details
-
Copy full SHA for 6ce797f - Browse repository at this point
Copy the full SHA 6ce797fView commit details