Re: [Bug-apl] A really simple component-file implementation

2014-04-19 Thread Elias Mårtenson
Unfortunately, the only standard way to do it in a non-database-specific way is to use a separate table like you do. I suppose that my SQL library could provide some kind of generalised API to it, but the problem is that different databases handle this in such a wildly different manner that it'd b

Re: [Bug-apl] A really simple component-file implementation

2014-04-19 Thread David B. Lamkins
Here's what I have so far (see attached). The tarball contains an APL dump file and a test-case file. I've stumbled upon a couple of GNU APL bugs; these have already been reported to bug-apl and are documented in the test-case file. I haven't yet done any performance testing. I'm intentionally le

[Bug-apl] Subtle bug in quad-tf

2014-04-19 Thread David B. Lamkins
When using 2⎕tf to encode a nested array in which the last element is a character array of rank greater than one, the parentheses around the denotation of that element are incorrectly omitted. ←'elan' 77 (2 3⍴⍳2) 2⎕tf '' ←'elan' 77 (2 3⍴1 2 1 2 1 2) ←'elan' 77 (2

Re: [Bug-apl] A really simple component-file implementation

2014-04-19 Thread David B. Lamkins
On Sat, 2014-04-19 at 17:20 -0500, Blake McBride wrote: > Very cool! I was going to implement a keyed file system according to > the idea present in my April 1 message. Sounds like you are 80% > there. I'll leave it up to you (since you are so close), or pick it > up when you need a break. Let

Re: [Bug-apl] A really simple component-file implementation

2014-04-19 Thread Blake McBride
Very cool! I was going to implement a keyed file system according to the idea present in my April 1 message. Sounds like you are 80% there. I'll leave it up to you (since you are so close), or pick it up when you need a break. Let me know if I can help. Thanks!! Blake On Sat, Apr 19, 2014

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Blake McBride
Dear Jürgen, Thanks a lot! I a little confused with all the ⎕CR and ⎕TF options. Do you have a txt file that gives a brief overview? Also, please let me know when you have it in, I'll get to work with it. Thank so much! Blake On Sat, Apr 19, 2014 at 12:34 PM, Juergen Sauermann < juergen.sa

Re: [Bug-apl] A really simple component-file implementation

2014-04-19 Thread David B. Lamkins
Minor correction to make cf∆max_cn return a scalar: ∇z←cf∆max_cn tn ⍝ Return the component file's largest component number. z←↑'select max(oid) from component' SQL[4,tn] ⍬ ∇

[Bug-apl] A really simple component-file implementation

2014-04-19 Thread David B. Lamkins
Here's a really simple component-file implementation I cobbled together last night and this morning. This has been tested only lightly; I wouldn't advise pushing this code into production. ;) The implementation consists of nine functions and one variable. Call cf∆init to load the apl-sqlite libr

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Juergen Sauermann
Hi Blake, I'll add an inverse for 5⎕CR / 6⎕CR. That should be pretty efficient for byte strings used by 12 ⎕CR without needing ⍎ (which involves the tokenizer). /// Jürgen On 04/19/2014 05:57 PM, Blake McBride wrote: That't probably what I'll do. Thanks! Blake On Sat, Apr 19, 2014 at 10:

Re: [Bug-apl] Assertion failure loading workspace

2014-04-19 Thread David B. Lamkins
FWIW, I can )copy this file into a clear workspace without running afoul of the assertion error that manifests upon a )load. On Sat, 2014-04-19 at 09:56 -0700, David B. Lamkins wrote: > The attached workspace crashes GNU APL upon loading. > > There's nothing of importance in this workspace, just

[Bug-apl] Assertion failure loading workspace

2014-04-19 Thread David B. Lamkins
The attached workspace crashes GNU APL upon loading. There's nothing of importance in this workspace, just my own early experiments at implementing a component file system on top of apl-sqlite. )load cf == Assertio

[Bug-apl] clang Warning

2014-04-19 Thread Peter Teeson
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -rdynamic -g -O2 -MT file_io.lo -MD -MP -MF .deps/file_io.Tpo -c -o file_io.lo file_io.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -rdynamic -g -O2 -MT file_io.

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Blake McBride
That may work, but I am always leery of SQL with anything but straight, printable ASCII. Plus, this has got to be a lot more CPU cycles. If you can't implement the conversion between printable ASCII and APL arrays, I can probably write some APL code that can translate between the strings you do c

Re: [Bug-apl] popen() and pclose() in FILE_IO

2014-04-19 Thread Juergen Sauermann
Hi Blake, you can call GNU APL as a CGI script from apache, see workspaces/APL_CGI.apl. The script produces the GNU APL home page as seen at http://www.gnu.org/software/apl/ /// Jürgen On 04/19/2014 04:59 PM, Blake McBride wrote: Cool. If you add sockets we can create a web server and han

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Juergen Sauermann
Hi, I guess 10 ⎕CR is better suitable for that because it uses a portable subset of Unicode for APL values. I believe performance issues are a question of the past, so a little overhead is worth to be paid for simplicity. 10⎕CR output can be decoded with ⍎¨ for example: *⎕←X←'Hello' 1 (2 3)

