Changes between Version 9 and Version 10 of LoritoDesignQuestions

Show
Ignore:
Timestamp:
07/22/10 16:53:33 (12 years ago)
Author:
cotto
Comment:

various fixes, including citations and feedback from pmichaud++

Legend:

Unmodified
Added
Removed
Modified
  • LoritoDesignQuestions

    v9 v10  
    33=== What are the main goals that Lorito should accomplish? === 
    44 
    5 We want Lorito to have the same capabilities as C in a form that is easy to parse, instrument, transform, analyze, etc.  Much of the slowness in the current (circa 2.6.0) pre-Lorito Parrot comes from the impedance mismatch where C code and PIR code need to interact.  By creating Lorito and using it to implement code that is currently written in C, we can eliminate that bottleneck and make Parrot more amenable to further optimization and analysis. 
     5We want Lorito to have the same capabilities as C in a form that is easy to parse, instrument, transform, analyze, etc.  Much of the slowness in the current (circa 2.6.0) pre-Lorito Parrot comes from the impedance mismatch where C code and PIR code need to interact (inferior runloops, for instance).  By creating Lorito and using it to implement code that is currently written in C, we can eliminate that bottleneck and make Parrot more amenable to further optimization and analysis. 
    66 
    77=== How much of Parrot's current core do we want to eventually rewrite in Lorito? === 
    88 
    9 Ideally, everything.  Some very low-level code such as GC's stack walking may need to be partially implemented in C or assembly, but the endgame is that almost all of Parrot is implemented in a HLL that compiles down to Lorito ops. 
     9Ideally, everything.  Some very low-level code such as GC's stack walking may need to be partially implemented in C or assembly, but the endgame is that almost all of Parrot is implemented in an HLL that compiles down to Lorito ops. 
    1010 
    1111=== Will PIR compile down to Lorito assembly or will it be a superset of Lorito assembly? === 
     
    4949=== Will Lorito have a object model built-in? === 
    5050 
    51 No.  The object model will be implemented on top of Lorito. 
    52  
    5351=== Will Lorito still have the same core object model as Parrot? === 
    54  
    55 Lorito will exist below the level of Parrot's object model.   
    5652 
    5753=== Will Lorito have a single op that does method dispatch at the lowest level or it will be simulated using a series of ops? === 
     
    6561=== Will PMCs and Objects be merged? === 
    6662 
    67 Yes. 
     63[http://irclog.perlgeek.de/parrotsketch/2010-07-13#i_2551009 Yes]. 
    6864 
    6965=== Will Strings and PMCs/Objects be merged? === 
    7066 
    71 This hasn't been decided yet. 
     67This idea has been mentioned but we [http://irclog.perlgeek.de/parrotsketch/2010-07-13#i_2551002 haven't reached] a decision. 
    7268 
    7369=== What requirements will Lorito impose on the memory layout of objects? === 
     
    7571=== Will objects have a static vtable in addition to method dispatch? === 
    7672 
    77 VTABLE functions and methods will be unified post-Lorito.  The Parrot development community hasn't decided what this mechanism will be, but it is likely that the internal representation of vtable functions will change from its current form. 
     73VTABLE functions and methods will be unified post-Lorito.  The Parrot development community haven't decided what this mechanism will be, but it is likely that the internal representation of vtable functions will change from its current form. 
    7874 
    7975=== How should method dispatch work? === 
     
    8379=== Should method dispatch use strings or [http://en.wikipedia.org/wiki/Symbol_(Lisp) symbols]? === 
    8480 
    85 Symbols are likely but this design decision hasn't been discussed yet. 
     81[http://irclog.perlgeek.de/parrot/2010-07-13#i_2551081 Symbols are likely] but this design decision hasn't been widely discussed yet. 
    8682 
    8783=== How will Lorito support native types? ===