Skip to content

Commit

Permalink
Use MonadError
Browse files Browse the repository at this point in the history
  • Loading branch information
kamil-adam committed Jul 22, 2021
1 parent 939afed commit 994ef7e
Show file tree
Hide file tree
Showing 96 changed files with 2,730 additions and 1,071 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,14 @@ cabal.project.local~

.idea
*.iml
build/
.gradle
build/
gradle/

Gemfile.lock
_site

.hlint-*/
out/

/stan.html
46 changes: 45 additions & 1 deletion .output/actual/examples/wsa/il/linkAppFile/from-eas/bottles.il
Original file line number Diff line number Diff line change
@@ -1 +1,45 @@
[Push (Literal 3),Mark "LOOP",Dup,OutputNum,PushS (Literal " bottles of beer on the wall, "),Call "prints",Dup,OutputNum,PushS (Literal " bottles of beer"),Call "printsln",PushS (Literal "Take one down, pass it around"),Call "printsln",Push (Literal 1),Sub Nothing,Dup,OutputNum,PushS (Literal " bottles of beer on the wall"),Call "printsln",PushS (Literal ""),Call "printsln",Dup,BranchNZ "LOOP",End,Mark "prints",Dup,BranchZ "prints_end",OutputChar,Branch "prints",Mark "prints_end",Pop,Return,Mark "printsln",Call "prints",Push (Literal 10),OutputChar,Return]
[ Push
( Literal 3 )
, Mark "LOOP"
, Dup
, OutputNum
, PushS
( Literal " bottles of beer on the wall, " )
, Call "prints"
, Dup
, OutputNum
, PushS
( Literal " bottles of beer" )
, Call "printsln"
, PushS
( Literal "Take one down, pass it around" )
, Call "printsln"
, Push
( Literal 1 )
, Sub Nothing
, Dup
, OutputNum
, PushS
( Literal " bottles of beer on the wall" )
, Call "printsln"
, PushS
( Literal "" )
, Call "printsln"
, Dup
, BranchNZ "LOOP"
, End
, Mark "prints"
, Dup
, BranchZ "prints_end"
, OutputChar
, Branch "prints"
, Mark "prints_end"
, Pop
, Return
, Mark "printsln"
, Call "prints"
, Push
( Literal 10 )
, OutputChar
, Return
]
45 changes: 44 additions & 1 deletion .output/actual/examples/wsa/il/linkAppFile/from-eas/hello.il
Original file line number Diff line number Diff line change
@@ -1 +1,44 @@
[Push (Literal 32),Push (Literal 44),Push (Literal 111),Push (Literal 108),Push (Literal 108),Push (Literal 101),Push (Literal 72),OutputChar,OutputChar,OutputChar,OutputChar,OutputChar,OutputChar,OutputChar,Push (Literal 10),Push (Literal 33),Push (Literal 100),Push (Literal 108),Push (Literal 114),Push (Literal 111),Push (Literal 119),OutputChar,OutputChar,OutputChar,OutputChar,OutputChar,OutputChar,OutputChar,End]
[ Push
( Literal 32 )
, Push
( Literal 44 )
, Push
( Literal 111 )
, Push
( Literal 108 )
, Push
( Literal 108 )
, Push
( Literal 101 )
, Push
( Literal 72 )
, OutputChar
, OutputChar
, OutputChar
, OutputChar
, OutputChar
, OutputChar
, OutputChar
, Push
( Literal 10 )
, Push
( Literal 33 )
, Push
( Literal 100 )
, Push
( Literal 108 )
, Push
( Literal 114 )
, Push
( Literal 111 )
, Push
( Literal 119 )
, OutputChar
, OutputChar
, OutputChar
, OutputChar
, OutputChar
, OutputChar
, OutputChar
, End
]
48 changes: 47 additions & 1 deletion .output/actual/examples/wsa/il/linkAppFile/from-eas/hello2.il
Original file line number Diff line number Diff line change
@@ -1 +1,47 @@
[Push (Literal 0),Push (Literal 10),Push (Literal 33),Push (Literal 100),Push (Literal 108),Push (Literal 114),Push (Literal 111),Push (Literal 119),Push (Literal 32),Push (Literal 44),Push (Literal 111),Push (Literal 108),Push (Literal 108),Push (Literal 101),Push (Literal 72),Call "prints",End,Mark "prints",Dup,BranchZ "prints_end",OutputChar,Branch "prints",Mark "prints_end",Pop,Return,Mark "printsln",Call "prints",Push (Literal 10),OutputChar,Return]
[ Push
( Literal 0 )
, Push
( Literal 10 )
, Push
( Literal 33 )
, Push
( Literal 100 )
, Push
( Literal 108 )
, Push
( Literal 114 )
, Push
( Literal 111 )
, Push
( Literal 119 )
, Push
( Literal 32 )
, Push
( Literal 44 )
, Push
( Literal 111 )
, Push
( Literal 108 )
, Push
( Literal 108 )
, Push
( Literal 101 )
, Push
( Literal 72 )
, Call "prints"
, End
, Mark "prints"
, Dup
, BranchZ "prints_end"
, OutputChar
, Branch "prints"
, Mark "prints_end"
, Pop
, Return
, Mark "printsln"
, Call "prints"
, Push
( Literal 10 )
, OutputChar
, Return
]
20 changes: 19 additions & 1 deletion .output/actual/examples/wsa/il/linkAppFile/from-eas/hello4.il
Original file line number Diff line number Diff line change
@@ -1 +1,19 @@
[PushS (Literal "Hello, world!"),Call "printsln",End,Mark "prints",Dup,BranchZ "prints_end",OutputChar,Branch "prints",Mark "prints_end",Pop,Return,Mark "printsln",Call "prints",Push (Literal 10),OutputChar,Return]
[ PushS
( Literal "Hello, world!" )
, Call "printsln"
, End
, Mark "prints"
, Dup
, BranchZ "prints_end"
, OutputChar
, Branch "prints"
, Mark "prints_end"
, Pop
, Return
, Mark "printsln"
, Call "prints"
, Push
( Literal 10 )
, OutputChar
, Return
]
15 changes: 14 additions & 1 deletion .output/actual/examples/wsa/il/linkAppFile/from-eas/pip.il
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
[Mark "LOOP",Dup,Push (Literal 0),Push (Literal 1),Sub Nothing,Sub Nothing,BranchNZ "WRITE",End,Mark "WRITE",OutputChar,Branch "LOOP"]
[ Mark "LOOP"
, Dup
, Push
( Literal 0 )
, Push
( Literal 1 )
, Sub Nothing
, Sub Nothing
, BranchNZ "WRITE"
, End
, Mark "WRITE"
, OutputChar
, Branch "LOOP"
]
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[End]
[ End ]
121 changes: 120 additions & 1 deletion .output/actual/examples/wsa/il/linkAppFile/original/prim.il
Original file line number Diff line number Diff line change
@@ -1 +1,120 @@
[Mark "st",PushS (Literal "prim numbers [2-100]"),Call "printsln",Push (Literal 0),Mark "f_start_1",Test 100,BranchZ "f_finished_1",Dup,Add (Just (Literal 100)),Push (Literal 1),Store Nothing,Add (Just (Literal 1)),Branch "f_start_1",Mark "f_finished_1",Pop,Push (Literal 2),Mark "f_start_2",Test 11,BranchZ "f_finished_2",Push (Literal 2),Mark "f_start_3",Test 100,BranchZ "f_finished_3",Dup,Push (Literal 1),Swap,Store Nothing,Swap,Dup,Push (Literal 2),Swap,Store Nothing,Swap,Load (Just (Literal 1)),Load (Just (Literal 2)),Mul Nothing,Add (Just (Literal 100)),Push (Literal 0),Store Nothing,Add (Just (Literal 1)),Branch "f_start_3",Mark "f_finished_3",Pop,Add (Just (Literal 1)),Branch "f_start_2",Mark "f_finished_2",Pop,Push (Literal 2),Mark "f_start_4",Test 100,BranchZ "f_finished_4",Dup,Add (Just (Literal 100)),Load Nothing,BranchZ "nodraw",Dup,OutputNum,PushS (Literal " "),Call "prints",Mark "nodraw",Add (Just (Literal 1)),Branch "f_start_4",Mark "f_finished_4",Pop,Push (Literal 0),Call "printsln",End,Mark "prints",Dup,BranchZ "prints_end",OutputChar,Branch "prints",Mark "prints_end",Pop,Return,Mark "printsln",Call "prints",Push (Literal 10),OutputChar,Return]
[ Mark "st"
, PushS
( Literal "prim numbers [2-100]" )
, Call "printsln"
, Push
( Literal 0 )
, Mark "f_start_1"
, Test 100
, BranchZ "f_finished_1"
, Dup
, Add
( Just
( Literal 100 )
)
, Push
( Literal 1 )
, Store Nothing
, Add
( Just
( Literal 1 )
)
, Branch "f_start_1"
, Mark "f_finished_1"
, Pop
, Push
( Literal 2 )
, Mark "f_start_2"
, Test 11
, BranchZ "f_finished_2"
, Push
( Literal 2 )
, Mark "f_start_3"
, Test 100
, BranchZ "f_finished_3"
, Dup
, Push
( Literal 1 )
, Swap
, Store Nothing
, Swap
, Dup
, Push
( Literal 2 )
, Swap
, Store Nothing
, Swap
, Load
( Just
( Literal 1 )
)
, Load
( Just
( Literal 2 )
)
, Mul Nothing
, Add
( Just
( Literal 100 )
)
, Push
( Literal 0 )
, Store Nothing
, Add
( Just
( Literal 1 )
)
, Branch "f_start_3"
, Mark "f_finished_3"
, Pop
, Add
( Just
( Literal 1 )
)
, Branch "f_start_2"
, Mark "f_finished_2"
, Pop
, Push
( Literal 2 )
, Mark "f_start_4"
, Test 100
, BranchZ "f_finished_4"
, Dup
, Add
( Just
( Literal 100 )
)
, Load Nothing
, BranchZ "nodraw"
, Dup
, OutputNum
, PushS
( Literal " " )
, Call "prints"
, Mark "nodraw"
, Add
( Just
( Literal 1 )
)
, Branch "f_start_4"
, Mark "f_finished_4"
, Pop
, Push
( Literal 0 )
, Call "printsln"
, End
, Mark "prints"
, Dup
, BranchZ "prints_end"
, OutputChar
, Branch "prints"
, Mark "prints_end"
, Pop
, Return
, Mark "printsln"
, Call "prints"
, Push
( Literal 10 )
, OutputChar
, Return
]
16 changes: 15 additions & 1 deletion .output/actual/examples/wsa/il/linkLibFile/io.il
Original file line number Diff line number Diff line change
@@ -1 +1,15 @@
[Mark "prints",Dup,BranchZ "prints_end",OutputChar,Branch "prints",Mark "prints_end",Pop,Return,Mark "printsln",Call "prints",Push (Literal 10),OutputChar,Return]
[ Mark "prints"
, Dup
, BranchZ "prints_end"
, OutputChar
, Branch "prints"
, Mark "prints_end"
, Pop
, Return
, Mark "printsln"
, Call "prints"
, Push
( Literal 10 )
, OutputChar
, Return
]
Loading

0 comments on commit 994ef7e

Please sign in to comment.