Copyright c 2006 Zhenjiang Hu, All Right Reserved.

Size: px
Start display at page:

Download "Copyright c 2006 Zhenjiang Hu, All Right Reserved."

Transcription

1 Copyright c 2006 Zhenjiang Hu, All Right Reserved.

2 2 ( )

3 3 (T 1, T 2 ) T 1 T 2 (17.3, 3) :: (Float, Int) (3, 6) :: (Int, Int) (True, (+)) :: (Bool, Int Int Int)

4 4 (, ) (, ) :: a b (a, b) (,) x y = (x, y) fst, snd: fst :: (a, b) a fst (x, y) = x snd :: (a, b) b snd (x, y) = y

5 5 (T 1,..., T n ) 1 T 1 n T n (17.3, 3, True) :: (Float, Int, Bool) (3, 6, 7, 8, 9) :: (Int, Int, Int, Int, Int)

6 6 n (,..., ) (,..., ) :: a 1 a n (a 1,..., a n ) (,..., ) x 1 x n = (x 1,..., x n ) sel n i : sel n i sel n i :: (a 1,..., a i,..., a n ) a i (x 1,..., x i,..., x n ) = x i

7 7 ax 2 + bx + c = 0 (a, b, c) (r 1, r 2 ) roots :: (Float, Float, Float) (Float, Float) roots (a, b, c) d 0 = (r 1, r 2 ) where r 1 = ( b + r)/(2 a) r 2 = ( b r)/(2 a) r = sqrt d d = b 2 4 a c

8 8 x/y (x, y) norm (8, 6) (4, 3) norm :: (Int, Int) (Int, Int) norm (x, y) y 0 = (div u d, div v d) where u = (sign y) x v = abs y d = gcd (abs u) v

9 9 radd :: (Int, Int) (Int, Int) (Int, Int) radd (x, y) (u, v) = norm (x v + u y, y v) rsub :: (Int, Int) (Int, Int) (Int, Int) rsub (x, y) (u, v) = norm (x v u y, y v) rmul :: (Int, Int) (Int, Int) (Int, Int) rmul (x, y) (u, v) = norm (x u, y v) rdiv :: (Int, Int) (Int, Int) (Int, Int) rdiv (x, y) (u, v) = norm (x v, y u)

10 10 requals :: (Int, Int) (Int, Int) Bool requals (x, y) (u, v) = x v == y u rless :: (Int, Int) (Int, Int) Bool rless (x, y) (u, v) = x v < y u rgreater :: (Int, Int) (Int, Int) Bool rgreater (x, y) (u, v) = x v > y u

11 11 showrat :: (Int, Int) String showrat (x, y) = let (u, v) = norm (x, y) in if v == 1 then show u else show u ++ / ++ show v

12 12 ( ) +,,, /, square, ( ), ord, until,... : d dx ::

13 13 ( ): ( ) :: (β γ) (α β) (α γ) (f g) x = f (g x) (f g) h = f (g h)

14 14 equality f = g iff x.f x = g x.

15 15 f :: A B A x g (f x) = x g f f 1 f :: Int (Int, Int) f x = (sign x, abs x) f 1 :: (Int, int) Int f 1 (s, a) = s a

16 16 f = f (strict function) square(1/0) = three :: Int Int three x = 3 three (1/0) = 3

17 17 [α] α [1, 2, 3] :: [Int] [ h, e, l, l, o ] :: [Char] [[1, 2], [3]] :: [[Int]] [(+), ( )] :: [Int Int Int] [ ] :: [a] [1, fine day ]

18 18 [α] 1. [ ] [α] [ ] [α]. 2. x [α] a α a : x [α] 3. [α] a 0 : (a 1 : ( (a n 1 : [ ]))) [a 0, a 1,..., a n 1 ]

19 19 [ ] : [ ] :: [α] (:) : (:) :: α [α] [α]

20 20 head :: [α] α head (a : x) = a tail :: [α] [α] tail (a : x) = x

21 21 null :: [α] Bool null [ ] = True null (a : x) = False

22 22 length :: [a] Int length [ ] = 0 length (a : x) = 1 + length x length [1, 2, 4, 3, 3] 5

23 23 sum :: Num a [a] a sum [ ] = 0 sum (a : x) = a + sum x sum [1, 2, 3, 4, 5] 15

24 24 ( + ) :: [a] [a] [a] ( + ) [ ] y = y ( + ) (a : x) y = a : (( + ) x y) [1, 2, 3] ++ [4, 5, 6, 7] [1, 2, 3, 4, 5, 6, 7] ( + ) :: [a] [a] [a] [ ] ++ y = y (a : x) ++ y = a : (x ++ y)

