Submit Search
Upload
clominal
•
0 likes
•
479 views
M
Masamitsu Oikawa
Follow
clojureで作ったテキストエディタ、clominalのコンセプトの発表です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 17
Download now
Download to read offline
Recommended
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
Hideyuki Takeuchi
Nginx
Nginx
kantohibi
Google Gears データベースの基礎
Google Gears データベースの基礎
webos-goodies
Cannaをフォークしてみた
Cannaをフォークしてみた
Masahiko Hashimoto
Raytracing4
Raytracing4
Kazuma Hatta
続・Cannaをフォークしてみた
続・Cannaをフォークしてみた
Masahiko Hashimoto
夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)
Masafumi Terazono
Recommended
ちゃんとWeb会議スライド『Coffee script』
ちゃんとWeb会議スライド『Coffee script』
H2O Space. Co., Ltd.
Web時代の大富豪的プログラミングのススメ
Web時代の大富豪的プログラミングのススメ
Hideyuki Takeuchi
Nginx
Nginx
kantohibi
Google Gears データベースの基礎
Google Gears データベースの基礎
webos-goodies
Cannaをフォークしてみた
Cannaをフォークしてみた
Masahiko Hashimoto
Raytracing4
Raytracing4
Kazuma Hatta
続・Cannaをフォークしてみた
続・Cannaをフォークしてみた
Masahiko Hashimoto
夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)
Masafumi Terazono
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
Macで快適にプログラミング
Macで快適にプログラミング
Yusuke Sakurai
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Yoshitaka Kawashima
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
terurou
らくちん Go言語
らくちん Go言語
株式会社YEBIS.XYZ
Eclipse xtext 紹介
Eclipse xtext 紹介
Akira Tanaka
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
Ransui Iso
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
Koji Shiraishi
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Koichi Sakata
VMを改めて学んで見る
VMを改めて学んで見る
kishima7
JAWS-UG Nagoya 20160729
JAWS-UG Nagoya 20160729
陽平 山口
Sphinxの環境構築が再現できない問題をDockerで解決してみた
Sphinxの環境構築が再現できない問題をDockerで解決してみた
Study Group by SciencePark Corp.
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
Naruto TAKAHASHI
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
Takashi Sogabe
Clojureの発表など
Clojureの発表など
Kikuta Go
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
知っておきたいWordPress開発環境 2016年10月編
知っておきたいWordPress開発環境 2016年10月編
株式会社ガリレオ(開発グループ)
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
More Related Content
Similar to clominal
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
Macで快適にプログラミング
Macで快適にプログラミング
Yusuke Sakurai
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Yoshitaka Kawashima
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
Narami Kiyokura
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
terurou
らくちん Go言語
らくちん Go言語
株式会社YEBIS.XYZ
Eclipse xtext 紹介
Eclipse xtext 紹介
Akira Tanaka
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
Ransui Iso
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
Koji Shiraishi
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Koichi Sakata
VMを改めて学んで見る
VMを改めて学んで見る
kishima7
JAWS-UG Nagoya 20160729
JAWS-UG Nagoya 20160729
陽平 山口
Sphinxの環境構築が再現できない問題をDockerで解決してみた
Sphinxの環境構築が再現できない問題をDockerで解決してみた
Study Group by SciencePark Corp.
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
Naruto TAKAHASHI
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
Takashi Sogabe
Clojureの発表など
Clojureの発表など
Kikuta Go
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
Shinya Okano
知っておきたいWordPress開発環境 2016年10月編
知っておきたいWordPress開発環境 2016年10月編
株式会社ガリレオ(開発グループ)
Similar to clominal
(20)
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
Macで快適にプログラミング
Macで快適にプログラミング
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
渋谷JVM#1 Immutable時代のプログラミング言語 Clojure
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
らくちん Go言語
らくちん Go言語
Eclipse xtext 紹介
Eclipse xtext 紹介
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
DockerHubを活用してAnsibleのPlaybookを自動ビルドする
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
VMを改めて学んで見る
VMを改めて学んで見る
JAWS-UG Nagoya 20160729
JAWS-UG Nagoya 20160729
Sphinxの環境構築が再現できない問題をDockerで解決してみた
Sphinxの環境構築が再現できない問題をDockerで解決してみた
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
アプリケーションエンジニアのためのクラウドインフラ再入門 (2/3)
Clojureの発表など
Clojureの発表など
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
知っておきたいWordPress開発環境 2016年10月編
知っておきたいWordPress開発環境 2016年10月編
Recently uploaded
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/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
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/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
Recently uploaded
(11)
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
clominal
1.
clominal clojureで作る Application Platform
2.
自己紹介 ● 及川正崇(おいかわまさみつ) ● 静岡県在住のプログラマ ●
俺様言語処理系を作ってたらSchemeに遭遇 ● 紆余曲折を経てclojureに落ち着く
3.
理想的な環境 ● ちょっとしたツールを手早く作れる ● 柔軟な言語 ●
既存のライブラリが豊富にある ● 「気軽に」GUIを作れる ● 環境構築が楽
4.
clojureを選んだ理由 ● Lisp(repl、S式、マクロ) ● Javaの基盤を使いまわせる –
豊富な標準クラスライブラリ(GUI付き※) – 豊富な3rdParty製クラスライブラリ – 豊富な技術情報 ● 環境構築が割と楽
5.
とはいえ・・・ テキストエディタとreplだけではしんどい・・・ となるとやはりEmacsで開発する?
6.
Emacsは・・・ ● すごい環境だと思う →Emacs Lispで設定どころかアプリが作れる ●
でもどこまで行ってもEmacs Lisp →いろいろ制限があるようで、どうしても 本気で勉強する気になれない。。 結局、自分が欲しいのは、 マクロ言語がclojureのEmacsモドキ
7.
おもしろそうだから 作ってみよう
8.
「clominal」の誕生 ● ベースはテキストエディタとして実装 ● すべてclojureで実装 ●
当然clojureで機能拡張可能(GUI含む) ● replもGUIのツールとして実装したい →clojureの関数呼び出しがまんまコマンドに! →「clojure」の「端末(terminal)」 ↓ 「clominal」と命名 ちょっと響きがかっこよくて気に入っている
9.
実装済みの機能 まだテキストエディタの基本機能だけしかない ● 簡単なファイル操作(開く、保存、閉じる) ● 検索(使いにくい) ●
clojureコードのハイライト表示 ● S式単位での移動 ● ショートカットキー機構(Emacsのような複合 キーストロークを実現)
10.
実装はまだ全然貧弱 困っている事の方がはるかに多い。。
11.
困ってる事(テキストエディタ) ● 当初「コアな機能は全て標準クラスライブラリ で」と息巻いていた ● が、エディタ部分で使っていたJTextPaneの Syntax
Highlightが思う通りに実装できず ● O型なのでなんだか面倒くさくなってきて ● RSyntaxTextArea.jarを使うことにしてお茶を 濁している。
12.
困ってる事(日本語変換ウィンドウ) ● Linuxで実行した場合、日本語変換候補ウィン ドウがJFrameの左下に出てしまう。 ● 結構致命的な気がするけどO型なので(ry ●
Windowsでもおかしな位置に表示されたが、 こちらは一応座標を返してきたので、補正して カーソル位置に表示できるようにしてある。 ● 貧乏人なのでMacでの挙動は知らない。。
13.
困ってる事(置換機能) ● RSyntaxTextArea.jarが持っている置換機能 の呼び出しがうまくできない。 ● ソースを見たが、置換の関数は検索の関数と アクセス記述子が異なっていた。(private) ●
なので、リフレクションを使って無理やり呼び出 そうとしたが、なぜかうまく呼び出せない。 ● O型だけど、これは何とかしたいと思ってる。
14.
困ってる事(性能) ● 爆速PCだと違和感を感じないが、超非力な PCだとかなりもっさりした動き ● ボトルネックを調べて改善したいけど、ボトル ネックの調べ方がいまいち分かってなくて放置 状態
15.
困ってる事(設計とコード) ● 基本的な設計指針がしっかりと決まってなくて 構造が汚い (Emacsを先生にしないとダメな気がする) ● 設定ファイルsettings.cljをどういう位置づけに すべきなのか割と本気で分からない ●
「手続き」丸出しのclojureコードでちょっと恥 ずかしい
16.
clominalは・・・ ● まだまだ課題が山積み ● その上ブサイク ●
でもかわいい我が子のようなヤツなので のんびり実装していこうと思っています
17.
ご清聴ありがとうございました
Download now