comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: yet another Ada web site?
Date: Fri, 14 Oct 2022 15:05:06 +0200	[thread overview]
Message-ID: <tibmq1$r2j$1@gioia.aioe.org> (raw)
In-Reply-To: 8635bqveja.fsf@stephe-leake.org

On 2022-10-14 13:19, Stephen Leake wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>> On 2022-10-14 10:41, Fabien Chouteau wrote:
>>> On Thursday, October 13, 2022 at 8:58:20 AM UTC+2, Dmitry A. Kazakov wrote:
>>>> It seems so. Multiple versions at once are not supported. E.g. when you
>>>> are working on two projects both dependent on different versions of
>>>> another project:
>>>>
>>>> B -> A.1
>>>> C -> A.2
>>> Yes of course, different crates can depend on different version of
>>> the same crate.
>>
>> It is about whether both A's can be installed and coexist on the same
>> machine.
> 
> In Alire, "installed" means "checked out the source code into a local
> directory".
> 
> If A depends on a system library that is a shared object file, and those
> are different versions, then it depends on the OS; Debian can handle
> this nicely, Windows only via separate directories and search paths.
> 
> 
>>>> Or even the same project, e.g. when doing some migration from one
>>>> version to another.
>>> Not sure how you would do that? Link two different version of the
>>> same library in an executable? That's not going to work.
>>
>> Same as above. You have B.1 -> A.1 and B.* -> A.2. You want to install
>> both A.1 and A.2 and work on B.* while checking on B.1.
> 
> And the solution is the same as well.
> 
>> In the long gone time of common sense, a project code management
>> system would use a virtual file system and map different parts of the
>> projects graph onto a structure of folders arranged by versions.
> 
> What prevents that now?

Nothing except that it is to be done manually. Why not download a source 
archive and bother with anything? It is Turing-complete, after all... (:-))

The advantage of a file system is that developing image will be 
automated and consistent. And you would not need to move any files 
physically. Alire is extremely slow because it must pull all files [and 
then compile them on top of that].

Furthermore, a virtual file system shares duplicates of the same version 
of same file. When you work with naked Git you must have as many copies 
as you have projects. Same applies to virtual machines and dockers. It 
is a huge overhead for nothing.

Moreover, a virtual file system is instant so long you do not access a 
file for read or write. Which is the case for gprbuild, make and other 
tools which use timestamps and then never look into files.

With a virtual file system you can automatically check in all files on 
closing if it was open for write and never worry about command-line mess 
or plug-ins. Any tool will work out of the box.

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

  reply	other threads:[~2022-10-14 13:05 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-25 10:01 yet another Ada web site? Maxim Reznik
2022-08-26 18:58 ` Paul Rubin
2022-08-27  9:12 ` Rene
2022-08-27  9:53   ` Nasser M. Abbasi
2022-08-28  7:21     ` Simon Wright
2022-08-28  7:50     ` Dmitry A. Kazakov
2022-08-28 10:26       ` Luke A. Guest
2022-09-16 15:25         ` Maxim Reznik
2022-09-16 17:07           ` Luke A. Guest
2022-09-16 17:34           ` Stephen Leake
2022-09-16 18:45             ` Jere
2022-09-17  9:45               ` Luke A. Guest
2022-09-16 18:49           ` Jere
2022-09-17 13:08           ` Move semantics (was: yet another Ada web site?) G.B.
2022-09-19 17:04             ` Move semantics Stephen Leake
2022-09-19 18:50               ` Paul Rubin
2022-09-20 11:44                 ` AdaMagica
2022-09-20 14:46                   ` Niklas Holsti
2022-09-20 19:39                   ` Paul Rubin
2022-09-24  6:54                 ` Stephen Leake
2022-09-18  8:47           ` yet another Ada web site? grosdan
2022-09-18 10:57             ` Dmitry A. Kazakov
2022-09-18 16:28             ` Luke A. Guest
2022-09-19 17:02             ` Stephen Leake
2022-09-19  6:39           ` Emmanuel Briot
2022-09-30 10:29   ` shtps
2022-09-30 12:29     ` Niklas Holsti
2022-10-09 16:13       ` Stephen Leake
2022-10-12  4:21         ` Paul Jarrett
2022-10-13  0:06           ` Stephen Leake
2022-10-13  6:58             ` Dmitry A. Kazakov
2022-10-14  8:41               ` Fabien Chouteau
2022-10-14 10:05                 ` Dmitry A. Kazakov
2022-10-14 11:19                   ` Stephen Leake
2022-10-14 13:05                     ` Dmitry A. Kazakov [this message]
2022-10-16  8:54                       ` G.B.
2022-10-16  9:20                         ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox