bug-apl
[Top][All Lists]
Advanced

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

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


From: Blake McBride
Subject: Re: [Bug-apl] Towards a keyed and component file system
Date: Sat, 19 Apr 2014 09:57:20 -0500

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 <address@hidden> wrote:
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 solution would be to implement a 13⎕CR and 14⎕CR that would translate back and forth using only printable ASCII characters without any control characters, '\0', high bit, etc..  Would this be hard?

Thanks a lot!

Blake


On Sat, Apr 19, 2014 at 9:43 AM, Elias Mårtenson <address@hidden> wrote:
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 <address@hidden> wrote:
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 would be very helpful.

Thanks!

Blake



On Sat, Apr 19, 2014 at 9:20 AM, Juergen Sauermann <address@hidden> wrote:
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 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 the specific name of the variable.  Is this true?  (If so, this is exactly what I need!)  

2.  How can I reverse the process?  i.e. if X holds the result of a 3 ⎕TF, I need a way of converting it back to an APL (possibly nested) array that is exactly the same array.  i.e.:

x←(5 5⍴⍳25) 'Hello there'
y←3⎕TF'x'
z←??????????

I need to know what ?????? is so that x and z have the exactly equivalent arrays.

3.  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 would be very helpful.

I suppose I can achieve the same effect by using 2⎕TF and then dropping the assignment part before executing the string.  This should be highly portable but I'd guess less efficient.  Thoughts?

Thanks a lot!!

Blake







reply via email to

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