Skip to content

Releases: yurug/ocaml4.04.0-copatterns

V0.5

31 Oct 15:21
Compare
Choose a tag to compare

OCaml 4.04.0+copatterns 0.5 :

Transformation:

  • Back to the previous transformation for codata types.

V0.4

04 Jun 15:59
Compare
Choose a tag to compare

OCaml 4.04.0+copatterns 0.4 :

Transformation:

  • New syntax for cofunction declarations (let corec, cofunction,..).
  • Nested copattern-matching.
  • Full copattern-matching.

V0.3

16 Apr 00:06
Compare
Choose a tag to compare

OCaml 4.04.0+copatterns 0.3 :

Transformation:

  • New syntax for nested copatterns.
  • Verify that a child copattern is an instance of its parent.
    (Parser.check_instance)

Syntactic assertions:

  • Delegate verification for indexed colabel declaration to the OCaml type checker.
    (delete Parser.check_indexed_cotype)

V0.2

27 Mar 14:28
Compare
Choose a tag to compare

OCaml 4.04.0+copatterns 0.2 :

Transformation:

  • Refactoring.

Improve syntactic assertions:

  • In a colabel declaration, the index type constructor's name
    corresponds to the one which is bound in the current type declaration.
    (Parser.check_indexed_cotype)
  • The type annotation in a comatch expression is a cotype.
    (Parser.check_ty_in_comatch)
  • The hole identifiers for a copattern matching are the same in the full
    set of copatterns and correspond to the one bound by the comatch.
    (Parser.check_id_in_cocases)
  • At least a type annotation is declared in nested copatterns.
    (MNTSA.Error.Missing_type_annotation)

Playground:

  • Add a playground folder for examples.
  • A complete example for streams.
    (testsuite/trans/playground/qstream.ml)