Conversation
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
move it to tests and update the generators Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
Signed-off-by: Tenyaeva Ekaterina <b08lsoai@gmail.com>
|
Документация и тестовое покрытие (98.61%) должны скоро появиться. https://kakadu.github.io/fp25/docs/Tenyaeva https://kakadu.github.io/fp25/cov/Tenyaeva 2026-01-19 17:27 |
| @@ -0,0 +1,32 @@ | |||
| (** Copyright 2025, Tenyaeva Ekaterina *) | |||
There was a problem hiding this comment.
File 'Tenyaeva/tests/qcheck.ml' doesn't have corresponding .mli interface
| open Tenyaeva_lib.Ast | ||
|
|
||
| type options = | ||
| { mutable dump_parsetree : bool |
There was a problem hiding this comment.
Using mutable data structures for teaching purposes is usually discouraged. Replace Hashtables by standard tree-like maps or consider Hash-Array Mapped Tries (HAMT). Use mutable references and mutable structure fields only if it is really required. In all places where it is needed indeed, describe in a comment why it is needed there.
|
|
||
| type options = | ||
| { mutable dump_parsetree : bool | ||
| ; mutable max_steps : int |
There was a problem hiding this comment.
Using mutable data structures for teaching purposes is usually discouraged. Replace Hashtables by standard tree-like maps or consider Hash-Array Mapped Tries (HAMT). Use mutable references and mutable structure fields only if it is really required. In all places where it is needed indeed, describe in a comment why it is needed there.
| let get st = st, Ok st | ||
| let put new_st _st = new_st, Ok () | ||
| let fail e st = st, Error e | ||
| let run m st = m st |
There was a problem hiding this comment.
Eta reduction proposed. It's recommended to rewrite 'fun st -> m st' as
'm'
|
Linter report from 2026-01-19 17:28, for mini language Tenyaeva |
implementation of the miniML interpreter