Skip to content

Compiler rejects recursive definitions of values #4989

@vicuna

Description

@vicuna

Original bug ID: 4989
Reporter: hattori
Status: closed (set by @mshinwell on 2016-12-06T21:36:06Z)
Resolution: suspended
Priority: normal
Severity: feature
Version: 3.11.1
Category: ~DO NOT USE (was: OCaml general)
Related to: #6738

Bug description

Compiler rejects thw following definition:

let rec f = let g = fun x -> f x in g;;

Error: This kind of expression is not allowed as right-hand side of `let rec'

However, the following definition is OK:

let rec f = let g = f in fun x -> g x;;

val f : 'a -> 'b =

It seems that the first definition is also OK according to the reference manual (section 7.3).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions