Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Capability Safe Reflection for the Wyvern Langu...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Meta Workshop
October 30, 2016
Research
780
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Capability Safe Reflection for the Wyvern Language, Esther Wang
Meta Workshop
October 30, 2016
More Decks by Meta Workshop
See All by Meta Workshop
AST Specialisation and Partial Evaluation for Easy High-Performance Metaprogramming, Chris Seaton
meta
0
920
Implementation of LMNtal Model Checkers: A Metaprogramming Approach, Yutaro Tsunekawa
meta
0
830
Virtual Values for Taint and Information Flow Analysis, Thomas H. Austin
meta
0
850
Evolution of Metaprograms: XSLT as a Metaprogramming Language, Vadim Zaytsev
meta
0
700
Declaratively Specifying Security Policies For Web Applications, Angel Luis Scull Pupo
meta
0
600
ChromaKey: Towards Extensible Reflective Architectures, Pablo Inostroza
meta
0
490
Other Decks in Research
See All in Research
TESSERA: Temporal Embeddings of Surface Spectra for Earth Representation and Analysis
satai
3
120
CDCL を用いた MILP の厳密解法
imai448
0
300
[SNLP2026] Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach
wataruuuuu
0
340
2026年6月_副業コンプライアンス調査_業界別リスク度分析_株式会社フクスケ.pdf
fkske
0
130
ros2-perf-multihost: 分散システムにおける客観的なアーキテクチャ評価フレームワーク
takasehideki
0
290
Bilan travail en élevage : première restitution des enquêtes 2025-2026
institutdelelevage
PRO
0
230
研究室単位での自律的 IPv6接続性確立に向けたAS共同運用モデルの提案と実証
reokashiwa
PRO
0
230
Volatilité des marchés et sécheresse historique, l’élevage bovin viande sous contraintes en 2026
institutdelelevage
PRO
0
120
JPA2026_NetworkTutorial_JunKashihara
junkashihara
0
230
Être éleveur dans un monde en transition : Comprendre les changements pour mieux les accompagner
institutdelelevage
PRO
0
140
Karkada さんの論文 × 2 の紹介: (1) Closed-Form Training Dynamics Reveal Learned Features and Linear Structure in Word2Vec-like Models, (2) Symmetry in language statistics shapes the geometry of model representations
eumesy
PRO
1
860
ハードウェア研究で国際トップ会議を目指す!IROS 2027での論文採択を目指して
ayatokanada
7
4.1k
Featured
See All Featured
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
How to make the Groovebox
asonas
2
2.5k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Optimizing for Happiness
mojombo
378
71k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Navigating Team Friction
lara
192
16k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Transcript
None
• • • ◦ ◦ •
• ◦ • •
• ◦ • ◦ • •
• • • ◦ ◦ •
• • • ◦ ◦ ◦
type List = def append[T](object:T) : Unit def get[T](index:Integer) :
T def make[T]() : List = new /* ... Object definition ... */ val myList : List = make[Integer]()
• ◦ ◦ • ◦ ◦
• • • ◦ ◦ •
• ◦ • • •
resource module wyvern/reflection/full def reflect[T](obj:T) : Object def reflectType[T]() :
Type
module wyvern/reflection/dynamic resource type Object module wyvern/reflection/static type Type type
Method type Variable type Field
val listObj:Object = \ reflect[List](List.make[Integer]().add(1)) val listType:Type = listObj.typeOf() val
getMethod:Method = listType.methodByName(“get”) listObj.invoke(getMethod, List.make().add(0))
• ◦ • ◦ • ◦
• • • ◦ ◦ •
• ◦ ◦ ◦ •
resource type Object = ... def viewAtType(t:Type) : Object
resource module wyvern/reflection/limited def reflect[T](obj:T) : Object def reflectType[T]() :
Type • viewAtType reflect • •
• • • ◦ ◦ •
• • ◦ ◦ •
• ◦ ◦ viewAtType ◦
None
• ◦ ◦ viewAtType ◦