Re: Getting started with APL

2023-12-20 Thread Ala'a Mohammad
Hi Garjola,

The people had already mentioned the books and gave suggestions which
are very useful.

I'd like to mention the following tripping points (which I fall for),
to keep in mind which minimize confusion:
- Gnu APL is in implementation of ISO/IEC 13751:2001 (and is neither
APL\360 nor APL2).
- Evaluation is always from right to left (parentheses are your friends).
- You may turn Boxing On with ( ]BOXING [OFF|2|3|4|7|8|9] ) as it
helped me initially see and notice when a value was scalar or not.
- Think in arrays operations not in loops. Whenever you start thinking
in iterations (one element at a time), it is usually a habit carried
over from other languages. try to resist it and see how it is done in
APL.
- GNU APL (and others Like Dyalog APL) have extensions. Do not
hesitate from learning to understand and use them.

Otherwise ask here and we'll try to help.

Happy APL adventure.

Regards,

Ala'a

On Wed, Dec 20, 2023 at 4:40 PM Garjola Dindi  wrote:
>
>
> Hi,
>
> Thanks again for this detailed response.
>
> I favor free software and I use GNU/Linux. I also live in Emacs and I
> find the GNU APL mode very nice. So I think that with those and GNU APL
> I have good tools ;)
>
> I can get easy access to the 2 following books:
>
> - APL With a Mathematical Accent (C. A. Reiter)
> - APL\360 AN INTERACTIVE APPROACH (Leonard Gilman, Allen Rose)
>
> And I also have the pdf for Mastering Dyalog APL from the link you
> posted.
>
> So I think I am all set. I just need to start working on those. My goal
> is to widen my horizons beyond OOP and FP to become a better programmer.
> And also to have fun, of course.
>
> Thanks again to everyone who answered to my questions. You are a very
> welcoming community.
>
> Cheers.
>
> G. Dindi
>
>
> On Tue 19-Dec-2023 at 18:41:50 +01, Dr. Jürgen Sauermann
> 
> wrote:
> > Hi,
> >
> > GNU APL is not fully compatible with Dyalog APL.
> >
> > GNU APL is (to the extent possible) compatible with IBM APL2.
> > As long as you only use the APL features that are standardized
> > (which means ISO standard 13751) you are safe and the
> > differences between APL interpreters still around (Dyalog,
> > IBM, NGN, and GNU APL) are relatively minor.
> >
> > If you choose to walk along the Dyalog path (which may make sense
> > under certain circumstances) then your programs will not be portable
> > to other APLs or to operating systems not supported by Dyalog.
> >
> > Same story as Windows for operating systems (more convenient at
> > the start, but a truckload  of troubles later on). Many like it, some
> > do not for good reasons (freedom of software etc).
> >
> > If you only want to learn the basics of APL (as opposed to selling or
> > sharing your APL programs with others) then any of the different
> > APL interpreters around should be fine for you and then the proprietary
> > ones like Dyalog are IMHO better avoided.
> >
> > I would also assume that Dyalog and IBM APL2 are easier to install
> > on Windows while GNU APL is easier to install on GNU/Linux or BSD.
> >
> > Best Regards,
> > Jürgen
> >
> >
> > On 12/19/23 12:58, Garjola Dindi wrote:
> >> Hi,
> >>
> >> Thanks for your prompt answer. I will have a look at those. Is
> >> "Mastering Dyalog APL" compatible with GNU APL? I was affraid that I
> >> would have trouble with this book if there are example code which only
> >> works with Dyalog.
> >>
> >> Thanks.
> >>
> >> G. Dindi
> >>
> >> On Tue 19-Dec-2023 at 11:50:33 +01, Dr. Jürgen Sauermann
> >> 
> >> wrote:
> >>> Hi Gariola,
> >>>
> >>> I believe that the simplest way of learning APL is by examples.
> >>> There are many good books around, for example Dyalogs
> >>> "Mastering Dyalog APL":
> >>>
> >>> https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf
> >>>
> >>> I personnaiiy like "APL ― An Interactive Approach" by Gilman and Allen
> >>> (not sure though if it is the one I used to learn APL). Have a look at:
> >>>
> >>> https://aplwiki.com/wiki/Books
> >>>
> >>> for more pointers.
> >>>
> >>> Best Regards,
> >>> Jürgen
> >>>
> >>> On 12/19/23 09:49, Garjola Dindi wrote:
> >>>
> >>>   Hi,
> >>>
> >>> Maybe this is not the right place to ask this question. Do not hesitate
> >>> to tell me so if that’s the case.
> >>>
> >>> I am completely new to APL and I am looking for a learning resource
> >>> (preferably a book, but other media would be fine) that would be
> >>> compatible with GNU APL. I have found documentation for proprietary
> >>> versions of APL that I prefer to stay away from and I understand that
> >>> these have substantial differences wrt GNU APL.
> >>>
> >>> I have browsed the resources available at
> >>> https://www.gnu.org/software/apl/Community.html, but I find them
> >>> difficult for a beginner like me and I would need a more structured
> >>> approach to learning APL.
> >>>
> >>> Do not hesitate to point me somewhere else if this is not the
> >>> appropriate forum for my request.
> >>>
> >>> Thanks for your time and attention.
> >>>
> >>> G. Dindi
> 

