PPT-CSE341: Programming Languages

Author : mitsue-stanley | Published Date : 2016-06-05

Structs Implementing Languages Implementing HigherOrder Functions Alan Borning slides borrowed from Dan Grossman Fall 2012 An aside Parenthesis bias If you look

Presentation Embed Code

Download Presentation

Download Presentation The PPT/PDF document "CSE341: Programming Languages" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

CSE341: Programming Languages: Transcript


Structs Implementing Languages Implementing HigherOrder Functions Alan Borning slides borrowed from Dan Grossman Fall 2012 An aside Parenthesis bias If you look at the HTML for a web page it takes the same approach. Lecture 11. Closures-. ish. Java & . C. Dan Grossman. Fall 2011. Higher-order programming. Higher-order programming, e.g., with . map. and . filter. , is great. Language support for closures makes it very pleasant. Lecture 12. Modules. Dan Grossman. Fall 2011. Modules. For larger programs, one “top-level” sequence of bindings is poor. Especially because a binding can use . all. earlier (non-shadowed) bindings. Lecture 27. Generics vs. Subtyping; Bounded Polymorphism. Dan Grossman. Fall 2011. Today. Compare . generics and . subtyping. What each is good for. Combine generics and subtyping to get even more . benefit. Lecture 18. Static vs. Dynamic Typing. Dan Grossman. Fall 2011. Static vs. dynamic typing. A big, juicy, essential, topic about how to think about PLs. Conversation usually overrun with half-informed opinions . CS 170b. Benjamin Gaska, much help from William Mitchell. What is a programming language. A simple definition:. A system for describing computation.. It is generally agreed that in order for a language to be . Lecture 25. Subtyping for OOP;. Comparing/Combining Generics and Subtyping . Dan Grossman. Winter 2013. Now…. Use what we learned about subtyping for records and functions to understand subtyping for class-based OOP. Lecture 14. Thunks. , Laziness, Streams, . Memoization. Dan Grossman. Spring . 2017. Delayed evaluation. For each language construct, the semantics specifies when . subexpressions. get evaluated. In ML, Racket, Java, C:. Lecture 24. Subtyping . Dan Grossman. Autumn . 2018. Last major topic: Subtyping. Build up key ideas from first principles. In . pseudocode. because:. No time for another language. Simpler . to first show subtyping without objects. Lecture 19. Introduction to Ruby and OOP. Dan Grossman. Autumn . 2018. Ruby logistics. Next two sections use the Ruby language. http://. www.ruby-lang.org/. Installation / basic usage instructions on course website. Lecture 12. Equivalence. Dan Grossman. Autumn 2018. Last Topic of Unit. More careful look at what “two pieces of code are . equivalent. ” means. Fundamental software-engineering idea. Made easier with . Lecture 7. First-Class Functions. Dan Grossman. Spring 2019. What is functional programming?. “. Functional programming. ” can mean a few different things:. Avoiding mutation in most/all cases (done and ongoing). Lecture . 6. Nested Patterns. Exceptions. Tail Recursion. Dan Grossman. Spring . 2013. Nested patterns. We can nest patterns as deep as we want. Just like we can nest expressions as deep as we want. Often avoids hard-to-read, wordy nested case expressions. Lecture . 22. OOP . vs. Functional Decomposition; Adding Operators & Variants; . Double-Dispatch . Dan Grossman. Winter 2013. Breaking things down. In functional (and procedural) programming, break programs down into . Lecture 9. Function-Closure Idioms. Dan Grossman. Fall 2011. More idioms. We know the rule for lexical scope and function closures. Now what is it good for. A partial but wide-ranging list:. Pass functions with private data to iterators: Done.

Download Document

Here is the link to download the presentation.
"CSE341: Programming Languages"The content belongs to its owner. You may download and print it for personal use, without modification, and keep all copyright notices. By downloading, you agree to these terms.

Related Documents