bug-apl
[Top][All Lists]
Advanced

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

Re: [Bug-apl] ISO Component File API preview


From: Juergen Sauermann
Subject: Re: [Bug-apl] ISO Component File API preview
Date: Sun, 13 Jul 2014 20:06:39 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130330 Thunderbird/17.0.5

Hi,

sorry for answering that late, but I was busy with a major restructuring of GNU APL (APserver/shared variables).
That created a bit of an headache but is looking fine now.

Blake has asked for my opinion earlier. I am not really a database specialist though.
The last database I worked with was Clipper (a dbase 3 compiler) in the 1990s.

My opinion is that:

1. The solution should be what the ISO standard asks for, and
2. The final decision how to achieve that should be made by the person who
    is providing the code (and that is not me in this case).

The details like how many databases or files should be discussed between users of
the component file systems and the designer(s) of it, but then decided by the latter.
The old APL68000 had one big fat file, but at that time a second would have killed the
harddisk and these days disk space not not an issue anymore.

My thinking related to SQL was that it should be fairly easy to use (given Elias' SQL interface)
and not so much that SQL is performance-wise the best solution. Like defining one 2-column
table with numbers as index and APL values as second column. That would be 1 database with
1 table in 1 file. And maybe more files for different component file systems. But again,
I am not a specialist (and currently not a user either).

If the solution uses database specific functions then I would try to not use those, unless
this creates a lot of extra work.

Regarding licences, I am not a specialist either, but at least in the past LGPL was favoured
over GPL for libraries because it made libraries more useful. Not sure what the situation in GPLv3 is,
but I guess this has not changed.

/// Jürgen




On 07/10/2014 04:25 AM, Elias Mårtenson wrote:
I was looking at your code, and I noticed that it's SQLite-specific. WOuldn't it make sense to make it SQL-implementation-agnostic?

Based on what I can see, the only SQLite-specific SQL you have in there is "replace into" which I had never heard about before.

Regards,
Elias


On 9 July 2014 01:22, David Lamkins <address@hidden> wrote:
I haven't yet written test scripts, but I've informally tested all of the functions and am reasonably confident that the component file API is complete and correct.

If you'd like to try out the API while I'm working on scripted test cases, the repo is:

https://github.com/TieDyedDevil/iso-apl-cf

You'll find documentation is in the comments and in Annex A of the ISO 13751 standard.

The standard "specifies a minimal set of functions which a conforming implementation must provide"; I've implemented all of these. I've also added several useful functions not mentioned in the standard, including component inquiry, component drop, and transaction support.

Note that the code is not packaged for my package manager; I assume that the component file implementation would become an L3 library in the event it's adopted for inclusion in GNU APL.

Júergen, I've specified the GPLv3 license since that's what GNU APL uses. If there's a more appropriate choice of license for this library, please let me know.



reply via email to

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