Содержание
- 2. Intro to SML Functional programming language Compile-time type-checking polymorphic type inference Automatic storage management for data
- 3. Intro to SML Functional programming language Compile-time type-checking polymorphic type inference Automatic storage management for data
- 4. Functional Computation by evaluation of expressions, rather than execution of commands.
- 5. Syntax val foo = fn : int * int -> int foo :: int -> int
- 6. Syntax (* comment *) --comment SML Haskell
- 7. Syntax SML Haskell
- 8. Intro to SML Functional programming language Compile-time type-checking polymorphic type inference Automatic storage management for data
- 9. Intro to SML Functional programming language Compile-time type-checking polymorphic type inference Automatic storage management for data
- 10. Type-Checking No implicit conversions between types. Example: Real(3) + 3.14 ACCEPTED 3 + 3.14 REJECTED
- 11. Intro to SML Functional programming language Compile-time type-checking polymorphic type inference Automatic storage management for data
- 12. Intro to SML Functional programming language Compile-time type-checking polymorphic type inference Automatic storage management for data
- 13. Intro to SML Destructive update val vacc = fn : Cat -> Cat signature ARRAY =
- 14. Intro to SML Destructive update signature ARRAY = sig type 'a array (An 'a array is
- 15. SML vs. Haskell Pattern matching Hindley-Milner Type Inference Parametric Polymorphism Ad-Hoc Polymorphism Monads Syntactic Sugar Use
- 16. Modules Modules - Structures Queue enqueue dequeue isEmpty getSize getFront
- 17. Intro to SML Modules - Functors functor PQUEUE(type Item val > : Item * Item ->
- 18. SML vs. Haskell Pattern matching Hindley-Milner Type Inference Parametric Polymorphism Ad-Hoc Polymorphism Monads Syntactic Sugar Use
- 19. SML vs. Haskell Lazy infinite data types thunks
- 20. SML vs. Haskell SML Not functionally pure Eager/Strict Less ‘user friendly’ Interactive Interpreter Haskell Functionally pure
- 21. SML vs. Haskell Haskell - more mindful of modern software development practices, and less 'theoretically pure'
- 22. Thank You!
- 23. Infinite Lists Unique to Haskell: inf = 1 : map (+1) inf [1,2,3,4,5,…] ones = 1
- 25. Скачать презентацию