25 25 zip :: [a] [b] [(a, b)] zip [ ] [ ] = [ ] zip (a : x) (b : y) = (a, b) : zip x y : zip [1, 2, 3, 4] [11, 12, 13, 14] [(1, 11), (2, 12), (3, 13), (4, 14)]

26 26 take :: Int [a] [a] take 0 x = [ ] take (n + 1) [ ] = [ ] take (n + 1) (a : x) = a : take n x : take 3 [1, 2, 3, 4] [1, 2, 3]

27 27 drop :: Int [a] [a] drop 0 x = x drop (n + 1) [ ] = [ ] drop (n + 1) (a : x) = drop n x : drop 3 [1, 2, 3, 4] [4]

28 28 map :: (α β) [α] [β] map f [ ] = [ ] map f (a : x) = f a : map f x map square [1, 2, 3, 4] [1, 4, 9, 16]

29 29 filter :: (α Bool) [α] [α] filter p [ ] = [ ] filter (a : x) = if p a then a : filter p x else filter p x filter even [1, 2, 3, 4] [2, 4]

30 30 foldr :: (a b b) b [a] b foldr ( ) e [ ] = e foldr ( ) e (a : x) = a foldr ( ) e x foldr ( ) e [a 1, a 1, a 3 ] a 1 (a 2 (a 3 e))

31 31 foldr sum :: [Int] [Int] sum = foldr (+) 0 produt :: [Int] [Int] product = foldr ( ) 1 and :: [Bool] Bool and = foldr ( ) True or :: [Bool] Bool or = foldr ( ) False

32 32 concat :: [[a]] [a] concat = foldr ( + ) [ ] reverse :: [a] [a] reverse = foldr postfix [ ] where postfix a r = r ++ [a]

33 33 foldl :: (b a b) b [a] b foldl ( ) e [ ] = e foldl ( ) e (x ++ [a]) = (foldl ( ) e x) a foldl ( ) e [a 1, a 1, a 3 ] ((e a 1 ) a 2 ) a 3 pack foldl pack [x n, x n 1,..., x 0 ] = x n 10 n + x n 1 10 n x 0

34 34 2.4, 2.5, 2.6, 5.1, 5.2, 5.3

Copyright c 2008 Zhenjiang Hu, All Right Reserved.

Copyright c 2008 Zhenjiang Hu, All Right Reserved. 2008 10 27 Copyright c 2008 Zhenjiang Hu, All Right Reserved. (Bool) True False data Bool = False True Remark: not :: Bool Bool not False = True not True = False (Pattern matching) (Rewriting rules) not

More information

2

2 2011.11.11 1 2 MapReduce 3 4 5 6 Functional Functional Programming 7 8 9 10 11 12 13 [10, 20, 30, 40, 50] 0 n n 10 * 0 + 20 * 1 + 30 * 2 + 40 * 3 + 50 *4 = 400 14 10 * 0 + 20 * 1 + 30 * 2 + 40 * 3 + 50

More information

org/ghc/ Windows Linux RPM 3.2 GHCi GHC gcc javac ghc GHCi(ghci) GHCi Prelude> GHCi :load file :l file :also file :a file :reload :r :type expr :t exp

org/ghc/ Windows Linux RPM 3.2 GHCi GHC gcc javac ghc GHCi(ghci) GHCi Prelude> GHCi :load file :l file :also file :a file :reload :r :type expr :t exp 3 Haskell Haskell Haskell 1. 2. 3. 4. 5. 1. 2. 3. 4. 5. 6. C Java 3.1 Haskell Haskell GHC (Glasgow Haskell Compiler 1 ) GHC Haskell GHC http://www.haskell. 1 Guarded Horn Clauses III - 1 org/ghc/ Windows

More information

# let st1 = {name = "Taro Yamada"; id = };; val st1 : student = {name="taro Yamada"; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n

# let st1 = {name = Taro Yamada; id = };; val st1 : student = {name=taro Yamada; id=123456} { 1 = 1 ;...; n = n } # let string_of_student {n II 6 / : 2001 11 21 (OCaml ) 1 (field) name id type # type student = {name : string; id : int};; type student = { name : string; id : int; } student {} type = { 1 : 1 ;...; n : n } { 1 = 1 ;...; n = n

More information

haskell.gby

