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
83
.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
220
Kotlinのデフォルト引数の話
taiseiue
0
58
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
330
振り向き美人
taiseiue
0
21
Tadpole operators
taiseiue
0
53
(自作の)プログラミング言語ができるまで
taiseiue
1
410
Other Decks in Technology
See All in Technology
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
230
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
860
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
490
roppongirb_20250911
igaiga
1
250
slog.Handlerのよくある実装ミス
sakiengineer
4
480
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
2
210
AWSで始める実践Dagster入門
kitagawaz
1
750
AIがコード書きすぎ問題にはAIで立ち向かえ
jyoshise
1
210
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
590
20250913_JAWS_sysad_kobe
takuyay0ne
2
250
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
110
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
110
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Unsuck your backbone
ammeep
671
58k
What's in a price? How to price your products and services
michaelherold
246
12k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Fireside Chat
paigeccino
39
3.6k
Site-Speed That Sticks
csswizardry
10
820
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Building an army of robots
kneath
306
46k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
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
乞う! コントリビューター!
完