Created
June 4, 2017 11:51
-
-
Save JulianLeviston/6f645dcf4a0143fc8213bed9b22990e7 to your computer and use it in GitHub Desktop.
Showing output from arbitrary grammar with some expressions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Test where | |
data EExp a | |
= ELit a | |
| EAdd (EExp a) (EExp a) | |
eg1 :: EExp Int | |
eg1 = EAdd (ELit 1) (EAdd (ELit 2) (ELit 0)) | |
eg2 :: EExp Int | |
eg2 = EAdd (ELit 1) (EAdd (ELit 1) (ELit 1)) | |
eg3 :: EExp Int | |
eg3 = | |
EAdd (ELit 1) (EAdd (ELit 2) (EAdd (ELit 3) (EAdd (ELit 4) (EAdd (ELit 5) (ELit 0))))) | |
-- output: | |
{- | |
eg1: | |
1: EAdd (ELit 1) (EAdd (ELit 2) (ELit 0)) | |
2: ELit 1 | |
3: EAdd (ELit 2) (ELit 0) | |
4: ELit 2 | |
5: ELit 0 | |
eg2: | |
1: EAdd (ELit 1) (EAdd (ELit 1) (ELit 1)) | |
2: ELit 1 | |
3: EAdd (ELit 1) (ELit 1) | |
4: ELit 1 | |
5: ELit 1 | |
eg3: | |
1: EAdd (ELit 1) (EAdd (ELit 2) (EAdd (ELit 3) (EAdd (ELit 4) (EAdd (ELit 5) (ELit 0))))) | |
2: ELit 1 | |
3: EAdd (ELit 2) (EAdd (ELit 3) (EAdd (ELit 4) (EAdd (ELit 5) (ELit 0)))) | |
4: ELit 2 | |
5: EAdd (ELit 3) (EAdd (ELit 4) (EAdd (ELit 5) (ELit 0))) | |
6: ELit 3 | |
7: EAdd (ELit 4) (EAdd (ELit 5) (ELit 0)) | |
8: ELit 4 | |
9: EAdd (ELit 5) (ELit 0) | |
10: ELit 5 | |
11: ELit 0 | |
-} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment