Re: [Bug-apl] Syntax error defining a function

2014-07-14 Thread Juergen Sauermann
Hi Blake, thanks, fixed in SVN 371. /// Jürgen On 07/12/2014 06:27 PM, Blake McBride wrote: )CLEAR CLEAR WS ∇test [1] 5∇ SYNTAX ERROR [1] You should be able to end a line with a del to close the function and end the edit. It works on IBM APL 2. Thanks. Blake

[Bug-apl] Additions to FILE_IO

2014-07-14 Thread Blake McBride
Greetings, It would be very helpful to have the following C functions added to the FILE_IO interface: getcwd - good to be able to tell where you are access - good to test to see if a file exists Thanks. Blake

[Bug-apl] Access to preferences

2014-07-14 Thread Blake McBride
Greetings, The preferences file contains name/value pairs. It would be nice to be able to specify arbitrary name/value pairs that can be accessed from within APL somehow. For example, let's say you store your component files an a standard place, or you use a certain default SQL database. It wou

Re: [Bug-apl] Syntax error defining a function

2014-07-14 Thread Blake McBride
Looks good. Thanks! On Mon, Jul 14, 2014 at 5:37 AM, Juergen Sauermann < juergen.sauerm...@t-online.de> wrote: > Hi Blake, > > thanks, fixed in SVN 371. > > /// Jürgen > > > > On 07/12/2014 06:27 PM, Blake McBride wrote: > >)CLEAR > CLEAR WS > ∇test > [1] 5∇ > SYNTAX ERROR > [1]

[Bug-apl] Changes to README-1-prerequisits

2014-07-14 Thread Blake McBride
Greetings, I installed GNU APL on raw LinuxMint 16 and 17 and came up with the following differences from what is stated in the README-1-prerequisits file. Note that since LinuxMint is built on to of Ubuntu, Ubuntu installs should be the same. 1. Although ./configure worked out-of-the-box witho

[Bug-apl] Warning SVN 371 on OS X

2014-07-14 Thread Peter Teeson
/Volumes/Data/Development/MyProjects/GNUAPL/apl-svn/src/APserver.cc:609:1: Control reaches end of non-void function #else int open_UNIX_socket(const char * listen_name) { cerr << "*** this platform does not support address family AF_UNIX!"; } #endif

Re: [Bug-apl] ⎕ES wrong message

2014-07-14 Thread Juergen Sauermann
Hi Blake, I believe the ⎕ES related bugs reported recently should be fixed in SVN 372. This one is not, though. The reason is that fixing it would have considerable performance impacts (we would need a copy of every defined function argument only for the rare case that ⎕ES is called), I also

Re: [Bug-apl] ⎕ES wrong message

2014-07-14 Thread Elias Mårtenson
Jürgen, Do you think it would be possible to implement some way of retrieving not only the error code, but also the )MORE text from an exception inside an ⎕EA? The reason for this is that in my SQL∆WithTransaction call, I need to call the rollback function if there is an error, but then I want to

Re: [Bug-apl] ⎕ES/⎕EA bug

2014-07-14 Thread Blake McBride
Works. Thanks! On Sun, Jul 13, 2014 at 12:27 PM, Blake McBride wrote: > GNU APL: > > )CLEAR > CLEAR WS > ∇test > [1] '⎕ES''Hello'''⎕EA'3÷0' > [2] ∇ > test > Hello > '⎕ES'Hello'' ⎕EA '3÷0' > ^^ > > > IBM APL 2: > > )CLEAR > CLEAR WS > ∇TEST

Re: [Bug-apl] ⎕ES wrong message

2014-07-14 Thread Kacper Gutowski
On 2014-07-14 16:15:32, Juergen Sauermann wrote: > Since ⎕ES is not ISO-standard anyhow, I take the freedom to trade performance > for APL2 compatibility. But it is. See sections 11.5.7 and 11.6.5. And standard says it should return nil for empty right argument, which means not returning any valu

Re: [Bug-apl] ⎕ES shouldn't return a value

2014-07-14 Thread Blake McBride
Fixed. This was a problem because when ]boxing was turned on, I kept seeing all those lines. Thanks! On Sun, Jul 13, 2014 at 1:24 PM, Blake McBride wrote: > x←⎕ES'' > > works on GNU APL. It gives a VALUE ERROR in IBM APL 2. ⎕ES should not > return a value. > > Thanks. > > Blake > >

Re: [Bug-apl] ⎕ES wrong message

