From ed94806e36ccc2af99f241285cc906137439fad7 Mon Sep 17 00:00:00 2001
From: Torsten Ruger
Date: Sat, 16 Jan 2016 15:43:00 -0800
Subject: [PATCH] small fixes
---
.../2015-11-28-one-compiler-down-one-to-go.md | 4 +-
.../2015-12-12-the-baton-moves-on-go-go-go.md | 91 -------------------
index.html | 3 -
3 files changed, 2 insertions(+), 96 deletions(-)
delete mode 100644 _posts/2015-12-12-the-baton-moves-on-go-go-go.md
diff --git a/_posts/2015-11-28-one-compiler-down-one-to-go.md b/_posts/2015-11-28-one-compiler-down-one-to-go.md
index 1e62e37..61ab2ea 100644
--- a/_posts/2015-11-28-one-compiler-down-one-to-go.md
+++ b/_posts/2015-11-28-one-compiler-down-one-to-go.md
@@ -15,7 +15,7 @@ a factor of 20.
So, the good news: it **it works**
-Working means calling works, if, while, assignment, class and method definition. The benchmarks
+Working means: calling works, if, while, assignment, class and method definition. The benchmarks
were hello world and fibonacci, both recursive and by looping.
I even updated the [**whole book**](/book.html) to be up to date. Added a Soml section, updated
@@ -23,7 +23,7 @@ parfait, rewrote the register level . . .
### It all clicked into place
-To be fair, i don't think anyone write a language that isn't a toy in 2 months, and it was only
+To be fair, i don't think anyone writes a language that isn't a toy in 2 months, and it was only
possible because a lot of the stuff was there already.
- [Parfait](/soml/parfait.html) was pretty much there. Just consolidated it as it is all just adapter.
diff --git a/_posts/2015-12-12-the-baton-moves-on-go-go-go.md b/_posts/2015-12-12-the-baton-moves-on-go-go-go.md
deleted file mode 100644
index 58dd7d8..0000000
--- a/_posts/2015-12-12-the-baton-moves-on-go-go-go.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-layout: news
-author: Torsten
----
-
-Nothing significant has ever been achieved by a single person. Also software is clearly a group effort.
-
-For me the time has come to pass the baton on. The journey has been fun and the results surprising
-to say the least. But i did my sprint, with over 1000 hours/commits, and the air is out, energy gone.
-
-Time for **you** to do your bit, or (more litkely) some other project making the next move.
-
-## The hierarchy of languages
-
-To recap: Traditionally VM's have been built as interpreters, because of what i called the semantic
-gap in the last post. Meaning the language being compiled (say ruby) and the language used for
-implementation (say c) are just too far apart, mentally.
-
-The way to do it is the way c++ did it, by compiling **into** a lower language, c in c++'s case.
-This leads to high demands on that lower language, which is why i created [soml](/soml/soml.html).
-
-Now the **main rquirement** is really that it be dynamic, so that it is possible to create more code
-at runtime. I threw in oo and multi-returns, but those things can be dealt with in other ways
-as we see below.
-
-Having [written the language](/2015/11/28/one-compiler-down-one-to-go.html) i really really
-appreciate what other people have done. While i got it up and running (surprising in itself) it is
-a loooong way off a usable system. So i took a step back to evaluate.
-
-## Language alternatives
-
-Looking around with my new "requirements" i found a couple of other alternatives. So the main idea
-was not to add another language to the world, just so i can compile into it. Instead to use an
-existing one. Go and Julia are good candidates i think. Go would be my choice, so i'll go
-(pun intended) into a little detail.
-
-### Dynamic
-
-Now go is not per se a dynamic language, other than julia where it is baked in already. But other
-than julia, go is self hosted, so the whole compiler, assembler, linker chain is available in go.
-And once one has found a mapping from oo to go, in oo as well. So then it is "easy" , just compile
-the oo into go, compile, link and run.
-
-Maybe one needs to be a little more clever about replacing existing methods, but that's not too
-difficult. One just writes the new on, and when done,
-[CAS's](https://en.wikipedia.org/wiki/Compare-and-swap) the first instruction of the old
-function to be a jump to the new. To save memory one can even rewrite the old one to be the new one
-(reuse the memory), apart from the first jump off course. And then cas the patched jump to the
-new first instruction. Ok, some footwork, but conceptually easy.
-
-### OO in go
-
-As Go is so insistent on pointing out, there is no oo in go. So how is that supposed to work when i
-said one needs oo in the lower language. Well, go has all the pieces needed to make oo, compound
-and basic types, interfaces and methods. It's just a matter of perception.
-
-Objects map to structs off course and methods to methods (duh), good to go, yes? Not quite.
-Classes do not map to types. What i had as a Layout maps to a type, and so each type must
-carry it's class. For basic types this off course can't work and that brings us back to one of the
-earliest things, that values are not objects, so that's ok.
-
-A class is then the set of all types (structs) with the same names, but not same sub types
-(potentially a lot, but computers are good at that). Julia shows nicely how then the method
-matching has to be done on the type signature. I had written
-[that down already](https://dancinglightning.gitbooks.io/the-object-machine/content/object/dynamic_types.html)
-but found it has a name, multi-dispatch. Problem solved.
-
-### No multi-return
-
-Then the last problem is to solve is the lack of multi-return in any of those languages.
-Multi-return was an idea that i hadn't actually implemented yet, but it was to allow several
-return *addresses* (not values). There are two ways around that as far as i see.
-The sort of more Julia way is to "box" the return value and check for type in the receiver.
-
-In go, i would use multiple return values to achieve the same. So *every* (generated) oo function
-would return a tuple of all possible types (int/float/ref) and a separate indicator which is the
-value to be used. Off course that makes the generated functions ugly and bloated, but since they are
-typed (and probably will include a lot of dead ends) optimisation should take care of that.
-
-## Time is getting on
-
-As i said, i feel i've done my bit here. 50 is very close and with it comes a surprising joy of
-mowing or raking the lawn. It really needs someone younger to pull this off.
-
-I also had some idea of using this project on pi or arduinos, because ruby just is not fast enough
-on those. But [Artoo](http://artoo.io/), has got some brothers, one is [Gobot](http://gobot.io/),
-and since they all play together nicely, they will do me fine. Ruby where possible, go where needed.
-
-It seems the language scene has never been so active and so i'm sure someone will have the
-same idea soon enough. We are after all **one species**, not nearly as individual as we like to think.
-I'll be watching.
diff --git a/index.html b/index.html
index 957f527..4b455e5 100755
--- a/index.html
+++ b/index.html
@@ -9,9 +9,6 @@ layout: site
A fully self describing object system without external dependencies capable of executing dynamic
object oriented languages like ruby or python.
-
- Pick up the baton
-