[Bug-apl] Extension proposal: ⍵⍵ to access outer lambda

2014-07-09 Thread Elias Mårtenson
It would be nice to be able to access the values of ⍵ and ⍺ (and I suppose χ) from the outer lambda from a nested lambda. I.e, I'd like to following to return the value 1100: * { ⍵ + {⍵×⍵⍵} 10 } 100* In other words, the ⍵⍵ in the inner lambda would refer to the value 100 (i.e. the value of

Re: [Bug-apl] Execution properties - "cannot be suspended" bit

2014-07-09 Thread Juergen Sauermann
Hi David, thanks, I have changed the code so that all user-defined functions with the cannot be suspended" attribute at the top of the )SI stack are pop'ed before a new immediate execution context is pushed onto )SI. SVN 369. I hope this is what the standard wants - the information about these c

Re: [Bug-apl] Execution properties - "cannot be suspended" bit

2014-07-09 Thread Elias Mårtenson
I can't say it makes much sense in non-opensource programs either. My guess is that these things are more of a relic of a time when people were experimenting with such things. There is a reason no other languages do this. However, I do see a different use for "non-suspendible functions". I see it

Re: [Bug-apl] Extension proposal: ⍵⍵ to access outer lambda

2014-07-09 Thread Juergen Sauermann
Hi Elias, that would be very easy to implement: * { ⍵ + { ⍵ × OUTER_OMEGA } 10 ⊣ OUTER_OMEGA←⍵ } 100 1100 * /// Jürgen On 07/09/2014 10:53 AM, Elias Mårtenson wrote: It would be nice to be able to access the values of ⍵ and ⍺ (and I suppose χ) from the outer lambda from a nested lambda.

Re: [Bug-apl] Execution properties - "cannot be suspended" bit

2014-07-09 Thread David Lamkins
Thank you. Confirmed working. With this change, I believe that the component function library conforms to the ISO spec. https://github.com/TieDyedDevil/iso-apl-cf On Wed, Jul 9, 2014 at 6:11 AM, Juergen Sauermann < juergen.sauerm...@t-online.de> wrote: > Hi David, > > thanks, I have changed t

Re: [Bug-apl] Execution properties - "cannot be suspended" bit

2014-07-09 Thread David Lamkins
Regarding locked functions: I believe these came about at a time when vendors sold not only computer time, but also software services. No doubt this was used to hide details of a "proprietary" function from paying customers... On Wed, Jul 9, 2014 at 7:06 AM, Elias Mårtenson wrote: > I can't say

Re: [Bug-apl] Defined operator won't accept right constant function

2014-07-09 Thread David B. Lamkins
Hmm? It's in *gnu-apl-keymap* on my systems... On Wed, 2014-07-09 at 10:30 +0800, Elias Mårtenson wrote: > Wow. This is the first I heard of χ. Shouldn't it be mapped to the > keyboard somewhere?

[Bug-apl] Filter fns with ⍙ (delta-underbar) in the name by default?

2014-07-09 Thread Elias Mårtenson
How about having the )FNS, )OPS and )VARS commands filter out names that contain a ⍙ symbol by default? Since the idea is that those are internal names it would make sense to hide them (unless some other flag is given). Opinions? Regards, Elias

Re: [Bug-apl] Request: lib_file_io additions

2014-07-09 Thread Elias Mårtenson
Yes, fair enough. It's the end result I'm after. :-) Regards, Elias On 8 July 2014 11:56, David B. Lamkins wrote: > It looks like glob() subsumes the function of readdir(). There are some > nasty details with allocated results, too... > > You could, however, combine fnmatch() with readdir(). >

Re: [Bug-apl] Extension proposal: ⍵⍵ to access outer lambda

2014-07-09 Thread Juergen Sauermann
Hi, actually - no. I called it OUTER_OMEGA to make clear what it does. Maybe you like * { ⍵ + {⍵×WW} 10 ⊣ WW←⍵ } 100 1100 * imore? On 07/09/2014 04:08 PM, Elias Mårtenson wrote: I know, but it's much more ugly than my proposal, don't you think? Regards, Elias On 9 July 2014 22:06, Jue

Re: [Bug-apl] Question about behavior of ⍋

2014-07-09 Thread Jay Foad
Dyalog (same behaviour as NARS, I think): ⍋'AAA' 'Y' 'BBB' 'CC' DOMAIN ERROR Z←'AA' 'XX' 'AAA' 'XXX' ⍋⎕UCS¨Z DOMAIN ERROR ⎕ML←2 ⍋⊃Z 1 3 2 4 Jay. On 9 July 2014 03:59, Elias Mårtenson wrote: > I was looking specifically at the results of grade on a two-dimensional

Re: [Bug-apl] Extension proposal: ⍵⍵ to access outer lambda

2014-07-09 Thread Kacper Gutowski
On 2014-07-09 16:14:32, Juergen Sauermann wrote: > Hi, > > actually - no. I called it OUTER_OMEGA to make clear what it does. > Maybe you like > >   { ⍵ + {⍵×WW} 10 ⊣ WW←⍵ } 100 > 1100 > > imore? I think the main problem isn't the length of variable's name but the fact that regular variable

Re: [Bug-apl] Defined operator won't accept right constant function

2014-07-09 Thread David B. Lamkins
That's only because I wondered what χ is used for right after the layout change. ;) On Wed, 2014-07-09 at 10:57 +0800, Elias Mårtenson wrote: > Yes, you're right. :-) You know my code better than myself. > > > Regards, > Elias > > > On 9 July 2014 10:50, David B. Lamkins wrote: > Hmm

