Author Topic: ScalaLab provides a MATLAB like environment for Scala written in JAVA 7  (Read 974 times)

0 Members and 1 Guest are viewing this topic.

Software Santa

  • Administrator
  • *****
  • Posts: 4258
  • OS:
  • Mac OS X 10.9 Mac OS X 10.9
  • Browser:
  • Firefox 28.0 Firefox 28.0
ScalaLab provides a MATLAB like environment for Scala written in JAVA 7

ScalaLab291 (released about the end of 2011) works on Mac OS X 10.9.2 systems ... in case the later releases will not.

Project Summary

The ScalaLab project aims to provide an efficient scientific programming environment for the Java Virtual Machine. The scripting language is based on the Scala programming language enhanced with high level scientific operators and with an integrated environment that provides a MATLAB-like working style. Also, all the huge libraries of Java scientific code can be easily accessible (and many times with a more convenient syntax). The main potential of the ScalaLab is numerical code speed and flexibility. The statically typed Scala language can provide speeds of scripting code similar to pure Java. A major design priority of ScalaLab is its user-friendly interface. We like the user to enjoy writing scientific code, and with this objective we design the whole framework.

The MATLAB-like mathematical DSL of ScalaLab is termed ScalaSci , and is developed as an internal DSL, by exploiting the superb extensibility of the Scala language.

Toolboxes of Java scientific code can be easily installed, using a menu based installation procedure. Also, any .jar packed toolbox, can be directly available by placing it at the defaultToolboxes folder.

Many environment configuration options can be easily performed within the graphical user interface. Also, code completion features and on line help support on the contents of classes, objects, libraries etc., using Java/Scala reflection, can further facilitate the programmer.

ScalaLab utilizes also and native C/C++ code for some important numerical operations. Although the speed of pure Java code is generally adequate, optimized native code can provide further additional improvement. Also, the Java Native Interface (JNI) is utilized to interface with NVIDIA's CUDA technology, that provides dramatical speed improvements for many important tasks.

From within ScalaLab, GroovyLab 's scripts can be directly executed. GroovyLab offers Java like syntax, that can sometimes be more convenient. Also, the binding of the more important types of GroovyShell's variables can be transferred to the Scala Interpreter.