i217e Functional Programming 

Lecturer: OGATA, Kazuhiro (email: ogata at jaist dot ac dot jp) and DO, Canh Minh (email: canhdo at jaist dot ac dot jp)
Oct 13 - Dec 02, 2026 @ IS Lecture Hall

Contents:
News
How to tackle
Exam
Assignments
Class schedule (lecture notes)
A programming language Minila (used at 8th, 9th & 10th classes)
Links


News

- Sep 29; The schedule has been changed.
- Sep 25: Please write
Ishikawa i217e HW1 in the subject when submitting your report and programs to ogata by email for the 1st assignment. Please do the same for the other assignments.
- Sep 25: NO PLAGIARISM. Plagiarism is strongly prohibited. Do not plagiarize any pieces of programs and/or reports written by others, and do no let others plagiarize any pieces of programs and/or reports written by you. If the lecturers find any pieces of  plagiarism in submitted programs and/or reports, they will formally process the plagiarism. The students who have been involved in the plagiarism will never succeed in taking the credits of the course and moreover may be seriously punished.
- Sep 25: NOTE that CafeOBJ System Version 1.5.9 is used in this course. Please download it from
here and install it on your laptop. Please consult here on how to install CafeOBJ. Please bring your computer with you at each class.
- Sep 25
: This website was open.

How to tackle

Before each class, review the lecture notes in advance, solve Problem 1 of the included exercises, note down anything you do not understand, and then attend the class. During class, ask the lecturer about those unclear points to deepen your understanding. Afterward, review your answers for Problem 1 to confirm what you have learned. Completing designated exercises, such as Problem 1, is part of the assignments and is required to earn credits for the course. Please note that the programs used in the course will intentionally not be provided; each participant must type them out as part of the exercises..



Exam

-  10:50 - 12:30, Dec 01, Tuesday


Assignment

Part of the exercises found in the lecture notes are the assignment problems. The details, such as the submission deadine, will be described at classes.


Class schedule (lecture notes)

10:50 - 12:30, Oct 13, Tuesday
1. Sorts, Operators, Terms and Equations (
lecture note 1)
Submission deadline of HW1: 18:00 of Oct 20 (JST)

9:00 - 10:40, Oct 15, Thursday
2. Modules, Order Sorts and Lists of Natural Numbers (
lecture note 2)
Submission deadline of HW2: 18:00 of Oct 22 (JST)

13:30 - 15:10, Oct 15, Thursday
3. Term Rewriting (
lecture note 3)
Submission deadline of HW3: 18:00 of Oct 27 (JST)

10:50 - 12:30, Oct 20, Tuesday
Tutorial Hour (for lecture note 3)

9:00 - 10:40, Oct 22, Thursday
4. Parametrized Modules (
lecture note 4)
Submission deadline of HW4: 18:00 of Oct 29 (JST)

13:30 - 15:10, Oct 22, Thursday
5. Tables (
lecture note 5) 
Submission deadline of HW5: 18:00 of Nov 4 (JST)

10:50 - 12:30, Oct 27, Thursday
6. Infinite Lists (
lecture note 6)
Submission deadline of HW6: 18:00 of Nov 6 (JST)

9:00 - 10:40, Nov 5, Thursday
7. Multisets (
lecture note 7)
Submission deadline of HW7: 18:00 of Nov 12 (JST)

10:50 - 12:30, Nov 10, Tuesday
8. A Programming Language Processor - Interpreter (
lecture note 8)

9:00 - 10:40, Nov 12, Thursday
9. A Programming Language Processor - Virtual Machine (
lecture note 9)

13:30 - 15:10, Nov 12, Thursday
10. A Programming Language Processor - Compiler (
lecture note 10)
Submission deadline of HW8, 9, and 10: 18:00 of Nov 19 (JST)

10:50 - 12:30, Nov 17, Tuesday
11. Program Verification - Natural Numbers (
lecture note 11)
Submission deadline of HW11: 18:00 of Nov 24 (JST)

9:00 - 10:40, Nov 19, Thursday
12. Pregram Verification - Lists (
lecture note 12)
Submission deadline of HW12: 18:00 of Nov 26 (JST)

10:50 - 12:30, Nov 24, Tuesday
13. Verification of Arithmetic Caclulator Compiler (
lecture note 13)
Submission deadline of HW13: 18:00 of Dec 4 (JST)

9:00 - 10:40, Nov 26, Thursday
14. Proof Assistant (
lecture note 14)
Submission deadline of HW14: 18:00 of Dec 4(JST)

13:30 - 15:10, Nov 26, Thursday
Tutorial Hour (for Exam)

10:50 - 12:30, Dec 01, Tuesday
Exam


A Programming Language Minila (used at 8th, 9th & 10th classes)

ast.cafe
misc.cafe
interpreter.cafe
vm.cafe
compiler.cafe


Links

CafeOBJ


Sep 29, Sep 25, 2026 by K. Ogata