LLVM

From HaskellWiki
Revision as of 10:11, 2 October 2020 by Lemming (talk | contribs) (updated to year 2020)
Jump to navigation Jump to search

LLVM is an abbreviation of "Low Level Virtual Machine"; LLVM is:

  • A compilation strategy
  • A virtual instruction set
  • A compiler infrastructure

It is developed by the University of Illinois. It is implemented on many platforms, amongst others the iPhone.

You can use this from a Haskell program using essentially two bindings:

A strongly typed interface that is mainly intended to accelerate your Haskell programs with low-level code:

   - synthesizer-llvm provides efficient signal processing using vector instructions, including a live software synthesizer
   - patch-image constructs a big image from overlapping parts

An untyped interface mainly intended to write compilers and analyse LLVM bitcode: