close
The Wayback Machine - https://web.archive.org/web/20201028215230/https://github.com/google-research/dex-lang
Skip to content
main
Go to file
Code

Latest commit

Reduction would ignore those anyway and the name hints would be wasted.
Specify name hints on all decls emittited for a single `UDecl` instead.
8806d9b

Git stats

Files

Permalink
Failed to load latest commit information.

README.md

Dex Test status

Dex (named for "index") is a research language for typed, functional array processing. The goal of the project is to explore:

  • Type systems for array programming
  • Mathematical program transformations like differentiation and integration
  • User-directed compilation to parallel hardware
  • Interactive and incremental numerical programming and visualization

To learn more, check out our workshop paper or these example programs:

Please note that Dex is an experimental research project at an early stage of development. Contributions welcome!

Dependencies

  • Install stack
  • Install LLVM 9
    • apt-get install llvm-9-dev on Ubuntu/Debian,
    • brew install llvm@9 on macOS.

Building

  • Build Dex in development mode: make
  • Run tests in development mode: make tests
  • Install a release version of Dex: make install

The default installation directory is $HOME/.local/bin so make sure to add that directory to $PATH once you install Dex. If you'd like to install it somewhere else make sure to have the PREFIX environment variable set when you run make install. For example PREFIX=$HOME make install would install dex in $HOME/bin.

While working in development mode, it is convenient to set up a dex alias (e.g. in .bashrc): alias dex="stack exec dex --".

Running

  • Traditional REPL: dex repl
  • Execute script: dex script examples/pi.dx
  • Live-updated notebook display dex web examples/pi.dx (html) or dex watch examples/pi.dx (terminal).

License

BSD-3

This is an early-stage research project, not an official Google product.

About

Research language for array processing in the Haskell/ML family

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.