Hacker News new | ask | show | jobs
by cross_wiber 2941 days ago
Most of the comments seem to be about the page design, for a page that was probably created in the 90s. Nevertheless, Emerald the language is pretty fascinating, and way ahead of its time (it was developed in the mid to late 80s). They had strong static typing, including getting co-/contravariance right a decade before Java got it wrong! It was the first object-oriented language that I know of to have a statically-typed structural type system. In fact, the technique that Go uses to implement dynamic dispatch was independently invented 20 years earlier in Emerald. And its objects were mobile, which very few languages even today attempt.
2 comments

The code snippet on the page looks incredibly clean and readable, exactly how I wish modern languages would look like. Too bad Algol-style syntax is no longer used that often (except for Delphi).
> And its objects were mobile, which very few languages even today attempt.

Can you explain what you mean by that?

FYI I vouched for your comment, it was [dead] for some reason. But I found it relevant and interesting.

Emerald objects can move from one node to another. So, for example, if an object on machine X wants to perform computation using data on some remote machine Y, the object can move to Y and have (fast, local) access to Y's data, then move back to X when it is done. So the computations themselves are mobile. This required some cleverness in the implementation, because a process's stack might even be split between multiple machines (I might be remembering that wrong).