- priority: 5 --> 1
- status: open --> open-later
)abbrev domain UR UnfinishedRing
++ Although this domain is declared as a Ring,
++ many functions specified in Ring have not been implemented here.
++ So run-time errors will arise.
UnfinishedRing():Public == Private where
Public == Join(Ring, ConvertibleTo OutputForm) with
coerce : Integer -> %
Private == add
Rep == Integer
a:% + b:% == per ((rep a) + (rep b))
coerce(a:Integer):% == per a
coerce(a:%):OutputForm == (rep a)::OutputForm
Then by
(13) -> u:=3::UR
(13) 3
Type: UnfinishedRing
(14) ->
(14) -> matrix [[u,u]]
Internal Error
The function Zero with signature $ is missing from domain
UnfinishedRing
"Declaring a domain to be a member of a category indicates that all the operations
of the category are implemented in that domain as functions which satisfy the
attributes of the category ."