CS 421 — Programming Languages

        • April 1st, 2025
        • April 3rd, 2025
        • April 6th, 2025
        • April 8th, 2025
        • April 10th, 2025
        • April 15th, 2025
        • April 17th, 2025
        • April 22nd, 2025
        • April 24th, 2025
        • April 29th, 2025
        • February 4th, 2025
        • February 6th, 2025
        • February 11th, 2025
        • February 13th, 2025
        • February 18th, 2025
        • February 20th, 2025
        • February 22nd, 2025
        • February 25th, 2025
        • February 26th, 2025
        • February 27th, 2025
        • January 21st, 2025
        • January 23rd, 2025
        • January 28th, 2025
        • January 30th, 2025
        • March 2nd, 2025
        • March 4th, 2025
        • March 6th, 2025
        • March 11th, 2025
        • March 13th, 2025
        • March 18th, 2025
        • March 20th, 2025
        • March 25th, 2025
        • March 27th, 2025
        • May 1st, 2025
        • May 4th, 2025
        • Chicago City Scholars
        • Communication
        • Creating Your Github Repository
        • Exam Schedule
        • Grad Student Project
        • How to Succeed in this Course
        • Lecture Schedule
        • Office Hours Schedule
        • Syllabus
        • Your GitHub Repository
        • Final Exam
        • Midterm 1
        • Midterm 2
        • Midterm 3
        • Algebraic Data Types Lecture
        • Big-Step Semantics Lecture
        • Combinator Parsing Lecture
        • Continuation Passing Style Lecture
        • Course Introduction
        • Grammars Lecture
        • Higher Order Functions Lecture
        • Hoare Semantics Lecture
        • Interpreters I Lecture
        • Interpreters II Lecture
        • Lambda Calculus Lecture
        • LL Parsing Lecture
        • Loop Invariants Lecture
        • LR Parsing Lecture
        • Macros Lecture
        • Monads Lecture
        • Monotype Semantics Lecture
        • Polytype Semantics Lecture
        • Prolog Applications Lecture
        • Prolog Lecture
        • Prolog's Cut Operator Lecture
        • Recursion Lecture
        • Regular Languages Lecture
        • Small Step Semantics Lecture
        • State Monad Lecture
        • Type Classes Lecture
        • Unification Lecture
        • Variables Lecture
        • Allison Ye
        • Cody Rivera
        • Helen Ilkiu
        • Krushank Bayyapu
        • Maanav Agrawal
        • Mattox Beckman
        • Paul Krogmeier
        • Shams Alshabani
        • Uche Uche-Ike
        • Edsger W. Dijstra
        • Pairs
        • The Applicative Type Class
        • The Functor Type Class
        • Basic Recursion
        • Big Step Semantics
        • Church Numerals
        • Closures
        • Combinator Parsing
        • Continuation Passing Style
        • Dynamic Prolog
        • Evaluation Order
        • FIRST Sets
        • Fixing Non-LL Grammars
        • FOLLOW Sets
        • Functors and Applicative
        • Hoare Semantics
        • Induction
        • Interpreters 1
        • Interpreters 2
        • Introduction to Grammars
        • Introduction to Higher Order Functions
        • Introduction to Semantics
        • Lambda Calculus
        • Lambda Calculus Examples
        • LL Parsing
        • Loop Invariants
        • LR Parsing
        • Macros
        • Map and Foldr
        • Monads
        • Monotype Semantics
        • Objects
        • Parameters
        • Polytype Semantics
        • Product Types
        • Prolog
        • Prolog's Cut Operator
        • Regular Languages
        • Right Linear Grammars
        • Shift Reduce Conflicts
        • Small Step Semantics
        • State
        • State Monad
        • State Monad Example
        • Subclasses and Subtyping
        • Sum Types, Part 1
        • Sum Types, Part 2
        • Tail Recursion
        • The Church-Rosser Property
        • The CPS Transform
        • The Y-Combinator
        • Type Classes
        • Unification
        • Variables
    Home

    ❯

    Lectures

    ❯

    Prolog Lecture

    Prolog Lecture

    May 07, 20251 min read

    • lecture

    Date:: April 15th, 2025

    Synopsis

    One of the strangest languages we will see in this course is Prolog. It is incredibly useful for solving certain kinds of problems, so you should be familiar with it in case you meet such problems in the future.

    Videos

    • Prolog

    Handouts

    • Prolog Activity (POGIL version, pre-pandimic)

    Interactive Shells

    • Prolog Activity q1
    • Prolog Activity q2

    Graph View

    • Synopsis
    • Videos
    • Handouts
    • Interactive Shells

    Backlinks

    • Lecture Schedule

    Created with Quartz v4.4.0 © 2025

    • GitHub
    • Discord Community