
Single assignment C - oinksoft
http://www.sac-home.org/
======
GuiA
This is neat. I studied APL recently (through Ted Nelson's fantastic intro in
Computer Lib), and ever since I've been intrigued by some of the neat
ideas/conciseness that array languages offer. (I have too many side
projects/side project ideas already, but would love to write a toy "modern"
APL just for fun)

~~~
kaoD
Check out J[1]. It's basically ASCII-APL though it lacks a toy modern
implementation (in case you don't know, APL has one[2]).

What really annoyed me about array languages is that idiomatic code is nearly
impossible to follow after a month, so I ended up aliasing many of the
commands to more verbose alternatives and using longer traditional constructs
like IF-THEN-ELSE.

That pretty much turned the language into weird-C-limited-to-binary-functions-
with-an-array-stdlib, which kind of defeated the point.

    
    
      [1] http://www.jsoftware.com/
      [2] https://github.com/ngn/apl

------
rbanffy
Is it being maintained? Last release seems to be from February 2012.

~~~
merijnv
It's still being actively worked on, due to a recent move to a different
university a lot of the infrastructure (such as building new releases) is
still offline, so the website hasn't updated in a while. Blame university IT
departments.

~~~
rbanffy
Any public repository to track?

~~~
merijnv
The compiler implementation isn't really open source at the moment. On the
other hand, they're very interested in new collaborations. Getting access to
the source is not much harder than just dropping them an email.

If you (or anyone else) is interested, drop me an email (see HN profile) and I
can get you in contact with them as most of the people involved are either
current or old colleagues of mine.

------
mbq
Arrays by row? Why?

~~~
vanderZwan
Because normal C is also row-major?

~~~
mbq
C only has vectors (1D arrays), the implementation of higher dimensions is up
to programmer. I know there is this idea to use vectors of vectors to emulate
matrices but it is not at all a part of the language (nor efficient).

~~~
beagle3
So what do you call x in the definition

    
    
        int x[100][83];
    

Sure looks like a 2D array of ints for all intents and purposes.

~~~
StefanKarpinski
Everyone always trots this out when talking about multidimensional array
programming in C, but it's effectively useless because it only works for
statically declared, fixed-size arrays. Since those _never_ occur when writing
real numerical code, the fact that the compiler in this one very particular
case can turn x[i][j] into x[i*s+j] for me is essentially useless for any real
work with dynamically allocated, variably sized multidimensional arrays.

~~~
mikeash
In which case the correct statement would have been something like
"Multidimensional arrays in C are not very useful in practice," rather than
"they don't exist".

------
mehedihasan_a
any one call telme how can i submit a link

~~~
Hellenion
You mean
[https://news.ycombinator.com/submit](https://news.ycombinator.com/submit) ?