Re: [Bug-apl] popen() and pclose() in FILE_IO

2014-04-19 Thread Blake McBride
Cool. If you add sockets we can create a web server and handle web services. *Blake McBride* www.arahant.com Cell:615-394-6760 Office: 615-376-5500 Fax: 615-377-6006 On Fri, Apr 18, 2014 at 7:12 AM, Juergen Sauermann < juergen.sauerm...@t-online.de> wrote: > Hi, > > I have added f

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Blake McBride
I wouldn't use spaces or tabs either - very important if the database pads the strings! Along similar lines, it would be nice if the quad function that converts it back to an array ignores trailing spaces. On Sat, Apr 19, 2014 at 9:55 AM, Blake McBride wrote: > Blob support, in general, would

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Blake McBride
Blob support, in general, would be good, but I don't think it is a good solution to this problem. I am thinking of converting all arrays to these strings. I don't think databases are especially efficient if everything is a blob. They handle strings much more efficiently. I think the best soluti

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Elias Mårtenson
You are right. The SQL implementation uses C strings behind the scenes for both SQLite and Postgres. I'll be happy to implement BLOB support if you can suggest a good syntax for it from APL. Regards, Elias On 19 April 2014 22:34, Blake McBride wrote: > Looks good. I am a little concerned tha

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Blake McBride
Looks good. I am a little concerned that the vector produced by 3 ⎕TF may have trouble going to and from an SQL VARCHAR using the existing (and fantastic!) library. I am not sure, but there may be a problem with C null characters ('\0') or other non-printable characters. Some feedback on this wo

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Juergen Sauermann
Hi Blake, I have added 11⎕CR for APL → CDR and 12⎕CR for CDR → APL conversions, see SVN 217. For example: * 12 ⎕CR CDR←11 ⎕CR 'Hello' 1 (2 3)** ** Hello 1 2 3 ** ** ⍴CDR** **128* /// Jürgen On 04/19/2014 12:16 PM, Blake McBride wrote: Greetings, Now that the wonderful SQL int

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Blake McBride
Dear Jürgen, Thank you for your response. Implementing 11⎕CR and 12⎕CR would be very helpful. I still need an answer to question 3 if you can. Thanks! Blake On Sat, Apr 19, 2014 at 8:05 AM, Juergen Sauermann < juergen.sauerm...@t-online.de> wrote: > Hi Blake, > > 3 ⎕TF produces a byte vect

Re: [Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Juergen Sauermann
Hi Blake, 3 ⎕TF produces a byte vector in the CDR (common data representation) format defined by IBM. It was a by-product of the CDR format which is used internally in GNU APL for communication with shared variables and other running GNU APL workspaces. Right now there is no inverse function

Re: [Bug-apl] 2 more clang Warnings + 3 similar ones

2014-04-19 Thread Juergen Sauermann
Hi Peter, thanks, fixed in SVN 215. /// Jürgen On 04/19/2014 02:57 AM, Peter Teeson wrote: ../apl-svn/src/Token.cc:545:11: 5 enumeration values not handled in switch: 'TC_L_CURLY', 'TC_R_CURLY', 'TC_MAX_PHRASE_2'… ../apl-svn/src/Token.cc:601:11: 5 enumeration values not handled in switch: '

Re: [Bug-apl] clang Warning - revisited

2014-04-19 Thread Juergen Sauermann
Hi Peter, I have changed it in SVN 215. I still disagree with the warning because in a comparison of an enumeration member with an integer should perform integer promotion of the enum member to int and then do integer comparison and NOT convert the int to an enum member (which it can't) and t

Re: [Bug-apl] Bug in my knowledge..

2014-04-19 Thread Juergen Sauermann
Hi Peter, I believe IBM's APL2 langage reference manual and the ISO standard describe almost the same thing in different ways. The ISO standard is a bit more formal while the IBM docs are more descriptive. Unfortunately the ISO standard has significant gaps. most notably the concept of bindi

[Bug-apl] Towards a keyed and component file system

2014-04-19 Thread Blake McBride
Greetings, Now that the wonderful SQL interface is working for me, I believe I can create a component and keyed file system in straight APL easily. I just need to understand ⎕TF a bit better. 1. 3 ⎕TF seems to produce a string vector representation of an arbitrary nested array without retaining

Re: [Bug-apl] SQL: can't get to work with sqlite either

2014-04-19 Thread Blake McBride
That fixed both PostgreSQL and sqlite! Thank you!! Blake On Fri, Apr 18, 2014 at 10:52 PM, Elias Mårtenson wrote: > I think I know now. > > You have updated GNU APL but you haven't recompiled the SQL library. > > It happened to me previously actually. > > Regards, > Elias > > > On 19 April 2