François Pottier
François Pottier
Hi! Running `opam update` followed with `opam switch create 5.00.0+trunk` results in the following failure: ``` [ERROR] The compilation of ocaml.5.00.0 failed at "ocaml /Users/fpottier/.opam/5.00.0+trunk/share/ocaml-config/gen_ocaml_config.ml 5.00.0 ocaml". #=== ERROR while...
Hello, I am unable to build a program that uses `core_bench` under OCaml 4.09.0+bytecode-only. To reproduce the problem, the following instructions suffice: ``` git clone [email protected]:janestreet/core_bench.git cd core_bench git checkout...
Hello -- I have a recurrent problem with ocamlbuild / OcaIDE. We use this combination in teaching. Several students keep mistakenly placing their source files inside the _build directory. When...
This exercise explains the concept of a suffix array and proposes a series of relatively easy questions that lead to a naive algorithm for building a suffix array. Then, it...
This exercise uses the nondeterminism monad API, whose implementation has been the subject of several other exercises. I have some problems with grading the last two questions (6-7). Grading works...
A couple improvements to the `Makefile` and script that I use to test my exercises. (To test an exercise, just go down into its directory and type `make test`.)
This PR extends the API of sets (as produced by `Set.Make`) with a new submodule `Enum`. This submodule offers an abstract data type of enumerations. An enumeration is an immutable...
Hello, I am using macOS Ventura 13.6.7 with an Apple M2 Max processor. A loop that writes values into an integer array is about 20x slower with OCaml 5 than...
This PR adds a new standard library function `Array.stable_sort_segment`. Motivation: this is needed in order to (efficiently) implement sorting for dynamic arrays (e.g., `Dynarray.stable_sort`). Only a few lines of code...
#### Description of the problem A simple proof script that involves `n` constructor applications can lead to a proof term whose type-checking time is quadratic in `n`. This is illustrated...