SlideShare a Scribd company logo
Haskell勉強会 in ie
@maeken2010
2014/11/23
勉強会について
• 「Haskell(関数型言語)に触ってみよう」な勉強
会です
• 「すごいhaskell楽しく学ぼう」本を元にしてい
ます
目的
• Haskellの基本的な構文を触ってみよう
• FunctorとかMonadはしません
• 関数型ってなんぞ?
• haskellってなんぞ?
• という人向けです
Haskellは
純粋関数型言語
です
関数型言語?
関数型言語とは
• 計算や処理を「関数」として定義していく言語
• ※ここで言う関数とは数学で言う関数
• 第一級関数
• 関数を引数にとれたりできる
純粋?
純粋関数型とは
• 透過参照性がある
• 引数が同じなら結果は同じ
• バグが少なくなる
• (変更可能な)変数無し
Haskellの特徴
Haskellの特徴
• 強い静的型付け
• 遅延評価
• 強力な型システム
 _人人人人人_
 > モナド <
  ̄Y^Y^Y^Y ̄
モナドは怖くない
モナドは怖くない!
1.ghciで遊ぼう
ghciとは
$ ghci
GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
ghci>
• ghcの対話環境
• いちいちコンパイルしなくて良い
• プロンプトはデフォでは prelude>
ghciコマンド
• :q 終了
• :l ファイルロード
• :t 型確認
• :! shコマンド
基本な演算
• 四則演算+α
• + * - / ^ ** `mod` `div`
• bool値
• True False && || not == /= < > <= >=
関数を使う
• 普通は前置関数
• 優先度は一番高い
ghci> succ 3
4
ghci> succ 3*6
24
ghci> succ (3*6)
19
関数を使う
• +や*等も関数
• 中置関数は隣にあるやつを引数にとる
• ` `をつけると中置関数に
ghci> mod 4 2
0
ghci> 4 `mod` 2
0
関数を作る
• Fileに以下を書き込みしてbaby.hsで保存
• 関数名は必ず小文字から
doubleMe x = x+x
• ghciで:lコマンドで読み込み
ghci> :l baby.hs
[1 of 1] Compiling Main ( totu.hs, interpreted )
Ok, modules loaded: Main.
関数を作る
• 作った関数で関数を作ったり
doubleUs x y = doubleMe x + doubleMe y
if 式
• 条件分岐
hoge x = if x > 100
then x
else x*2
• ※インデントを見るので注意!
リスト
リスト
• Cで言う配列みたいなやつ( 配列)
• 同じ要素の集まり
ghci> [1,2,3]
ghci> ['a','b']
文字列
• Haskellでいう文字列は「文字のリスト」
• 文字列はリスト操作が可能
ghci> ['h','a','s','k','e','l','l']
“haskell”
リスト操作
• 連結
[リスト]++[リスト] 要素:[リスト]
• アクセス・比較
[リスト]!!要素数 < > <= >= == /=
リスト操作
• 他にも色々
head tail init last length null reverse
take drop maximum minimum
sum product `elem`…
レンジ
• 数列の生成
ghci> [1..10]
ghci> [2,4..24]
ghci> ['a'..'z']
• 無限も可 (遅延評価)
ghci> take 10 [1..]
リスト内包表記
• 集合で言う内包表記に近い
{x・2|x∈N,x<10} ←→ [x*2|x<-[1..10]]
• ex)「50から100までの数のうち7で割って3余
る数は?」
ghci> [x|x<-[50..100],x`mod`7==3]
タプル
• 長さが固定
• 違う種類もok
(1,'a',"hello")
2. 型
Haskellの型システム
• 静的型付け
• コンパイル時にエラーが分かる
• 大体は型推論してくれる
型の話
• 型と型コンストラクタは必ず大文字から
• 型コンストラクタとは「型の取りうる値」
• ex)Bool型
data Bool = False | True
型を調べる
• ghciで:tコマンド
ghci> :t 'a'
'a' :: Char
ghci> :t True
True :: Bool
型宣言
• 関数の型は「(引数)->(返り値)」
• 型宣言を与える
doubleMe::Int -> Int
doubleMe x = x+x
• Int型(整数型)だけを受け取るようになる
型宣言
• 複数の引数の場合は続けて書く
addThree::Int -> Int -> Int -> Int
addThree x y z = x+y+z
型変数
• 色々な型に対して定義する時
ghci> :t head
head :: [a] -> a
ghci> :t fst
fst :: (a, b) -> a
型クラス
• 型クラスとは型の定義を行なうやつ
ghci> :t (==)
(==) :: Eq a => a -> a -> Bool
• Eqが型クラス.aはEqのインスタンス(aはEqを満たしている).
例題
• 以下の条件を満たす直角三角形を見つけよう
• 3辺の長さはすべて整数
• 各辺の長さは10以下
• 周囲の長さは24に等しい
3. 関数構文
パターンマッチ
• 引数の構造によって場合分け
lucky :: Int -> String
lucky 7 = “LUCKY!”
lucky x = “UN LUCKY!”
パターンマッチ
• ex)階乗
factorial :: Int -> Int
factorial 0 = 1
factorial n = n * factorial (n-1)
※再帰処理については後ほど
パターンマッチ
• リストとかタプルとかも
head':: [a] -> a
head' [] = error “ERROR”
head' (x:xs) = x
asパターン
• 対象になった値自体も扱う時
firstLetter :: String -> String
firstLetter all@(x:xs) = ⇨
“First Letter of”++ all ++ “is”++ [x]
ガード
• 引数の値によって場合分け
bmiTell :: Double -> Double -> String
bmiTell weight height
| weight/height^2 <= 18.5 = “痩せてますね!”
| weight/height^2 <= 25.0 = “普通ですね!”
| weight/height^2 <= 30.0 = “太ってますね!”
| otherwise = “病院行きましょう!”
where節
• ガード内で関数や変数を定義
bmiTell :: Double -> Double -> String
bmiTell weight height
| bmi <= 18.5 = “痩せてますね!”
| bmi <= 25.0 = “普通ですね!”
| bmi <= 30.0 = “太ってますね!”
| otherwise = “病院行きましょう!”
where bmi = weight/height^2
where節
• whereでパターンマッチも可
• 違うパターンマッチ間では使えない
• インデントを読むので注意!
let式
• whereと同じく変数や関数を定義
• whereと違い,定義→式の順番
cylinder r h =
let sidArea = 2*pi*r*h
topArea = pi*r^2
in sideArea + 2*topArea
whereとlet
• letは式なのでどんな場所でも使用できる
ghci> 4*(let a = 9 in a + 1) + 2
• スコープは局所的(ガードでも共有されない)
• パターンマッチ可
• ghciでは関数や定数定義ではletだけでok
ghci> let hoge x y = x+y
case式
• 変数に対するパターンマッチを行なう
head’:: [a] -> a
head’ xs = case xs of [] -> error “ERROR!”
(x:xs) -> x
case式
• 式なのでletと同じようにどこでも使用できる
checkLs ls = “The list is”
++ case ls of [] -> “empty”
[x] -> “singleton”
xs -> “longer”
4. 再帰処理
おさらい
• Haskellには変更できる変数は無い
つまりforとか出来ない
どうすんの
\再帰処理/
再帰処理
• 再帰を書くコツ
1. 問題の基底部を見つけて定義する
2. 部分問題に分解し再帰的に解く
• 分解した部分問題の解から最終的な解を構築
ex)Fibonacci数
0,1,1,2,3,5,8,13,21,34,55…
1.基底部
• 再帰に頼らない自明な解
• ここではF_0=0とF_1=1
fib 0 = 0
fib 1 = 1
2.再帰部
• 「1つ前」と「2つ前」の要素を求める必要が
ある
• 解はその要素を足したもの
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
かんせい
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
※ただしこの実装は非常に遅い
詳しくは末尾再帰でgoogle
基底部と再帰部
• 基底部は「再帰のゴール」
• 再帰部は「基底部に向かうように計算する」
例題
• reverse 関数
• リストを受け取り,その逆順を返す関数
• 例) reverse [1,2,3,4,5] →[5,4,3,2,1]
• FizzBuzzプログラム
• 1から100までのリストを生成する
• ただし,3の倍数のときは数の代わりに
「Fizz」、5の倍数のときは「Buzz」、3と5
両方の倍数の場合には「FizzBuzz」とするこ
と.
5. 高階関数
高階関数とは
• 関数自体を引数として受け取ったり返り値として
返したりできる関数
• 関数型言語の強み
Haskellの関数は
「1つしか引数を取れない」
ナ ナンダッテー!!
ΣΩ ΩΩ
カリー化関数
• Haskellの関数はすべてカリー化されている
• カリー化関数とは「引数を1つ受け取り,『残
りの引数を受け取って関数を返す関数』を返す」
???
ex) max関数
カリー化の例
• 引数を1つだけ適用してみる
ghci> let max_a = max 9
• 残りの引数を適用してみる
ghci> max_a 4
ghci> max_a 12
カリー化の例
• 型を見てみる
ghci> :t max
max :: Ord a => a -> a -> a
ghci> :t max_a
max_a :: (Ord a, Num a) => a -> a
↑引数が1つ減っている!
ex) セクション
カリー化の例
• 中置換数もカリー化できる
• 減算は注意!
• (-1)は「負の値」
ghci> let plus_one = (+1)
ghci> plus_one 9
10
ghci> let minus_one = (subtract 1)
ghci> minus_one 19
18
カリー化関数を表示?
• カリー化された関数は(基本的に)表示できない
• letで名前をつけたり引数として渡す必要がある
ghci> max 9
<interactive>:2:1:
No instance for (Show (a0 -> a0))
(maybe you haven't applied enough arguments to a function?)
arising from a use of ‘print’
In the first argument of ‘print’, namely ‘it’
In a stmt of an interactive GHCi command: print it
関数を受け取る
• 関数を引数としてもとれる
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)
ghci> applyTwice (+3) 10
16
ghci> applyTwice (3:) [1]
[3,3,1]
mapとfilter
mapとfilter
• >map関数はHaskellプログラミングの米といっ
ても過言ではないでしょう(filterが塩です)
• すごいH本より
map
• 関数とリストを受け取り,関数をリストの要素
すべてに適用して新しいリストを返す
map :: (a -> b) -> [a] -> [b]
map _ [] = []
map f (x:xs) = f x : map f xs
mapの例
• リストの数字をそれぞれ2倍するとき
• リストの文字列に'!'を付け加えるとき
ghci> map (*2) [1,2,3,4,5]
[2,4,6,8,10]
ghci> map (++ "!") ["abc","def","ghc"]
["abc!","def!","ghc!"]
filter
• 述語とリストを受け取り,そのリストの要素の
うち述語を満たすものだけからなるリストを返
す
filter :: (a -> Bool) -> [a] -> [a]
filter _ [] = []
filter p (x:xs)
| p x = x : filter p xs
| otherwise = filter p xs
filterの例
• リストのうち3より大きいものだけを残す
• 文字列のうち大文字だけを残す
ghci> filter (>3) [1,5,3,2,7,6,8,2]
[5,7,6,8]
ghci> filter (`elem` ['A'..'Z']) "The Answer to The
Ultimate Question of Life, The Universe, and Everything"
"TATUQLTUE"
例題
そのうち
ラムダ式
• 無名関数
• 通常は高階関数に渡す関数を作るために使われる
ラムダ式
• バックスラッシュ() 引数 -> 関数本体
ghci> map (x -> x+3) [1,2,3,4]
[4,5,6,7]
ghci> map (+3) [1,2,3,4]
[4,5,6,7]
畳み込み
• データ構造(リストとか)を単一の値にまとめる
• 2引数関数,アキュムレータ,リストを用いる
左畳み込み
• 左畳み込みはfoldl
• ex)sum関数をfoldlで再定義
sum' xs = foldl (+) 0 xs
右畳み込み
• 右畳み込みはfoldr
• ex)map関数の再定義
map' f xs = foldr (x -> f x : acc) [] xs
例題
• 以下の関数を畳み込みを用いて定義せよ
• reverse
• product
• last
関数適用演算子
• 関数適用演算子($関数)
• 大雑把にいうと括弧()を少なくしたいときに使用
関数適用演算子
sum (filter (>10) (map (*2) [2..10]))
↓
sum $ filter (>10) $ map (*2) [2..10]
sum (map sqrt [1..130])
↓
sum $ map sort [1..130]
関数合成
• 数学の(f g)(x) = f(g(x))と同じ
• 「2つの関数を合成したもの」=「まず1つの関
数を呼び出し,次にもう1つの関数にその結果を
渡して呼び出したもの」
○
関数合成
map (x -> negate (abs x)) [5,-3,-19,24]
↓
map (negate.abs) [5,-3,-19,24]
map (xs -> negate (sum (tail xs))) [[1..5],[3..6],
[1..7]]
↓
map (negate.sum.tail) [[1..5],[3..6],[1..7]]

