Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 50s
Counter-style record with two mutable fields. Validates the new
r.f <- v field mutation end-to-end through type decl + record literal
+ field access + field assignment + sequence operator.
type counter = { mutable count : int; mutable last : int }
let bump c = c.count <- c.count + 1 ; c.last <- c.count
After 5 bumps: count=5, last=5, sum=10.
16 lines
280 B
OCaml
16 lines
280 B
OCaml
(* Baseline: mutable record fields via r.f <- v *)
|
|
type counter = { mutable count : int; mutable last : int } ;;
|
|
|
|
let bump c =
|
|
c.count <- c.count + 1 ;
|
|
c.last <- c.count
|
|
;;
|
|
|
|
let c = { count = 0; last = 0 } ;;
|
|
bump c ;;
|
|
bump c ;;
|
|
bump c ;;
|
|
bump c ;;
|
|
bump c ;;
|
|
c.count + c.last
|