* [[pp:team | Team ]] * [[pp:rules | Rules ]] * [[pp:plagiarism | Plagiarism]] * [[pp:reading | Useful resources]] * [[pp:examen2022 | Examen 2022]] * [[pp:project2021 | Project]] --> Functional Programming# * Resurse * [[pp:haskell-environment | Haskell Environment]] * [[pp:hoogle | Ghid de utilizare Hoogle]] * [[https://drive.google.com/file/d/1n6_OGQzsFin35DBabWFnbIUyv66cR68B/view | Haskell Cheatsheet]] * [[pp:scala-environment | Scala Environment]] * [[https://docs.scala-lang.org/cheatsheets/ | Scala Cheatsheet]] * Lectures * [[pp:lecture01 | C01: Haskell Introduction]] * [[pp:lecture03 | C03: Higher-order functions]] * [[pp:lecture05 | C05: Applications]] * [[pp:lecture07 | C07: Algebraic datatypes]] * [[pp:lecture08 | C08: Typeclasses]] * [[pp:lecture09 | C09: Type constructors]] * [[pp:lecture12 | C12: Lazy evaluation]] * [[pp:lecture13 | C13: Lazy dynamic programming]] * [[pp:lecture15 | C15: Introduction to Scala]] * [[pp:lecture16 | C16: Case classes]] * [[pp:lecture17 | C17: Generics]] * [[pp:lecture18 | C18: Scala Hacks]] /* * [[pp:intro | C01: Introduction ]] * [[pp:rec | C02: Side-effects and recursive functions ]] * [[pp:high| C03: Higher-order functions]] * [[pp:types | C04: Types in functional programming]] * [[pp:adt | C05: Abstract datatypes]] * [[pp:polymorphism | C06: Polymorphism in functional languages]] * [[pp:c06 | C06: Parameter passing in Programming Languages]] * [[pp:c07 | C07: Lazy evaluation in Haskell]] * [[pp:lambda | C08: The Lambda Calculus]] */ * Labs * [[pp:syntax | Crash-course into Haskell's syntax]] * [[pp:l01 | L01: Introduction to Haskell]] * [[pp:l02 | L02: Pattern matching, lists, strings and tuples]] * [[pp:l03 | L03: Higher-order functions]] * [[pp:l04 | L04: Working with matrices and images]] * [[pp:l04x | L05: Abstract datatypes]] * [[pp:class | L06: Classes]] * [[pp:functors | L07: Functors, Foldables]] * [[pp:lazylab | L08: Lazy evaluation]] * [[pp:scalalab1 | L09: Scala syntax, function definition and higher-order functions]] * [[pp:scalalab2 | L10: List and Datatypes and Functional data representation]] * [[pp:scalalab3 | L11: Polymorphism and For expressions in Scala]] <-- --> Logic programming# * Lectures * [[pp:c08 | C09: Introduction to Prolog]] * [[pp:c09 | C10: Clauses, unification, cut, negation]] * Labs * [[pp:l10 | L10: Introduction to prolog]] * [[pp:l112021 | L11: Prolog programming]] * [[pp:l11 | L11 (under revision): Writing generative predicates]] * [[pp:l12 | L12 (under revision): Programming with cuts and not]] * [[pp:lplcut | (under revision) L10: Prolog: Cuts]] * [[pp:lplprobs | (under revision) L11: Prolog: Logic problems]] <--