From 8bbae001a2f6985f8b1f893f63144f16c38c00e6 Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Fri, 19 Sep 2014 22:29:50 +0300 Subject: [PATCH] spelling and adds one postscipt --- _posts/2014-07-17-framing.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_posts/2014-07-17-framing.md b/_posts/2014-07-17-framing.md index ceb3c8a..21be359 100644 --- a/_posts/2014-07-17-framing.md +++ b/_posts/2014-07-17-framing.md @@ -45,7 +45,7 @@ As a furhter example on this, when one function has two calls on the same object ie in the sequences getLayout, determine method, call, the first step can be ommitted for the second call as a layout is constant. -And as a final bonus of all this clarity, i immediately spotted the inconcistency in my oen design: The frame i designed +And as a final bonus of all this clarity, i immediately spotted the inconcistency in my own design: The frame i designed holds local variables, but the caller needs to create it. The caller can not possibly know the number of local variables as that is decided by the invoked method, which is only known at run-time. So we clearly need a two level thing here, one that the caller creates, and one that the receiver creates. @@ -61,9 +61,11 @@ make the return trickier and default values even the argument passing which then One main difficulty i had in with the message passing idea has always been what the message is. But now i have the frame, i know exactly what it is: it is the frame, nothing more nothing less. +(Postscript: Later introduced the Message object which gets created by the caller, and the Frame is what is created +by the callee) Another interesting observation is the (hopefully) golden path this design goes between smalltalk and self. In -smalltalk (like ruby and...) all objects have a class. But some of the researchers went on to do +smalltalk (like ruby and...) all objects have a class. But some of the smalltalk researchers went on to do [Self](http://en.wikipedia.org/wiki/Self_(programming_language)), which has no classes only objects. This was supposed to make things easier and faster. Slots were a bit like instance variables, but there were no classes to rule them.