| 1 | As Lorito seems to be a somewhat nebulous concept about which people seem to be certain about only a few specific details (not that the specific details are the same between any two people), this is a list of questions we need to consider when designing, planning, and implementing Lorito. Feel free to add more or offer your opinion on a possible answer to any of them. |
| 2 | |
| 3 | What are the main goals that Lorito should accomplish? |
| 4 | |
| 5 | How much of Parrot's current core do we want to eventually rewrite in Lorito? |
| 6 | |
| 7 | Will PIR compile down to Lorito assembly or will it be a superset of Lorito assembly? |
| 8 | |
| 9 | Will Lorito have the option of compiling to C? |
| 10 | |
| 11 | Will Lorito use a different bytecode format from the existing PBC? |
| 12 | |
| 13 | If there is a distinct LBC (Lorito bytecode) format, will instructions be fixed-length? |
| 14 | |
| 15 | Will Lorito have the same calling conventions as Parrot currently does? |
| 16 | |
| 17 | If Lorito's calling conventions differ from Parrot's current ones, what will they be? |
| 18 | |
| 19 | Will Parrot's calling conventions remain the same after Lorito? |
| 20 | |
| 21 | Will Lorito allow direct memory access/pointer arithmetic? |
| 22 | |
| 23 | Will Lorito allow manual memory allocation/deallocation? |
| 24 | |
| 25 | Will Lorito have a stack? |
| 26 | |
| 27 | Will Lorito distinguish between data types at the lowest level? |
| 28 | |
| 29 | Will there be separate storage for different types of data at the lowest level? |
| 30 | |
| 31 | Will Lorito have a object model built-in? |
| 32 | |
| 33 | Will Lorito still have the same core object model as Parrot? |
| 34 | |
| 35 | Will Lorito have a single op that does method dispatch at the lowest level or it will be simulated using a series of ops? |
| 36 | |
| 37 | Will Lorito have some declarative syntax at the lowest level for creating classes/types? |
| 38 | |
| 39 | Will there be a declarative syntax at some level below HLLs for creating classes/types? |
| 40 | |
| 41 | Will PMCs and Objects be merged? |
| 42 | |
| 43 | Will Strings and PMCs/Objects be merged? |
| 44 | |
| 45 | What requirements will Lorito impose on the memory layout of objects? |
| 46 | |
| 47 | Will objects have a static vtable in addition to method dispatch? |
| 48 | |
| 49 | How should method dispatch work? |
| 50 | |
| 51 | Should method dispatch be tied to classes, to objects, to some vtable/prototype object associated with each object? |
| 52 | |
| 53 | Should method dispatch use strings or [http://en.wikipedia.org/wiki/Symbol_(Lisp) symbols]? |