... | @@ -82,6 +82,8 @@ and so on. (The variable `f` must have a proper function type.) |
... | @@ -82,6 +82,8 @@ and so on. (The variable `f` must have a proper function type.) |
|
|
|
|
|
This pragma can also be used on imported functions `f`, in the same manner as the plain `VECTORISE` pragma.
|
|
This pragma can also be used on imported functions `f`, in the same manner as the plain `VECTORISE` pragma.
|
|
|
|
|
|
|
|
**RESTRICTION:** Functions vectorised with this pragma can not be mutually recursive. (They may be recursive.)
|
|
|
|
|
|
## The basic VECTORISE pragma for type constructors
|
|
## The basic VECTORISE pragma for type constructors
|
|
|
|
|
|
### Without right-hand side
|
|
### Without right-hand side
|
... | @@ -208,6 +210,8 @@ indicates that the instance dfun `C t` should vectorised by proceeding as for `V |
... | @@ -208,6 +210,8 @@ indicates that the instance dfun `C t` should vectorised by proceeding as for `V |
|
|
|
|
|
An example is `{-# VECTORISE SCALAR instance Num Int #-}`.
|
|
An example is `{-# VECTORISE SCALAR instance Num Int #-}`.
|
|
|
|
|
|
|
|
**RESTRICTION:** Instance dictionaries vectorised with this pragma can not be mutually recursive. (They may be recursive.)
|
|
|
|
|
|
## Vectorising imported definitions
|
|
## Vectorising imported definitions
|
|
|
|
|
|
|
|
|
... | | ... | |