Submit Search
Upload
CL21で色々なデータ構造を実装してみようとした
•
Download as ODP, PDF
•
2 likes
•
4,989 views
B
blackenedgold
Follow
Lisp Meet Up Present by Shibuya.lisp #16での発表資料です。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 21
Download now
Recommended
Common Lisp でビッグデータを作ろう
Common Lisp でビッグデータを作ろう
blackenedgold
C++ Now 2012 report
C++ Now 2012 report
Akira Takahashi
Redux, Relay, HorizonあるいはElm
Redux, Relay, HorizonあるいはElm
chuck h
Rx入門
Rx入門
Takaaki Suzuki
Rx Showcase
Rx Showcase
Takaaki Suzuki
それFluentdで! #fluentd
それFluentdで! #fluentd
Atsuko Shibuya
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
洋史 東平
XAML Standard
XAML Standard
m ishizaki
Recommended
Common Lisp でビッグデータを作ろう
Common Lisp でビッグデータを作ろう
blackenedgold
C++ Now 2012 report
C++ Now 2012 report
Akira Takahashi
Redux, Relay, HorizonあるいはElm
Redux, Relay, HorizonあるいはElm
chuck h
Rx入門
Rx入門
Takaaki Suzuki
Rx Showcase
Rx Showcase
Takaaki Suzuki
それFluentdで! #fluentd
それFluentdで! #fluentd
Atsuko Shibuya
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
洋史 東平
XAML Standard
XAML Standard
m ishizaki
Mishimasyk141025
Mishimasyk141025
Kazufumi Ohkawa
Real world lisp
Real world lisp
秀俊 伊藤
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
Katsunori Kanda
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
Nagi Teramo
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
ko ty
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
genroku
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
mametter
ChEMBLを使おう
ChEMBLを使おう
Kazufumi Ohkawa
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
Yohei Sasaki
20180620 pgx user_group#8
20180620 pgx user_group#8
Mio Takei
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
More Related Content
What's hot
Mishimasyk141025
Mishimasyk141025
Kazufumi Ohkawa
Real world lisp
Real world lisp
秀俊 伊藤
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
Katsunori Kanda
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
Nagi Teramo
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
ko ty
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
genroku
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
mametter
ChEMBLを使おう
ChEMBLを使おう
Kazufumi Ohkawa
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
Yohei Sasaki
20180620 pgx user_group#8
20180620 pgx user_group#8
Mio Takei
What's hot
(11)
Mishimasyk141025
Mishimasyk141025
Real world lisp
Real world lisp
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
BazelでビルドしたアプリをGCPにデプロイしようとしてハマった話
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
データベース実践入門読書会スペシャル #nseg
データベース実践入門読書会スペシャル #nseg
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
Webブラウザで使える文献Web API取得結果のスプレッドシート化 ~ Google Colab始めました ~
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
ChEMBLを使おう
ChEMBLを使おう
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
20180620 pgx user_group#8
20180620 pgx user_group#8
Recently uploaded
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Recently uploaded
(11)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CL21で色々なデータ構造を実装してみようとした
1.
CL21でデータ構造を実装してみよ うとした Lisp Meet Up
Presented by Shibuya.lisp #16 2014-04-22 #lispmeetup κeen(@blackenedgold)
2.
自己紹介 ● Twitter: κeen(@blackenedgold) ●
Github: KeenS ● ブログ: een Happy Hac ing Blogκ の κ ● 東大数学科の4年生 ● …就活中 ● Lisp, Ruby, OCaml, シェルスクリプトが好き ● CIMの開発してます ● いちおーCL21のコミッタ
3.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
4.
CL21って?
5.
CL21って? ● 神託によって作られた神の言語 ● Github:
fukamachi/cl21 ● 既存の関数をユーザーフレンドリーに書き換え – eltとかgetfとか ● リードテーブルも書き換え – {:hoge foo}でハッシュとか – 要はオレオレリテラル。 ● よく使うライブラリは標準バンドル – 正規表現 – プロセス など
6.
なんでCL21で実装したの? ● 今後にシフトしそう(少くとも自分は) ● 使用例作りたかった ●
ユーザーに拡張の余地を残してある – MOP – read-table – 一部の関数をメソッドとして再定義 – abstract-sequence – abstract-hash-table
7.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
8.
abstract-sequence ● シーケンスを抽象化したもの ● ほぼ他の言語の抽象クラスと同じイメージ 1.abstract-sequenceを継承したクラスを実装 2.いくつかのメソッドを実装する(結構いっぱ い) 3.いろいろなメソッドが自動的に使えるように なる
9.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
10.
abstract-hash-table ● ハッシュテーブルを抽象化したもの ● abstract-hash-tableとほぼ同じ 1.abstract-sequenceを継承したクラスを実装 2.いくつかのメソッドを実装する(少ない) 3.ユーザーが透過的に使えるようになる まだ開発途上な感じ
11.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
12.
cl21-data-collections ● Github KeenS/cl21-data-collectionに置く予定 ●
通称蟻本を参考に実装 ● cl21のstdlibに入るといいなー ● まだ全然実装終わってない
13.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
14.
queue ● FIFOのシーケンス – push-back,
popがO(1) ● abstract-sequenceを実装 ● 内部的にはリストで保持。一番最後のコンスを持 つことでpush-backをO(1)にする ● abstract-sequenceのテストケースを流用してテ スト ● テストケース77
15.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
16.
heap ● 最小(最大)値をルートに持つ2分木 ● 最小値の参照はO(1) ●
値の追加、値(最小値)の取り出しはO(log n) ● abstract-sequenceは実装してない – 最小値以外は順序がないためpush-backとか無理 ● 内部は木ではなく配列で保持
17.
今日の内容 ➔ CL21について ➔ CL21のabstract-sequence ➔
CL21のabstract-hash-table ➔ cl21-data-collections ➔ queue ➔ heap ➔ map
18.
map ● 平衡二分木 – OCamlのMapを写経したため、具体的な名前は不明 ●
自然と値がソートされて保持される ● 値の参照、追加、削除がO(log n) ● 他にも範囲で取得とか便利なクエリも可能(未実 装) ● abstract-hash-mapを継承 ● abstract-sequenceも継承出来る?
19.
その他のデータ構造(実装予定) ● priority-queue – ヒープのkey-value版 ●
deque – 双方向連結リスト – queueが可哀想なことになっちゃうなー ● (ordered-)set – mapのkey-valueじゃない版 ● range – 主にmapの範囲クエリ投げる用 ● Union-Find木 – 競技プログラミング専用?必要ある?
20.
感想 ● abstract-sequenceで実装するメソッド多い – 逆順でイテレートとか明かに相性が悪いのもある ●
やっぱpushとpopの挙動変更したい – heapもabstract-sequenceを実装したい – あるいはabstract-collection? ● テストの自動生成あっても良いかも ● abstract-hashの機能充実したい
21.
以上 質問あればどうぞ
Download now