comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: is there a version of unix written in Ada
Date: Sat, 3 Oct 2020 08:54:32 +0200	[thread overview]
Message-ID: <rl9779$14nh$1@gioia.aioe.org> (raw)
In-Reply-To: rl7rrd$9k0$1@dont-email.me

On 02/10/2020 20:34, Brian Drummond wrote:
> 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.

That time I had an idea of mapping Ada tasks onto individual transputers 
and using links for rendezvous with marshaling arguments forth and back, 
alas Inmos died before I even started.

> 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.

Right, Ada 95 OO was ingenious. In combination with visibility based on 
packages rather than classes, it could be ideal for such type of OS.

> 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.

Considering how many cores Nvidia RTX 3080 has..

> [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...

Yes.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  parent reply	other threads:[~2020-10-03  6:54 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
2020-10-02 21:24                                   ` Paul Rubin
2020-10-06 23:54                                     ` Brian Drummond
2020-10-03  6:54                                   ` Dmitry A. Kazakov [this message]
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