More Related Content

What's hot

Lisp講義1
Lisp講義1Lisp講義1
プログラミングHaskell(第2章)
プログラミングHaskell(第2章)プログラミングHaskell(第2章)
プログラミングHaskell(第2章)yaju88
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたblackenedgold
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
Haruka Oikawa
 
すごいHaskell読書会#1 in 大阪
すごいHaskell読書会#1 in 大阪すごいHaskell読書会#1 in 大阪
すごいHaskell読書会#1 in 大阪yashigani
 
(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する
blackenedgold
 
プログラミングHaskell(第1章)
プログラミングHaskell(第1章)プログラミングHaskell(第1章)
プログラミングHaskell(第1章)yaju88
 
Python勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージPython勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージ
理 小林
 
言語処理系入門€5
言語処理系入門€5言語処理系入門€5
言語処理系入門€5
Kenta Hattori
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
Masahiro Sakai
 
(Lambdaだけで) 純LISPのような ナニかを作る
(Lambdaだけで)純LISPのようなナニかを作る(Lambdaだけで)純LISPのようなナニかを作る
(Lambdaだけで) 純LISPのような ナニかを作る
Daichi Teruya
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
Masahiro Sakai
 
並行プログラミングと継続モナド
並行プログラミングと継続モナド並行プログラミングと継続モナド
並行プログラミングと継続モナド
Kousuke Ruichi
 
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたScala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
Kazuyuki TAKASE
 
Freer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible Effects
Hiromi Ishii
 
mathematical_notation
mathematical_notationmathematical_notation
mathematical_notationKenta Oono
 
PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)
t-sin
 
Python勉強会3-コレクションとファイル
Python勉強会3-コレクションとファイルPython勉強会3-コレクションとファイル
Python勉強会3-コレクションとファイル
理 小林
 

What's hot (20)

Lisp講義1
Lisp講義1Lisp講義1
Lisp講義1
 
プログラミングHaskell(第2章)
プログラミングHaskell(第2章)プログラミングHaskell(第2章)
プログラミングHaskell(第2章)
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
 
関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml関数型プログラミング入門 with OCaml
関数型プログラミング入門 with OCaml
 
すごいHaskell読書会#1 in 大阪
すごいHaskell読書会#1 in 大阪すごいHaskell読書会#1 in 大阪
すごいHaskell読書会#1 in 大阪
 
(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する(define)なしで再帰関数を定義する
(define)なしで再帰関数を定義する
 
プログラミングHaskell(第1章)
プログラミングHaskell(第1章)プログラミングHaskell(第1章)
プログラミングHaskell(第1章)
 
Python勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージPython勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージ
 
言語処理系入門€5
言語処理系入門€5言語処理系入門€5
言語処理系入門€5
 
Pythonintro
PythonintroPythonintro
Pythonintro
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
(Lambdaだけで) 純LISPのような ナニかを作る
(Lambdaだけで)純LISPのようなナニかを作る(Lambdaだけで)純LISPのようなナニかを作る
(Lambdaだけで) 純LISPのような ナニかを作る
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
 
並行プログラミングと継続モナド
並行プログラミングと継続モナド並行プログラミングと継続モナド
並行プログラミングと継続モナド
 
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたScala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
 
Freer Monads, More Extensible Effects
Freer Monads, More Extensible EffectsFreer Monads, More Extensible Effects
Freer Monads, More Extensible Effects
 
mathematical_notation
mathematical_notationmathematical_notation
mathematical_notation
 
PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)PythonでLispを実装した (evalつき)
PythonでLispを実装した (evalつき)
 
