Skip to content

Definitions are allowed to have free variables #12

@bmsherman

Description

@bmsherman

This shouldn't typecheck

type Random A = integer -> integer * A;;
let runRandom (x : Random A) : A =
  (x i0)[1];;

because the A in runRandom is unbound.

let runRandom A (x : Random A) : A =
  (x i0)[1];;

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions