Download presentation

Presentation is loading. Please wait.

Published byEric Page Modified over 2 years ago

1
CS4026 Formal Models of Computation Running Haskell Programs – power

2
formal models of computation 2 How functional programs work… We have seen simple programs such as Lets now see how they are executed Given the program above, we get the following: But how? power x 0 = 1 power x (n+1) = x * (power x n) power 2 3 8

3
formal models of computation 3 How functional programs work… Execution: power 2 3 power x 0 = 1 power x (n+1) = x * (power x n)

4
formal models of computation 4 How functional programs work… Execution: power 2 3 power x 0 = 1 power x (n+1) = x * (power x n) 3 matches (n+1), assigning 2 to n

5
formal models of computation 5 How functional programs work… Execution: power * (power 2 2) power x 0 = 1 power x (n+1) = x * (power x n)

6
formal models of computation 6 How functional programs work… Execution: power * (power 2 2) power x 0 = 1 power x (n+1) = x * (power x n)

7
formal models of computation 7 How functional programs work… Execution: power * (power 2 2) power x 0 = 1 power x (n+1) = x * (power x n) 2 matches (n+1), assigning 1 to n

8
formal models of computation 8 How functional programs work… Execution: power * (2 * (power 2 1)) power x 0 = 1 power x (n+1) = x * (power x n)

9
formal models of computation 9 How functional programs work… Execution: power * (2 * (power 2 1)) power x 0 = 1 power x (n+1) = x * (power x n)

10
formal models of computation 10 How functional programs work… Execution: power * (2 * (power 2 1)) power x 0 = 1 power x (n+1) = x * (power x n) 1 matches (n+1), assigning 0 to n

11
formal models of computation 11 How functional programs work… Execution: power * (2 * (2 * (power 2 0))) power x 0 = 1 power x (n+1) = x * (power x n)

12
formal models of computation 12 How functional programs work… Execution: power * (2 * (2 * (power 2 0))) power x 0 = 1 power x (n+1) = x * (power x n)

13
formal models of computation 13 How functional programs work… Execution: power * (2 * (2 * (power 2 0))) power x 0 = 1 power x (n+1) = x * (power x n)

14
formal models of computation 14 How functional programs work… Execution: power * (2 * (2 * (1))) power x 0 = 1 power x (n+1) = x * (power x n)

15
formal models of computation 15 How functional programs work… Execution: power power x 0 = 1 power x (n+1) = x * (power x n)

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google