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: Matias Fonzo
Subject: Re: [Dragora-members] Relation of Qi and Qire
Date: Tue, 09 Jun 2020 19:37:26 -0300
User-agent: Roundcube Webmail/1.4.4

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




reply via email to

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