yzh119 / dex-lang

Research language for array processing in the Haskell/ML family

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dex

Dex (named for "index") is a research language for array processing in the Haskell/ML family. 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:

Setup

  • Install stack
  • Install LLVM 7, e.g. apt-get install llvm-7-dev

Building

  • Build Dex: make
  • Run tests: make tests
  • Set up alias (e.g. in .bashrc) alias dex=stack exec dex --

Running

  • Traditional REPL: dex repl
  • Execute script: dex script example/tutorial.dx
  • Notebook interface: dex web example/tutorial.dx

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

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 93.7%Language:C 1.8%Language:JavaScript 0.9%Language:TeX 0.8%Language:Python 0.7%Language:Emacs Lisp 0.7%Language:Makefile 0.7%Language:CSS 0.5%Language:HTML 0.1%Language:Shell 0.1%