X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FbasicTypes%2FDataCon.lhs;h=8d2c071d9894f343e5dc6ac780ea020a46c38fd6;hb=368eac75c490ef75495c48d4f98ce55865604d12;hp=0117a4f36fc524fe42d9e22a7df69bf2eb93ad67;hpb=6fb805e5006947372e4ad03889ab447cb857d125;p=ghc-hetmet.git diff --git a/ghc/compiler/basicTypes/DataCon.lhs b/ghc/compiler/basicTypes/DataCon.lhs index 0117a4f..8d2c071 100644 --- a/ghc/compiler/basicTypes/DataCon.lhs +++ b/ghc/compiler/basicTypes/DataCon.lhs @@ -8,8 +8,8 @@ module DataCon ( DataCon, ConTag, fIRST_TAG, mkDataCon, - dataConType, dataConSig, dataConName, dataConTag, - dataConArgTys, dataConTyCon, + dataConType, dataConSig, dataConName, dataConTag, dataConTyCon, + dataConArgTys, dataConOrigArgTys, dataConRawArgTys, dataConAllRawArgTys, dataConFieldLabels, dataConStrictMarks, dataConSourceArity, dataConNumFields, dataConNumInstArgs, dataConId, dataConRepStrictness, @@ -312,11 +312,15 @@ dataConArgTys (MkData {dcRepArgTys = arg_tys, dcTyVars = tyvars, These two functions get the real argument types of the constructor, without substituting for any type variables. dataConAllRawArgTys is like dataConRawArgTys except that the existential dictionary arguments -are included. +are included. dataConOrigArgTys is the same, but returns the types +written by the programmer. \begin{code} +dataConOrigArgTys :: DataCon -> [Type] +dataConOrigArgTys dc = dcOrigArgTys dc + dataConRawArgTys :: DataCon -> [TauType] -- a function of convenience -dataConRawArgTys = dcRepArgTys +dataConRawArgTys dc = dcRepArgTys dc dataConAllRawArgTys :: DataCon -> [TauType] dataConAllRawArgTys con =