rubyx/lib/register/builtin/README.md

25 lines
1.3 KiB
Markdown
Raw Normal View History

### Builtin module
The Builtin module contains functions that can not be coded in ruby.
2015-03-25 16:29:39 +01:00
It is the other side of the parfait coin, part of the runtime.
The functions are organized by their respective class and get loaded in boot_classes! ,
right at the start. (see virtual/boot.rb)
2015-07-03 19:13:03 +02:00
These functions return their code, ie a Parfait::Method with a Virtual::MethodSource object,
which can then be called by ruby code as if it were a "normal" function.
A normal ruby function is one that is parsed and transformed to code. But not all functionality can
be written in ruby, one of those chicken and egg things.
C uses Assembler in this situation, we use Builtin functions.
Slightly more here : http://salama.github.io/2014/06/10/more-clarity.html (then still called Kernel)
The Builtin module is scattered into several files, but that is just so the file doesn't get too long.
2015-10-07 10:32:48 +02:00
2015-10-07 14:22:47 +02:00
Note: This is about to change slightly with the arrival of Phisol. Phisol is a lower level function,
2015-10-07 10:32:48 +02:00
and as such there is not much that we need that can not be expressed in it. My current thinking
2015-10-07 14:22:47 +02:00
is that i can code anything in Phisol and will only need the Phisol instruction set.
2015-10-07 10:32:48 +02:00
So this whole Builtin approach may blow over in the next months. It had already become clear that
2015-10-07 14:22:47 +02:00
mostly this was going to be about memory access, which in Phisol is part of the language.