[m-dev.] Type classes

Ralph Becket rafe at csse.unimelb.edu.au
Tue May 22 12:21:24 AEST 2007


For G12 I've defined two type classes

:- typeclass high_level_linear_solver(Solver) where [...].
:- typeclass low_level_linear_solver(Solver) where [...].

I'd like to say that all low_level_linear_solvers are
high_level_linear_solvers with something like this:

:- instance high_level_linear_solver(Solver)
	<= low_level_linear_solver(Solver)
	where [
		... implementation ...
	].

Of course I can't say this because instance arguments have to take the
form type_name(TypeVar, TypeVar, ...).

Would this a useful thing to allow?  Would it have bad consequences?

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



More information about the developers mailing list