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
94
.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
300
Kotlinのデフォルト引数の話
taiseiue
0
75
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
380
振り向き美人
taiseiue
0
24
Tadpole operators
taiseiue
0
65
(自作の)プログラミング言語ができるまで
taiseiue
1
550
Other Decks in Technology
See All in Technology
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
42
20k
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
570
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
1.6k
The Engineer with a Three-Year Cycle
e99h2121
0
160
Git Training GitHub
yuhattor
1
220
Security Hub と出会ってから 1年半が過ぎました
rch850
0
160
漸進的過負荷の原則
sansantech
PRO
1
150
Proxmoxで作る自宅クラウド入門
koinunopochi
0
170
SwiftDataを覗き見る
akidon0000
0
290
GitHub Copilot CLI 現状確認会議
torumakabe
10
3.3k
OCI技術資料 : OS管理ハブ 概要
ocise
2
4.2k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Believing is Seeing
oripsolob
1
33
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
140
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
Building the Perfect Custom Keyboard
takai
2
670
Unsuck your backbone
ammeep
671
58k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
560
Evolving SEO for Evolving Search Engines
ryanjones
0
100
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
390
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
160
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
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
乞う! コントリビューター!
完