haskell.gby Haskell 1 2 3 Haskell ( ) 4 Haskell Lisper 5 Haskell = Haskell 6 Haskell Haskell... 7 qsort [8,2,5,1] [1,2,5,8] "Hello, " ++ "world!" "Hello, world!" 1 + 2 div 8 2 (+) 1 2 8 div 2 3 4 map even [1,2,3,4]

More information

# let rec sigma (f, n) = # if n = 0 then 0 else f n + sigma (f, n-1);; val sigma : (int -> int) * int -> int = <fun> sigma f n ( : * -> * ) sqsum cbsu

# let rec sigma (f, n) = # if n = 0 then 0 else f n + sigma (f, n-1);; val sigma : (int -> int) * int -> int = <fun> sigma f n ( : * -> * ) sqsum cbsu II 4 : 2001 11 7 keywords: 1 OCaml OCaml (first-class value) (higher-order function) 1.1 1 2 + 2 2 + + n 2 sqsum 1 3 + 2 3 + + n 3 cbsum # let rec sqsum n = # if n = 0 then 0 else n * n + sqsum (n - 1)

More information

2

2 Haskell ( ) kazu@iij.ad.jp 1 2 Blub Paul Graham http://practical-scheme.net/trans/beating-the-averages-j.html Blub Blub Blub Blub 3 Haskell Sebastian Sylvan http://www.haskell.org/haskellwiki/why_haskell_matters...

More information

y = x 4 y = x 8 3 y = x 4 y = x 3. 4 f(x) = x y = f(x) 4 x =,, 3, 4, 5 5 f(x) f() = f() = 3 f(3) = 3 4 f(4) = 4 *3 S S = f() + f() + f(3) + f(4) () *4

y = x 4 y = x 8 3 y = x 4 y = x 3. 4 f(x) = x y = f(x) 4 x =,, 3, 4, 5 5 f(x) f() = f() = 3 f(3) = 3 4 f(4) = 4 *3 S S = f() + f() + f(3) + f(4) () *4 Simpson H4 BioS. Simpson 3 3 0 x. β α (β α)3 (x α)(x β)dx = () * * x * * ɛ δ y = x 4 y = x 8 3 y = x 4 y = x 3. 4 f(x) = x y = f(x) 4 x =,, 3, 4, 5 5 f(x) f() = f() = 3 f(3) = 3 4 f(4) = 4 *3 S S = f()

More information

1. A0 A B A0 A : A1,...,A5 B : B1,...,B

1. A0 A B A0 A : A1,...,A5 B : B1,...,B 1. A0 A B A0 A : A1,...,A5 B : B1,...,B12 2. 3. 4. 5. A0 A, B Z Z m, n Z m n m, n A m, n B m=n (1) A, B (2) A B = A B = Z/ π : Z Z/ (3) A B Z/ (4) Z/ A, B (5) f : Z Z f(n) = n f = g π g : Z/ Z A, B (6)

More information

Microsoft PowerPoint - ProD0107.ppt

