PHP Classes

Suggestion -consider implementing APL arrays

Recommend this page to a friend!

      PHP Classes blog  >  How to Create a PHP C...  >  All threads  >  Suggestion -consider implementing...  >  (Un) Subscribe thread alerts  
Subject:Suggestion -consider implementing...
Summary:APL array math is very fast, very rigorous, very powerful
Author:Gary Bickford
Date:2015-08-11 18:38:50
Update:2015-08-11 20:12:57

  1. Suggestion -consider implementing...   Reply   Report abuse  
Picture of Gary Bickford Gary Bickford - 2015-08-11 20:05:40
APL would be considered a functional language today. Its array processing facilities are famous for speed, flexibility, power, and generality. For example, almost any array transform can be performed by a chain of functions on arrays of arbitrary dimension (subject to mathematical constraints - I.e. Iirc cross product is only valid in 2d? I forget.

APL was originally designed as a notation to describe the operations of computers for design purposes. It is one of those languages that teach the programmer new ways of thinking. In this case it changes programming from concerns of off by one errors to a process of transforms over arrays. I.e C <= A * B makes sense for any conforming A, B, and result C from scalar to A having five dimensions. You will not find a more rigorous, complete implementation of array mathematical programming.

Part of APLs performance comes from its high level knowledge of the problem, allowing it to shortcut and optimize based on the actual high level problem rather than trying to guess a programmer's intent; then implementing directly close to the metal. The interpreter really doesn't do much of the work.

  2. Re: Suggestion -consider implementing...   Reply   Report abuse  
Picture of Manuel Lemos Manuel Lemos - 2015-08-11 20:12:57 - In reply to message 1 from Gary Bickford
I am not sure what you mean, but I guess the idea of developing array classes as PHP extensions written in C, is that you can make some optimizations for the type of problem you want to solve.