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.....