Python勉強会3-コレクションとファイル
Python勉強会3-コレクションとファイルPython勉強会3-コレクションとファイル
Python勉強会3-コレクションとファイル
 

Similar to Haskell勉強会 in ie

How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
Hiromi Ishii
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
Susisu
 
Haskell Lecture 1
Haskell Lecture 1Haskell Lecture 1
Haskell Lecture 1
Yusuke Matsushita
 
Haskell
HaskellHaskell
Haskell
todorokit
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと Haruka Ozaki
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
Ransui Iso
 
圏とHaskellの型
圏とHaskellの型圏とHaskellの型
圏とHaskellの型
KinebuchiTomo
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
Ransui Iso
 
オブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programmingオブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional ProgrammingTomoharu ASAMI
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタート
Shumpei Shiraishi
 
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPIPythonで始めるDropboxAPI
Pythonで始めるDropboxAPI
Daisuke Igarashi
 
すごいH 第12章モノイド
すごいH 第12章モノイドすごいH 第12章モノイド
すごいH 第12章モノイドShinta Hatatani
 
Vim scriptとJavaとHaskell
Vim scriptとJavaとHaskellVim scriptとJavaとHaskell
Vim scriptとJavaとHaskell
aiya000
 
Math tutorial public
Math tutorial publicMath tutorial public
Math tutorial publicKenta Oono
 
Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)
Nagi Teramo
 