Re: Getting started with APL

2023-12-20 Thread Garjola Dindi


Hi,

Thanks again for this detailed response.

I favor free software and I use GNU/Linux. I also live in Emacs and I
find the GNU APL mode very nice. So I think that with those and GNU APL
I have good tools ;)

I can get easy access to the 2 following books:

- APL With a Mathematical Accent (C. A. Reiter)
- APL\360 AN INTERACTIVE APPROACH (Leonard Gilman, Allen Rose)

And I also have the pdf for Mastering Dyalog APL from the link you
posted.

So I think I am all set. I just need to start working on those. My goal
is to widen my horizons beyond OOP and FP to become a better programmer.
And also to have fun, of course.

Thanks again to everyone who answered to my questions. You are a very
welcoming community.

Cheers.

G. Dindi


On Tue 19-Dec-2023 at 18:41:50 +01, Dr. Jürgen Sauermann

wrote: 
> Hi,
>
> GNU APL is not fully compatible with Dyalog APL.
>
> GNU APL is (to the extent possible) compatible with IBM APL2.
> As long as you only use the APL features that are standardized
> (which means ISO standard 13751) you are safe and the
> differences between APL interpreters still around (Dyalog,
> IBM, NGN, and GNU APL) are relatively minor.
>
> If you choose to walk along the Dyalog path (which may make sense
> under certain circumstances) then your programs will not be portable
> to other APLs or to operating systems not supported by Dyalog.
>
> Same story as Windows for operating systems (more convenient at
> the start, but a truckload  of troubles later on). Many like it, some
> do not for good reasons (freedom of software etc).
>
> If you only want to learn the basics of APL (as opposed to selling or
> sharing your APL programs with others) then any of the different
> APL interpreters around should be fine for you and then the proprietary
> ones like Dyalog are IMHO better avoided.
>
> I would also assume that Dyalog and IBM APL2 are easier to install
> on Windows while GNU APL is easier to install on GNU/Linux or BSD.
>
> Best Regards,
> Jürgen
>
>
> On 12/19/23 12:58, Garjola Dindi wrote:
>> Hi,
>>
>> Thanks for your prompt answer. I will have a look at those. Is
>> "Mastering Dyalog APL" compatible with GNU APL? I was affraid that I
>> would have trouble with this book if there are example code which only
>> works with Dyalog.
>>
>> Thanks.
>>
>> G. Dindi
>>
>> On Tue 19-Dec-2023 at 11:50:33 +01, Dr. Jürgen Sauermann
>> 
>> wrote:
>>> Hi Gariola,
>>>
>>> I believe that the simplest way of learning APL is by examples.
>>> There are many good books around, for example Dyalogs
>>> "Mastering Dyalog APL":
>>>
>>> https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf
>>>
>>> I personnaiiy like "APL ― An Interactive Approach" by Gilman and Allen
>>> (not sure though if it is the one I used to learn APL). Have a look at:
>>>
>>> https://aplwiki.com/wiki/Books
>>>
>>> for more pointers.
>>>
>>> Best Regards,
>>> Jürgen
>>>
>>> On 12/19/23 09:49, Garjola Dindi wrote:
>>>
>>>   Hi,
>>>
>>> Maybe this is not the right place to ask this question. Do not hesitate
>>> to tell me so if that’s the case.
>>>
>>> I am completely new to APL and I am looking for a learning resource
>>> (preferably a book, but other media would be fine) that would be
>>> compatible with GNU APL. I have found documentation for proprietary
>>> versions of APL that I prefer to stay away from and I understand that
>>> these have substantial differences wrt GNU APL.
>>>
>>> I have browsed the resources available at
>>> https://www.gnu.org/software/apl/Community.html, but I find them
>>> difficult for a beginner like me and I would need a more structured
>>> approach to learning APL.
>>>
>>> Do not hesitate to point me somewhere else if this is not the
>>> appropriate forum for my request.
>>>
>>> Thanks for your time and attention.
>>>
>>> G. Dindi
>>>
>
>
>

-- 




Re: Getting started with APL

2023-12-19 Thread Dr . Jürgen Sauermann

Hi,

GNU APL is not fully compatible with Dyalog APL.

GNU APL is (to the extent possible) compatible with IBM APL2.
As long as you only use the APL features that are standardized
(which means ISO standard 13751) you are safe and the
differences between APL interpreters still around (Dyalog,
IBM, NGN, and GNU APL) are relatively minor.

If you choose to walk along the Dyalog path (which may make sense
under certain circumstances) then your programs will not be portable
to other APLs or to operating systems not supported by Dyalog.

Same story as Windows for operating systems (more convenient at
the start, but a truckload  of troubles later on). Many like it, some
do not for good reasons (freedom of software etc).

If you only want to learn the basics of APL (as opposed to selling or
sharing your APL programs with others) then any of the different
APL interpreters around should be fine for you and then the proprietary
ones like Dyalog are IMHO better avoided.

I would also assume that Dyalog and IBM APL2 are easier to install
on Windows while GNU APL is easier to install on GNU/Linux or BSD.

Best Regards,
Jürgen


On 12/19/23 12:58, Garjola Dindi wrote:

Hi,

Thanks for your prompt answer. I will have a look at those. Is
"Mastering Dyalog APL" compatible with GNU APL? I was affraid that I
would have trouble with this book if there are example code which only
works with Dyalog.

Thanks.

G. Dindi

On Tue 19-Dec-2023 at 11:50:33 +01, Dr. Jürgen Sauermann

wrote:

Hi Gariola,

I believe that the simplest way of learning APL is by examples.
There are many good books around, for example Dyalogs
"Mastering Dyalog APL":

https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf

I personnaiiy like "APL ― An Interactive Approach" by Gilman and Allen
(not sure though if it is the one I used to learn APL). Have a look at:

https://aplwiki.com/wiki/Books

for more pointers.

Best Regards,
Jürgen

On 12/19/23 09:49, Garjola Dindi wrote:

  
Hi,


Maybe this is not the right place to ask this question. Do not hesitate
to tell me so if that’s the case.

I am completely new to APL and I am looking for a learning resource
(preferably a book, but other media would be fine) that would be
compatible with GNU APL. I have found documentation for proprietary
versions of APL that I prefer to stay away from and I understand that
these have substantial differences wrt GNU APL.

I have browsed the resources available at
https://www.gnu.org/software/apl/Community.html, but I find them
difficult for a beginner like me and I would need a more structured
approach to learning APL.

Do not hesitate to point me somewhere else if this is not the
appropriate forum for my request.

Thanks for your time and attention.

G. Dindi






Re: Getting started with APL

2023-12-19 Thread Elias Mårtenson
You can use it, and even use the free version of Dyalog to try things out.
Most skills are transferable between all the different array language
implementations. Most of which are free and open source by the way.

You can also check out aplwiki: https://aplwiki.com/

There's a lot of useful information there.

Den tis 19 dec. 2023 19:58Garjola Dindi  skrev:

