dragora-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dragora-members] Relation of Qi and Qire


From: Kevin "The Nuclear" Bloom
Subject: Re: [Dragora-members] Relation of Qi and Qire
Date: Wed, 10 Jun 2020 08:15:00 -0400
User-agent: mu4e 1.4.6; emacs 28.0.50

Matias Fonzo writes:

> El 2020-06-09 14:23, Michael Siegel escribió:
>> Am 09.06.20 um 15:06 schrieb Kevin "The Nuclear" Bloom:
>>> I do /not/ think Qi should be rewritten in Lua/Fennel. Since Qi is
>>> already finished and already working very well, I see no benefit.
>>> Having Qi & Qire written in the same language does really do
>>> anything. Many extensions of programs are written in a language other
>>> than the main program's language.
>> That's a fair point. The only reason to ever rewrite Qi would then be
>> to
>> get rid of hacks required because of the limitations of POSIX sh.
>
> Yes.  Both are good points.  I think the point from Nuclearkev is more deep in
> the sense of internal interoperability (and extensibility).
>
>> I'm saying this without having taken any closer look at Qi's code,
>> however. So, a rewrite might not be necessary at all.
>
> The good thing is that it can serve as a specification for a rewrite in 
> another
> language in the future, both the code and the documentation.
>
>>> In the case of Qi & Qire, Qire simply runs Qi and isn't wired
>>> directly into the code.
>> I still think that this should be changed around. Qi should run Qire,
>> its extension, as needed so that the usage of this extension is reliably
>> abstracted away from how you would go about package management.
>> Otherwise, Qire would need to provide an interface to everything that Qi
>> can do. This doesn't sound right to me. Last but not least, qi is a
>> shorter command than qire.
>>
>
> I like both proposals in particular, but I'm more inclined to Michael's 
> position
> here, but I don't intend to impose a decision either, rather the ultimate
> decision is with Kevin.  Whatever he decides will be fine.
>
> If you decide to integrate the extensions into Qi, the next job has to be 
> done:
>
> - Call to the external extensions, the right place is at
>   /usr/local/libexec/qi/<extensions>.
> - Add Kevin to the AUTHORS file.
> - Write or extend the documentation for Qire into Qi.
> - Define own exit or status codes for the remote extensions (qi have their own
>  codes for local stuff).
> - Add the required modifications into the Makefile to produce or compile the
>  needed code for the extensions.
> - Incorporate any required dependency for the remote extensions into Dragora 3
>  by default.
> - Test everything.
> ...

Sadly, I don't believe that Lua can extend shell as it can extend
C/C++. So as long as Qi is written in shell, we cannot make Qire a true
"extension." That being said, I still do not think that Qi needs to be
rewritten.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]