Adding dynamic arrays to CakeML's (extended?) basis
- Dominant language
- Standard ML
- Stars
- 1.2k
- Forks
- 104
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 16
Description
I think it would be useful to have an implementation of dynamic arrays in CakeML.
Some references:
- [OCaml's Dynarray](https://ocaml.org/manual/5.2/api/type_Dynarray.html)
- [Standard ML implementation from HOL4](https://github.com/HOL-Theorem-Prover/HOL/blob/9af754b7f5217d1e48158022ac74087796b4a5a1/src/portableML/DArray.sig)
For example, the replayer for [HOLTrace](https://holtrace.cr.yp.to) makes use of `Dynarray`, and I seem to remember that there are probably some places in our code base where we implement something like a dynamic array whenever it is needed.
Contributor guide
No contributing guide indexed for this repository
Research direction
Compare the referenced OCaml Dynarray API with the Standard ML DArray.sig implementation from HOL4, then search CakeML for existing code that implements similar dynamic-array behavior. Define the desired basis API and verify that it supports the HOLTrace replayer use case before implementing and testing it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100