Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Tales from writing a RPN evaluator in Perl 5, Perl 6 and Haskell

by Anonymous Monk
on Jan 04, 2006 at 19:14 UTC ( #520986=note: print w/ replies, xml ) Need Help??

Help for this page

Select Code to Download


  1. or download this
    #Perl5
    $rpn = "3 10 * 20 5 / +";
    ...
    1 while($rpn =~ s/^(.*?)($dig)($dig)($op)/$1.($f{$4}->($2,$3))/e);
    
    print "$rpn\n";
    
  2. or download this
    //Haskell
    main = print $ foldl eval [] $ words "3 10 * 20 5 / +" -- 34
    ...
    eval (x:y:xs) "*" = y*x : xs
    eval (x:y:xs) "/" = y`div`x : xs
    eval  xs      dig = (read dig):xs
    

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://520986]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (9)
As of 2014-07-30 10:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (230 votes), past polls