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
51
.NETの上でお手製の言語を動かす技術
Kyoto.cs#1で発表した資料です。
https://kyotocs.connpass.com/event/348616/
taiseiue
April 06, 2025
Tweet
Share
More Decks by taiseiue
See All by taiseiue
Kotlinのデフォルト引数の話
taiseiue
0
20
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
260
振り向き美人
taiseiue
0
14
Tadpole operators
taiseiue
0
47
(自作の)プログラミング言語ができるまで
taiseiue
1
330
Other Decks in Technology
See All in Technology
AIフレンドリーなプロダクト開発を目指して 〜MCPを橋渡しにした環境移行〜
shinpr
0
140
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
190
Azure の裏側を支える SRE の世界
tsubasaxzzz
2
180
ゆるくはじめるSLI・SLO
yatoum
1
130
経済メディア編集部の実務に小さく刺さるAI / small-ai-with-editorial
nkzn
2
520
DataEngineeringとCloudNativeの今と未来
foursue
0
130
10年もののアプリケーションを運用・開発するアプリケーションエンジニアのDatadog活用術
miyamu
0
130
PythonツールであるpygnmiをSONiCのgNMIに対して使ってみた
sonic
0
310
SRE/インフラエンジニアの市場価値とキャリアパス/Market value and career path for SRE-infrastructure engineers
takumakume
1
210
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
0
240
GrafanaをClaude DesktopからMCPで触ってみた
hamadakoji
0
1.2k
技術的負債を「戦略的投資」にするためのPdMとエンジニアの連携と実践
satomino
3
820
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Facilitating Awesome Meetings
lara
54
6.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
850
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
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
乞う! コントリビューター!
完