[racket] missing solution 20.1.1 ex:sem-funcs

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Sep 12 17:43:46 EDT 2014

On Sep 12, 2014, at 4:40 PM, Daniel Bastos <dbastos at toledo.com> wrote:

> Again, we start with (2) and apply a series of substitutions.
> 
>     (f f)
>   = (<var> <var>) ;; since f is a <var>
>   = (<exp> <exp>) ;; since <var> is a subset of <exp>
> 
> However, (<exp> <exp>) is not by definition a value. It is an 
> expression which may or may not /have/ a value. We know the 
> definition of f, however, which tells us that it behaves like
> the identity function. So the evaluation of that (<exp> <exp>)
> yields a function, which is a value. We end with 
> 
>   = <val>
> 
> Therefore (2) is a value

Is there a difference between the statements 

 "Daniel is a hat."

and 

 "Daniel has a hat."

or do they really mean the same thing? 

In this spirit, is there a difference between the statement 

 "(f f) is a value." 

and 

 "(f f) has a value." 

or do they really mean the same thing? 

-- Matthias




Posted on the users mailing list.