2014-07-14 Thread Blake McBride
That "return nil" is clearly a typo and a further reflection of the poor quality of that spec. I offer the following as proof that that comment is a typo: 1. Look at the signature of ⎕ES at the beginning of 11.5.7. It says: ⎕ES B it does not say: Z←⎕ES B like they do everywhere el

Re: [Bug-apl] ⎕ES wrong message

2014-07-14 Thread Blake McBride
Dear Juergen, Every place that I use ⎕ES I am being forced to treat the arguments as read-only. I also had to re-order code to account for optional arguments. It makes for some ugly code. I hope when you add lazy copying of arrays, the internal code to do this correctly won't be a problem. Show

Re: [Bug-apl] Each bug

2014-07-14 Thread Juergen Sauermann
Hi, thanks, fixed in SVN 373. /// Jürgen On 07/14/2014 05:36 AM, Elias Mårtenson wrote: Interesting. Given the following definition of pp: ∇Z←X pp Y ⎕←'comparing' ⎕←' X=' (8⎕CR X) ⎕←' Y=' (8⎕CR Y) Z←X≡Y ∇ I get the following output: *(⊂'foo') pp¨ (,⊂'foo')* compar

Re: [Bug-apl] Additions to FILE_IO

2014-07-14 Thread Juergen Sauermann
Hi Blake, thanks, added in SVN 373. Left argument of access() is a string consisting of R, W, X, and F rather than a single integer. /// Jürgen On 07/14/2014 01:21 PM, Blake McBride wrote: Greetings, It would be very helpful to have the following C functions added to the FILE_IO interface

Re: [Bug-apl] Warning SVN 371 on OS X

2014-07-14 Thread Juergen Sauermann
Hi Peter, thanks, should be fixed in SVN 373. /// Jürgen On 07/14/2014 03:34 PM, Peter Teeson wrote: /Volumes/Data/Development/MyProjects/GNUAPL/apl-svn/src/APserver.cc:609:1: Control reaches end of non-void function #else int open_UNIX_socket(const char * listen_name) { cerr << "*** t

Re: [Bug-apl] Additions to FILE_IO

2014-07-14 Thread David Lamkins
You can use popen() to run pwd in a shell. It'll give you the same answer as calling getcwd() from within the APL process. A file's presence can be probed using fstat(). A negative return value denotes the absence of the file. popen() and fstat() are already exposed via lib_file_io. Take a look

Re: [Bug-apl] ⎕ES wrong message

2014-07-14 Thread Kacper Gutowski
Whoops, this thread was about the message rather than return value. About that, standard states that event-message is local to a context and that ⎕ES should create an exception in caller's context, but I don't think it's properly specified what does it exactly mean. But the point is, that ⎕ES _is_

Re: [Bug-apl] Changes to README-1-prerequisits

2014-07-14 Thread Juergen Sauermann
Hi, should be fixed in SVN 374. The sqlite should be optional - Elias, there is a *#include "apl-sqlite.hh"* in *ResultValue**.hh* - that looks wrong. *execinfo* is a separate lib on some platforms and part of *glibc* on others. It is OK if the test for it fails. /// Jürgen iOn 07/14/201

Re: [Bug-apl] ⎕ES wrong message

2014-07-14 Thread Blake McBride
Got it. Thanks. On Mon, Jul 14, 2014 at 11:44 AM, Kacper Gutowski wrote: > Whoops, this thread was about the message rather than return value. > About that, standard states that event-message is local to a context and > that ⎕ES should create an exception in caller's context, but I don't > thi

[Bug-apl] Function definition information (extension proposal)

2014-07-14 Thread David Lamkins
Elias' thread about docstrings got me to thinking about other function metadata. One thing that might be nice to have is for APL to record the source location of a function's definition. If the function is defined in a file, record the path and the line number of the first line of the definition.

Re: [Bug-apl] ⎕ES wrong message

2014-07-14 Thread Juergen Sauermann
Hi, Kacper is right - it is in the standard. But the standard merely says "Set the rest of event-message as appropriate". The rest is rather APL2 specific. I could also argue that the current value of the parameter is more relevant to the exception than the original value. I have put this int

Re: [Bug-apl] Function definition information (extension proposal)

2014-07-14 Thread Juergen Sauermann
Hi, my favourite for code documentation is *Doxygen*. It does not currently support APL comments but we might be able to change that. Or use one of the existing tags like --- for *VHDL* or %%% for *Erlang*. It would need some changes in GNU APL - multi-line comments and proper storage of documen

[Bug-apl] Announce: Component file system for GNU APL

