-
Notifications
You must be signed in to change notification settings - Fork 259
Description
This concept doesn't exist in the library (for Set, Data.Maybe does the trick of course), so we should add it.
But where should it belong? A Setoid-with-a-point: is it an Algebra (with a very boring signature, consisting of a single nullary operation), or a special kind of Setoid, and hence should live with those things under Relation.Binary?
(this may be a separate library design pain point regarding Setoid: is that an Algebra too, albeit one with no operations?)
UPDATED: grrr. Pointed introduced in two ways already. Once to add a distinguished point; this apparently lives under Relation.Nullary.Construct.Add.Point where
open import Data.Maybe.Base public
using () renaming (Maybe to Pointed; nothing to ∙; just to [_])and once to add a distinguished point which is moreover an identity for a binary operation. And overloading the shared common use of Maybe as the representing Free functor. This seems a bit wart-y how to proceed?
Either way, we might then want a Free such thing, (cf. #1962 / #1954 ) and know that its algebra is that of the usual adjoint/monadic situation arising from Maybe and the forgetful operation of throwing away the distinguished point.