Comp.Sort_object
Computational kinds and types blurred together.
type t =
| Raw_identifier of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
prefixed : Stdlib.Bool.t;
}
| Raw_qualified_identifier of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Qualified_identifier.t;
prefixed : Stdlib.Bool.t;
}
| Raw_ctype of {
location : Beluga_syntax.Syncom.Location.t;
}
| Raw_pi of {
location : Beluga_syntax.Syncom.Location.t;
parameter_identifier : Beluga_syntax.Syncom.Identifier.t Support.Option.t
* [ `Plain | `Hash | `Dollar ];
parameter_sort : Synprs__.Synprs_definition.Meta.Thing.t Support.Option.t;
plicity : Beluga_syntax.Syncom.Plicity.t;
body : t;
}
| Raw_arrow of {
location : Beluga_syntax.Syncom.Location.t;
domain : t;
range : t;
orientation : [ `Forward | `Backward ];
}
| Raw_cross of {
location : Beluga_syntax.Syncom.Location.t;
operands : t Support.List2.t;
}
| Raw_box of {
location : Beluga_syntax.Syncom.Location.t;
boxed : Synprs__.Synprs_definition.Meta.Thing.t;
}
| Raw_application of {
location : Beluga_syntax.Syncom.Location.t;
objects : t Support.List2.t;
}