matlab alternatives and similar packages
Based on the "Foreign" category.
Alternatively, view matlab alternatives based on common mentions on social networks and blogs.
language-c-inline9.5 0.0 matlab VS language-c-inlineInline C & Objective-C in Haskell
cuda9.2 0.0 matlab VS cudaHaskell FFI bindings to CUDA
HaPy9.2 0.0 L5 matlab VS HaPyHaskell bindings for Python
erlang8.6 0.0 matlab VS erlangA Foreign Function Interface that lets Haskell and Erlang programs communicate.
emacs-module8.0 0.0 matlab VS emacs-moduleWrappers around emacs-module.h to write Emacs modules in Haskell
libltdl7.9 0.0 matlab VS libltdlFFI interface to libltdl
cplusplus-th7.6 0.0 matlab VS cplusplus-thC++ Foreign Import Generation
libnvvm7.5 0.0 matlab VS libnvvmHaskell bindings for libNVVM
libnix7.1 0.0 matlab VS libnixHaskell library to interface with the nix package manager
greencard6.8 0.0 matlab VS greencardGreen Card, a foreign function interface pre-processor for Haskell.
htaglib6.6 0.0 matlab VS htaglibHaskell bindings for TagLib, an audio meta-data library
hsyslog6.4 0.0 matlab VS hsyslogHaskell FFI bindings to syslog(3) from POSIX.1-2001.
hlibsass6.4 0.0 matlab VS hlibsassLow-level bindings to libsass for Haskell
cublas6.2 0.0 matlab VS cublasHaskell FFI bindings for CUBLAS, CUSPARSE, and CuFFT
cufft6.0 0.0 matlab VS cufftHaskell bindings for the CUFFT library
AppleScript5.9 0.0 matlab VS AppleScriptCall AppleScript from Haskell
nvvm5.4 0.0 matlab VS nvvmHaskell FFI bindings to NVVM
c-storable-deriving5.2 0.0 matlab VS c-storable-derivingDerivation of C-like Storable Instances
tasty-lua4.4 2.4 matlab VS tasty-luaIntegrate Lua tests into tasty. This package is now part of the hslua monorepo.
hlibev4.3 0.0 matlab VS hlibevFFI interface to libev
hslua-module-text4.1 0.0 matlab VS hslua-module-textLua module providing a selected set of operations on Text. NOTE: moved into the hslua monorepo.
hslua-module-system3.8 4.6 matlab VS hslua-module-systemHsLua module for system and directory functions. This repository has been moved to the hslua monorepo.
hslua-module-doclayout3.7 0.0 matlab VS hslua-module-doclayoutLua module wrapping Text.DocLayout.
cusparse3.4 0.0 matlab VS cusparseHaskell FFI bindings to CUDA Sparse BLAS library
cusolver3.1 0.0 matlab VS cusolverHaskell FFI bindings to CUDA Solver, a LAPACK-like library
hopencl2.9 0.0 L5 matlab VS hopenclOpenCL library for Haskell
arbb-vm2.2 0.0 matlab VS arbb-vmIntel ArBB virtual machine bindings
missing-py21.9 0.0 matlab VS missing-py2Support for calling Python [Haskell]
exiftool1.8 0.0 matlab VS exiftoolHaskell bindings to ExifTool
marshal-contt1.6 0.0 matlab VS marshal-conttA ContT-based wrapper for Haskell-to-C marshalling functions.
cloudi1.6 0.0 matlab VS cloudiHaskell CloudI API
hlibcpuid1.3 0.0 matlab VS hlibcpuidHaskell bindings to https://github.com/anrieff/libcpuid
hhwloc1.3 0.0 matlab VS hhwlocHaskell bindings to https://github.com/open-mpi/hwloc
foreign-storable-asymmetricTypes and instances for implementing a Storable with different peek and poke
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of matlab or a related project?
This is an updated version of Dylan Simon's matlab package which is available on Hackage. I made changes primarily to allow the package to work with newer versions of GHC and MATLAB.
You will probably need to add some arguments that point Cabal to your MATLAB installation. For example, on a Linux system with MATLAB R2014a, it may look like this:
cabal install --extra-lib-dirs="/usr/local/MATLAB/R2014a/bin/glnxa64/" --extra-include-dirs="/usr/local/MATLAB/R2014a/extern/include/"
On a Windows system with the MATLAB Compiler Runtime, it might look like this:
cabal install --extra-include-dirs="C:\Program Files\MATLAB\MATLAB Compiler Runtime\v83\extern\include" --extra-lib-dirs="C:\Program Files\MATLAB\MATLAB Compiler Runtime\v83\bin\win64"
These instructiosn are much the same as the Cabal instructions above.
--nix argument if not using Nix or NixOS)
$ stack --extra-lib-dirs=$MATLAB_PATH/bin/glnxa64 --extra-include-dirs=$MATLAB_PATH/extern/include --nix build
IMPORTANT Caveat: If it is necessary to specify the
matlab shell script should instead be modified to hardcode
glnxa64. Aside from convenience, certain APIs like the MATLAB Engine API
will not always work otherwise (you will likely see an error involving
These instructions assume
stack is to be used in a Nix environment. If you don't already
have stack in our environment you can add it, or likely you can just run
to load stack and other dependencies.
You can load a MATLAB nix shell such as the one found in
shell.nix - feel free
to modify it to add other packages for your particular project; in this case
deps.nix. What is important to keep in mind about
shell.nix is that it is
configured to be used by
stack in the
stack.yaml file, but you could also run
nix-shell shell.nix (or simply
nix-shell in the current directory) to load an environment
in which you could run MATLAB as well.
Confirm it is working by running
matlab -nodisplay -nosplash.
Build the project using the build command above under "Stack notes".
This package has been confirmed to work on the following systems:
|GHC version||cabal-install (c) or stack (s) version||Operating System||MATLAB|
|8.6.5||220.127.116.11 (s)||Ubuntu 18.04||MATLAB R2018a|
|8.6.5||18.104.22.168 (s)||NixOS 19.09||MATLAB R2017a|
|7.8.3||22.214.171.124 (c)||Ubuntu 14.10||MATLAB R2014a|
|7.8.3||126.96.36.199 (c)||Windows 7||MCR R2014a|
Note that this requires shell program
csh to be installed at
This is a requirement of the MATLAB Engine API. Instead of
may also be used as long as
/bin/csh points to the
After installing, you can run a particular exectuable (e.g.
matlab-engine-test) using the
script. You need to make sure
MATLAB_PATH is set correctly or passed in.
stack --nix install ./runHSMat.sh matlab-engine-test
Option 2 (not working yet)
See MATLAB Engine API for C for details.