, Everyone, please use this to post items to help study for the
quiz Inductive Proofs
Program as Data
Lambda expressions :
Expressions as disjoint
unions are
Lazy evaluation
In programming language theory, lazy evaluation (call-by-need) is an
evaluation strategy which delays the evaluation of an expression until it
is needed and avoids the use of repeated evaluations.
Implementation: Can be used with streams. If tail is called several times,
the corresponding stream will be recomputed each time. This can be
solved by storing the result of the first evaluation of tail and reusing the
stored result instead of recomputing tail.
(* This is the
filter function
we wrote in
class.
It differs a bit from the one in the file "streams.ml".
*)
let rec filter (f: 'a -> bool) (s: 'a stream) : 'a
stream = match s with
| Cons (h, t) -> if f h then Cons (h, (fun () -> filter f (t
()))) else filter f (t ())
Most programming languages use eager evaluation (call-by-value).
Eager evaluation evaluates function arguments before calling
calling the function.
There are three evaluation strategies: call-by-value semantics, or eager
evaluation, call-by-name semantics, and lazy evaluation. We treat clauses in
function definitions as rewrite rules. The left hand sides are the patterns
that are searched for and the right hand sides replace the matched
pattern.
This study source was downloaded by 100000888893651 from CourseHero.com on 10-18-2024 16:54:51 GMT -05:00
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller YourAssignmentHandlers01. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $14.99. You're not tied to anything after your purchase.