1M984000

Programming languages and computational models

Programming languages and computational models

開講部

大学院理工学研究科 修士課程

開講学科

電気電子情報工学専攻

開講学年

1年次

開講時期

後期

単位数

2

単位区分

特修

系列区分

特論

講義区分

講義
教授相場亮この授業の2010年度のアンケートを参照

科目英語名称

Programming languages and computational models

授業内容

As a computational model of functional programming languages, the lambda calculus is introduced in the class, mainly focused in its syntactic part. Besides, a mechanism to evaluate lambda terms called SECD machine, and another computational model for functional programming languages called combinatory logic are also described.

授業計画

1.What is computational model?
2.Overview of Turing Machine, Primitive Recursive Functions, the lambda calculus, and Definition of lambda terms
3.Bound occurrences and free occurrences of variables: Substitution: Beta reduction, and Beta normal forms
4.Normal forms and Reduction Strategies
5.Confluency of reductions and Church-Rosser Theorem (1)
6.Confluency of reductions and Church-Rosser Theorem (2)
7.Church’s numerals and computability (1)
8.Church’s numerals and computability (2)
9.Mechanical evaluation of lambda terms – SECD machine (1)
10.Mechanical evaluation of lambda terms – SECR machine (2)
11.Combinatory Logic – Functions without variables
12.Conversion from lambda terms to combinators
13.Reduction Machines
14.Brief introduction to semantics of the lambda calculus

評価方法と基準

Based on reports

教科書・参考書

No text is specified

環境との関連

環境に関連しない科目

最終更新 : Fri Jul 01 07:25:16 JST 2011