/bin/bash -c "$(curl -fsSL https://seq-lang.org/install.sh)"
Some features require htslib 1.10+ and
Python 3.5+. If you want to use Python interop, you also need to point
SEQ_PYTHON to the Python library (typically called
libpython3.8m.so or similar). Also, if you have a custom build of
htslib, you can point
SEQ_HTSLIB to it
Assuming that Seq was properly installed, you can use it as follows:
seqc file.seq # Compile and run file.seq seqc -d file.seq # Compile and run file.seq in debug mode seqc -o file.bc file.seq # Compile file.seq to LLVM bytecode file file.bc
It is highly recommended to use
-d parameter for development
purposes: compilation is faster, stack traces are actually useful,
and it has some extra checks (e.g. null checks) that can save your life.
Creating a stand-alone executable¶
Currently, stand-alone executables must be created manually:
seqc -o prog.bc prog.seq llc prog.bc -filetype=obj -o prog.o clang -L/path/to/libseqrt/ -lseqrt -lomp -ldl -pthread -o prog prog.o
You might need to install LLVM to use
llc. Seq uses LLVM 6, so we
advise against using older versions.
/path/to/libseqrt/ would typically
If you want to be able to easily distribute your executable, pass
clang and ship the
libomp.so in the same directory with your executable. This is a
Linux-specific argument; on macOS you might want to use