Popularity
8.3
Stable
Activity
0.0
Stable
25
11
13

Monthly Downloads: 10
Programming language: Haskell
License: MIT License

symengine alternatives and similar packages

Based on the "FFI" category.
Alternatively, view symengine alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of symengine or a related project?

Add another 'FFI' Package

README

SymEngine-hs

Build Status Test Coverage Issue Count

Haskell bindings to SymEngine

Prerequisites

Stack, a Haskell build tool

Stack is a Haskell build tool, which allows for cross-platform, reproducible builds.

The build toolchain of this project depends on stack, so please follow the installation instructions as outlined here

SymEngine, the library that this package provides a Haskell interface for

Please go through the SymEngine installation instructions, and make sure that the header files as well as the libraries

  • symengine
  • gmp
  • gmpxxx

Since these are hard dependencies for SymEngine-hs to build.

Getting started

To quickly build and check everything is working, run

stack build && stack test

All of the test cases should pass with SymEngine

Playing around in the interpreter

to launch a GHCi session, execute the interpreter with

stack ghci --ghci-options " -lstdc++ -lgmpxx -lgmp -lsymengine -L/usr/local/lib/"

Make sure that you have built symengine.so (NOTE: you _need the shared object, and not just the library), and have installed the shared object as well.

Once you are inside GHCi, you can execute basic functions such as basic_const_zero, basic_const_one, etc.

A typical interpreter session will look like this:

GHCi session with Symengine loaded
---

*Symengine Symengine> basic_const_zero
0
*Symengine Symengine> basic_const_zero
0
*Symengine Symengine> basic_const_one
1
*Symengine Symengine> basic_const_minus_one
-1

Things to Do

[TODO: fill this up]

Contributing

[TODO: fill this up]

License

All code is released under the MIT License.


*Note that all licence references and agreements mentioned in the symengine README section above are relevant to that project's source code only.