2018秋学期 火曜日3限 科目コード: C2074 / 2 単位 カテゴリ: 先端科目 — 環境情報系 場所: SFC ε11 授業携帯: 講義・演習 授業担当: 萩野 達也 E-mail: hagino@sfc.keio.ac.jp 概要 C言語やJavaなどほとんどのプログラミング言語は手続き型プログラミング言語であるが, この授業では手続き型とは全く異なった考え方を持って作られている関数型プログラミング言語について学ぶ. 関数型プログラミング言語では,関数を組み合わせることでプログラムを書き, 関数を評価することで計算を行う. 関数自身を値と考えて取り扱うこともでき, 複雑な処理を高階関数を使うことで簡単に書くことができる. 授業計画 第1回 (09/25) Haskellの概要 配布資料 (PDF) 第2回 (10/02) Haskellの基礎(1) 関数とリスト 配布資料 (P
Kenny Foner and I have a paper accepted to ICFP on subtracting bijections. Here’s the basic problem: suppose you have a bijection between two sum types, , and another bijection . Of course and must have the same size, but can you construct an actual bijection between and ? This problem and its solution has been well-studied in the context of combinatorics; we were wondering what additional insight
I spent 2017 as a research intern working at the systems group, ETH Zurich. I worked on Polly, a loop optimizer for LLVM, so this had me read a bunch of compiler related papers. I also started implementing simplexhc, a STG to LLVM compiler. STG is the Glasgow Haskell compiler’s internal representation for Haskell. This had me reading a bunch of lazy compiler papers! I decided to make a list of pap
Functional pearls are elegant, instructive examples of functional programming. They are supposed to be fun, and they teach important programming techniques and fundamental design principles. They traditionally appear in The Journal of Functional Programming and and at ICFP and affiliated workshops. History The history of functional pearls is covered by: How to Write a Functional Pearl Richard Bird
Functional Programming with Structured Graphs Bruno C. d. S. Oliveira National University of Singapore oliveira@comp.nus.edu.sg William R. Cook University of Texas, Austin wcook@cs.utexas.edu Abstract This paper presents a new functional programming model for graph structures called structured graphs. Structured graphs extend con- ventional algebraic datatypes with explicit definition and manip- u
1 2 1 3 2 4 2 5 6 7 8 9 10 11 12 Haskell 13 14 Haskell 15 16 ( ) 17 ) 30 18 static 19 (IORef) 20 21 OK NG 22 Haskell (+) :: Num a => a -> a -> a sort :: Ord a => [a] -> [a] delete :: Eq a => a -> [a] -> [a] hGetLine :: Handle -> IO String writeFile :: FilePath -> String -> IO () writeIORef :: IORef a -> a -> IO () IO IO 23 24 1) Ruby 25 1) Haskell 26 2) > split " foo bar baz " ["foo","bar","baz"]
カリー=ハワード同型(Curry-Howard isomorphism)は数学の一見無関係に思えるふたつの領域、型理論と構造論理を結びつける実に驚くべき関係である。 これよりカリー=ハワード同型は単に C-H と表記する。C-H が示しているのは、定理の本質を反映するような型を構築し、それからその型を持つ値を見つけさえすれば、どんな数学的定理をも証明することができる、ということだ。これは最初は極めて不思議に思える。型と定理にどんな関係があるというのだろうか?しかしながら、以下に述べるように、このふたつは非常に近しい関係にあるのである。はじめる前に簡単に注意しておくが、導入の章では error や undefinedのような 表示的意味論 が ⊥ である式の存在は無視する。これらはとても重要な役割を果たすのだが、これらについては後ほど別に考えることにする。また、unsafeCoerce#のよ
お知らせ † 2011/02/07: 期末試験(参考書の持ち込み可) 2011/01/17: 休講 2010/12/20: 中間レポートの提出の締切(課題は第4章のスライドの最後にあります。参考用のHaskellソース:Calendar.hs ) 2010/11/29: 休講 2010/10/04: 講義開始 ↑ 教科書 † 武市正人訳,「関数プログラミング」, 近代科学社, 1994年. ISBN4-7649-0181-1、定価 4,500円.(R. Bird and P. Wadler, Introduction to Functional Programming, Prentice Hall, 1988) ↑ 講義資料 † 第1章 (2010/10/04) 講義概要・関数プログラミングの基本概念 ( intro_101004.pdf ) 第2章 (2010/10/18, 25)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く