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
48
.NETの上でお手製の言語を動かす技術
Kyoto.cs#1で発表した資料です。
https://kyotocs.connpass.com/event/348616/
taiseiue
April 06, 2025
Tweet
Share
More Decks by taiseiue
See All by taiseiue
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
240
振り向き美人
taiseiue
0
13
Tadpole operators
taiseiue
0
47
(自作の)プログラミング言語ができるまで
taiseiue
1
320
Other Decks in Technology
See All in Technology
企業が押さえるべきMCPの未来
takaakikakei
0
260
OpenLane-V2ベンチマークと代表的な手法
kzykmyzw
0
150
生成AIのユースケースをとにかく集めてまるっと学ぶ!/ all about generative ai usecases
gakumura
3
360
Cross Data Platforms Meetup LT 20250422
tarotaro0129
1
920
Perl歴約10年のエンジニアがフルスタックTypeScriptに出会ってみた
papix
1
260
更新系と状態
uhyo
8
2.2k
Winning at PHP in Production in 2025
beberlei
1
270
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5k
AIによるコードレビューで開発体験を向上させよう!
moongift
PRO
0
350
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
2
100
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
140
OPENLOGI Company Profile
hr01
0
63k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Faster Mobile Websites
deanohume
306
31k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.5k
GitHub's CSS Performance
jonrohan
1030
460k
Adopting Sorbet at Scale
ufuk
76
9.3k
Scaling GitHub
holman
459
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Writing Fast Ruby
sferik
628
61k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
Fireside Chat
paigeccino
37
3.4k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.3k
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
乞う! コントリビューター!
完