i217 Functional Programming
Lecturer: OGATA, Kazuhiro (email: ogata at jaist dot ac dot
jp)
Term 2-1 (Oct 11 - Nov 30), 2023
Contents:
News
How to
tackle
Exam
Assignments
Class schedule (lecture notes)
A programming language Minila (used at 8th, 9th
& 10th classes)
links
News
- Oct 3: 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 lecturer finds any pieces of plagiarism in
submitted programs and/or reports, he 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.
- Oct 3:
NOTE that CafeOBJ System Version 1.5.7 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.
- Oct 3: This
website was open.
How to tackle
For each class, learn the
lecture note in advance, solve the exercises found in the lecture note, clarify
what you have not understood and attend the class. At the class, ask the
lecturer about what you have not understood to get better understandings of
them. After the class, solve the exercises you have not solved to confirm your
understandings. Solving the exercises is part of the assignments, and then you
are supposed to do so if you want to get the credits of the course. Programs
used in the course are not to be given intentionally but required to be typed by
each participant, which is part of the exercises. Please read this in
advance.
Exam
- 10:50-12:30 Dec 5,Tuesday
Assignment
Part of the exercises found in the lecture notes will be used as
the assignment problems. The lecturer will let you you wha will be used as the
assignment problems at classes.
Class schedule (lecture
notes)
9:00-10:40, Oc 12,
Thursday
1. Sorts, Operators, Terms and Equations (lecture note 1)
Submission deadline of HW1: Midnight of Oct
22 (JST)
13:30-15:10, Oc 12, Thursday
2. Modules, Order Sorts and
Lists of Natural Numbers (lecture
note 2)
Submission deadline of HW2: Midnight
of Oct 22 (JST)
10:50 - 12:30, Oct 24, Tuesday
3. Tern
Rewriting (lecture note
3)
Submission deadline of HW3: Midnigt of Oct 29
(JST)
9:00-10:40, Oct 26, Thursday
Tutorial Hour (for
lecture note 3)
13:30-15:10, Oct 26, Thursday --> 9:00-10:40, Oct 26, Thursday
4. Parametrized Modules
(lecture note 4)
Submission deadline of HW4: Midnight of Nov
5 (JST)
10:50-12:30, Oct 31, Tuesday --> 13:30-15:10, Oct
26, Thursday
5. Tables (lecture note 5)
Submission deadline of HW5: Midnight of Nov
5 (JST)
9:00-10:40, Nov 2, Thursday -->
10:50-12:30, Oct 31, Tuesday
6. Infinite Lists (lecture note 6)
Submission deadline of HW6: Midnight of Nov 12
(JST)
13:30-15:10, Nov 2, Thursday -->
9:00-10:40, Nov 2, Thursday
7. Multisets (lecture note 7)
Submission deadline of HW7: Midnight of Nov 12
(JST)
10:50-12:30, Nov 7, Tuesday -->
13:30-15:10, Nov 2, Thursday
8. A Programming Language Processor - Interpreter
(lecture note 8)
10:50-12:30, Nov 14, Tuesday --> 10:50-12:30, Nov
7, Tuesday
9. A Programming Language Processor - Virtual Machine (lecture note 9)
9:00-10:40, Nov 16,
Thursday --> 10:50-12:30, Nov 14, Tuesday -->
9:00-10:40, Nov 16, Thursday
10. A Programming Language Processor
- Compiler (lecture note
10)
Submission deadline of HW8, 9, and 10: Midnight
of Nov 26 (JST)
13:30-15:10, Nov 16, Thursday -->
9:00-10:40, Nov 16, Thursday --> 13:30-15:10, Nov 16,
Thursday
11. Program Verification - Natural Numbers (lecture note
11)
Submission deadline of HW11: Midnight
of Dec 3 (JST)
10:50-12:30, Nov 28, Wednesday -->
13:30-15:10, Nov 16, Thursday --> 10:50-12:30, Nov 28,
Tuesday
12. Pregram Verification - Lists (lecture note
12)
Submission deadline of HW12: Midnight
of Dec 3 (JST)
9:00-10:40, Nov 30, Thursday -->
10:50-12:30, Nov 28, Wednesday --> 9:00-10:40, Nov 30,
Thursday
13. Verification of Arithmetic Caclulator Compiler (lecture note 13)
Submission deadline of HW13: Midnight of Dec 3
(JST)
13:40-15:10, Nov 30, Thursday --> 9:00-10:40, Nov 30,
Thursday --> 13:30-15:10, Nov 30, Thursday
14. Proof Assistant
(lecture note 14)
Submission deadline of HW14: Midnight of Dec 3
(JST)
13:40-15:10, Nov 30, Thursday
Tutorial Hour (for
preparation of the Exam)
10:50-12:30 Dec 5,
ThursdayTuesday
Exam
A Programming Language Minila (used at 8th, 9th & 10th classes)
ast.cafe
misc.cafe
interpreter.cafe
vm.cafe
compiler.cafe
Links
CafeOBJ
Oct 25, 2023; Oct 3, 2023 by K. Ogata