Microsoft PowerPoint - ProD0107.ppt プログラミング D M 講義資料 教科書 :6 章 中田明夫 nakata@ist.osaka-u.ac.jp 2005/1/7 プログラミング D -M- 1 2005/1/7 プログラミング D -M- 2 リスト 1 リスト : 同じ型の値の並び val h=[10,6,7,8,~8,5,9]; val h = [10,6,7,8,~8,5,9]: int list val g=[1.0,4.5,

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 7 - Higher-Order Functions 高階関数 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2013 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 Introduction カリー化により

More information

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I  Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~alse I Exercise on Programming I http://bit.ly/oitprog1 1, 2 of 14 ( RD S ) I 1, 2 of 14 1 / 44 Ruby Ruby ( RD S ) I 1, 2 of 14 2 / 44 7 5 9 2 9 3 3 2 6 5 1 3 2 5 6 4 7 8 4 5 2 7 9 6 4 7 1 3 ( RD S ) I 1, 2

More information

1 911 9001030 9:00 A B C D E F G H I J K L M 1A0900 1B0900 1C0900 1D0900 1E0900 1F0900 1G0900 1H0900 1I0900 1J0900 1K0900 1L0900 1M0900 9:15 1A0915 1B0915 1C0915 1D0915 1E0915 1F0915 1G0915 1H0915 1I0915

More information

Ⅴ 古陶器にみる装飾技法

Ⅴ 古陶器にみる装飾技法 中 小 企 業 総 合 事 業 団 情 報 技 術 部 12 2 105-8453 TEL 03-5470-1523 FAX 03-5470-1526 Copyright 2000 All right reserved 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 -1- 3 4 34 22.5 880 9208 12 1300

More information

O1-1 O1-2 O1-3 O1-4 O1-5 O1-6

O1-1 O1-2 O1-3 O1-4 O1-5 O1-6 O1-1 O1-2 O1-3 O1-4 O1-5 O1-6 O1-7 O1-8 O1-9 O1-10 O1-11 O1-12 O1-13 O1-14 O1-15 O1-16 O1-17 O1-18 O1-19 O1-20 O1-21 O1-22 O1-23 O1-24 O1-25 O1-26 O1-27 O1-28 O1-29 O1-30 O1-31 O1-32 O1-33 O1-34 O1-35

More information

Parametric Polymorphism

Parametric Polymorphism ML 2 2011/04/19 Parametric Polymorphism Type Polymorphism ? : val hd_int : int list - > int val hd_bool : bool list - > bool val hd_i_x_b : (int * bool) list - > int * bool etc. let hd_int = function (x

More information

ハピタス のコピー.pages

ハピタス のコピー.pages Copyright (C) All Rights Reserved. 10 12,500 () ( ) ()() 1 : 2 : 3 : 2 4 : 5 : Copyright (C) All Rights Reserved. Copyright (C) All Rights Reserved. Copyright (C) All Rights Reserved. Copyright (C) All

More information

Copyright 2008 All Rights Reserved 2

Copyright 2008 All Rights Reserved 2 Copyright 2008 All Rights Reserved 1 Copyright 2008 All Rights Reserved 2 Copyright 2008 All Rights Reserved 3 Copyright 2008 All Rights Reserved 4 Copyright 2008 All Rights Reserved 5 Copyright 2008 All

More information

> > <., vs. > x 2 x y = ax 2 + bx + c y = 0 2 ax 2 + bx + c = 0 y = 0 x ( x ) y = ax 2 + bx + c D = b 2 4ac (1) D > 0 x (2) D = 0 x (3

> > <., vs. > x 2 x y = ax 2 + bx + c y = 0 2 ax 2 + bx + c = 0 y = 0 x ( x ) y = ax 2 + bx + c D = b 2 4ac (1) D > 0 x (2) D = 0 x (3 13 2 13.0 2 ( ) ( ) 2 13.1 ( ) ax 2 + bx + c > 0 ( a, b, c ) ( ) 275 > > 2 2 13.3 x 2 x y = ax 2 + bx + c y = 0 2 ax 2 + bx + c = 0 y = 0 x ( x ) y = ax 2 + bx + c D = b 2 4ac (1) D >

More information

論理学入門 講義ノート email: mitsu@abelardfletkeioacjp Copyright c 1995 by the author ll right reserved 1 1 3 2 5 3 7 31 7 32 9 33 13 4 29 41 33 42 38 5 45 51 45 52 47 3 1 19 [ 1] Begin at the beginning [ 2] [

More information

koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ λ, syntax τ (types) ::= b τ 1 τ 2 τ 1

koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ λ, syntax τ (types) ::= b τ 1 τ 2 τ 1 http://www.kb.ecei.tohoku.ac.jp/ koba/class/soft-kiso/ 1 λ if λx.λy.y false 0 λ typed λ-calculus λ λ 1.1 λ 1.1.1 λ, syntax τ (types) ::= b τ 1 τ 2 τ 1 τ 2 M (terms) ::= c τ x M 1 M 2 λx : τ.m (M 1,M 2

More information

fp.gby

fp.gby 1 1 2 2 3 2 4 5 6 7 8 9 10 11 Haskell 12 13 Haskell 14 15 ( ) 16 ) 30 17 static 18 (IORef) 19 20 OK NG 21 Haskell (+) :: Num a => a -> a -> a sort :: Ord a => [a] -> [a] delete :: Eq a => a -> [a] -> [a]

More information

第8回 関数

第8回 関数 1 関数型プログラミング 第 8 回関数 萩野達也 hagino@sfc.keio.ac.jp 2 関数定義 square n = n * n 与えられた数の 2 乗を計算する square 関数を定義している. 変数 square に 2 乗を計算する関数を束縛 (bind) したい. a = 10 変数 a に定数 10 を束縛する. square =... 3 高階関数 関数も値の一つである.

More information

Programming D 1/15

Programming D 1/15 プログラミング D ML 大阪大学基礎工学部情報科学科中田明夫 nakata@ist.osaka-u.ac.jp 教科書 プログラミング言語 Standard ML 入門 6 章 2005/12/19 プログラミング D -ML- 1 2005/12/19 プログラミング D -ML- 2 補足 : 再帰関数の作り方 例題 : 整数 x,y( ただし x

More information

コンピュータ概論

コンピュータ概論 4.1 For Check Point 1. For 2. 4.1.1 For (For) For = To Step (Next) 4.1.1 Next 4.1.1 4.1.2 1 i 10 For Next Cells(i,1) Cells(1, 1) Cells(2, 1) Cells(10, 1) 4.1.2 50 1. 2 1 10 3. 0 360 10 sin() 4.1.2 For

More information

Copyright 2010 Funai Consulting Co.,ltd. All right reserved. 1

Copyright 2010 Funai Consulting Co.,ltd. All right reserved. 1 http://www.funaisoken.co.jp/ Copyright 2010 Funai Consulting Co.,ltd. All right reserved. 1 Copyright 2010 Funai Consulting Co.,ltd. All right reserved. 2 Copyright 2010 Funai Consulting Co.,ltd. All right

More information

II

II II 16 16.0 2 1 15 x α 16 x n 1 17 (x α) 2 16.1 16.1.1 2 x P (x) P (x) = 3x 3 4x + 4 369 Q(x) = x 4 ax + b ( ) 1 P (x) x Q(x) x P (x) x P (x) x = a P (a) P (x) = x 3 7x + 4 P (2) = 2 3 7 2 + 4 = 8 14 +

More information

ax 2 + bx + c = n 8 (n ) a n x n + a n 1 x n a 1 x + a 0 = 0 ( a n, a n 1,, a 1, a 0 a n 0) n n ( ) ( ) ax 3 + bx 2 + cx + d = 0 4

ax 2 + bx + c = n 8 (n ) a n x n + a n 1 x n a 1 x + a 0 = 0 ( a n, a n 1,, a 1, a 0 a n 0) n n ( ) ( ) ax 3 + bx 2 + cx + d = 0 4 20 20.0 ( ) 8 y = ax 2 + bx + c 443 ax 2 + bx + c = 0 20.1 20.1.1 n 8 (n ) a n x n + a n 1 x n 1 + + a 1 x + a 0 = 0 ( a n, a n 1,, a 1, a 0 a n 0) n n ( ) ( ) ax 3 + bx 2 + cx + d = 0 444 ( a, b, c, d

More information

3 3.1 algebraic datatype data k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] B

3 3.1 algebraic datatype data k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] B 3 3.1 algebraic datatype data 1 2... k = 1 1,1... 1,n1 2 2,1... 2,n2... m m,1... m,nm 1 m m m,1,..., m,nm m 1, 2,..., k 1 data Foo x y = Alice x [y] Bob String y Charlie Foo Double Integer Alice 3.14 [1,2],

More information

Jacques Garrigue

Jacques Garrigue Jacques Garrigue Garrigue 1 Garrigue 2 $ print_lines () > for i in $1; do > echo $i > done $ print_lines "a b c" a b c Garrigue 3 Emacs Lisp (defun print-lines (lines) (dolist (str lines) (insert str)

More information

jssst-ocaml.mgp

jssst-ocaml.mgp Objective Caml Jacques Garrigue Kyoto University garrigue@kurims.kyoto-u.ac.jp Objective Caml? 2 Objective Caml GC() Standard MLHaskell 3 OCaml () OCaml 5 let let x = 1 + 2 ;; val x : int = 3 ;; val-:

More information

初心者にもできるアメブロカスタマイズ新2016.pages

初心者にもできるアメブロカスタマイズ新2016.pages Copyright All Rights Reserved. 41 Copyright All Rights Reserved. 60 68 70 6 78 80 Copyright All Rights Reserved. FC2 97 Copyright All Rights Reserved. Copyright All Rights Reserved. Copyright All Rights

More information

- 2 Copyright (C) 2006. All Rights Reserved.

- 2 Copyright (C) 2006. All Rights Reserved. - 2 Copyright (C) 2006. All Rights Reserved. 2-3 Copyright (C) 2006. All Rights Reserved. 70-4 Copyright (C) 2006. All Rights Reserved. ...1...3...7...8 1...9...14...16 2...18...20...21 3...22...23...23...24

More information

「計算と論理」 Software Foundations その4

「計算と論理」  Software Foundations   その4 Software Foundations 4 cal17@fos.kuis.kyoto-u.ac.jp http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/class/cal/ November 7, 2017 ( ) ( 4) November 7, 2017 1 / 51 Poly.v ( ) ( 4) November 7, 2017 2 / 51 : (

More information

ユニセフ表紙_CS6_三.indd

ユニセフ表紙_CS6_三.indd 16 179 97 101 94 121 70 36 30,552 1,042 100 700 61 32 110 41 15 16 13 35 13 7 3,173 41 1 4,700 77 97 81 47 25 26 24 40 22 14 39,208 952 25 5,290 71 73 x 99 185 9 3 3 3 8 2 1 79 0 d 1 226 167 175 159 133

More information

e ::= c op(e 1,..., e n ) if e 1 then e 2 else e 3 let x = e 1 in e 2 x let rec x y 1... y n = e 1 in e 2 e e 1... e n (e 1,..., e n ) let (x 1,..., x

e ::= c op(e 1,..., e n ) if e 1 then e 2 else e 3 let x = e 1 in e 2 x let rec x y 1... y n = e 1 in e 2 e e 1... e n (e 1,..., e n ) let (x 1,..., x e ::= c op(e 1,..., e n ) if e 1 then e 2 else e 3 let x = e 1 in e 2 x let rec x y 1... y n = e 1 in e 2 e e 1... e n (e 1,..., e n ) let (x 1,..., x n ) = e 1 in e 2 Array.create e 1 e 2 e 1.(e 2 ) e

More information

presen.gby

presen.gby kazu@iij.ad.jp 1 2 Paul Graham 3 Andrew Hunt and David Thomas 4 5 Java 6 Java Java Java 3 7 Haskell Scala Scala 8 9 Java Java Dean Wampler AWT ActionListener public interface ActionListener extends EventListener

More information

Copyright All Rights Reserved. -2 -!

Copyright All Rights Reserved. -2 -! http://ameblo.jp/admarketing/ Copyright All Rights Reserved. -2 -! Copyright All Rights Reserved. -3- Copyright All Rights Reserved. -4- Copyright All Rights Reserved. -5 - Copyright All Rights Reserved.

More information

IPA:セキュアなインターネットサーバー構築に関する調査

IPA:セキュアなインターネットサーバー構築に関する調査 Copyright 2003 IPA, All Rights Reserved. Copyright 2003 IPA, All Rights Reserved. Copyright 2003 IPA, All Rights Reserved. Copyright 2003 IPA, All Rights Reserved. Copyright 2003 IPA, All Rights Reserved.

More information

研修コーナー

研修コーナー l l l l l l l l l l l α α β l µ l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l

More information

Microsoft Word - 最終版 バックせどりismマニュアル .docx

Microsoft Word - 最終版 バックせどりismマニュアル .docx ism ISM ISM ISM ISM ISM ISM Copyright (c) 2010 All Rights Reserved. Copyright (c) 2010 All Rights Reserved. Copyright (c) 2010 All Rights Reserved. ISM Copyright (c) 2010 All Rights Reserved. Copyright

More information

1. A0 A B A0 A : A1,...,A5 B : B1,...,B

1. A0 A B A0 A : A1,...,A5 B : B1,...,B 1. A0 A B A0 A : A1,...,A5 B : B1,...,B12 2. 3. 4. 5. A0 A B f : A B 4 (i) f (ii) f (iii) C 2 g, h: C A f g = f h g = h (iv) C 2 g, h: B C g f = h f g = h 4 (1) (i) (iii) (2) (iii) (i) (3) (ii) (iv) (4)

More information

「計算と論理」 Software Foundations その3

「計算と論理」  Software Foundations   その3 Software Foundations 3 cal17@fos.kuis.kyoto-u.ac.jp October 24, 2017 ( ) ( 3) October 24, 2017 1 / 47 Lists.v ( ) ( ) ( ) ( 3) October 24, 2017 2 / 47 ( ) Inductive natprod : Type := pair : nat nat natprod.

More information

bdd.gby

bdd.gby Haskell Behavior Driven Development 2012.5.27 @kazu_yamamoto 1 Haskell 4 Mew Firemacs Mighty ghc-mod 2 Ruby/Java HackageDB 3 Haskeller 4 Haskeller 5 Q) Haskeller A) 6 7 Haskeller Haskell 8 9 10 Haskell

More information

ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1

ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1 2005 sumii@ecei.tohoku.ac.jp 2005 6 24 ML λ λ 1 λ 1.1 λ λ λ e (λ ) ::= x ( ) λx.e (λ ) e 1 e 2 ( ) ML λx.e Objective Caml fun x -> e x e let 1 let λ 1 let x = e1 in e2 (λx.e 2 )e 1 e 1 x e 2 λ 3 λx.(λy.e)

More information

Microsoft PowerPoint - IntroAlgDs-05-5.ppt

Microsoft PowerPoint - IntroAlgDs-05-5.ppt アルゴリズムとデータ構造入門 25 年 月 日 アルゴリズムとデータ構造入門. 手続きによる抽象の構築.3 Formulating Astractions with Higher-Order Procedures ( 高階手続きによる抽象化 ) 奥乃 博. 3,5,7で割った時の余りが各々,2,3という数は何か? 月 日 本日のメニュー.2.6 Example: Testing for Primality.3.

More information

untitled

untitled mitsuya Copyright (C) 2007. All Rights Reserved. 1/1 mitsuya Copyright (C) 2007. All Rights Reserved. 2/2 mitsuya Copyright (C) 2007. All Rights Reserved. 3/3 mitsuya Copyright (C) 2007. All Rights Reserved.

More information

橡点検記録(集約).PDF

橡点検記録(集約).PDF 942.8.8.8.7 671 86 11 1 9 9 9 1 1,792 7,23 2,483 1,324 2,198 7,23 82 7,23 6,327 9,22 9,713 8,525 8,554 9,22. 8,554. 1,79 9,713 95 947 8,525.. 944 671 81 7 17 1,29 1,225 1,241 1,25 1,375 9.3 23,264 25,

More information

Microsoft Word - 触ってみよう、Maximaに2.doc

Microsoft Word - 触ってみよう、Maximaに2.doc i i e! ( x +1) 2 3 ( 2x + 3)! ( x + 1) 3 ( a + b) 5 2 2 2 2! 3! 5! 7 2 x! 3x! 1 = 0 ",! " >!!! # 2x + 4y = 30 "! x + y = 12 sin x lim x!0 x x n! # $ & 1 lim 1 + ('% " n 1 1 lim lim x!+0 x x"!0 x log x

More information

第86回日本感染症学会総会学術集会後抄録(I)

第86回日本感染症学会総会学術集会後抄録(I) κ κ κ κ κ κ μ μ β β β γ α α β β γ α β α α α γ α β β γ μ β β μ μ α ββ β β β β β β β β β β β β β β β β β β γ β μ μ μ μμ μ μ μ μ β β μ μ μ μ μ μ μ μ μ μ μ μ μ μ β

More information

ユニセフ表紙_CS6_三.indd

ユニセフ表紙_CS6_三.indd 16 179 97 101 94 121 70 36 30,552 1,042 100 700 61 32 110 41 15 16 13 35 13 7 3,173 41 1 4,700 77 97 81 47 25 26 24 40 22 14 39,208 952 25 5,290 71 73 x 99 185 9 3 3 3 8 2 1 79 0 d 1 226 167 175 159 133

More information

untitled

untitled 1 All Rights Reserved Copyright 2007 FUJITSU LIMITED 2 All Rights Reserved Copyright 2007 FUJITSU LIMITED 3 All Rights Reserved Copyright 2007 FUJITSU LIMITED 4 All Rights Reserved Copyright 2007 FUJITSU

More information

解きながら学ぶJava入門編

解きながら学ぶJava入門編 44 // class Negative { System.out.print(""); int n = stdin.nextint(); if (n < 0) System.out.println(""); -10 Ÿ 35 Ÿ 0 n if statement if ( ) if i f ( ) if n < 0 < true false true false boolean literalboolean

More information

情報科学概論 第1回資料

情報科学概論 第1回資料 1. Excel (C) Hiroshi Pen Fujimori 1 2. (Excel) 2.1 Excel : 2.2Excel Excel (C) Hiroshi Pen Fujimori 2 256 (IV) :C (C 65536 B4 :2 (2 A3 Excel (C) Hiroshi Pen Fujimori 3 Tips: (1) B3 (2) (*1) (3) (4)Word

More information

43-03‘o’ì’¹‘®”q37†`51†i„¤‰ƒ…m†[…g†j.pwd

43-03‘o’ì’¹‘®”q37†`51†i„¤‰ƒ…m†[…g†j.pwd n 808 3.0 % 86.8 % 8.3 % n 24 4.1 % 54.0 % 37.5 % 0% % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 0% 37.4 % 7.2 % 27.2 % 8.4 % n 648 13.6 % 18.1% 45.4 % 4.1% n 18 0% % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

More information

2

2 DX Simulator Copyright 2001-2002 Yamaha Corporation. All rights reserved. Version 1.2, 2002 YAMAHA CORPORATION 2 z x z x c 3 z Windows Macintosh Windows Macintosh x 4 z Windows Macintosh Windows Macintosh

More information

健康保険組合のあゆみ_top

健康保険組合のあゆみ_top (1912) (1951) 2,00024,000 (1954) (1958) (1962) (1965) (1968) (1969) (1971) (1972) (1973) (1974) (1976) (1978) (1980) (1982) (1983) (1984) (1985) (1987) (1988) (1989) (1990) (1991) (1992) (1994) (1995)

More information

構造化プログラミングと データ抽象

構造化プログラミングと データ抽象 計算の理論 後半第 3 回 λ 計算と型システム 本日の内容 λ 計算の表現力 ( 前回のつづき ) 前回の復習 不動点演算子と再帰 λ 計算の重要な性質 チャーチ ロッサー性 簡約戦略 型付き λ 計算 ブール値 組 ブール値と組の表現 ( 復習 ) true, false を受け取り 対応する要素を返す関数 として表現 T = λt.λf.t F = λt.λf.f if e 1 then e

More information

プログラミングD - Java

プログラミングD - Java プログラミング D 講義資料 中田明夫 nakata@ist.osaka-u.ac.jp ML 教科書 プログラミング言語 Standard ML 入門 :1,2 章 講義のねらい 関数型プログラムを知る 関数型プログラムを知る利点 プログラムを統一的, 抽象的に捕らえる リスト処理, 高階関数, 再帰関数定義 リストやツリーなどのデータ構造は再帰的に定義 再帰関数で扱うとプログラミングが容易 数学的な裏付け

More information

2011.12.3 1 2 Q) A) 3 Q) A) 4 5 6 Haskell 7 8 Parser data Parser a = Parser (String -> [(a,string)]) Parser pwrap :: a -> Parser a pwrap v = Parser $ \inp -> [(v,inp)] Parser pbind :: Parser a -> (a ->

More information

monad.gby

monad.gby 2012.11.18 1 1 2 2 DSL 3 4 Q) A) 5 Q) A) 6 7 8 Haskell 9 10 Parser data Parser a = Parser (String -> [(a,string)]) Parser pwrap :: a -> Parser a pwrap v = Parser $ \inp -> [(v,inp)] Parser pbind :: Parser

More information

ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1

ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1 More Logic More Types ML/OCaml GADT Jacques Garrigue ( ) Jacques Le Normand (Google) Didier Rémy (INRIA) @garriguejej ocamlgadt ML Edinburgh LCF ML Curry-Howard ML ( ) ( ) ( ) ( ) 1 ( ) ML type nebou and

More information

Functional Programming

Functional Programming PROGRAMMING IN HASKELL プログラミング Haskell Chapter 10 - Declaring Types and Classes 型とクラスの定義 愛知県立大学情報科学部計算機言語論 ( 山本晋一郎 大久保弘崇 2011 年 ) 講義資料オリジナルは http://www.cs.nott.ac.uk/~gmh/book.html を参照のこと 0 型宣言 (Type Declarations)

More information

endo.PDF

endo.PDF MAP 18 19 20 21 3 1173 MAP 22 700800 106 3000 23 24 59 1984 358 358 399 25 12 8 1996 3 39 24 20 10 1998 9,000 1,400 5,200 250 12 26 4 1996 156 1.3 1990 27 28 29 8 606 290 250 30 11 24 8 1779 31 22 42 9

More information

連載 構文解析器結合子 山下伸夫 (( 株 ) タイムインターメディア ) 文字列の分解 1 1 Haskell lines Prelude lines :: String -> [String] lines "" = [] lines s = let (l,s'

連載 構文解析器結合子 山下伸夫 (( 株 ) タイムインターメディア ) 文字列の分解 1 1 Haskell lines Prelude lines :: String -> [String] lines  = [] lines s = let (l,s' 連載 構文解析器結合子 山下伸夫 (( 株 ) タイムインターメディア ) nobsun@sampou.org 文字列の分解 1 1 Haskell lines Prelude lines :: String -> [String] lines "" = [] lines s = let (l,s') = break ('\n'==) s in l : case s' of [] -> [] (_:s'')

More information

VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool

VDM-SL VDM VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web bool VDM-SL VDM++ 23 6 28 VDM-SL Toolbox VDM++ Toolbox 1 VDM-SL VDM++ Web 2 1 3 1.1............................................... 3 1.1.1 bool......................................... 3 1.1.2 real rat int

More information