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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
taiseiue
April 06, 2025
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
.NETの上でお手製の言語を動かす技術
Kyoto.cs#1で発表した資料です。
https://kyotocs.connpass.com/event/348616/
taiseiue
April 06, 2025
More Decks by taiseiue
See All by taiseiue
RustでもVJしたい!
taiseiue
0
65
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
410
Kotlinのデフォルト引数の話
taiseiue
0
99
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
450
振り向き美人
taiseiue
0
36
Tadpole operators
taiseiue
0
81
(自作の)プログラミング言語ができるまで
taiseiue
1
650
Other Decks in Technology
See All in Technology
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
160
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
810
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
1
110
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
290
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
360
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
3.5k
クラウド上のデータ復旧で見落としがちな制約: 医療系 SaaS の BCP 設計から得た教訓
kakehashi
PRO
0
3.2k
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
590
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
200
SRE Lounge Hiroshimaへの招待
grimoh
0
610
AI時代のエンジニアキャリアについて今一度考える
sakamoto_582
2
1.5k
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
290
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Are puppies a ranking factor?
jonoalderson
1
3.7k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
220
How to Talk to Developers About Accessibility
jct
2
300
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
A Tale of Four Properties
chriscoyier
163
24k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
890
GitHub's CSS Performance
jonrohan
1033
470k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Test your architecture with Archunit
thirion
1
2.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
Odyssey Design
rkendrick25
PRO
2
730
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
乞う! コントリビューター!
完