|
Packit |
368400 |
#define INLINE_RULE0(new,old) ;\
|
|
Packit |
368400 |
new = old ;\
|
|
Packit |
368400 |
{-# INLINE [0] new #-} ;\
|
|
Packit |
368400 |
{-# RULES "inline new" new = old #-}
|
|
Packit |
368400 |
|
|
Packit |
368400 |
#define INLINE_RULE(new,vars,body) ;\
|
|
Packit |
368400 |
new vars = body ;\
|
|
Packit |
368400 |
{-# INLINE [0] new #-} ;\
|
|
Packit |
368400 |
{-# RULES "inline new" forall vars. new vars = body #-}
|
|
Packit |
368400 |
|
|
Packit |
368400 |
#define STREAMING0(name, nameC, nameS) ;\
|
|
Packit |
368400 |
name = nameC ;\
|
|
Packit |
368400 |
{-# INLINE [0] name #-} ;\
|
|
Packit |
368400 |
{-# RULES "unstream name" \
|
|
Packit |
368400 |
name = unstream (streamConduit nameC nameS) \
|
|
Packit |
368400 |
#-}
|
|
Packit |
368400 |
|
|
Packit |
368400 |
#define STREAMING(name, nameC, nameS, vars) ;\
|
|
Packit |
368400 |
name = nameC ;\
|
|
Packit |
368400 |
{-# INLINE [0] name #-} ;\
|
|
Packit |
368400 |
{-# RULES "unstream name" forall vars. \
|
|
Packit |
368400 |
name vars = unstream (streamConduit (nameC vars) (nameS vars)) \
|
|
Packit |
368400 |
#-}
|