【问题标题】:Why this OCaml code does not subject to the value restriction为什么这个 OCaml 代码不受值限制
【发布时间】:2016-08-25 03:17:21
【问题描述】:

我不明白函数(my_path_mapper)不受值限制。

# let rec my_map ~f l =
  match l with
    [] -> []
  | h::t -> f h::my_map f t;;
      val my_map : f:('a -> 'b) -> 'a list -> 'b list = <fun>
# let my_path_mapper =
  my_map ["/usr/sbin"; "/usr/bin"; "/sbin"; "/bin"; "/usr/games"; "/usr/local/games"];;
  val my_path_mapper : f:(string -> 'a) -> 'a list = <fun>

请教我为什么?

【问题讨论】:

    标签: ocaml value-restriction


    【解决方案1】:

    OCaml 有一个“宽松的价值限制”。你可以在这里阅读:

    Jacques Garrigue, Relaxing the Value Restriction

    这是之前关于 StackOverflow 的讨论:

    When does the relaxed value restriction kick in in OCaml?

    【讨论】:

      猜你喜欢
      • 2018-06-10
      • 1970-01-01
      • 2011-09-09
      • 2022-01-20
      • 2013-08-10
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多