Missing System Functions from Extended APL Standard

Missing System Functions from Extended APL Standard

PostPosted by forummaster » Thu Jan 15, 2009 3:52 pm

There is one system function (⎕EA) that is required by the standard and has not been implemented.


Two other functions (⎕STOP) and (⎕TRACE) are optional and unimplemented.


Of course, there are a host of others. Which ones do you think we need?

forummaster
 
Posts: 567
Joined: Wed Jan 23, 2013 1:00 pm

Execute Alternate

PostPosted by Lobachevsky » Sun May 10, 2009 9:38 am

Standard, schmandard. I think that []EA is an excellent example of a regressive language feature where the modern equivalent is much better.


Dyalog has a :Trap control structure which is optionally followed by an "error number". (The initial list came from Sharp)


APL2000 has, I think, a :Try :Catch (:Finally?) construct as in VB .Net.


Both of these are far better than []EA from a readability and usability perspective. In my meager opinion.


Arguably, however, []EA is the most usable of the legacy Sharp []TRAP and STSC []ELX/[]ALX facilities. If any of these are to be implemented, I would reluctantly agree that []EA is the best of the lot.

Lobachevsky
 
Posts: 2
Joined: Wed Jan 28, 2009 3:49 pm

Missing System Functions from Extended APL Standard

PostPosted by forummaster » Sat May 16, 2009 11:02 pm

While I might not like ⎕EA, I do have respect for the Extended APL Standard.

We can debate error trapping facilities, but my approach is to implement whatever is called for -- this is after all, an experimental APL interpreter. ⎕EA is called for by the Extended APL Standard, so that's good enough for me. Where there are competing, but not mutually exclusive designs, I have no problem including them all and see what programmers like.

On the other hand, I don't plan to implement everything -- for example, the ⎕Nxxx native file functions are definitely out.
forummaster
 
Posts: 567
Joined: Wed Jan 23, 2013 1:00 pm

variable contents to a flat file

PostPosted by TedvG » Wed Sep 08, 2010 3:58 pm

Hello
Wouldn't it be nice to have simple plain characterstream output from an APL vector or matrix?
Without special tokens etc. just the contents.
One could, for instance, fill a matrix with windows metafile commands to plot a graph...


e.g. a command like

)VAROUT m1 'C:graphicdata.txt'
could write the matrix m1 to a file in exactly the same format as it is displayed.
(now, i would have to use the clipboard for that..)

or *with piping:
)REDIRECT 'C:graphicdata.txt'
aplstatement(s)
not only output here but also to txt file, because it is redirected

)RESET could also undo redirecting or
)CLOSEREDIR

What do you think about this?

Kind Regards
TedvG
TedvG
 
Posts: 3
Joined: Tue Aug 10, 2010 3:23 pm

Missing System Functions from Extended APL Standard

PostPosted by forummaster » Mon Jan 31, 2011 11:18 pm

{9.70}Lobachevsky wrote:
{9.70}Lobachevsky wrote:

Standard, schmandard.  I think that []EA is an excellent example of a regressive language feature where the modern equivalent is much better.

Dyalog has a :Trap control structure which is optionally followed by an "error number".  (The initial list came from Sharp)

APL2000 has, I think, a :Try :Catch (:Finally?) construct as in VB .Net.

Both of these are far better than []EA from a readability and usability perspective.  In my meager opinion.

Arguably, however, []EA is the most usable of the legacy Sharp []TRAP and STSC []ELX/[]ALX facilities.  If any of these are to be implemented, I would reluctantly agree that []EA is the best of the lot.

FWIW, ⎕EA has been implemented along with ⎕EC.
forummaster
 
Posts: 567
Joined: Wed Jan 23, 2013 1:00 pm

Re: Execute Alternate

PostPosted by Paul Robinson » Mon Mar 04, 2013 12:55 pm

Lobachevsky wrote:Standard, schmandard. I think that []EA is an excellent example of a regressive language feature where the modern equivalent is much better.
Dyalog has a :Trap control structure which is optionally followed by an "error number". (The initial list came from Sharp)
APL2000 has, I think, a :Try :Catch (:Finally?) construct as in VB .Net.

Try / Catch /Finally is from Java and possibly C++. Free Pascal implements it too.
Paul Robinson
 
Posts: 11
Joined: Fri Feb 22, 2013 12:57 am

Re: Missing System Functions from Extended APL Standard

PostPosted by FDA OSInet » Thu Nov 05, 2015 2:12 am

When developing a function, or debugging a program, or learning unfamiliar (for us) features of extended APL, quad-TRACE (if similar to T-delta in early versions of APL) would be of great help. Of course, it is easy to simulate by hand, but at the cost of messing with a function already written, while t-delta (or quad-TRACE) allows easy, fast and undestructive debugging (especially together with S-delta or quad-STOP, I guess), especially if many lines are involved.

Sorry not to use APL glyphs here : I am under Netscape, and moreover in Linux OpenSuSE.
FDA OSInet
 
Posts: 29
Joined: Sun Aug 30, 2015 5:07 am

Re: Missing System Functions from Extended APL Standard

PostPosted by forummaster » Thu Nov 05, 2015 10:14 am

FDA OSInet wrote:When developing a function, or debugging a program, or learning unfamiliar (for us) features of extended APL, quad-TRACE (if similar to T-delta in early versions of APL) would be of great help. Of course, it is easy to simulate by hand, but at the cost of messing with a function already written, while t-delta (or quad-TRACE) allows easy, fast and undestructive debugging (especially together with S-delta or quad-STOP, I guess), especially if many lines are involved.
Yes, you are quite right. Those two functions ([]STOP and []TRACE) have been long overdo.
forummaster
 
Posts: 567
Joined: Wed Jan 23, 2013 1:00 pm

Re: Missing System Functions from Extended APL Standard

PostPosted by forummaster » Sat Nov 14, 2015 12:14 pm

The two system functions ⎕STOP and ⎕TRACE are now available in the most current version in the beta directory. Please test them and let me know if there are any problems or if they don't work as you expect.

http://www.nars2000.org/download/binaries/beta
forummaster
 
Posts: 567
Joined: Wed Jan 23, 2013 1:00 pm

Re: Missing System Functions from Extended APL Standard

PostPosted by FDA OSInet » Fri Sep 15, 2017 5:05 pm

forummaster wrote:The two system functions ⎕STOP and ⎕TRACE are now available in the most current version in the beta directory. Please test them and let me know if there are any problems or if they don't work as you expect.

http://www.nars2000.org/download/binaries/beta


Looks like I forgot to thank you for this addition. Which is unforgivable as I now use ⎕TRACE a lot !
FDA OSInet
 
Posts: 29
Joined: Sun Aug 30, 2015 5:07 am


Return to New System Functions

Who is online

Users browsing this forum: No registered users and 1 guest

cron