>
> Hi,
>
> Thanks for your prompt answer. I will have a look at those. Is
> "Mastering Dyalog APL" compatible with GNU APL? I was affraid that I
> would have trouble with this book if there are example code which only
> works with Dyalog.
>
> Thanks.
>
> G. Dindi
>
> On Tue 19-Dec-2023 at 11:50:33 +01, Dr. Jürgen Sauermann
> 
> wrote:
> > Hi Gariola,
> >
> > I believe that the simplest way of learning APL is by examples.
> > There are many good books around, for example Dyalogs
> > "Mastering Dyalog APL":
> >
> > https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf
> >
> > I personnaiiy like "APL ― An Interactive Approach" by Gilman and Allen
> > (not sure though if it is the one I used to learn APL). Have a look at:
> >
> > https://aplwiki.com/wiki/Books
> >
> > for more pointers.
> >
> > Best Regards,
> > Jürgen
> >
> > On 12/19/23 09:49, Garjola Dindi wrote:
> >
> >
> > Hi,
> >
> > Maybe this is not the right place to ask this question. Do not hesitate
> > to tell me so if that’s the case.
> >
> > I am completely new to APL and I am looking for a learning resource
> > (preferably a book, but other media would be fine) that would be
> > compatible with GNU APL. I have found documentation for proprietary
> > versions of APL that I prefer to stay away from and I understand that
> > these have substantial differences wrt GNU APL.
> >
> > I have browsed the resources available at
> > https://www.gnu.org/software/apl/Community.html, but I find them
> > difficult for a beginner like me and I would need a more structured
> > approach to learning APL.
> >
> > Do not hesitate to point me somewhere else if this is not the
> > appropriate forum for my request.
> >
> > Thanks for your time and attention.
> >
> > G. Dindi
> >
>
> --
>
>
>


Re: Getting started with APL

2023-12-19 Thread Garjola Dindi


Hi,

Thanks for your prompt answer. I will have a look at those. Is
"Mastering Dyalog APL" compatible with GNU APL? I was affraid that I
would have trouble with this book if there are example code which only
works with Dyalog.

Thanks.

G. Dindi

On Tue 19-Dec-2023 at 11:50:33 +01, Dr. Jürgen Sauermann

wrote: 
> Hi Gariola,
>
> I believe that the simplest way of learning APL is by examples.
> There are many good books around, for example Dyalogs
> "Mastering Dyalog APL": 
>
> https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf
>
> I personnaiiy like "APL ― An Interactive Approach" by Gilman and Allen
> (not sure though if it is the one I used to learn APL). Have a look at:
>
> https://aplwiki.com/wiki/Books
>
> for more pointers.
>
> Best Regards,
> Jürgen
>
> On 12/19/23 09:49, Garjola Dindi wrote:
>
>  
> Hi,
>
> Maybe this is not the right place to ask this question. Do not hesitate
> to tell me so if that’s the case.
>
> I am completely new to APL and I am looking for a learning resource
> (preferably a book, but other media would be fine) that would be
> compatible with GNU APL. I have found documentation for proprietary
> versions of APL that I prefer to stay away from and I understand that
> these have substantial differences wrt GNU APL.
>
> I have browsed the resources available at
> https://www.gnu.org/software/apl/Community.html, but I find them
> difficult for a beginner like me and I would need a more structured
> approach to learning APL.
>
> Do not hesitate to point me somewhere else if this is not the
> appropriate forum for my request.
>
> Thanks for your time and attention.
>
> G. Dindi
>

-- 




Re: Getting started with APL

2023-12-19 Thread Dr . Jürgen Sauermann

Hi Gariola,

I believe that the simplest way of learning APL is by examples.
There are many good books around, for example Dyalogs
"Mastering Dyalog APL":

https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf

I personnaiiy like"APL ― An Interactive Approach" by Gilman and Allen
(not sure though if it is the one I used to learn APL). Have a look at:

https://aplwiki.com/wiki/Books

for more pointers.

Best Regards,
Jürgen


On 12/19/23 09:49, Garjola Dindi wrote:

Hi,

Maybe this is not the right place to ask this question. Do not hesitate
to tell me so if that’s the case.

I am completely new to APL and I am looking for a learning resource
(preferably a book, but other media would be fine) that would be
compatible with GNU APL. I have found documentation for proprietary
versions of APL that I prefer to stay away from and I understand that
these have substantial differences wrt GNU APL.

I have browsed the resources available at
https://www.gnu.org/software/apl/Community.html, but I find them
difficult for a beginner like me and I would need a more structured
approach to learning APL.

Do not hesitate to point me somewhere else if this is not the
appropriate forum for my request.

Thanks for your time and attention.

G. Dindi