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
740
Evolution of Metaprograms: XSLT as a Metaprogramming Language, Vadim Zaytsev
meta
0
620
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
問いを起点に、社会と共鳴する知を育む場へ
matsumoto_r
PRO
0
610
[輪講] SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features
nk35jk
2
980
MIRU2025 チュートリアル講演「ロボット基盤モデルの最前線」
haraduka
15
7.9k
数理最適化と機械学習の融合
mickey_kubo
16
9.3k
snlp2025_prevent_llm_spikes
takase
0
170
Time to Cash: The Full Stack Breakdown of Modern ATM Attacks
ratatata
0
120
Galileo: Learning Global & Local Features of Many Remote Sensing Modalities
satai
3
230
機械学習と数理最適化の融合 (MOAI) による革新
mickey_kubo
0
320
NLP Colloquium
junokim
1
200
Type Theory as a Formal Basis of Natural Language Semantics
daikimatsuoka
1
290
Agentic AIとMCPを利用したサービス作成入門
mickey_kubo
0
530
Adaptive Experimental Design for Efficient Average Treatment Effect Estimation and Treatment Choice
masakat0
0
160
Featured
See All Featured
Navigating Team Friction
lara
189
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What's in a price? How to price your products and services
michaelherold
246
12k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Done Done
chrislema
185
16k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
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 ◦