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
|
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.
|
clarity, and so i have to start a daunting task.
|
||||||
|
|
@ -1,8 +1,3 @@
|
|||||||
---
|
|
||||||
layout: news
|
|
||||||
author: Torsten
|
|
||||||
---
|
|
||||||
|
|
||||||
The c machine
|
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.
|
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.
|
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.
|
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
|
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.
|
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.
|
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
|
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.
|
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!
|
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
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
It has been a bit of a journey, but now we have arrived: Salama is officially named.
|
||||||
|
|
||||||
### Salama
|
### 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
|
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
|
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.
|
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
|
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.
|
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)
|
The time of introspection is coming to an end and i am finally producing executables again. (hurrah)
|
||||||
|
|
||||||
### Block and exception
|
### 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
|
The register machine abstraction has been somewhat thin, and it is time to change that
|
||||||
|
|
||||||
### Current affairs
|
### 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.
|
As before the original start of the project, i was 6 weeks on holiday. The distance and lack of computer really helps.
|
||||||
|
|
||||||
### Review
|
### 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.
|
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.
|
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
|
Since i got the ideas of Slots and the associated instruction Set, i have been wondering how that
|
||||||
fits in with the code generation.
|
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
|
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.
|
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.
|
After almost a year of rewrite: **Hello World** is back.
|
||||||
|
|
||||||
**Working executables again**
|
**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:
|
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.
|
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.
|
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,
|
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.
|
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
|
Ok, that was surprising: I just wrote a language in two months. Parser, compiler, working binaries
|
||||||
and all.
|
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
|
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.
|
me that is, to plan the ruby compiler.
|
||||||
|
|
@ -1,8 +1,3 @@
|
|||||||
---
|
|
||||||
layout: news
|
|
||||||
author: Torsten
|
|
||||||
---
|
|
||||||
|
|
||||||
So, the plan, in short:
|
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. 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
|
## RubyX compiles ruby to binary
|
||||||
|
|
||||||
The previous name was from a time in ancient history, three years ago, in internet time over
|
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
|
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.
|
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.
|
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
|
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
|
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
|
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.
|
Going on holiday without a computer was great. Forcing me to recap and write things down on paper.
|
||||||
|
|
||||||
## Layers
|
## Layers
|
@ -1,8 +1,3 @@
|
|||||||
---
|
|
||||||
layout: news
|
|
||||||
author: Torsten
|
|
||||||
---
|
|
||||||
|
|
||||||
Method caching can be done at language level. Wow. But first some boring news:
|
Method caching can be done at language level. Wow. But first some boring news:
|
||||||
|
|
||||||
## Vool is ready, Mom is coming
|
## 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.
|
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
|
Alas, for now the shortest route is best, so the future will have to wait. But here is what i'm
|
||||||
thinking.
|
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.
|
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
|
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
|
Now that i *have* had time to write some more code (250 commits last month), here is
|
||||||
the good news:
|
the good news:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user