2014-07-14 Thread Blake McBride
A component file system for GNU APL has been released for GNU APL. It is located at: https://github.com/blakemcbride?tab=repositories This Component File System fully conforms to: Programming Language APL, Extended ISO/IEC 13751:2000(E), Annex A It is built on top of the SQL Interface by Elias

Re: [Bug-apl] Additions to FILE_IO

2014-07-14 Thread David Lamkins
You must set errno = 0 before calling access(). Otherwise the lib_file_io return value may be incorrect upon success. -- Forwarded message -- > From: Juergen Sauermann > To: Blake McBride > Cc: "bug-apl@gnu.org" > Date: Mon, 14 Jul 2014 18:01:09 +0200 > Subject: Re: [Bug-apl] A

Re: [Bug-apl] Function definition information (extension proposal)

2014-07-14 Thread David Lamkins
I apologize for the confusion, but this proposal is about capturing the file location of a function's definition; not about the function's comments. My lead sentence was just an indicator that the earlier discussion of comments triggered this new line of thought... On Mon, Jul 14, 2014 at 11:14 A

Re: [Bug-apl] Changes to README-1-prerequisits

2014-07-14 Thread Blake McBride
libncurses-dev should be libncurses5-dev On Mon, Jul 14, 2014 at 12:36 PM, Juergen Sauermann < juergen.sauerm...@t-online.de> wrote: > Hi, > > should be fixed in SVN 374. > > The sqlite should be optional - Elias, there is a > > *#include "apl-sqlite.hh"* > > in *ResultValue**.hh* - that looks

Re: [Bug-apl] Function definition information (extension proposal)

2014-07-14 Thread Elias Mårtenson
This information is already stored. The Emacs mode uses this when navigating to definition of a function. Regards, Elias On 15 Jul 2014 02:19, "David Lamkins" wrote: > I apologize for the confusion, but this proposal is about capturing the > file location of a function's definition; not about th

Re: [Bug-apl] Function definition information (extension proposal)

2014-07-14 Thread David Lamkins
That's good to know. Thanks! On Mon, Jul 14, 2014 at 4:34 PM, Elias Mårtenson wrote: > This information is already stored. The Emacs mode uses this when > navigating to definition of a function. > > Regards, > Elias > On 15 Jul 2014 02:19, "David Lamkins" wrote: > >> I apologize for the confus

Re: [Bug-apl] Changes to README-1-prerequisits

2014-07-14 Thread Elias Mårtenson
Did you mean ? Then that is actually correct. ResultValue is specific to the SQLite provider. If SQLite support is not enabled, that file shouldn't be compiled. Perhaps it would be best if that file is renamed SqliteResultValue... Regards, Elias On 15 July 2014 01:36, Juergen Sauermann wrote:

Re: [Bug-apl] Changes to README-1-prerequisits

2014-07-14 Thread Blake McBride
The thing that started this is that GNU APL was not able to compile without the SQLite .h files. In other words, GNU APL requires SQLite. I think he wants it to only use SQLite when ./configure finds it. On Mon, Jul 14, 2014 at 9:02 PM, Elias Mårtenson wrote: > Did you mean ? Then that is act

Re: [Bug-apl] Changes to README-1-prerequisits

2014-07-14 Thread Elias Mårtenson
It's not supposed to. I think the error is that it still tries to compile ResultValue.cc even though SQLite wasn't found during the ./configure phase. It's most definitely supposed to (and it was written to) not require either SQLite *nor* Postgres to build. Regards, Elias On 15 July 2014 10:09

[Bug-apl] Updates to SQL module

2014-07-14 Thread Elias Mårtenson
Jürgen, I have updated the SQL module in the git repository. First and foremost I have renamed ResultValue to SqliteResultValue to better illustrate that it's only required by the SQLite provider. Secondly, I've added documentation to the sql.apl library. This integrates neatly with the new docum

Re: [Bug-apl] Function definition information (extension proposal)

2014-07-14 Thread Elias Mårtenson
Just some extra information: There is not currently (at least as far as I know) any way you can read this information from within APL. You can, however, set it using the dyadic form of ⎕FX: *0 'foo.c:10' ⎕FX 'Z←aa X' 'Z←X+1'* This specifies that the function aa was defined on line 10 of the f

Re: [Bug-apl] Function definition information (extension proposal)

2014-07-14 Thread Elias Mårtenson
And of course, defining a function using *C-c C-c* (gnu-apl-interactive-send-current-function) defines the function using the dyadic ⎕FX as described above. The )LOAD function in GNU APL also sets it. And there's how function navigation is implemented in the Emacs mode. :-) Regards, Elias On 15