harmonica
所属分类:collect
开发工具:OCaml
文件大小:0KB
下载次数:0
上传日期:2017-01-14 01:00:02
上 传 者:
sh-1993
说明: 口琴编程语言
(harmonica programming language)
文件列表:
Makefile (2650, 2017-01-13)
Vagrantfile (3015, 2017-01-13)
ast.ml (5286, 2017-01-13)
bindings.c (1579, 2017-01-13)
codegen.ml (27191, 2017-01-13)
compile (58, 2017-01-13)
examples/ (0, 2017-01-13)
examples/statistician.ha (1714, 2017-01-13)
fail-parallel-multi-func.ha (773, 2017-01-13)
harmonica.ml (918, 2017-01-13)
lib/ (0, 2017-01-13)
lib/math.ha (1155, 2017-01-13)
lib/vector.ha (1168, 2017-01-13)
llvm/ (0, 2017-01-13)
llvm/a.ll (595, 2017-01-13)
llvm/copy_illegal_type.ll (6171, 2017-01-13)
parse.ml (225, 2017-01-13)
parser.mly (5132, 2017-01-13)
preprocess.py (731, 2017-01-13)
scanner.mll (2706, 2017-01-13)
semant.ml (14478, 2017-01-13)
special-tests/ (0, 2017-01-13)
special-tests/bst.ha (2528, 2017-01-13)
special-tests/test-parallel1.ha (297, 2017-01-13)
special-tests/test-parallel1.out (13, 2017-01-13)
special-tests/test-preprocess1.ha (62, 2017-01-13)
special-tests/test-preprocess2.ha (151, 2017-01-13)
special-tests/test-vector1.ha (349, 2017-01-13)
special-tests/test-vector1.out (24, 2017-01-13)
test.ha (766, 2017-01-13)
testall.sh (3866, 2017-01-13)
tests/ (0, 2017-01-13)
tests/fail-assign1.err (93, 2017-01-13)
tests/fail-assign1.ha (132, 2017-01-13)
tests/fail-assign1.mc (136, 2017-01-13)
tests/fail-assign2.err (89, 2017-01-13)
tests/fail-assign2.ha (85, 2017-01-13)
tests/fail-assign2.mc (88, 2017-01-13)
... ...
# Harmonica
Harmonica Programming Language
## Overview
This was a course project at Columbia University.
Harmonica is a mixture of Go-Python language with support for functional programming and concurrency.
## Instructions
### Installation under Ubuntu
Currently Ubuntu is the only supported system. We are doing some clang-to-llvm bindings which requires the proper clang version that's not available on macOS/Windows, so getting it to work on other platforms would be very cumbersome.
Compiling this project requires clang-3.4, llvm-3.4, and opam 1.2. These are not the default for most Ubuntu systems, so you'll need to explicitly specify the version of packages you are installing.
```
sudo add-apt-repository ppa:avsm/ppa
sudo apt-get update
sudo apt-get install ocaml opam
sudo apt-get install -y m4 clang-3.4 llvm-3.4
opam init
opam install llvm.3.4 ocamlfind
eval `opam config env`
make
./testall.sh
```
------------------------------
### Installation under macOS
The cgen branch of this project works with macOS, but other branches do not. cgen translates harmonica programs to C instead of LLVM. In order to run it on macOS, simply do:
```
brew install opam
eval `opam config env`
make
./testall.sh
```
近期下载者:
相关文件:
收藏者: