Skip to content
/ julia Public
forked from JuliaLang/julia

The Julia Language: A fresh approach to technical computing.

License

Notifications You must be signed in to change notification settings

tknopp/julia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

               _
   _       _ _(_)_     |
  (_)     | (_) (_)    |   A fresh approach to technical computing
   _ _   _| |_  __ _   |
  | | | | | | |/ _` |  |           http:https://julialang.org
  | | |_| | | | (_| |  |       [email protected]
 _/ |\__'_|_|_|\__'_|  |
|__/                   |

Julia is a very high level dynamic language for numerical and scientific computing with optional typing, multiple dispatch, and good performance, achieved by using type inference and just-in-time (JIT) compilation, implemented using LLVM. The language is multi-paradigm, combining features of functional, object-oriented, and imperative styles. For a more in-depth discussion of the rationale and advantages of Julia over other systems, see the Introduction in the wiki, or browse all of the wiki documentation.

## Resources ## Required Build Tools & External Libraries
  • GNU make — building dependencies.
  • gcc, g++, gfortran — compiling and linking C, C++ and Fortran code.
  • curl — to automatically download external libraries:
    • fdlibm — a portable implementation of much of the system-dependent libm math library's functionality.
    • OpenBLAS — a fast, open, and maintained basic linear algebar subprograms (BLAS) library, based on Kazushige Goto's famous GotoBLAS.
    • LAPACK — library of linear algebra routines for "solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems" using generic BLAS functionality.
    • ARPACK — "a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems."
    • PCRE — Perl-compatible regular expressions library
    • GNU readline — library allowing shell-like line editing in the terminal, with history and familiar key bindings.
    • mongoose — library for writing simple web servers, used for Julia's web-based repl.
## Supported Platforms
  • GNU/Linux: x86 (32-bit); x86/64 (64-bit).
  • OS X: x86/64 (64-bit); x86 (32-bit) is untested but should work.
## Compilation
  • Run make in external/ to download and build external dependencies.
  • Run make in the top-level directory to build julia.

No installation is required — julia is currently run from the directory where it was built. You might want to make a symbolic link for the executable, for example ln -s JULIA_PATH/julia ~/bin/julia.

## Directories
attic/         old, now-unused code
bench/         benchmarks and performance tests
contrib/       emacs and textmate support for julia
doc/           miscellaneous documentation and notes
external/      external dependencies
j/             source code for julia's standard library
lib/           shared libraries loaded by julia's standard libraries
src/           source for julia language core
test/          unit and function tests for julia itself
ui/            source for various frontends
## Emacs Setup

Add the following line to ~/.emacs

(require 'julia-mode "JULIA_PATH/contrib/julia-mode.el")

where JULIA_PATH is the location of the top-level julia directory.

## TextMate Setup

Copy (or symlink) the TextMate Julia bundle into the TextMate application support directory:

cp -r JULIA_PATH/contrib/Julia.tmbundle ~/Library/Application\ Support/TextMate/Bundles/

where JULIA_PATH is the location of the top-level julia directory.

About

The Julia Language: A fresh approach to technical computing.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Julia 64.7%
  • C 18.5%
  • C++ 6.9%
  • Scheme 3.3%
  • Emacs Lisp 2.3%
  • Common Lisp 1.1%
  • Other 3.2%