clr-typed-0.2.0: A strongly typed Haskell interface to the CLR type system

Safe HaskellNone
LanguageHaskell2010

Clr.Constructor

Documentation

class Constructor n t args where Source #

Minimal complete definition

rawNew

Methods

rawNew :: CurryT' n (BridgeTypes args) (IO (BridgeType t)) Source #

Instances

Constructor1 t () => Constructor 1 t ([] Type) Source # 
Constructor1 t a => Constructor 1 t ((:) Type a ([] Type)) Source # 

Methods

rawNew :: CurryT' 1 (BridgeTypes ((Type ': a) [Type])) (IO (BridgeType t)) Source #

Constructor2 t a0 a1 => Constructor 2 t ((:) Type a0 ((:) Type a1 ([] Type))) Source # 

Methods

rawNew :: CurryT' 2 (BridgeTypes ((Type ': a0) ((Type ': a1) [Type]))) (IO (BridgeType t)) Source #

Constructor3 t a0 a1 a2 => Constructor 3 t ((:) Type a0 ((:) Type a1 ((:) Type a2 ([] Type)))) Source # 

Methods

rawNew :: CurryT' 3 (BridgeTypes ((Type ': a0) ((Type ': a1) ((Type ': a2) [Type])))) (IO (BridgeType t)) Source #

class Constructor1 t arg0 where Source #

Minimal complete definition

rawNew1

Methods

rawNew1 :: BridgeType arg0 -> IO (BridgeType t) Source #

class Constructor2 t arg0 arg1 where Source #

Minimal complete definition

rawNew2

Methods

rawNew2 :: BridgeType arg0 -> BridgeType arg1 -> IO (BridgeType t) Source #

class Constructor3 t arg0 arg1 arg3 where Source #

Minimal complete definition

rawNew3

Methods

rawNew3 :: BridgeType arg0 -> BridgeType arg1 -> BridgeType arg3 -> IO (BridgeType t) Source #

new :: forall ts t argsClrUnResolved argsClr argsHask argCount argsBridge resultBridge. (MakeT ts ~ t, ArgCount argsHask ~ argCount, HaskToClrL (TupleToList argsHask) ~ argsClrUnResolved, ResolveMember argsClrUnResolved (Candidates t t) ~ argsClr, Constructor argCount t argsClr, ListToTuple (BridgeTypeL argsClr) ~ argsBridge, Marshal argsHask argsBridge, Unmarshal (BridgeType t) (Object t), Curry argCount (argsBridge -> IO (BridgeType t)) (CurryT' argCount argsBridge (IO (BridgeType t)))) => argsHask -> IO (Object t) Source #