Here again is the example used in our lecture to show the difference between scoping with blocks and dynamic scoping; fun g x =   let     val inc = 1;     fun f y = y + inc;     fun h z =       let         val inc = 2;       in         f z       end;   in     h x   end;   Annotate it as follows: Draw a circle around every block, and number the blocks. Identify each definition of a name. For each definition, describe its scope in terms of your block numbers. For each occurrence of a name (other than a definition of that name), show which definition is used to bind it. Check that this agrees with your scopes.

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter6: Modularity Using Functions
Section6.5: Variable Scope
Problem 4E
icon
Related questions
Question

 

  1. (Chapter 10) Here again is the example used in our lecture to show the difference between scoping with blocks and dynamic scoping;

fun g x =
  let
    val inc = 1;
    fun f y = y + inc;
    fun h z =
      let
        val inc = 2;
      in
        f z
      end;
  in
    h x
  end;

 

Annotate it as follows:

  1. Draw a circle around every block, and number the blocks.
  2. Identify each definition of a name.
  3. For each definition, describe its scope in terms of your block numbers.
  4. For each occurrence of a name (other than a definition of that name), show which definition is used to bind it. Check that this agrees with your scopes.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Algebraic Expression
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr