From: Brian Drummond <brian@shapes.demon.co.uk>
Subject: Re: is there a version of unix written in Ada
Date: Fri, 2 Oct 2020 18:34:21 -0000 (UTC) [thread overview]
Message-ID: <rl7rrd$9k0$1@dont-email.me> (raw)
In-Reply-To: rl6ivc$10h7$3@gioia.aioe.org
On Fri, 02 Oct 2020 08:56:44 +0200, Dmitry A. Kazakov wrote:
> On 01/10/2020 23:36, Brian Drummond wrote:
>> On Wed, 30 Sep 2020 21:42:21 +0200, Dmitry A. Kazakov wrote:
>>> Static checks must be enforced at run-time.
>>
>> Maybe I should knock together a new Linn Rekursiv on an FPGA.
>> https://en.wikipedia.org/wiki/Rekursiv
>>
>> Objects were essentially memory segments, together with their own
>> object number, type, size : static checks happened in parallel with
>> operations.
>> Even inheritance was handled below the instruction set level (in
>> microcode)
>
> Wow, I newer heard about it. It is pretty close to the general idea. And
> surely SmallTalk is not the right OO model for the stuff.
>
> [UK was leading innovations that time. Inmos' transputers is an
> example.]
Yes, the transputer was another one. Even before considering parallelism
its single CPU performance (not much talked about) was quite impressive,
considerably higher than the ARM, and much better code density.
But on OO, Smalltalk was basically what there was, at the time (though
C++ was a contemporary experiment, as was Self, and though I never heard
of it till later, Python.
The Rekursiv's own language, Lingo, had more familiar syntax than
Smalltalk and could have rivalled Python (though the project died before
my 8086 implementation was complete).
There was a lot about the processor that could have been improved in a
second pass : as a first attempt it gave a lot away in performance to
concentrate on the fundamentals.
But it did prove that type safety and dynamic binding are not mutually
exclusive, and that hardware support enforcing at runtime a lot of
correctness [1] that Ada-95 did later at compile time, was possible.
It was "huge and complex" by the standards of the day to add e.g. bounds
and type checks in parallel with useful stuff ... like, 70000 gates when
RISC CPUs were 20000. But that would be vanishingly small today.
[1] Correct if you trusted or separately verified the microcode. A high
integrity Rekursiv would have to prohibit modifying microcode.
A lot of the ideas you outline here sound quite similar to those of David
Harland, its architect. Maybe they will come back into fashion someday...
-- Brian
next prev parent reply other threads:[~2020-10-02 18:34 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <e3c51e65-b71e-4623-bd58-c94cdbcc3ba6o@googlegroups.com>
2020-07-25 7:37 ` is there a version of unix written in Ada mockturtle
2020-07-26 19:45 ` Stéphane Rivière
2020-07-26 22:15 ` Jeffrey R. Carter
2020-07-27 7:40 ` Stéphane Rivière
2020-07-28 13:08 ` DrPi
2020-07-28 16:48 ` Simon Wright
2020-07-28 17:00 ` Fabien Chouteau
2020-07-29 9:21 ` DrPi
2020-07-29 9:28 ` Fabien Chouteau
2020-07-29 15:02 ` DrPi
2020-07-29 15:11 ` Fabien Chouteau
2020-07-29 20:41 ` DrPi
2020-07-29 9:20 ` DrPi
2020-07-29 16:53 ` Simon Wright
2020-07-29 20:42 ` DrPi
2020-07-25 8:47 ` Niklas Holsti
2020-07-25 9:36 ` Stéphane Rivière
2020-07-25 10:41 ` Luke A. Guest
2020-07-25 14:43 ` Jesper Quorning
2020-07-25 19:20 ` Andreas ZEURCHER
2020-07-27 7:40 ` Stéphane Rivière
2020-07-27 15:00 ` nobody in particular
2020-07-27 14:58 ` nobody in particular
2020-07-27 20:28 ` Shark8
2020-07-30 0:57 ` gdotone
2020-07-31 14:01 ` Shark8
2020-09-23 17:39 ` Olivier Henley
2020-09-25 15:06 ` DrPi
2020-09-25 17:31 ` Andreas ZEURCHER
2020-09-26 8:50 ` DrPi
2020-09-27 18:55 ` Luke A. Guest
2020-09-27 19:07 ` Luke A. Guest
2020-09-27 18:53 ` Luke A. Guest
2020-09-27 14:25 ` Shark8
2020-09-27 15:01 ` Dmitry A. Kazakov
2020-09-27 20:59 ` DrPi
2020-09-28 7:41 ` Dmitry A. Kazakov
2020-09-28 13:48 ` Olivier Henley
2020-09-28 14:48 ` Dmitry A. Kazakov
2020-09-28 16:28 ` Olivier Henley
2020-09-28 20:30 ` Dmitry A. Kazakov
2020-09-28 21:06 ` Shark8
2020-09-28 17:47 ` Paul Rubin
2020-09-28 20:27 ` Dmitry A. Kazakov
2020-09-29 23:54 ` Paul Rubin
2020-09-30 8:18 ` Dmitry A. Kazakov
2020-09-30 17:27 ` Paul Rubin
2020-09-30 19:42 ` Dmitry A. Kazakov
2020-09-30 20:33 ` Paul Rubin
2020-09-30 21:03 ` Dmitry A. Kazakov
2020-09-30 22:42 ` Randy Brukardt
2020-10-01 9:28 ` Dmitry A. Kazakov
2020-10-01 9:59 ` J-P. Rosen
2020-10-01 10:21 ` Dmitry A. Kazakov
2020-10-01 11:38 ` Niklas Holsti
2020-10-01 11:52 ` Niklas Holsti
2020-10-01 12:51 ` Dmitry A. Kazakov
2020-10-01 14:18 ` J-P. Rosen
2020-10-01 15:44 ` Dmitry A. Kazakov
2020-10-01 22:10 ` Randy Brukardt
2020-10-02 5:36 ` J-P. Rosen
2020-10-02 6:56 ` Dmitry A. Kazakov
2020-10-02 7:42 ` J-P. Rosen
2020-10-03 3:14 ` Randy Brukardt
2020-10-01 15:38 ` Niklas Holsti
2020-10-01 16:06 ` Dmitry A. Kazakov
2020-10-01 17:01 ` Niklas Holsti
2020-10-01 17:37 ` Dmitry A. Kazakov
2020-10-01 22:13 ` Randy Brukardt
2020-10-01 11:48 ` J-P. Rosen
2020-10-01 12:54 ` Dmitry A. Kazakov
2020-10-01 7:57 ` Paul Rubin
2020-10-01 9:26 ` Dmitry A. Kazakov
2020-10-01 9:46 ` Paul Rubin
2020-10-01 10:35 ` Dmitry A. Kazakov
2020-10-01 19:02 ` DrPi
2020-10-01 23:12 ` Paul Rubin
2020-10-01 21:54 ` Randy Brukardt
2020-10-01 23:14 ` Paul Rubin
2020-10-01 21:36 ` Brian Drummond
2020-10-02 6:56 ` Dmitry A. Kazakov
2020-10-02 18:34 ` Brian Drummond [this message]
2020-10-02 21:24 ` Paul Rubin
2020-10-06 23:54 ` Brian Drummond
2020-10-03 6:54 ` Dmitry A. Kazakov
2020-10-05 14:03 ` Shark8
2020-10-07 11:56 ` Olivier Henley
2020-10-09 12:35 ` Olivier Henley
2020-10-09 14:41 ` Brian Drummond
2020-09-28 18:40 ` Vincent Marciante
2020-09-28 20:28 ` Dmitry A. Kazakov
2020-09-28 17:04 ` DrPi
2020-09-28 17:30 ` Olivier Henley
2020-09-28 18:05 ` Olivier Henley
2020-09-28 19:36 ` Shark8
2020-09-03 10:32 ` c+
2020-09-12 4:30 ` sumde121
2020-09-19 14:09 ` erchetan33
2020-10-01 22:21 Randy Brukardt
2020-10-02 6:55 ` Dmitry A. Kazakov
2020-10-03 3:09 ` Randy Brukardt
2020-10-03 6:42 ` Dmitry A. Kazakov
2020-10-03 7:44 ` Niklas Holsti
2020-10-03 8:16 ` Dmitry A. Kazakov
2020-10-03 10:44 ` Niklas Holsti
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox