I have a copy of this on my bookshelf. I highly recommend reading the portion of the book about the structure of the object memory. An interesting approach that influenced much of what we have today in VMs, with one notable exception.
In Smalltalk there was no filesystem, so the canonical representation of the system was in memory at all times while the system was booted. It dumped and restored this object memory on shutdown and boot. Its structure also allowed for automated refactoring at a semantic level (objects knew who their callers were) which is something no other language I've ever used is capable of.
> Its structure also allowed for automated refactoring at a semantic level (objects knew who their callers were)
It isn't quite as magical as that. It's somewhat better than most dynamic languages when refactoring and probably had the first refactoring browser. There were versions where you can run scoped refactoring like restricting method renames to within a class hierarchy or package.
> In Smalltalk there was no filesystem, so the canonical representation of the system was in memory at all times while the system was booted. It dumped and restored this object memory on shutdown and boot.
There was a lot of work on virtual memory for Smalltalk, where objects could be paged in and out of memory, but i don't think it was ever in any version i actually used:
Maybe the stuff in the endlessvoid94's second paragraph: Its structure also allowed for automated refactoring at a semantic level (objects knew who their callers were) which is something no other language I've ever used is capable of.
What's the difference between "Smalltalk-80: The Language and its Implementation" and "Smalltalk-80: The Language"? The latter is more recent (1989 vs 1983) and seems to be a "second edition," but it's shorter (608 vs 714 pages). Did they drop a chapter or something?
Specifically, the portion called "The Implementation" is a description of the VM written in Smalltalk itself. This is an attempt to be as complete as McCarthy's Lisp language description and implementation in Lisp.
In R, <- is the predominant assignment operator, and until 2003 it supported _ as well, for compatibility with its predecessor, S. Here’s a post about it: https://colinfay.me/r-assignment/
Modern ligatures fonts like Fira Code turn the bracket and dash into an actual arrow, which is nice!
The first ASCII draft (1963) had a left arrow and a right arrow which were later replaced by _ and ^. When Smalltalk-80 was developed, it replaced its non standard character set with ASCII but Xerox (like a few other companies) used the older version and that is what got adopted and which Squeak inherited.
Smalltalk V was developed on the PC and borrowed := from Pascal to represent assignment supposing that most of its new users would be coming from that language. This became an option for Squeak/Pharo and since using this would free the underscore (with the proper fonts) for names imported from other languages there has been a lot of pressure to rewrite all old code to eliminate the left arrow.
Ooops - I meant that left and up arrows were replaced by _ and ^. The up arrow was used to indicate return and Smalltalk V used the caret (^) for that, which was a reasonable approximation.
"I started to be fed up to see all the books I like to be out of print, so I started to contact authors and collect their old books. I would like to thanks them all and their publishers as well. If you know an author that is willing to give to the community a book, please give him my email."
He has permission from the authors and publishers. It is not that clear in this page but it used to be more explicit at the old site where he first started posting them.
To me, it's not the chance of somebody getting in trouble that worries me, but rather the blatant disregard and disrespect for intellectual property rights.
Intellectual property rights aren't holy scriptures. Not every right should be respected and it seems dishonest to play that card. It's the same idea as law isn't moral just because it's the law. It can still be unjust and immoral, depending on the circumstances. To follow a hard line of always adhering to the law without any regard for the consequences or context can lead to bad outcomes.
That's all fine and good but Xerox is no longer in the business of selling this book and does not suffer any harm from the reproduction, neither do the authors.
It's a bit like public libraries, which also 'hurt' book sales, and there the books might even still be in print. The Smalltalk 80 Blue Book is an important part of computer history, the more copies there are of it, digital or otherwise the better.
He is not required to prove to you - or anybody else - that he has permission, unless challenged by an author or a publisher. Lets assume he does until you have proof that he does not and even if he does not there is a pretty good fair use argument to be made for out of print books.
To me it looks as if you have an axe to grind and will stick to your mantra, even though by all the available evidence this is done by a highly respected academic and completely out in the open, if it was done illegally (as in, with the full knowledge that authors/publishers would object) this is the most stupid way to go about it. It is your claim that requires proof, not the other way around.
In Smalltalk there was no filesystem, so the canonical representation of the system was in memory at all times while the system was booted. It dumped and restored this object memory on shutdown and boot. Its structure also allowed for automated refactoring at a semantic level (objects knew who their callers were) which is something no other language I've ever used is capable of.