Leftmost outermost Reduction (Haskell) -


i got task use leftmost outermost reduction on following expression:

f inc expo 9 (f (*2) expo 3 1) 

inc defined as:

 inc :: int -> int  inc x = x+1 

expo defined as:

expo :: int -> int expo x = expo (x*2) 

and f as:

f :: (int->int) -> (int-> int) -> int -> int -> int f g h b = g(a-b) 

i have absolutely no clue start reduction more functions. read hint redex not contained in other redexes, dont ;(.

i appreciate every tip/help.

the first (leftmost, outermost) reduction for

f inc expo 9 (f (*2) expo 3 1) 

is apply definition of f, once, f g h b = g(a-b) use g inc, a 9 , b (f (*2) expo 3 1), giving

inc(9 - (f (*2) expo 3 1)) 

now we're done question asked. that's leftmost, outermost reduction made. notice didn't need use facts other functions, hint getting at.


Comments

Popular posts from this blog

html - Sizing a high-res image (~8MB) to display entirely in a small div (circular, diameter 100px) -

java - IntelliJ - No such instance method -

identifier - Is it possible for an html5 document to have two ids? -