C# (CSharp) Rakudo.Metamodel.Representations Namespace

Classes

Name Description
P6capture A representation that we use (for now) for native captures.
P6capture.Instance This is how a Capture looks.
P6int A representation that we use for dealing with ints in their boxed form.
P6int.Instance This is how the boxed form of a P6int looks like.
P6list This is a very first cut at a list representation. Essentially, it just knows how to store a list of objects at the moment. At some point we need to define the way that it will handle compact arrays.
P6list.Instance
P6mapping This is a very first cut at a mapping representation. Just stores hash mappings of one string to object at the moment. Not really efficient, and no compact struct support, but gets us started.
P6mapping.Instance
P6num A representation that we use for dealing with nums in their boxed form.
P6num.Instance This is how the boxed form of a P6num looks like.
P6opaque This is a first cut implementation of the P6opaque representation. Eventually it's going to need to handle native types too, and we want to get an instance down to a single object allocation if we can. Alas, that's Quite Tricky to write, so for now we just do something easy, but at least with the hints.
P6opaque.Instance This is what an instance of a P6opaque looks like. The SlotStorage is an array where we'll store most attributes, so we can look them up by index. There's also an unallocated spill-over store for any attributes that are added through augment, or in MI cases.
P6str A representation that we use (for now) for dealing with strings.
P6str.Instance This is how the boxed form of a P6str looks.
RakudoCodeRef A representation for a low-level code object (something that actually references a piece of code that we'll run). This is used for things that serve the role of an only sub (that has a body) and a dispatcher (which has a body as well as a list of candidates that it operates on).
RakudoCodeRef.Instance Instance that uses the RakudoCodeRef representation.