Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
.NETの上でお手製の言語を動かす技術
Search
taiseiue
April 06, 2025
Technology
0
89
.NETの上でお手製の言語を動かす技術
Kyoto.cs#1で発表した資料です。
https://kyotocs.connpass.com/event/348616/
taiseiue
April 06, 2025
Tweet
Share
More Decks by taiseiue
See All by taiseiue
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
250
Kotlinのデフォルト引数の話
taiseiue
0
63
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
350
振り向き美人
taiseiue
0
23
Tadpole operators
taiseiue
0
56
(自作の)プログラミング言語ができるまで
taiseiue
1
470
Other Decks in Technology
See All in Technology
知覚とデザイン
rinchoku
1
720
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
210
AWS re:Invent 2025事前勉強会資料 / AWS re:Invent 2025 pre study meetup
kinunori
0
1k
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
1
220
オブザーバビリティが育むシステム理解と好奇心
maruloop
3
1.9k
日本のソブリンAIを支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
110
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
1
760
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
810
OPENLOGI Company Profile for engineer
hr01
1
46k
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
330
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
410
.NET 10のBlazorの期待の新機能
htkym
0
170
Featured
See All Featured
BBQ
matthewcrist
89
9.9k
How to Ace a Technical Interview
jacobian
280
24k
The Language of Interfaces
destraynor
162
25k
Raft: Consensus for Rubyists
vanstee
140
7.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Agile that works and the tools we love
rasmusluckow
331
21k
Writing Fast Ruby
sferik
630
62k
Facilitating Awesome Meetings
lara
57
6.6k
Being A Developer After 40
akosma
91
590k
How GitHub (no longer) Works
holman
315
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Transcript
.NETの上で お手製の言語を動かす技術 Kyoto.cs#1 2025/4/6 京都産業大学 上村太成
自己紹介 •taiseiue • X @taiseiue • id:taiseiue • taiseiue.jp •
C#/TypeScript/Perl •
None
None
None
C#の話をします
None
None
None
AliceScriptの実装: Losetta
None
None
じゃあ AliceScriptの外の関数は?
None
None
None
こういう関数を考える
None
しんどい
None
こういうのにしたい
None
いるもの •Variable型から指定した型への変換 •.NETのメソッドをFunctionBaseにする
Variableか.NETの型への変換
None
いるもの • Variable型から指定した型への変換 •.NETのメソッドをFunctionBaseにする
None
BindFunctionには対応する .NET のメソッドの MethodInfoを持たせておく
BindFunctionには対応する .NET のメソッドの MethodInfoを持たせておく
遅い!
MethodInfo.Invokeの欠点 •遅い • リフレクション • 呼び出し毎に遅延バインディングが起きる
リフレクション
動的コード生成
None
None
None
None
Native C Functionは?
None
まとめ • リフレクションでメソッドを呼ぶときには • デリゲートにキャッシュしよう
None
乞う! コントリビューター!
完