Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependent-typed multidimentional arrays #2040

Closed
suhr opened this issue Mar 21, 2015 · 7 comments
Closed

Dependent-typed multidimentional arrays #2040

suhr opened this issue Mar 21, 2015 · 7 comments

Comments

@suhr
Copy link
Contributor

suhr commented Mar 21, 2015

Related (QUBE language):

@edwinb
Copy link
Contributor

edwinb commented Mar 21, 2015

What's the issue here with Idris?

If this is something you'd like to see implemented, it might be better suggested on the mailing list.

@nicolabotta
Copy link

Related (QUBE language) to what ?

@suhr
Copy link
Contributor Author

suhr commented Mar 21, 2015

Related (QUBE language) to what ?

To the subject.

If this is something you'd like to see implemented, it might be better suggested on the mailing list.

Yes, I probably should suggest it there (just used to suggest features on Github).

What's the issue here with Idris?

Well, I can't find even one-dimension arrays. Also Matrix is represented now as Vect n (Vect m a) and I'm not sure about its performance.

@edwinb
Copy link
Contributor

edwinb commented Mar 21, 2015

I'd suggest asking on the mailing list if anyone has done anything like this, or if anyone is interested in helping to make something like this, in that case.

There's lots of interesting things can be done in Idris, and we can't do all of them ourselves. If there are features or libraries which can reasonably considered core, that's a different matter, but I think requesting an entirely new library is out of the scope of what we're trying to track on the issue tracker here.

@edwinb edwinb closed this as completed Mar 21, 2015
@nicolabotta
Copy link

Сухарик notifications@github.com wrote:

Related (QUBE language) to what ?

To the subject.

I see, thanks ! Multidimensional arrays are an interesting subject and
there have been a number of attempts at implementing efficient
operations on them. I remember

http://acts.nersc.gov/formertools/pooma/

from the time I was working on PDEs but there are certainly more recent
examples. I think it would be interesting to start by trying to
understand the difference between vectors as they are currently
implemented in Idris and "arrays" as they are meant in QUBE or other
languages or libraries.

Maybe finite functions (functions taking values in |Fin m|, |(Fin m, Fin
n)|, etc.) of numerical types could be a starting point to get to a
notion of array (maybe as computationally efficient representation of
finite functions ?).

Best,
Nicola

@suhr
Copy link
Contributor Author

suhr commented Mar 23, 2015

I'm actually more interested in declarative array programming. Such languages as APL or J provide expressive and generalized operations on arrays, so programs can be short, clear and without any [explicit] loops. QUBE seems to provide it with gen-with (array creation) and loop-with (folding) constructions and pattern matching on dependent types.

@saulshanabrook
Copy link

I am working on a similar solution for compiling array expressions efficiently using ideas from APL, but in Python. If anyone has any links to the Qube language implementation or Idris implementations of similar work, they would be much appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants