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
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
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
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
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
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
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] ⍬
∇
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
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:
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
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
/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.
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
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
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)
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
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
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
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
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
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
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
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
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:
'
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
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
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
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
28 matches
Mail list logo