Clean
Clean Clean
Clean
osamu kimura
 
Clean
Clean Clean
Clean
osamu kimura
 
mathemaical_notation
mathemaical_notationmathemaical_notation
mathemaical_notationKenta Oono
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
Masahiro Hayashi
 

Similar to Haskell勉強会 in ie (20)

How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
 
Haskell Lecture 1
Haskell Lecture 1Haskell Lecture 1
Haskell Lecture 1
 
Haskell
HaskellHaskell
Haskell
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
圏とHaskellの型
圏とHaskellの型圏とHaskellの型
圏とHaskellの型
 
Python opt
Python optPython opt
Python opt
 
Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3Lisp Tutorial for Pythonista : Day 3
Lisp Tutorial for Pythonista : Day 3
 
オブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programmingオブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programming
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタート
 
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPIPythonで始めるDropboxAPI
Pythonで始めるDropboxAPI
 
すごいH 第12章モノイド
すごいH 第12章モノイドすごいH 第12章モノイド
すごいH 第12章モノイド
 
Vim scriptとJavaとHaskell
Vim scriptとJavaとHaskellVim scriptとJavaとHaskell
Vim scriptとJavaとHaskell
 
Math tutorial public
Math tutorial publicMath tutorial public
Math tutorial public
 
Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)Chapter 6: Computing on the language (R Language Definition)
Chapter 6: Computing on the language (R Language Definition)
 
Clean
Clean Clean
Clean
 
Clean
Clean Clean
Clean
 
mathemaical_notation
mathemaical_notationmathemaical_notation
mathemaical_notation
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
 

Recently uploaded

2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 

Recently uploaded (16)

2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 

Haskell勉強会 in ie