Post Reply 
Programming puzzles: processing lists!
04-26-2017, 02:49 AM
Post: #46
RE: Programming puzzles: processing lists!
(04-25-2017 08:34 PM)pier4r Wrote:  So, userRPL -> sysRPL -> saturn code (emulated) -> ARM code

while newRPL -> ARM code

python would be: python -> "compiled python" -> ARM code

When Claudio says "there is the inner layer of C code" it seems that the C code should be interpreted first, instead of being a binary.
Like: newRPL -> C -> ARM code

Am I mistaken?

Let's start confirming that C is compiled, and runs native ARM code.

Like every modern piece of software, newRPL is organized as a "stack":
* One layer of low-level subroutines that deal with bare data and exposes an API to manipulate objects and work with the stack, return stack, etc.
* A higher layer of libraries that define the commands, check the arguments, etc.
* The top layer is the RPL code from the user, be it loose commands ran from the keyboard or the menus, or programs stored in variables.

From this perspective, when David asked "is there an inner layer", the answer is yes, there's layers. However, I think he meant an intermediate language like sysRPL, running on the RPL loop. Then the answer is no, because it's the exact same loop, running the same newRPL commands (for the most part, there's a few hidden commands too, but not enough to define a new language), so list commands run in the same outer layer.
Except for the outer layer in RPL, the other 2 are compiled C, hence native ARM code.
So it depends on what kind of layers you are talking about, or how you define layers.

newRPL -> C command libraries -> C lower-level API
Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
RE: Programming puzzles: processing lists! - Claudio L. - 04-26-2017 02:49 AM

User(s) browsing this thread: 1 Guest(s)