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
57
.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
130
Kotlinのデフォルト引数の話
taiseiue
0
35
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
270
振り向き美人
taiseiue
0
15
Tadpole operators
taiseiue
0
48
(自作の)プログラミング言語ができるまで
taiseiue
1
330
Other Decks in Technology
See All in Technology
大規模PaaSにおける監視基盤の構築と効率化の道のり
lycorptech_jp
PRO
0
170
Scale Security Programs with Scorecarding
ramimac
0
410
iOS/Androidで無限循環Carousel表現を考えてみる
fumiyasac0921
0
120
ゴリラ.vim #36 ~ Vim x SNS ~ スポンサーセッション
yasunori0418
1
290
CloudTrailも、GuardDutyも、VPC Flow logsも… ログ多すぎ問題の整理術
nikuyoshi
5
630
データプレーンプログラミングとは? DPU&スイッチASICの開発経験から語る
ebiken
PRO
0
200
Oracle Cloud Infrastructure:2025年5月度サービス・アップデート
oracle4engineer
PRO
0
330
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
Contract One Dev Group 紹介資料
sansan33
PRO
0
6k
プラットフォームとしての Datadog / Datadog as Platforms
aoto
PRO
1
330
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Azure Developer CLI と Azure Deployment Environment / Azure Developer CLI and Azure Deployment Environment
nnstt1
1
110
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
How to Ace a Technical Interview
jacobian
276
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Building Applications with DynamoDB
mza
95
6.4k
Raft: Consensus for Rubyists
vanstee
137
7k
Being A Developer After 40
akosma
91
590k
Making Projects Easy
brettharned
116
6.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
460
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
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
乞う! コントリビューター!
完