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
Capability Safe Reflection for the Wyvern Langu...
Search
Meta Workshop
October 30, 2016
Research
0
710
Capability Safe Reflection for the Wyvern Language, Esther Wang
Meta Workshop
October 30, 2016
Tweet
Share
More Decks by Meta Workshop
See All by Meta Workshop
AST Specialisation and Partial Evaluation for Easy High-Performance Metaprogramming, Chris Seaton
meta
0
850
Implementation of LMNtal Model Checkers: A Metaprogramming Approach, Yutaro Tsunekawa
meta
0
770
Virtual Values for Taint and Information Flow Analysis, Thomas H. Austin
meta
0
750
Evolution of Metaprograms: XSLT as a Metaprogramming Language, Vadim Zaytsev
meta
0
630
Declaratively Specifying Security Policies For Web Applications, Angel Luis Scull Pupo
meta
0
540
ChromaKey: Towards Extensible Reflective Architectures, Pablo Inostroza
meta
0
430
Other Decks in Research
See All in Research
Learning to (Learn at Test Time): RNNs with Expressive Hidden States
kurita
1
260
HoliTracer:Holistic Vectorization of Geographic Objects from Large-Size Remote Sensing Imagery
satai
3
120
情報技術の社会実装に向けた応用と課題:ニュースメディアの事例から / appmech-jsce 2025
upura
0
200
Large Language Model Agent: A Survey on Methodology, Applications and Challenges
shunk031
17
10k
「どう育てるか」より「どう働きたいか」〜スクラムマスターの最初の一歩〜
hirakawa51
0
930
Submeter-level land cover mapping of Japan
satai
3
420
20250725-bet-ai-day
cipepser
2
480
超高速データサイエンス
matsui_528
1
150
IMC の細かすぎる話 2025
smly
2
680
SegEarth-OV: Towards Training-Free Open-Vocabulary Segmentation for Remote Sensing Images
satai
3
320
AI エージェントを活用した研究再現性の自動定量評価 / scisci2025
upura
1
160
J-RAGBench: 日本語RAGにおける Generator評価ベンチマークの構築
koki_itai
0
730
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Six Lessons from altMBA
skipperchong
28
4k
Code Review Best Practice
trishagee
72
19k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
20
1.2k
BBQ
matthewcrist
89
9.8k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.8k
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 ◦