|
|
| Perl: the Markov chain saw | |
| PerlMonks |
Parameter Pattern Matching in Perlby withering (Monk) |
| on Feb 10, 2014 at 13:03 UTC ( [id://1074239]=perlmeditation: print w/replies, xml ) | Need Help?? |
|
Hello fellow monks. A few days ago I was working on type inference in both simply-typed lambda calculus and Hindley-Milner System. While I was trying to use hashtables to implement branches for getting rid of annoying 'if's, I realized that there's no quick ways to emulate pattern matching in ML or Haskell -- It is a fact that we could not easily do that due to the dynamic nature of Perl's type system. However, I managed to emulate some of the features I used in Erlang, ML, or perhaps Haskell and made a small CPAN module HOI::Match (where HOI means Higher-Order Imperative): HOI::MatchWith the module, I am able to write such a sum function:
(Note that the arguments in @_ may be FETCH several times so it is dangerous to rely on side effects of FETCH on arguments.) Any suggestion or criticism is welcomed. I am looking forward for your replies.
Back to
Meditations
|
|
||||||||||||||||||||||||||||||