Hi Blake,

I am really sorry to hear that. I am also coming from the old APL times where empty values were just that - empty.

It took a while to grasp how APL2 handles empty values and as we have seen the implementation of empty values in GNU APL is not always correct. So I hope that your frustration was not caused by a poor implementation of APL2 in the first place. As a mathematician by education I find the IBM way of having different empty values (similar to null-vectors in different vector spaces being different) cleaner that e.g. having a single empty vector. This can cause some frustration initially (I had the same feeling at some point in time), but long-term it eases life in the long run
because you can now often skip tests for the empty case.

Best Regards,
Jürgen Sauermann


On 05/13/2014 05:44 AM, Blake McBride wrote:
Greetings,

I am frustrated by the behavior of APL2 because two projects I have embarked on so far with GNU APL were easy and straight forward until I ran into nested array special cases. In both cases I spent an inordinate amount of time in search of a solution without success.

I am deeply appreciative and respect the efforts Jürgen and others on this list. I also realize that the purpose of GNU APL is not to engage in or solve particular language problems but to create a free version of IBM APL2. To that end, GNU APL is a wonderful piece of work! My discussion about the proper approach of nested arrays is probably inapplicable to this venture. I regret pushing the matter as I did.

As I stated previously, I had created a nested array system for APL years ago that work as I prefer. Upon reflection, I realize that I can re-implement that functionality in an efficient manner utilizing the facilities provided by APL2. I will do that. For those that like, there will be an easy way to nest arbitrary data to arbitrary levels that can be unboxed without molestation.

I think GNU APL is a great system, and I deeply appreciate it and the other contributors.

Thanks.

Blake





On Mon, May 12, 2014 at 12:31 PM, David B. Lamkins <dlamk...@gmail.com <mailto:dlamk...@gmail.com>> wrote:

    Perhaps "Principles of APL 2" by Dr. James A. Brown (the "inventor"[*]
    of APL 2) will shed some light on the behaviors you're seeing.

    
http://www.softwarepreservation.org/projects/apl/Papers/PRINCIPLESOFAPL2/view

    The entire docu.....


Reply via email to