Description

This note set covers the full subject of COMP30020 – Declarative Programming for the 2022 Semester 2 Curriculum, including all covered concepts. The content of these notes were derived from the textbook, lecture notes, lecture recordings, workshop/tutorial content and examples. These notes include: - Multiple diagrams, tables and highlighted equations that are all clearly set out - Clear and in-depth examples for concepts and table of commonly used functions - Summary tables that compare concepts taught - Clear separation and format of concepts into topics and sections - Hyperlinked bookmarks of sections that can be easily navigated if opened with a PDF reader software The main topics covered include (but are not limited to): - Logic programming introduction (incl. Prolog basics, operations, negation, data-log, lists, predicates etc.) - Logic and resolution (incl. interpretations, semantics, resolution, backtracking & indexing etc.) - Debugging and recursion (incl. Prolog debugger, spypoints, documentation practices, choicepoints, tail recursion etc.) - Higher order programming and impurity (incl. homoiconicity, higher order predicates, input/output etc.) - Constraint programming (Herbrand, finite domain, and linear inequality constraints) - Functional programming & Haskell (incl. Haskell introduction & syntax, lists, imports, recursion etc.) - Types & data structures (incl. Haskell type system, polymorphism, 'Maybe' type and functors, discriminated union types, binary search trees etc.) - Higher order functions (incl. partial application, composition, folds, list comprehensions etc.) - Input/output (incl. Monads, IO actions, state Monad etc.) - Laziness & performance (incl. evaluation orders, applications, suspension, memory efficiency, cords, optimizations etc.) - Foreign language interfacing (binary decision diagram, interfacing Haskell to C and to Prolog etc.) - Parsing (incl. grammars, Definite Clause Grammars, recursive descent parsing, handling terminals etc.) These notes helped me obtain an H1 in COMP30020: Declarative Programming. They are perfect for both cramming and continuous study throughout the subject. The topics are covered in mostly the same order as they are covered in lectures, and is succinct and compact. All information included is relevant and important for the exam.


UniMelb

Semester 2, 2022


104 pages

17,857 words

$29.00

2

Add to cart