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
100
0
Share
.NETの上でお手製の言語を動かす技術
Kyoto.cs#1で発表した資料です。
https://kyotocs.connpass.com/event/348616/
taiseiue
April 06, 2025
More Decks by taiseiue
See All by taiseiue
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
360
Kotlinのデフォルト引数の話
taiseiue
0
83
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
410
振り向き美人
taiseiue
0
28
Tadpole operators
taiseiue
0
69
(自作の)プログラミング言語ができるまで
taiseiue
1
590
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
すごいぞManaged Kubernetes
harukasakihara
1
370
英語翻訳を通じて 音声AIエージェント入門してみた
shichijoyuhi
0
110
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
670
さくらのクラウドでつくるCloudNative Daysのオブザーバビリティ基盤
b1gb4by
0
130
本番環境でPHPコードに触れずに「使われていないコード」を調べるにはどうしたらよいか?
egmc
1
260
20260410 - CNTUG meetup #72 - DiskImage Builder 介紹:以 Kubespray CI 打造 RockyLinux 10 Cloud Image 為例
tico88612
0
110
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
260
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
23
6.8k
AIドリブン開発の実践知 ― AI-DLC Unicorn Gym実施から見えた可能性と課題
mixi_engineers
PRO
0
120
解剖"React Native"
hacusk
0
120
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
360
Featured
See All Featured
The browser strikes back
jonoalderson
0
900
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
200
So, you think you're a good person
axbom
PRO
2
2k
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
BBQ
matthewcrist
89
10k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
470
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
350
The Mindset for Success: Future Career Progression
greggifford
PRO
0
300
Fireside Chat
paigeccino
42
3.9k
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
乞う! コントリビューター!
完