What are examples of efficient, type-deduced languages ​​suitable for working with multidimensional arrays

I do not really like garbage collection, if it is present, it should be optional. The language Dmatches the bill, but I'm exploring other options. Surprisingly for me, this seems to be a sparsely populated place among languages. I want something with which I can control things at 80% of speed C, if possible.

I would also like the language to have good multicode support. Not necessarily through streams, but anything that does not require many copies. For example, GNU parallel mode for libstdc++is a pretty good abstraction for me, but a bit weaker when serving pre-baked array primitives (this is not a complaint, it is not his task to give array primitives).

I suspect I'm traveling in a language OCaMllike:

  • good support for multidimensional arrays,
  • no (or optional) garbage collection,
  • parallel programming primitives for intensive array code,
  • convenient C FFI,
  • and with a reasonable probability of operating at a speed of 80%.

I'm not sure which tags to use, so suggestions are welcome. I also want to do this wiki, but not sure how to do it . I heard about Felix, but don't know if this fits here.

+5
source share
4 answers

You pretty much describe D, especially if you have a long horizon of time and are willing to wait for some of the things in the work to be fully deployed.

+10

OCaml D, ++ . ++- , c. , c-, . . , . ++ 11 , .

, D. , uBLAS, Eigen Blitz ++. , Intel Cilk Plus Parallel Building Blocks. , , , ++ - , , .

, OCaml, , - . - JoCaml, OC4MC .. , - .

. #, F # - , . . , , , , ( ) .., ++ - , .

+3

F #.

  • Ocaml
  • 2D- std F #
  • TPL, PLINQ Async
  • CLR, ( Microsoft.NET, Mono)
  • PInvoke C
+2

Jay FIsh , , C FFI. FIsh , . . 1 2 , 5 6. FIsh . Fortran C-. FIsh ( , ).

FYI: Felix has no type inference. Otherwise, it is suitable and easily has the best binding with C of any language except C ++. It is designed to provide low level concurrency (multi-threaded memory sharing). Felix usually outperforms C using a high-level optimization that the C compiler could not have dreamed of. Felix will provide any changes needed to make code easier to read and write than C (I am the author :) Just give me some use cases!

+2
source

All Articles