Next: Header arguments, Previous: Library of Babel, Up: Working With Source Code

### 14.7 Languages

Code blocks in the following languages are supported.

Language | Identifier | Language | Identifier
Asymptote | asymptote | C | C
C++ | C++ | Clojure | clojure
CSS | css | ditaa | ditaa
Graphviz | dot | Emacs Lisp | emacs-lisp
gnuplot | gnuplot | Haskell | haskell
LaTeX | latex | MATLAB | matlab
Mscgen | mscgen | Objective Caml | ocaml
Octave | octave | Oz | oz
Perl | perl | Python | python
R | R | Ruby | ruby
Sass | sass | GNU Screen | screen
shell | sh | SQL | sql
SQLite | sqlite

Language-specific documentation is available for some languages. If available, it can be found at http://orgmode.org/worg/org-contrib/babel/languages.

The `org-babel-load-languages` controls which languages are enabled for evaluation (by default only `emacs-lisp` is enabled). This variable can be set using the customization interface or by adding code like the following to your emacs configuration.

> The following disables `emacs-lisp` evaluation and enables evaluation of `R` code blocks.

         (org-babel-do-load-languages
          'org-babel-load-languages
          '((emacs-lisp . nil)
            (R . t)))

It is also possible to enable support for a language by loading the related elisp file with `require`.

> The following adds support for evaluating `clojure` code blocks.

         (require 'ob-clojure)