Professor Dominic Duggan (
ddug...@stevens.edu, d...@dominicduggan.org). Applications for the position
should be submitted via this Web site:
https://www2.apply2jobs.com/Stevens/ProfExt/index.cfm?fuseaction=mExternal.showJobRID=10446CurrentPage=1
Applicants for the position should also forward
as the investigation of
security and privacy issues in this domain.
For further information, please contact Professor Dominic Duggan (
ddug...@stevens.edu, d...@dominicduggan.org). Applications for the position
should be submitted via this Web site:
https://www2.apply2jobs.com/Stevens/ProfExt/index.cfm
Simon thanks I'm afraid I didn't see your earlier reply.
I didn't try this in GHC, thanks for the clarification.
Hugs on the other hand does give a type:
g :: (Foo a b, Foo [b] [[[a]]]) = b - [[[a]]] -
Int
My assumption is that this is because of a depth
Dear all, I haven't got a reply from hugs-bugs,
so I'll see if anyone here can answer the question.
class foo a b | a |- b where foo :: a - b - Int
instance foo Int Float where foo x y = 0
instance foo [a] [b] where foo [x] [y] = foo x y
g x y = (foo [x] y) + (foo [y] x)
It is my conjecture
There is no difference between
f = let m1 = Mt [[0]] :: Matrix Int in mm m1 m1 m1
and
f = (m1 * m1) :: Matrix Int
aside from the convoluted way of providing the type annotation
(and the need in the former case to provide a sample value of the
intended result type, not a very easy
S.D.Mechveliani wrote:
Remark and question on the ambiguity problem
M.Jones S.P.Jones paper "...Exploration of Design Space."
E. Meijer is also an author of this paper.
Matrix multiplication:
* :: Matrix a - Matrix b - Matrix c
@techreport{overload:ODC94,
author={John Ophel and Dominic Duggan and Gordon Cormack},
title={Parametric Overloading and Liberal Resolution},
institution={{U}niversity of {W}aterloo},
note={Submitted to {\em Software--Practice and Experience}.
Available by sending e-mail