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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
taiseiue
April 06, 2025
Technology
100
0
Share
.NETの上でお手製の言語を動かす技術
Kyoto.cs#1で発表した資料です。
https://kyotocs.connpass.com/event/348616/
taiseiue
April 06, 2025
More Decks by taiseiue
See All by taiseiue
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
370
Kotlinのデフォルト引数の話
taiseiue
0
87
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
420
振り向き美人
taiseiue
0
29
Tadpole operators
taiseiue
0
70
(自作の)プログラミング言語ができるまで
taiseiue
1
610
Other Decks in Technology
See All in Technology
AI時代のガードレールとしてのAPIガバナンス
nagix
0
310
Building a Standalone Programming Environment
harukasan
PRO
1
100
Shipping AI Agents — Lessons from Production
vvatanabe
0
290
Do Vibe Coding ao LLM em Produção para Busca Agêntica - TDC 2026 - Summit IA - São Paulo
jpbonson
3
160
[最強DB講義]推薦システム | 評価編
recsyslab
PRO
0
110
Standards et agents IA : un tour d’horizon de MCP, A2A, ADK et plus encore
glaforge
0
210
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
210
Route 53 Global Resolver で高額課金発生!
otanikohei2023
0
130
PicoRuby as a Multi-VM Operating System
kishima
1
220
Do Ruby::Box dream of Modular Monolith?
joker1007
1
360
No Types Needed, Just Callable Method Check
dak2
1
2.1k
AI時代 に増える データ活用先
takahal
0
330
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
Music & Morning Musume
bryan
47
7.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
170
Building Adaptive Systems
keathley
44
3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
770
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
540
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
乞う! コントリビューター!
完