PPLサマースクール2018
SML#コンパイラを使いこなす
 
日本ソフトウェア科学会 (JSSST) プログラミング論研究会 (PPL) 主催
日本ソフトウェア科学会第35回大会 併設企画
 
講師:上野 雄大(東北大学) 大堀 淳 (東北大学)
 
2018年8月28日(火) 10時〜17時(9時30分 受付開始)
大阪大学コンベンションセンター 会議室2
(〒565-0871 大阪府吹田市山田丘1-1)
 

ニュース

  • Webページを公開しました(7/19).

概要

SML#は,東北大学電気通信研究所で開発が進められている,日本発の新しい関数型プログラミング言語です.今日に続くSML#コンパイラの開発の歴史は2003年の文部科学省リーディングプロジェクトに始まり,多くの共同研究者,開発者,学生と共に途絶えることなく開発が推進され,現在でも,大堀淳氏と上野雄大氏の2名(ともに本セミナー講師)を中心に依然精力的に開発が進められています.今日では,SML#の名は,最新の研究成果を発信し続けるML系言語のひとつとして,世界的な関数型言語のコミュニティに知られています.

SML#の一般的な目標のひとつは,MLを,既存のシステムやソフトウェアコンポーネントと協調する,世界に開かれた言語にすることです.SML#が実現したレコード多相性や自然なデータ表現のMLへの採用は,データベースやシステムプログラミングの専門家が多くの人的資源を投入して開発した最先端のデータベースエンジンやC言語ライブラリを,ユーザーレベルでMLからシームレスに利用することを可能にしました.最近では,今日および将来のコンピューティング環境への更なる適用を視野に入れ,マルチコアCPU上のネイティブスレッドのサポートや,レコードの自然結合やJSONの型付き操作を実現する部分動的型付け機構の導入などを達成しています.

本セミナーでは,SML#コンパイラが,これらの特徴的な機能を駆使した実用プログラミング環境として,あるいは新たなプログラミング言語研究を展開する基盤として活用されることを目指して,SML#が達成した言語機能を実習形式で紹介します.さらに,SML#コンパイラの基礎理論,内部構造,および実装技術について解説し,SML#コンパイラのソースコードを探検します.セミナーでの体験をより有意義なものにするために,是非,LinuxかmacOSがセットアップされたノートパソコンをご持参ください.

受講にあたっては,λ計算や型システムなどについての学部程度の知識,および関数型言語や関数型プログラミング(特にSMLまたはOCamlプログラミング)の学部演習程度の経験を有していることが推奨されます.

講師紹介

上野 雄大(うえの かつひろ)

東北大学電気通信研究所准教授.博士(情報科学).プログラミング言語の実装技術および関数型言語によるソフトウェア開発方式に関する研究に従事.修士課程学生の頃にSML#コンパイラ開発プロジェクトに参加して以来継続してSML#コンパイラの開発に取り組んでいる.日本ソフトウェア科学会および情報処理学会各正会員.

大堀 淳 (おおほり あつし)

東北大学電気通信研究所教授.1957年生.1981年東京大学文学部哲学科卒.1989年ペンシルバニア大学計算機科学科博士課程修了.Ph.D.1981年より沖電気工業(株)(ソフトウェア技術者を経て特別研究室長),京都大学数理解析研究所(助教授),北陸先端科学技術大学院大学(教授),東北大学電気通信研究所(教授)にて,プログラミング言語およびデータベースの基礎研究に従事.基礎研究の傍ら,ML系高信頼言語開発プロジェクトを主導し,Machiavelli (1989,UPenn),SML# of Kansai (1993,沖電気),SML#(2003年文科省e-Societyプロジェクトの1テーマとして開発を開始,JAIST,東北大学)などの開発に従事.

プログラム

9:30 - 10:00受付
10:00 - 11:30第1部:SML#の概要と開発最前線
11:30 - 13:00昼休み
13:00 - 15:00第2部:SML#ハンズオンセミナー
15:00 - 15:30休憩
15:30 - 17:00第3部:SML#コンパイラの内部構造

第1部: SML#の概要と開発最前線(講師:大堀,上野)

導入として,SML#言語およびSML#コンパイラを紹介し,その歴史,基礎理論,特徴的機能,および将来展望について概観します.また,SML#の特徴的機能を実現する型主導コンパイル方式,部分動的レコード,ネイティブスレッドをサポートするメモリ管理技術など,最新の研究成果を紹介します.

第2部: SML#ハンズオンセミナー(講師:上野)

実習形式で,SML#のインストールおよびSML#プログラミングの実践を通じて,SML#の主要機能であるレコード多相性,Cとの連携,SQLの統合,スレッドプログラミング,分割コンパイル,動的型付け機構などの基本的な使い方や活用方法を解説します.(再帰関数の書き方など,関数型プログラミングの基礎については事前の予習をお願いします)

第3部: SML#コンパイラの内部構造(講師:上野)

SML#コンパイラを構成するコンパイルフェーズ群と中間表現を紹介しつつ,SML#コンパイラのソースコードを読み解きます.SML#コンパイラのモジュール構造や,SML#コンパイラを構成する23のコンパイルフェーズとその中間表現を概観し,SML#コンパイラへの新たな機能を追加する手順をデモ形式で紹介します.

参加費・参加申し込み

PPLサマースクールの参加費は以下の通りです.

学生会員1000円, 学生非会員2000円, 一般会員2000円, 一般非会員3000円

参加登録ページ(準備中)

受講者へのご連絡

  • 会場でのネット接続は eduroam が利用可能です.
  • LinuxがインストールされたノートPC,またはMac Bookをご持参ください.無くても受講は可能ですが,手元でSML#を使用できる環境で受講することをお勧めします.
  • セミナーではSML#のインストール方法から解説する予定です.事前にSML#をインストールすることは必須ではありませんが,もし可能ならばインストールしてきてください.

問い合わせ先

PPLサマースクール2018 幹事
番原 睦則(神戸大学)
E-mail: E-mail: banbara[at]kobe-u[dot]ac[dot]jp

過去のサマースクール