bit of documentation

This commit is contained in:
Torsten Ruger
2018-08-14 11:23:19 +03:00
parent fb54d68020
commit 0bf008b351
6 changed files with 88 additions and 45 deletions

35
ToDo.md
View File

@ -10,8 +10,7 @@ Some things that would be nice . .
- utf8 support (string improvements generally)
Platforms
---------
## Platforms
x86 is up for grabs. I have intentionally started on arm (the most sold cpu) because i do
this for fun. And my pi is fun.
@ -19,24 +18,40 @@ this for fun. And my pi is fun.
There is a ruby intel assembler called wilson out there. Or then there is Metasm, with
good support for many other cpu's (and a lot more code)
Compliance
----------
## Compliance
Is admittedly a little more fun, but also not really my goal in the near future.
Is admittedly a little more fun, but also not really my personal goal in the near future.
If i am really honest about this, i think ruby is a little quirky around the edges and i
think a lot of that can/should be done as a compatibility layer. Keeping the core clean (and shiny).
Stdlib
------
## Stdlib
Stdlib is not clean. More like a layer that accumulated over the years.
Very nice solutions exist for most of the important things. Like celluloid for concurrency. Celluloid-io for
Very nice solutions exist for most of the important things.
Like celluloid for concurrency. Celluloid-io for
good performance io with or without zero-mq. Fiddle looks nice admittedly.
Interesting
-----------
## Concurrency
Solving concurrency is up for grabs. Any solution is a start, channels ala go are nice and
lock free stuff is the ultimate goal.
## Stary sky
Iterate:
1. more cpus (ie intel)
2. more systems (ie mac)
3. more syscalls, there are after all some hundreds (most as external gems)
5. A lot of modern cpu's functionality has to be mapped to ruby and implemented in assembler to be useful
6. Different sized machines, with different register types ?
7. on 64bit, there would be 8 bits for types and thus allow for rational, complex, and whatnot
8. Housekeeping (the superset of gc) is abundant
9. Any amount of time could be spent on a decent digital tree (see judy). Or possibly Dr.Cliffs hash.
10. Also better string/arrays would be good.
11. The minor point of threads and hopefully lock free primitives to deal with that.
12. Other languages, python at least, maybe others
And generally optimise and work towards that perfect world (we never seem to be able to attain).