[m-rev.] For review: user-configurable pretty printer

Ralph Becket rafe at csse.unimelb.edu.au
Wed Jun 6 16:55:15 AEST 2007


Ralph Becket, Wednesday,  6 June 2007:
> The drawback is that it makes the interface more complicated:
> - adding a new pretty printer also involves specifying the corresponding
>   type_ctor_desc, e.g.:
> 
>     add_user_defined_pp(type_ctor(type_desc(_ : map(unit, unit))),
>         pp_map, !IO)
> 
>   (we need to supply types for map in order to avoid a warning; I've
>   used unit, but it's all rather ugly) rather than just
> 
>     add_user_defined_pp(pp_map, !IO)

A thought occurs: what about this,

	add_user_defined_pp("map", pp_map, !IO)

where "map" is the type constructor name for the type handled 
by pp_map.  The name would be used to hash to the list of type-
specific pps, which would be tried in turn until the value in
question is converted to docs.

- Is this horrible?
- If not, should we include the module name?  The type arity?
  Personally I think the type name should suffice.

-- Ralph
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list