move posts
This commit is contained in:
parent
5ee1c6d461
commit
5950fac3ce
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Well, it has been a good holiday, two months in Indonesia, Bali and diving Komodo. It brought
|
||||
clarity, and so i have to start a daunting task.
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
The c machine
|
||||
-------------
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Part of the reason why i even thought this was possible was because i had bumped into Metasm.
|
||||
|
||||
Metasm creates native code in 100% ruby. Either from Assembler or even C (partially). And for many cpu's too.
|
@ -1,10 +1,6 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
Both "ends", parsing and machine code, were relatively clear cut. Now it is into unknown territory.
|
||||
|
||||
I had ported the Kaleidescope llvm tutorial language to ruby-llvm last year, so thee were some ideas floating.
|
||||
I had ported the Kaleidoscope llvm tutorial language to ruby-llvm last year, so thee were some ideas floating.
|
||||
|
||||
The idea of basic blocks, as the smallest unit of code without branches was pretty clear. Using those as jump
|
||||
targets was also straight forward. But how to get from the AST to arm Intructions was not, and took some trying out.
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Parsing is a difficult, the theory incomprehensible and older tools cryptic. At least for me.
|
||||
|
||||
And then i heard recursive is easy and used by even llvm. Formalised as peg parsing libraries exists, and in ruby
|
@ -1,9 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
title: More clarity
|
||||
---
|
||||
|
||||
It's such a nice name, crystal. My first association is clarity, and that is exactly what i am trying to achieve.
|
||||
|
||||
But i've been struggling a bit to achieve any clarity on the topic of system boundary: where does OO stop. I mean i can't very well define method lookup in ruby syntax, as that involves method lookups. But tail recursion is so booring, it just never stops!
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
I was just reading my ruby book, wondering about functions and blocks and the like, as one does when implementing
|
||||
a vm. Actually the topic i was struggling with was receivers, the pesty self, when i got the exception.
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
I am not stuck. I know i'm not. Just because there is little visible progress doesn't mean i'm stuck. It may just feel like it though.
|
||||
|
||||
But like little cogwheels in the clock, i can hear the background process ticking away and sometimes there is a gong.
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
In a picture, or when taking a picture, the frame is very important. It sets whatever is in the picture into context.
|
||||
|
||||
So it is a bit strange that having a **frame** had the same sort of effect for me in programming.
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
It has been a bit of a journey, but now we have arrived: Salama is officially named.
|
||||
|
||||
### Salama
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
While trying to figure out what i am coding i had to attack this storage format before i wanted to. The
|
||||
immediate need is for code dumps, that are concise but readable. I started with yaml but that just takes
|
||||
too many lines, so it's too difficult to see what is going on.
|
||||
@ -91,4 +86,3 @@ sof's directly.
|
||||
|
||||
How, when and how automatically changes are merged (via git) is up to developer policy . But it is
|
||||
easily imaginable that data in program designated areas get merged back into the "mainstream" automatically.
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
The time of introspection is coming to an end and i am finally producing executables again. (hurrah)
|
||||
|
||||
### Block and exception
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
The register machine abstraction has been somewhat thin, and it is time to change that
|
||||
|
||||
### Current affairs
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
As before the original start of the project, i was 6 weeks on holiday. The distance and lack of computer really helps.
|
||||
|
||||
### Review
|
||||
@ -44,4 +39,3 @@ And i noticed that what i have called Builtin up to now is actually part of the
|
||||
|
||||
I have now given lightning talk on Frozen Rails 2014 and Ruby Bath 2015.
|
||||
As 5 Minutes is clearly now enough i will work on a longer presentation.
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Since i got the ideas of Slots and the associated instruction Set, i have been wondering how that
|
||||
fits in with the code generation.
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Quite long ago i [had already determined](/2014/06/27/an-exceptional-thought.html) that return
|
||||
addresses and exceptional return addresses should be explicitly stored in the message.
|
||||
|
@ -1,8 +1,4 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
After almost a year of rewrite: **Hello World** is back.
|
||||
|
||||
**Working executables again**
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
It really is like [Bret Victor](http://worrydream.com/#!/InventingOnPrinciple) says in his video:
|
||||
good programmers are the ones who play computer in their head well.
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
It is the **one** thing i said i wasn't going to do: Write a language.
|
||||
There are too many languages out there already, and just because i want to write a vm,
|
||||
doesn't mean i want to add to the language jungle.
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Ok, that was surprising: I just wrote a language in two months. Parser, compiler, working binaries
|
||||
and all.
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Writing Soml helped a lot to separate the levels, or phases of the ruby compilation process. Helped
|
||||
me that is, to plan the ruby compiler.
|
||||
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
So, the plan, in short:
|
||||
|
||||
1. I need to work a little more on docs. Reading them i notice they are still not up to date
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
## RubyX compiles ruby to binary
|
||||
|
||||
The previous name was from a time in ancient history, three years ago, in internet time over
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
I just read mri 2.4 "unifies" Fixnum and Integer. This, it turns out, is something quite
|
||||
different from what i though, mostly about which class names are returned.
|
||||
And that it is ok to have two implementations for the same class, Integer.
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
As i said in the last post, a step back and forward, possibly two, was taken and understanding
|
||||
grows again. Especially when i think that some way is the way, it always changes and i turn out
|
||||
to be at least partially wrong. The way of life, of imperfect intelligence, to strive for that
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Going on holiday without a computer was great. Forcing me to recap and write things down on paper.
|
||||
|
||||
## Layers
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Method caching can be done at language level. Wow. But first some boring news:
|
||||
|
||||
## Vool is ready, Mom is coming
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
While work on Mom (Minimal object machine) continues, i can see the futures a little clearer.
|
||||
Alas, for now the shortest route is best, so the future will have to wait. But here is what i'm
|
||||
thinking.
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Since i currently have no time to do actual work, i've been doing some research.
|
||||
|
||||
Reading about other implementations, especially transpiling ones. Opal, ruby to
|
@ -1,8 +1,3 @@
|
||||
---
|
||||
layout: news
|
||||
author: Torsten
|
||||
---
|
||||
|
||||
Now that i *have* had time to write some more code (250 commits last month), here is
|
||||
the good news:
|
||||
|
Loading…
Reference in New Issue
Block a user