[Bug-apl] ISO Component File API preview

2014-07-09 Thread David Lamkins
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

Re: [Bug-apl] Filter fns with ⍙ (delta-underbar) in the name by default?

2014-07-09 Thread David B. Lamkins
Personally, I'm not a fan of having tools codify what's essential a stylistic convention. Looking at it another way: This is something I call the "principle of least surprise... An experienced APL programmer shouldn't have to be told that )FNS, )OPS and )VARS all have a hidden feature that must b

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

2014-07-09 Thread Elias Mårtenson
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

Re: [Bug-apl] Defined operator won't accept right constant function

2014-07-09 Thread Elias Mårtenson
Yes, you're right. :-) You know my code better than myself. Regards, Elias On 9 July 2014 10:50, David B. Lamkins wrote: > Hmm? It's in *gnu-apl-keymap* on my systems... > > On Wed, 2014-07-09 at 10:30 +0800, Elias Mårtenson wrote: > > Wow. This is the first I heard of χ. Shouldn't it be mapp

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

2014-07-09 Thread David B. Lamkins
I'm certainly willing to consider alternatives. IIUC, lib_sql also supports PostgreSQL. Anything else? How do I tell lib_sql to use a PostgreSQL server? The argument in favor of SQLite, of course, is that it's serverless. No additional setup (beyond the installation of the library) required. Wou

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

2014-07-09 Thread Elias Mårtenson
To connect to a Postgres database, simply use "postgresql" as the left-side argument to SQL∆Connect. The right-hand argument should be a connect string as described here: http://www.postgresql.org/docs/9.3/static/libpq-connect.html#LIBPQ-CONNSTRING Regards, Elias On 10 July 2014 10:44, David B.

Re: [Bug-apl] Request: lib_file_io additions

2014-07-09 Thread Juergen Sauermann
Hi, I think we have to draw the border between FILE_IO and convenience functions somewhere. Otherwise we would end up with the entire libc accessible via FILE_IO. And, remember, we have this nice language called APL to do such things. /// Jürgen On 07/08/2014 05:56 AM, David B. Lamkins wrot

Re: [Bug-apl] Can't break out of the middle on a display operation

2014-07-09 Thread Blake McBride
I wouldn't do that! On Tue, Jul 8, 2014 at 10:01 PM, Elias Mårtenson wrote: > I suggested some time ago that very large data sets shouldn't be displayed > at all, since they are not only slow, they are also largely useless in an > interactive session. > > It was decided that this approach would

Re: [Bug-apl] Filter fns with ⍙ (delta-underbar) in the name by default?

2014-07-09 Thread Blake McBride
I really don't like that. Using delta-underscore to signify internal names is just a personal convention. I wouldn't want to have personal conventions become language standards. Thanks. Blake On Wed, Jul 9, 2014 at 10:12 AM, Elias Mårtenson wrote: > How about having the )FNS, )OPS and )VAR

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

2014-07-09 Thread Blake McBride
Greetings, PostgreSQL is very important to, at least, me. I do a lot of production work in PostgreSQL. I like SQLite too, but I would only use it when the data didn't relate to anything but APL. Here is what I propose. Since your component file system rides on top of SQL, and the standard does

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

2014-07-09 Thread Elias Mårtenson
Yes, that's how I work too. My home server contains a Postgres instance that I use for pretty much everything. It's quite convenient. Regards, Elias On 10 July 2014 12:53, Blake McBride wrote: > Greetings, > > PostgreSQL is very important to, at least, me. I do a lot of production > work in P

Re: [Bug-apl] Extension proposal: ⍵⍵ to access outer lambda

2014-07-09 Thread Elias Mårtenson
I know, and that what I ended up doing. No having to do that at all is, however, nicer of course. But, I agree it's not a *necessary* feature. Regards, Elias On 9 July 2014 22:14, Juergen Sauermann wrote: > Hi, > > actually - no. I called it OUTER_OMEGA to make clear what it does. > Maybe yo

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

2014-07-09 Thread David B. Lamkins
Well, it seems simple enough, but I have zero experience with PostgreSQL and it's going to take me a while to ramp up... Therefore: Please apply the attached experimental patch and see whether you can get something working. Here's the gist of the change as implemented in this patch: CF_OPEN take

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

2014-07-09 Thread Elias Mårtenson
Thank you for looking into this. Since the SQL API is database-agnostic, it would make sense to make your library the same. Instead of trying to make sense of the file specification, why don't you just pass it along to the SQL API? In other words, just pass the database type (currently only "sqlit

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

2014-07-09 Thread Elias Mårtenson
Oh, and one more thing: There is unfortunately no standard for getting the id of autoincrement columns. For maximum flexibility, I'd suggest the standard approach of having a separate table holding the "next" ID. Such table is usually designed as a two-column "next_id" table, where one column hold

Re: [Bug-apl] Can't break out of the middle on a display operation

2014-07-09 Thread Juergen Sauermann
Hi, not so. I implemented ⎕SYL[⎕IO+26;] for that case. Just try: * ⎕SYL[⎕IO+26]←2000 ⍳100 ...* /// Jürgen On 07/09/2014 05:11 AM, Elias Mårtenson wrote: Yeah, and neither would Jürgen. Seems like I was in the minority on that one. :-) Regards, Elias On 9 July 2014 11

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

2014-07-09 Thread David Lamkins
That has always been part of the design. See the "max. component #" table. On Jul 9, 2014 10:40 PM, "Elias Mårtenson" wrote: > Oh, and one more thing: > > There is unfortunately no standard for getting the id of autoincrement > columns. For maximum flexibility, I'd suggest the standard approach o