
Objective-Smalltalk - mpweiher
https://blog.metaobject.com/2019/11/presenting-in-objective-smalltalk.html
======
bsaul
This paper (storage combinators are talked about in the slides)
[https://2019.splashcon.org/details/splash-2019-Onward-
papers...](https://2019.splashcon.org/details/splash-2019-Onward-
papers/7/Storage-Combinators) is absolutely insane. It's perfectly readable,
has numerous concrete examples, i love it.

My only problem with the presented technique is that it requires a highly
dynamic runtime environment, and so we would be back to abandoning compile-
time type safety.

Has there been any attempt to port the idea of storage combinators to compile-
time type-safe programming languages ?

~~~
mpweiher
Thanks!

I haven’t yet made any credible attempt at typing this, my first priority was
trying to get it to work and understand it.

And while currently a highly dynamic system is required, I don’t believe this
is inherent, it’s just that this stuff is different enough from current
practice that you need something dynamic enough to allow the deviation.

Now that it’s working, I have started to look more closely at typing it. I
think it should be possible.

As a matter of fact, SCs and PIs _should_ actually make things more static,
because the combinators are configured once and then pretty much used as-is.

Any help gladly accepted and appreciated.

------
DonHopkins
TIL "Ma":

[https://en.wikipedia.org/wiki/Ma_(negative_space)](https://en.wikipedia.org/wiki/Ma_\(negative_space\))

Ma (negative space)

Ma (間) is a Japanese word which can be roughly translated as "gap", "space",
"pause" or "the space between two structural parts." The spatial concept is
experienced progressively through intervals of spatial designation. In
Japanese, ma, the word for space, suggests interval. It is best described as a
consciousness of place, not in the sense of an enclosed three-dimensional
entity, but rather the simultaneous awareness of form and non-form deriving
from an intensification of vision.

Ma is not something that is created by compositional elements; it takes place
in the imagination of the human who experiences these elements. Therefore, ma
can be defined as experiential place understood with emphasis on interval.

Ma has also been described as "an emptiness full of possibilities, like a
promise yet to be fulfilled", and as "the silence between the notes which make
the music" (cf. Isaac Stern's comment below).

Other illustrations appear in this old poem:

Thirty spokes meet in the hub, though the space between them is the essence of
the wheel;

Pots are formed from clay, though the space inside them is the essence of the
pot;

Walls with windows and doors form the house, though the space within them is
the essence of the house.

~~~
ci5er
This is a pretty fundamental idea in traditional Japanese design of ...
everything. Dance, calligraphy, martial arts, learning, home decorating,
plates of food, pregnant pauses in poetry or drama, sometimes even in
manufacturing processes.

And yet they still hound you with those 2am meetings (from wherever I am) with
corporate and (still) faxed documents back and forth. Those folks still love
their hand-written faxes. (I love so much about working with them, my friends,
that I guess I can accommodate this quirk).

~~~
DonHopkins
In Understanding Comics, Scott McCloud writes about gutters, the space between
frames of comics / graphics novels.

[https://comicbookglossary.wordpress.com/gutter/](https://comicbookglossary.wordpress.com/gutter/)

[https://understandingcomics177.wordpress.com/about/1-2/2-2/](https://understandingcomics177.wordpress.com/about/1-2/2-2/)

[https://thesequentialpress.wordpress.com/2012/01/19/transiti...](https://thesequentialpress.wordpress.com/2012/01/19/transitions/)

[https://seths.blog/2010/01/in-between-frames/](https://seths.blog/2010/01/in-
between-frames/)

~~~
vanderZwan
He also mentions how Japan developed a very different relation to space and
time in their visual language of comics. Notably there is the technique where
certain scenes do not have frame borders on the side of the edges, as if to
imply that the scene is unbound and extending forever beyond the paper, just
outside our view. This is not unusual in Western comics now too, but it
originated from Japanese manga. Given the concept of "Ma" it makes a lot more
sense now that this technique was first developed in Japan.

------
aphextron
Who actually uses Smalltalk? All I've ever seen is people talking about how
great it is. What are some big examples of popular open source or commercial
software built with it?

~~~
monocasa
I know Intercontinental Exchange (a sort of meta exchange that owns other
exchanges like the NYSE) uses Smalltalk pretty heavily. They use Gemstone as
their DB.

~~~
hollerith
>(a sort of meta exchange that owns other exchanges like the NYSE)

You mean the _company_ that owns NYSE.

~~~
monocasa
I mean what I said.

~~~
hollerith
OK, maybe I am wrong. There is a _company_ called Intercontinental Exchange,
Inc.

Please provide any evidence that there is an _exchange_ or meta exchange named
Intercontinental Exchange.

------
vanderZwan
Where does the name Objective-Smalltalk come from? Isn't that a bit of a
pleonasm? (about to watch the video, maybe it is addressed in there)

Anyway, very curious about this!

EDIT: first slide: it's because of its relation to Objective-C. Still a funny
pleonasm to me though ;)

~~~
mpweiher
:-)

Yes, the name is a part joke...but also part serious:

Yes, Objective-C is Smalltalk added to C, so at that level it doesn't really
make sense. It does signal that it is very similar to Objective-C, but no
longer with "C" as the base and Smalltalk added on top, but instead Smalltalk
as the base with some ability to branch "down" to C. So same programming
model, different emphasis.

That's one part of it.

The other part is realising that Brad Cox was after the concept of a
_Software-IC_ [1], and dynamic messaging was just one possible IC/Module
interconnection mechanism. I like the description of Objective-C as "COM with
language support".

Objective-Smalltalk extends what the "Objective" part means to cover pretty
much any sort of architectural connector, in order to avoid architectural
mismatch caused by our implementation mechanisms not matching the structure of
the systems we want to build.

[1] [https://blog.metaobject.com/2019/03/software-ics-binary-
comp...](https://blog.metaobject.com/2019/03/software-ics-binary-
compatibility-and.html)

~~~
ci5er
This reminds me of the General Magic / Kaleida / Taligent /Pink stuff being
sorta/kinda done by Apple in the late 80s (early 90s? Both?).

There were agents and software ICs and messaging in the air! (I don't know
why, because interconnect in-system and out-system all more-or-less sucked).

Like Xanadu, this was all kind of "ahead of its time" stuff, and I've never
understood why it wasn't resurrected in simpler form since (yet).

What are you trying to ultimately accomplish here? It all appears quite
elegant, but I'm not sure I can infer the end-game of the project or
enterprise.

EDIT: Forgive me. I'm running on time-lagged batteries, and I suspect that you
suggest more than I am picking up on...

~~~
mpweiher
The endgame is I want to change programming. It's been too sucky for too long.

 _Certainty of death. Small chance of success. What are we waiting for?_

Quite frankly I'd be happy if someone else were to do it, but since nobody
stepped up I reluctantly started (a) figuring out what was wrong and (b)
fixing it.

~~~
vanderZwan
So I have finally watched the video, read the accompanying blog post and then
the "Storage Combinators" paper. All I an say is: you have a new RSS
subscriber to your blog.

Have you considered showcasing Objective-Smalltalk on lobste.rs and
/r/programminglanguages?

[0] [https://lobste.rs/](https://lobste.rs/)

[1]
[https://old.reddit.com/r/programminglanguages](https://old.reddit.com/r/programminglanguages)

------
AllegedAlec
Are the slides mentioned in the article (
[https://github.com/ESUG/esug.github.io/raw/source/2019-Confe...](https://github.com/ESUG/esug.github.io/raw/source/2019-Conference/slides/05Friday/2-ESUG19_ObjectiveSmalltalk.pdf)
) dead for others too?

~~~
mpweiher
The slides are JPEG2000 compressed images in the PDF, which GitHub PDF preview
doesn't handle properly, same for some Linux PDF viewers.

Fine in Adobe Reader, Apple Preview etc.

------
CoolGuySteve
Cool, reminds me of MacRuby.

Now that Swift is open source and supported on multiple platforms maybe one
day we'll see a MacRuby revival.

~~~
pjmlp
MacRuby kind of lives on as
[http://www.rubymotion.com/](http://www.rubymotion.com/)

