CakeML / CakeML/cakeml

Adding dynamic arrays to CakeML's (extended?) basis

Open
#1,386 0 comments 0 reactions 0 assignees View on GitHub
basis extensions enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.