Fix / document prefix removal
iitalics opened this issue · 0 comments
iitalics commented
Right now, common field prefixes are automatically removed:
# type glasses =
{ gl_len : int;
gl_bridge : int;
gl_diam : int }
[@@lens generate ~just_lens] ;;
type glasses = { gl_len : int; gl_bridge : int; gl_diam : int; }
val _len : (glasses -> int) * (int -> glasses -> glasses) = (<fun>, <fun>)
val _bridge : (glasses -> int) * (int -> glasses -> glasses) = (<fun>, <fun>)
val _diam : (glasses -> int) * (int -> glasses -> glasses) = (<fun>, <fun>)
Note the absense of the gl_
prefix in the lenses. However
- users may want to turn off this behavior
- it behaves strangely for unintentional prefixes:
# type oof = { oof : int ; ouch : int } [@@lens generate ~just_lens] ;;
type oof = { oof : int; ouch : int; }
val _of : (oof -> int) * (int -> oof -> oof) = (<fun>, <fun>)
val _uch : (oof -> int) * (int -> oof -> oof) = (<fun>, <fun>)
- it's not documented in the README