|
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 toget 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 reliablyabstracted away from how you would go about package management.Otherwise, Qire would need to provide an interface to everything that Qican 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. ...
[Prev in Thread] | Current Thread | [Next in Thread] |