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
86
.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
240
Kotlinのデフォルト引数の話
taiseiue
0
62
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
340
振り向き美人
taiseiue
0
22
Tadpole operators
taiseiue
0
54
(自作の)プログラミング言語ができるまで
taiseiue
1
430
Other Decks in Technology
See All in Technology
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
2
210
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
130
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
240
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
700
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
180
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
170
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
120
Adapty_東京AI祭ハッカソン2025ピッチスライド
shinoyamada
0
230
Wasmのエコシステムを使った ツール作成方法
askua
0
110
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.8k
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
310
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Optimizing for Happiness
mojombo
379
70k
Being A Developer After 40
akosma
91
590k
Unsuck your backbone
ammeep
671
58k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Thoughts on Productivity
jonyablonski
70
4.9k
A better future with KSS
kneath
239
18k
Six Lessons from altMBA
skipperchong
28
4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
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
乞う! コントリビューター!
完