vertespain / langages
tp de langages prog
Clone this repository (size: 30.7 KB): HTTPS / SSH
$ hg clone http://bitbucket.org/vertespain/langages/
| commit 16: | 5c7d9896d26a |
| parent 15: | 476149b5ebca |
| branch: | default |
lambdas curried
Changed (Δ28 bytes):
raw changeset »
tp1/psil.hs (3 lines added, 2 lines removed)
| … | … | @@ -216,8 +216,9 @@ addarg (Lvar s) arg = Lapp s [arg] |
216 |
216 |
addarg (Lapp v args) arg = (Lapp v (args ++ [arg])) |
217 |
217 |
--Call anonymous lambda |
218 |
218 |
addarg lambda@(Llambda vars lexp) arg = Lcall lambda [arg] |
219 |
--Add another param to lambda |
|
220 |
addarg (Lcall lambda args) arg = (Lcall lambda (args ++ [arg])) |
|
219 |
--Add another param to lambda. |
|
220 |
--Lambdas are curried, so we stack Lcalls |
|
221 |
addarg lcall@(Lcall l a) arg = Lcall lcall [arg] |
|
221 |
222 |
|
222 |
223 |
addarg lexp1 lexp2 = error ("Don't know how to handle: \n" ++ |
223 |
224 |
show lexp1 ++ "\n" ++ |
