| 1 | {-# LANGUAGE Arrows, GADTs #-} |
|---|
| 2 | import Control.Arrow |
|---|
| 3 | |
|---|
| 4 | data Value a where BoolVal :: Value Bool |
|---|
| 5 | |
|---|
| 6 | class ArrowInit f where |
|---|
| 7 | arrif :: f b -> () |
|---|
| 8 | |
|---|
| 9 | instance ArrowInit Value where |
|---|
| 10 | arrif = proc BoolVal -> returnA -< () |
|---|
| 11 | -- arrif = arr (\BoolVal -> ()) |
|---|
| 12 | |
|---|
| 13 | main = print "hi" |
|---|