fp.gby



Similar documents
presen.gby

haskell.gby

monad.gby

Parametric Polymorphism

r07.dvi

ohp07.dvi

r08.dvi

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

Java演習(4) -- 変数と型 --

r03.dvi

untitled

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

untitled

ohp03.dvi

Condition DAQ condition condition 2 3 XML key value

●70974_100_AC009160_KAPヘ<3099>ーシス自動車約款(11.10).indb

改訂版 :基本的な文字化の原則(Basic Transcription System for Japanese: BTSJ)

K227 Java 2

解きながら学ぶJava入門編

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

SystemC言語概論

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

REALV5_A4…p_Ł\1_4A_OCF

untitled

「都市から地方への人材誘致・移住促進に関する調査」

<91498EE88CA D815B2E786C73>

〔 大 会 役 員 〕

橡本体資料+参考条文.PDF

Lecture on

新・明解Java入門

Jacques Garrigue

8 if switch for while do while 2

解きながら学ぶC++入門編

-34-

SystemC 2.0を用いた簡易CPUバスモデルの設計

コーディング基準.PDF

r02.dvi

Functional Programming

programmingII2019-v01

0 1 q

アルゴリズムとデータ構造1

第8回 関数

Java updated

2 objective m a ( ) Haskell Rank2Types 2 newtype Object f g = Object { runobject :: forall a. f a -> g (a, Object f g) } 1 a g a Functor g a ::

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

/ SCHEDULE /06/07(Tue) / Basic of Programming /06/09(Thu) / Fundamental structures /06/14(Tue) / Memory Management /06/1

ワードプロセッシングについて

# 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


2

1: Preference Display 1 package sample. pref ; 2 3 import android. app. Activity ; 4 import android. content. Intent ; 5 import android. content. Shar

(Java/FX ) Java CD Java version Java VC++ Python Ruby Java Java Eclipse Java Java 3 Java for Everyone 2 10 Java Midi Java JavaFX Shape Canvas C

lexex.dvi

10/8 Finder,, 1 1. Finder MAC OS X 2. ( ) MAC OS X Java ( ) 3. MAC OS X Java ( ) / 10

橡Taro9-生徒の活動.PDF

55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a

double float

cpp1.dvi

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版   None

新・明解Javaで学ぶアルゴリズムとデータ構造

アルゴリズムとデータ構造1

Java Java Java Java Java 4 p * *** ***** *** * Unix p a,b,c,d 100,200,250,500 a*b = a*b+c = a*b+c*d = (a+b)*(c+d) = 225

Java

Transcription:

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] hgetline :: Handle -> IO String writefile :: FilePath -> String -> IO () writeioref :: IORef a -> a -> IO () IO IO 22

23

1) Ruby 24

1) Haskell 25

2) > split " foo bar baz " ["foo","bar","baz"] split :: String -> [String] split s s == "" = [] otherwise = w : split s where s = dropwhile isspace s (w, s ) = break isspace s 26

3) module Main where import Data.Char main :: IO () -- main = do cs <- getcontents -- print (wc cs) -- wc :: String -> Int -- wc xs = length (split xs) split :: String -> [String] split... 27

28

FILE * fopen(const char *, const char *); FILE * FILE * NULL NULL 29

30

NULL NULL, null, nil, None NULL 21 NULL 31

NULL 32

33

34

35

data Bool = False True data Either a b = Left a Right b data Maybe a = Nothing Just a 36

37

IO receive :: Socket -> IO String receive s = do cs <- recv s 4096 if cs == "" then throwio ConnectionClosedByPeer else return cs -- serv receive server :: Socket -> IO () server s = catch (serv s) logit where logit :: SomeException -> IO () logit e = print e 38

lookup lookup :: (Eq a) => a -> [(a,b)] -> Maybe b > lookup 5 [(2, a ),(5, b )] Just b > lookup 1 [(2, a ),(5, b )] Nothing lookup _key [] = Nothing lookup key ((x,y):xys) key == x = Just y otherwise = lookup key xys 39

Just a a Nothing getvalue :: Int -> [(Int, Char)] -> Char getvalue key db = case lookup key db of Just c -> c Nothing -> z 40

41

42

43

Haskell 44

Haskell 45

Haskell 100 % 46

Haskell 47

Haskell 48

Haskell 49

Haskell QuickCheck prop_doublesort :: [Int] -> Bool prop_doublesort xs = sort xs == sort (sort xs) > quickcheck prop_doublesort +++ OK, passed 100 tests. 50

7 1946 12 51

52

Haskeller 53

QuickCheck QuickCheck prop_model x xs = linearsearch x xs == binarysearch x xs ) 54

55

C union data Maybe a = Nothing Just a C struct data TLV a = TLV Tag Int a data Tree a = Leaf Node (Tree a) a (Tree a) 56

57

10,000 13 GC 58

* ) Wiki ============== ** \* [ URL] - 1 -- 2 -- 2-1 ++ 2 ++ 2 59

Wiki data Wiki = HR H Int HText P HText UOL Xlist type HText = [PText] data PText = Raw Char Escaped Char -- backslash Anchor Title URL type URL = String type Title = String data Xlist = Ulist [Xitem] Olist [Xitem] Empty data Xitem = Item HText Xlist 60

61

= NULL 62