julia

The Julia Language: A fresh approach to technical computing.

Subscribe to updates I use julia


Statistics on julia

Number of watchers on Github 10347
Number of open issues 2525
Average time to close an issue about 20 hours
Main language Julia
Average time to merge a PR 1 day
Open pull requests 686+
Closed pull requests 114+
Last commit 8 months ago
Repo Created over 7 years ago
Repo Last Updated 8 months ago
Size 347 MB
Homepage https://julialang...
Organization / Authorjulialang
Latest Releasev0.6.2
Contributors442
Page Updated
Do you use julia? Leave a review!
View open issues (2525)
View julia activity
View on github
Latest Open Source Launches
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating julia for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Build status: travis appveyor

Code coverage: coveralls codecov

The Julia Language

Julia is a high-level, high-performance dynamic language for technical computing. The main homepage for Julia can be found at julialang.org. This is the GitHub repository of Julia source code, including instructions for compiling and installing Julia, below.

Resources

New developers may find the notes in CONTRIBUTING helpful to start contributing to the Julia codebase.

External Resources

Currently Supported Platforms

Julia is built and tested regularly on the following platforms:

Operating System Architecture CI Binaries Support Level
Linux 2.6.18+ x86-64 (64-bit) Official
i686 (32-bit) Official
ARM v7 (32-bit) Official
ARM v8 (64-bit) Official
PowerPC (64-bit) Community
PTX (64-bit) External
macOS 10.8+ x86-64 (64-bit) Official
Windows 7+ x86-64 (64-bit) Official
i686 (32-bit) Official
FreeBSD 11.0+ x86-64 (64-bit) Community

All systems marked with for CI are tested using continuous integration for every commit. Systems with for binaries have official binaries available on the downloads page and are tested regularly. The PTX backend needs a source build and the CUDAnative.jl package. The systems listed here with neither CI nor official binaries are known to build and work, but ongoing support for those platforms is dependent on community efforts. It's possible that Julia will build and work on other platforms too, and we're always looking to better our platform coverage. If you're using Julia on a platform not listed here, let us know!

Source Download and Compilation

First, make sure you have all the required dependencies installed. Then, acquire the source code by cloning the git repository:

git clone git://github.com/JuliaLang/julia.git

(If you are behind a firewall, you may need to use the https protocol instead of the git protocol:

git config --global url."https://".insteadOf git://

Be sure to also configure your system to use the appropriate proxy settings, e.g. by setting the https_proxy and http_proxy variables.)

By default you will be building the latest unstable version of Julia. However, most users should use the most recent stable version of Julia, which is currently the 0.6 series of releases. You can get this version by changing to the Julia directory and running

git checkout v0.6.2

Now run make to build the julia executable. To perform a parallel build, use make -j N and supply the maximum number of concurrent processes. (See Platform Specific Build Notes for details.) When compiled the first time, it will automatically download and build its external dependencies. This takes a while, but only has to be done once. If the defaults in the build do not work for you, and you need to set specific make parameters, you can save them in Make.user. The build will automatically check for the existence of Make.user and use it if it exists. Building Julia requires 1.5GiB of disk space and approximately 700MiB of virtual memory.

For builds of julia starting with 0.5.0-dev, you can create out-of-tree builds of Julia by specifying make O=<build-directory> configure on the command line. This will create a directory mirror, with all of the necessary Makefiles to build Julia, in the specified directory. These builds will share the source files in Julia and deps/srccache. Each out-of-tree build directory can have its own Make.user file to override the global Make.user file in the top-level folder.

If you need to build Julia on a machine without internet access, use make -C deps getall to download all the necessary files. Then, copy the julia directory over to the target environment and build with make.

Note: The build process will fail badly if any of the build directory's parent directories have spaces or other shell meta-characters such as $ or : in their names (this is due to a limitation in GNU make).

Once it is built, you can run the julia executable using its full path in the directory created above (the julia directory). To run julia from anywhere you can:

  • add an alias (in bash: echo "alias julia='/path/to/install/folder/bin/julia'" >> ~/.bashrc && source ~/.bashrc), or
  • add a soft link to the julia executable in the julia directory to /usr/local/bin (or any suitable directory already in your path), or

  • add the julia directory to your executable path for this shell session (in bash: export PATH="$(pwd):$PATH" ; in csh or tcsh: set path= ( $path $cwd ) ), or

  • add the julia directory to your executable path permanently (e.g. in .bash_profile), or

  • write prefix=/path/to/install/folder into Make.user and then run make install. If there is a version of Julia already installed in this folder, you should delete it before running make install.

Now you should be able to run Julia like this:

julia

If everything works correctly, you will see a Julia banner and an interactive prompt into which you can enter expressions for evaluation. (Errors related to libraries might be caused by old, incompatible libraries sitting around in your PATH. In this case, try moving the julia directory earlier in the PATH).

Your first test of Julia determines whether your build is working properly. From the UNIX/Windows command prompt inside the julia source directory, type make testall. You should see output that lists a series of running tests; if they complete without error, you should be in good shape to start using Julia.

You can read about getting started in the manual.

If you are building a Julia package for distribution on Linux, OS X, or Windows, take a look at the detailed notes in DISTRIBUTING.md.

Updating an existing source tree

If you have previously downloaded julia using git clone, you can update the existing source tree using git pull rather than starting anew:

cd julia
git pull && make

Assuming that you had made no changes to the source tree that will conflict with upstream updates, these commands will trigger a build to update to the latest version.

General troubleshooting

  1. Over time, the base library may accumulate enough changes such that the bootstrapping process in building the system image will fail. If this happens, the build may fail with an error like
    *** This error is usually fixed by running 'make clean'. If the error persists, try 'make cleanall' ***

As described, running make clean && make is usually sufficient. Occasionally, the stronger cleanup done by make cleanall is needed.

  1. New versions of external dependencies may be introduced which may occasionally cause conflicts with existing builds of older versions.

a. Special make targets exist to help wipe the existing build of a dependency. For example, make -C deps clean-llvm will clean out the existing build of llvm so that llvm will be rebuilt from the downloaded source distribution the next time make is called. make -C deps distclean-llvm is a stronger wipe which will also delete the downloaded source distribution, ensuring that a fresh copy of the source distribution will be downloaded and that any new patches will be applied the next time make is called.

b. To delete existing binaries of julia and all its dependencies, delete the ./usr directory in the source tree.

  1. If you've updated OS X recently, be sure to run xcode-select --install to update the command line tools. Otherwise, you could run into errors for missing headers and libraries, such as ld: library not found for -lcrt1.10.6.o.

  2. If you've moved the source directory, you might get errors such as CMake Error: The current CMakeCache.txt directory ... is different than the directory ... where CMakeCache.txt was created., in which case you may delete the offending dependency under deps

  3. In extreme cases, you may wish to reset the source tree to a pristine state. The following git commands may be helpful:

    git reset --hard #Forcibly remove any changes to any files under version control
    git clean -x -f -d #Forcibly remove any file or directory not under version control

To avoid losing work, make sure you know what these commands do before you run them. git will not be able to undo these changes!

Uninstalling Julia

Julia does not install anything outside the directory it was cloned into. Julia can be completely uninstalled by deleting this directory. Julia packages are installed in ~/.julia by default, and can be uninstalled by deleting ~/.julia.

Platform-Specific Build Notes

Linux

General

  • GCC version 4.7 or later is required to build Julia.
  • To use external shared libraries not in the system library search path, set USE_SYSTEM_XXX=1 and LDFLAGS=-Wl,-rpath,/path/to/dir/contains/libXXX.so in Make.user.
    • Instead of setting LDFLAGS, putting the library directory into the environment variable LD_LIBRARY_PATH (at both compile and run time) also works.
  • See also the external dependencies.

Architecture Customization

Julia can be built for a non-generic architecture by configuring the ARCH Makefile variable. See the appropriate section of Make.inc for additional customization options, such as MARCH and JULIA_CPU_TARGET.

For example, to build for Pentium 4, set MARCH=pentium4 and install the necessary system libraries for linking. On Ubuntu, these may include lib32gfortran-6-dev, lib32gcc1, and lib32stdc++6, among others.

You can also set MARCH=native for a maximum-performance build customized for the current machine CPU.

Ubuntu

The julia-deps PPA contains updated packages for Julia dependencies if you want to use system libraries instead of having them downloaded and built during the build process. See System Provided Libraries.

RHEL/CentOS 6

On RHEL/CentOS 6 systems, the default compiler (gcc 4.4) is too old to build Julia.

Install or contact your systems administrator to install a more recent version of gcc. The Scientific Linux Developer Toolset works well.

Linux Build Troubleshooting

Problem Possible Solution
OpenBLAS build failure Set one of the following build options in Make.user and build again:
  • OPENBLAS_TARGET_ARCH=BARCELONA (AMD CPUs) or OPENBLAS_TARGET_ARCH=NEHALEM (Intel CPUs)
      Set OPENBLAS_DYNAMIC_ARCH = 0 to disable compiling multiple architectures in a single binary.
  • OPENBLAS_NO_AVX2 = 1 disables AVX2 instructions, allowing OpenBLAS to compile with OPENBLAS_DYNAMIC_ARCH = 1 using old versions of binutils
  • USE_SYSTEM_BLAS=1 uses the system provided libblas
    • Set LIBBLAS=-lopenblas and LIBBLASNAME=libopenblas to force the use of the system provided OpenBLAS when multiple BLAS versions are installed.

If you get an error that looks like ../kernel/x86_64/dgemm_kernel_4x4_haswell.S:1709: Error: no such instruction: `vpermpd $ 0xb1,%ymm0,%ymm0', then you need to set OPENBLAS_DYNAMIC_ARCH = 0 or OPENBLAS_NO_AVX2 = 1, or you need a newer version of binutils (2.18 or newer). (Issue #7653)

Illegal Instruction error Check if your CPU supports AVX while your OS does not (e.g. through virtualization, as described in this issue).

OS X

You need to have the current Xcode command line utilities installed: run xcode-select --install in the terminal. You will need to rerun this terminal command after each OS X update, otherwise you may run into errors involving missing libraries or headers. You will also need a 64-bit gfortran to compile Julia dependencies. The gfortran-4.7 (and newer) compilers in Brew, Fink, and MacPorts work for building Julia.

Clang is now used by default to build Julia on OS X 10.7 and above. On OS X 10.6, the Julia build will automatically use gcc. On current systems, we recommend that you install the command line tools as described above. Older systems do not have a separate command line tools package from Apple, and will require a full Xcode install. On these, you will need at least Xcode 4.3.3. In Xcode prior to v5.0, you can alternatively go to Preferences -> Downloads and select the Command Line Utilities. These steps will ensure that clang v3.1 is installed, which is the minimum version of clang required to build Julia.

If you have set LD_LIBRARY_PATH or DYLD_LIBRARY_PATH in your .bashrc or equivalent, Julia may be unable to find various libraries that come bundled with it. These environment variables need to be unset for Julia to work.

If you see build failures in OpenBLAS or if you prefer to experiment, you can use the Apple provided BLAS in vecLib by building with USE_SYSTEM_BLAS=1. Julia does not use the Apple provided LAPACK, as it is too old.

When building Julia, or its dependencies, libraries installed by third party package managers can redirect the compiler to use an incompatible version of the software it is looking for. One example of this happening is when a piece of software called the linker gives an error involving Undefined symbols. If that happens, you can usually figure out what software package is causing the error from the names in the error text. This sort of error can be bypassed by, temporarily, uninstalling the offending package. If the offending package cannot be uninstalled by itself, it may be possible to just uninstall the development headers (for example: a package ending in -dev in Fink).

FreeBSD

Clang is the default compiler on FreeBSD 11.0-RELEASE and above. The remaining build tools are available from the Ports Collection, and can be installed using pkg install git gcc gmake cmake. To build Julia, simply run gmake. (Note that gmake must be used rather than make, since make on FreeBSD corresponds to the incompatible BSD Make rather than GNU Make.)

It's important to note that the USE_SYSTEM_* flags should be used with caution on FreeBSD. This is because many system libraries, and even libraries from the Ports Collection, link to the system's libgcc_s.so.1, or to another library which links to the system libgcc_s. This library declares its GCC version to be 4.6, which is too old to build Julia, and conflicts with other libraries when linking. Thus it is highly recommended to simply allow Julia to build all of its dependencies. If you do choose to use the USE_SYSTEM_* flags, note that /usr/local is not on the compiler path by default, so you may need to add LDFLAGS=-L/usr/local/lib and CPPFLAGS=-I/usr/local/include to your Make.user, though doing so may interfere with other dependencies.

Some known issues on FreeBSD are:

  • The x86 architecture does not support threading due to lack of compiler runtime library support, so you may need to set JULIA_THREADS=0 in your Make.user if you're on a 32-bit system.

  • The Pkg test suite segfaults on FreeBSD 11.1, likely due to a change in FreeBSD's default handling of stack guarding. See issue #23328 for more information.

Windows

In order to build Julia on Windows, see README.windows.

Vagrant

Julia can be developed in an isolated Vagrant environment. See the Vagrant README for details.

Required Build Tools and External Libraries

Building Julia requires that the following software be installed:

  • GNU make building dependencies.
  • gcc & g++ (>= 4.7) or Clang (>= 3.1, Xcode 4.3.3 on OS X) compiling and linking C, C++.
  • libatomic provided by gcc and needed to support atomic operations.
  • python (>=2.7) needed to build LLVM.
  • gfortran compiling and linking Fortran libraries.
  • perl preprocessing of header files of libraries.
  • wget, curl, or fetch (FreeBSD) to automatically download external libraries.
  • m4 needed to build GMP.
  • awk - helper tool for Makefiles.
  • patch for modifying source code.
  • cmake (>= 3.4.3) needed to build libgit2.
  • pkg-config needed to build libgit2 correctly, especially for proxy support.

Julia uses the following external libraries, which are automatically downloaded (or in a few cases, included in the Julia source repository) and then compiled from source the first time you run make:

  • LLVM (3.9 + patches) compiler infrastructure (see note below).
  • FemtoLisp packaged with Julia source, and used to implement the compiler front-end.
  • libuv (custom fork) portable, high-performance event-based I/O library.
  • OpenLibm portable libm library containing elementary math functions.
  • DSFMT fast Mersenne Twister pseudorandom number generator library.
  • OpenBLAS fast, open, and maintained basic linear algebra subprograms (BLAS) library, based on Kazushige Goto's famous GotoBLAS (see note below).
  • LAPACK (>= 3.5) 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.
  • MKL (optional) OpenBLAS and LAPACK may be replaced by Intel's MKL library.
  • SuiteSparse (>= 4.1) library of linear algebra routines for sparse matrices (see note below).
  • ARPACK collection of subroutines designed to solve large, sparse eigenvalue problems.
  • PCRE (>= 10.00) Perl-compatible regular expressions library.
  • GMP (>= 5.0) GNU multiple precision arithmetic library, needed for BigInt support.
  • MPFR (>= 3.0) GNU multiple precision floating point library, needed for arbitrary precision floating point (BigFloat) support.
  • libgit2 (>= 0.23) Git linkable library, used by Julia's package manager.
  • curl (>= 7.50) libcurl provides download and proxy support for Julia's package manager.
  • libssh2 (>= 1.7) library for SSH transport, used by libgit2 for packages with SSH remotes.
  • mbedtls (>= 2.2) library used for cryptography and transport layer security, used by libssh2
  • utf8proc (>= 2.1) a library for processing UTF-8 encoded Unicode strings.
  • libosxunwind clone of libunwind, a library that determines the call-chain of a program.

Notes for distribution package maintainers

Package maintainers will typically want to make use of system libraries where possible. Please refer to the above version requirements and additional notes below. A list of maintained Julia packages for various platforms is available at https://julialang.org/downloads/platform.html.

System Provided Libraries

If you already have one or more of these packages installed on your system, you can prevent Julia from compiling duplicates of these libraries by passing USE_SYSTEM_...=1 to make or adding the line to Make.user. The complete list of possible flags can be found in Make.inc.

Please be aware that this procedure is not officially supported, as it introduces additional variability into the installation and versioning of the dependencies, and is recommended only for system package maintainers. Unexpected compile errors may result, as the build system will do no further checking to ensure the proper packages are installed.

LLVM

The most complicated dependency is LLVM, for which we require version 3.9 with some additional patches from upstream (LLVM is not backward compatible). For packaging Julia, we recommend either:

  • bundling a Julia-only LLVM library inside the Julia package, or
  • adding the patches to the LLVM 3.9 package of the distribution.
    • A complete list of patches is available in deps/llvm.mk, and the patches themselves are in deps/patches/.
    • The only Julia-specific patch is the lib renaming (llvm-symver-jlprefix.patch), which should not be applied to a system LLVM.
    • The remaining patches are all upstream bug fixes, and have been contributed into upstream LLVM.

Using an unpatched or different version of LLVM will result in errors and/or poor performance. Though Julia can be built with newer LLVM versions, support for this should be regarded as experimental and not suitable for packaging.

libuv

Julia uses a custom fork of libuv. It is a small dependency, and can be safely bundled in the same package as Julia, and will not conflict with the system library. Julia builds should not try to use the system libuv.

BLAS and LAPACK

As a high-performance numerical language, Julia should be linked to a multi-threaded BLAS and LAPACK, such as OpenBLAS or ATLAS, which will provide much better performance than the reference libblas implementations which may be default on some systems.

SuiteSparse

SuiteSparse is a special case, since it is typically only installed as a static library, while USE_SYSTEM_SUITESPARSE=1 requires that it is a shared library. Running the script contrib/repackage_system_suitesparse4.make will copy your static system SuiteSparse installation into the shared library format required by Julia. make USE_SYSTEM_SUITESPARSE=1 will then use the SuiteSparse that has been copied into Julia's directory, but will not build a new SuiteSparse library from scratch.

Intel compilers and Math Kernel Library (MKL)

To build Julia using the Intel compilers (icc, icpc, ifort), and link against the MKL BLAS and LAPACK libraries, first make sure you have a recent version of the compiler suite (version 15 or later).

For a 64-bit architecture, the environment should be set up as follows:

# bash
source /path/to/intel/bin/compilervars.sh intel64

Add the following to the Make.user file:

USEICC = 1
USEIFC = 1
USE_INTEL_MKL = 1
USE_INTEL_LIBM = 1

It is highly recommended to start with a fresh clone of the Julia repository.

Source Code Organization

The Julia source code is organized as follows:

base/          source code for the Base module (part of Julia's standard library)
stdlib/        source code for other standard library packages
contrib/       editor support for Julia source, miscellaneous scripts
deps/          external dependencies
doc/src/manual source for the user manual
doc/src/stdlib source for standard library function reference
src/           source for Julia language core
test/          test suites
ui/            source for various front ends
usr/           binaries and shared libraries loaded by Julia's standard libraries

Binary Installation

If you would rather not compile the latest Julia from source, platform-specific tarballs with pre-compiled binaries are also available for download.

You can either run the julia executable using its full path in the directory created above, or add that directory to your executable path so that you can run the Julia program from anywhere (in the current shell session):

export PATH="$(pwd)/julia:$PATH"

Now you should be able to run Julia like this:

julia

On Windows, double-click usr/bin/julia.exe.

If everything works correctly, you will see a Julia banner and an interactive prompt into which you can enter expressions for evaluation. You can read about getting started in the manual.

Note: Although some system package managers provide Julia, such installations are neither maintained nor endorsed by the Julia project. They may be outdated and/or unmaintained. We recommend you use the official Julia binaries instead.

Editor and Terminal Setup

Currently, Julia editing mode support is available for a number of editors. While Julia modes for Emacs, Sublime Text, and Vim have their own repos, others such as Textmate, Notepad++, and Kate, are in contrib/.

Two major IDEs are supported for Julia: Juno which is based on Atom and julia-vscode based on VS Code. A Jupyter notebooks interface is available through IJulia. The Sublime-IJulia plugin enables interaction between IJulia and Sublime Text.

In the terminal, Julia makes great use of both control-key and meta-key bindings. To make the meta-key bindings more accessible, many terminal emulator programs (e.g., Terminal, iTerm, xterm, etc.) allow you to use the alt or option key as meta. See the section in the manual on the Julia REPL for more details.

julia open issues Ask a question     (View All Issues)
  • about 2 years hcat is not type-stable for sparse matrices
  • about 2 years Default build system support for CUDA/PTX
  • about 2 years Build libhttp-parser as a shared library
  • about 2 years Document `@generated`
  • about 2 years "generated function body is not pure" being too greedy?
  • about 2 years Code is 200x slower in Julia 0.5 with @fastmath
  • about 2 years Add unit tests and coverage reporting for C/C++ code
  • about 2 years quote containing semicolon and comment confuses printing
  • about 2 years Update sorting infrastructure for jb/functions
  • about 2 years generator syntax for norm
  • about 2 years reducedim! and mapreducedim! aren't exported
  • about 2 years Manual: "Running External Programs" does not explain how to change working directory
  • about 2 years Vector{Tuple} bug
  • about 2 years Document that comparison must be antisymmetric comparison
  • about 2 years Documentation of `EDITOR` environmental variable
  • about 2 years Documentation of `@inline`
  • about 2 years `minimum` with collections of vectors inconsistent with `min`.
  • about 2 years "type inference data-flow error" on 0.5
  • about 2 years julia master can't be started in bash on windows
  • about 2 years zeros function mutates arguments
  • about 2 years Bug in default_worker_pool accessed on workers
  • about 2 years `:(($+)(1,2))` prints as `:((+)(1,2))` which is `:(1 + 2)`
  • about 2 years Race condition when quitting and kill(::Process) is in a finalizer
  • about 2 years slow generator performance?
  • about 2 years core dump, with: Assertion `jl_types_equal((jl_value_t*)t, (jl_value_t*)dt)' failed.
  • about 2 years Combine `contains` and `ismatch`?
  • about 2 years Showing README fallback for module help doesn't extend to modules found in LOAD_PATH
  • about 2 years Numerical type conversion misbehaving with complex numbers
  • about 2 years Multiplication of a SharedArray and an Array
  • about 2 years A_<op>_B Inconsistencies
julia open pull requests (View All Pulls)
  • Update atomic_rmw operations to use acq_rel ordering; introduce fence
  • patches #13682 to fix memory mapping of large files on Windows
  • RFC: clean up `map` and `collect` with iterator traits
  • add `ini_HEX` method for ints
  • Don't silently convert `BigFloat`s in Bessel and Airy functions
  • Reenable test of condition number estimates of sparse matrices
  • RFC: added os_only documentation
  • RFC: Use c11/c++11 memory model
  • Added tests to increase coverage in base/rationals.jl
  • add specialized copy! for sparse matrices
  • lufact overhaul
  • Use File(RawFD(fd)) in preference to fdio(fd).
  • RFC: Life, the universe, and MAX_TUPLETYPE_LEN
  • WIP: implemented task copying: #4085
  • WorkerPool and remote()
  • asyncmap
  • Fix #14489 (Throw ArgumentError for invalid indices on creating Spars…
  • use LLVM checked intrinsics instead of custom checked code
  • decouple Windows APIs from UTF16String type
  • WIP: implement f.(args...) as a synonym for broadcast(f, args...)
  • WIP: Additional tools for type-stable multidimensional coding
  • WIP: Add methods for `zero` and `one` to CartesianIndex
  • Increase performance by manual hex parsing
  • \dots -> \ldots
  • Optimized unique and union! methods
  • RFC: added chown
  • Provide script `julia-native`
  • Fix #11512 (disable computation for Complex BigInt/BigFloat type)
  • Fix multiplication, division between sparse and scalar
  • RFC: More customizable testset interface (start method added)
  • [release-0.4] WIP: backports for 0.4.4
  • Add tests for printf.jl
  • StridedArray->AbstractArray in many places
  • Added SubArray tests for linalg/eigen.jl and linalg/schur.jl
  • Add example of doc generation with metaprogramming
  • Fix incorrect `->` handling in docs bootstrapping.
  • Expose some functionality useful for debugging
  • Add fast multiplicative inverses
  • Add shareindexes macro for (sometimes) faster iteration
  • Add tests for SubArrays in test/linalg/bunchkaufman.jl
  • Shared Docstring References
  • WIP: Slightly refactor object file lookup
  • fix regression in select_intrinsic code emitted from a constant
  • Create documentation for Dates.format
  • Improved the Optional Arguments doc
  • fix #15280, line numbers for empty functions and macros
  • Reinstate printing of :line Exprs
  • RFC: define UnitStridedVecOrMat to restrict BLAS methods
  • backtrace code cleanup
  • Fixed Ac_mul_Bt and added export and tests, added a missing lapack test
  • Avoid boundchecking iteration
  • Enable `@edit @time 1+1`, fix #3377
  • linspace with 1 or 0 elements is sorted
  • Inverted marking of vector tuple type
  • Added note mentioning asynchrous IO
  • Added shortlink to make build instructions clear
  • Add new Dates slot character 'Y'
  • WIP: Test the latest openlibm and openspecfun
  • Added performace tip for parentheses in expressions to docs
  • Update to atomics
  • Work around issue with truncated Float32 representation of lwork in sgesdd by using nextfloat.
  • Document recursive (c)transpose and fix #15512
  • Yet more random tests
  • Qualify covm and corm in deprecations of cov and cor keyword methods
  • Fix printing of continue and break expression.
  • Better doc and codegen for noreturn ccall
  • RFC: Improve documentation for print and println
  • WIP: add a lattice element type for constants in inference
  • TupleMap type
  • WIP. Fix thread build on OS X with newest XCode by reducing JL_MAX_BT_SIZE.
  • findfirst and findnext for general iterables
  • Fix doctest code-blocks in documentation
  • RFC: use first/last as endpoints for Range indexing
  • RFC: Distribute an OS X Installer
  • Enable find on SparseVectors
  • Docsystem Improvements
  • Expand documentation on Val{T}
  • don't recommend bad code style with Val{.} in the manual
  • fix #12872, rename `istext` to `istextmime`
  • fix #4163, remove `xdump` and simplify `dump`
  • Speed up map on tuples. Fixes #15695
  • Remove use of functors for sparse matrices and vectors
  • Fix RST doc
  • remove some unncessary and/or misleading methods of `copy`
  • Few tests for the Git module
  • Document that only `http` (and not `git`) url protocls are supported …
  • Fix so escaped chars is ignored in REPLCompletion
  • WIP: Add .clang-format file
  • RFC/WIP: Improve consistency of Date formatting
  • add fkeep! and children for sparse vectors
  • Make `foo` local in tuple and llvmcall test
  • check for embedded NUL char in jl_load (for include)
  • Add port access tip for SSH users in the parallel worker timeout message
  • WIP: Track TBAA metadata in `jl_cgval_t`
  • allow iterables in fftshift and ifftshift
  • Unwind horrible getindex and add a test
  • call convert in Base.setfield!
  • Do not warn for cfunction of `Union{}` return type
  • Add getindex test for HessenbergQ
  • replace osutils macros with `@static`
  • simplify mapreduce_impl
  • Fix typo in variables-and-scoping.rst
  • Add tests for sign(), conj() and ~ on arrays and ranges
  • RFC: add squelch() to mute warn()
  • Fix potential overflow in nextfloat
  • Fix document stdio.rst
  • Loosen signature in triangular solver from Strided- to AbstractMatrix.
  • dictchannel maybe fix
  • More general indexing [4]
  • Added Pkg.dependencies() and a test for it.
  • add peek(io, UInt8) and peek(io, Char) (#16025)
  • R microbenchmark: Use microbenchmark for much higher accuracy in timing
  • Drop other argument of fkeep! (in favour of closures if needed)
  • RFC: Don't suggest other type constructors in closest method suggestions in REPL
  • Rename allunique to anyduplicated
  • Makes syntax highlighters work with banner pasted verbatim.
  • Fix behaviour of + and - with rational infinity
  • fix some cases where we incorrectly removed global var accesses
  • RFC: Adds test_broken and test_skip macros
  • Added JL_PRIVATE_HEADERS, with special openlibm rule
  • improvements to lambda-optimize-vars
  • Clean up of gc debugging and page management code
  • implement pre-run REPL hooks.
  • WIP/RFH (Request for Help!): Fix LibGit2.rebase! (Fixes #16366)
  • make size for multiple dimensions type stable
  • RFC: Remove printing of array elements in BoundsError
  • Add Visit iterator and speed up enumerate for LinearSlow arrays
  • fix #undef access error in randperm(::BigInt)
  • RFC: make SparseMatrixCSC immutable
  • Limit valid syntax for "function call" docstrings
  • Finally version libjulia with a proper filename
  • Add svdvals for SparseMatrixCSC
  • RFC: use IOContext more consistently. part of #14052
  • unroll jl_typemap_intersection_node_visitor more
  • Improve `isprime` performance for 32-bit integers
  • Fixed incorrect variable name in `LibGit2.upstream`
  • disallow juxtaposition with literals ending in `.`
  • RFC: improve inlined line numbers, take 2
  • Better sizehint for primes
  • RFC: nextprime(::BigInt)
  • LibGit2 `credentials` callback overhaul
  • Improve work-around for LLVM SIMD bug
  • close #8269: grow arrays incrementally by factors of 1.5 rather than 2
  • Use mutating matrix multiplication in eigs (retake)
  • Look for fesetround in libm rather than the executable
  • RFC: experiments in diagonal constraints in jl_args_morespecific (ambiguity/method sorting)
  • Splitting of LAPACK routines into alloc/compute function pairs
  • Minor fixes to sparse setindex!
  • Fix convert(Array{Int}, ::Range{Int})
  • WIP: support for 0-indexed and arbitrary-indexed arrays
  • cleanup redundant docstring for nextprod
  • Given Flatten-iterator HasLength() in some cases
  • ppc64le abi
  • Fix compilation on LLVM39
  • [release-0.4] docstring for @inferred.
  • Keyword display improvements
  • Escape elementwise operators in :obj: links
  • Undeprecate {os}_only macros
  • GC clean up
  • Specialize nextind and prevind for String
  • Better duplicate docs warning
  • Add more resources in v0.4 getting-started.rst
  • Add more resources in latest getting-started.rst
  • Add wrappers for LAPACK pbtrf, pbtrs
  • RFC: Add convert methods from iterables to array/vector/matrix
  • Rewrite GC page metadata for sweeping fast path
  • The Tuples at the End of the Universe
  • Check for Vararg{T,N} in typemap: sig_match_by_type_simple
  • document array performance issue
  • 0.5-style comprehensions
  • WIP: Improve performance for depwarn
  • Avoid some unintended calls to generic_matmatmul! for special matrices
  • Faster reverse for tuples
  • Add logdet for Triangular types
  • WIP: remove UTF-16 and UTF-32 stuff
  • Clean up the pivot selection for QuickSort
  • WIP static dispatch for kwargs and structural fields
  • Create `@sub` macro for creating SubArrays via indexing.
  • Loosen \(QRX,StridedMatOrVec) to \(QRX,AbstractMatOrVec)
  • Move number-related files to numbers directory
  • Always display header when `show`/`print`ing empty sparse matrices
  • limit the scope of srand in tests
  • MIT-licensed SparseMatrixCSC permute[!] and refactored [c]transpose[!]
  • RFC: try to simplify information flow around inference
  • Added noteworthy differences from Common Lisp.
  • enable seeding of GLOBAL_RNG when running tests
  • implement copy and == for MersenneTwister (fix #15698)
  • MersenneTwister: implement generation of jump-ahead polynomials
  • Fix get(x::Nullable{Union{}}, y) and add tests for Nullable{Union{}}
  • Add LLVM patches to fix InstCombine loosing tbaa metadata
  • Array resizing fixes and clean up
  • Use memcmp to optimize == for one-dimensional integral vectors
  • Improvements to libgit2
  • deprecate 3-argument convert to String
  • RFC: ensure the array constructors are generally using leaftypes
  • statepoints instead of the shadow stack
  • digits!: check for typemax only when applicable
  • RFC/WIP: Allow for editing of global variables
  • ndigits: check for invalid bases (fix #16766)
  • RFC: specialized calling convention for pure functions that return a constant
  • Fix #16667 for deepcopy on BigFloat/BigInt causing segfaults
  • RFC: Introduce AbstractWorkerPool, CachingPool and a means of broadcasting variables
  • new approach to handling recursive type declarations
  • Implement custom memory manager for LLVM
  • WIP: Fix building of LLVM dll when using cmake on Windows
  • WIP/RFC: allow resize! to initialize new elements
  • Add \angle as a unary and binary operator
  • WIP: Support array type as input for functions returning AbstractArray instance
  • RFC: Concatenating iterator
  • improvements to A_mul_B! section of the manual
  • Make rational vs float comparisons inferrable
  • (Yet another) Optimization for TLS access
  • add docstrings to cwstring and transcode
  • BigFloat constructors with given precision and/or rounding mode
  • Fix OOB in debuginfo.
  • performance timing support code
  • some generally-applicable changes from #16622
  • fix callsite remotecall_fetch notification for deserialization errors
  • callsite union splitting
  • LibGit2: Respect the key default path on all platforms
  • Fix documentation for `base` (round2)
  • Clean up Complex Rational division.
  • add ppc64le vector abi with tests
  • Append newline to the end of dump methods
  • Propagate --compilecache flag in julia_cmd
  • Fixes 2 issues with the Cholesky update/downdate tests
  • Address space-preserving bitcast
  • Add alignment attribute to pointerset/pointerref
  • Function composition and negation, take 2
  • win: precompile=yes
  • Fix some arith dates tests
  • Sort versions without build after versions with build
  • [RFC] Tests and thread-safety for `stat.jl`
  • [WIP] Help wanted: switch Base.Test to use testsets everywhere
  • Add test for Issue #17153 and PR #17154
  • removes euler.jl
  • RFC: boolean ops on function, composition (f∘g)
  • RFC: change checked_add/sub/mul intrinsics to return overflow flag instead of error
  • move a variable declaration into a for loop
  • Refactor API for unconventionally-indexed arrays
  • RFC: Revise version number generation
  • Fix miscellaneous type instabilities
  • return file-polling errors to the caller instead of throwing th
  • Make `watch_file` return values consistent with docs
  • add size to Important optional methods
  • Fix dump(Any) test.
  • Add a patch to fix LLVM 3.8.1 when built with configure
  • reliable flush/close on streams, and avoid zombies
  • Naive fix for pretty-printing of compact broadcast expressions
  • Augment convert's documentation with a note on aliasing
  • bug grabbag
  • Make the FDE processing a little more robust
  • Revise convert methods for sparse matrices
  • treat .= as syntactic sugar for broadcast!
  • De-purify IteratorsMD.flatten
  • Improve consistency of similar methods operating on sparse matrices and flesh them out
  • WIP: WinAPI password prompts
  • feature freeze master
  • @static && || syntax
  • inner function signature using sparams
  • Pkg.free: correctly set target nullable object
  • WIP: lazy load the repl history
  • Avoid that cor(x,x) != 1...
  • Fix ssh-agent use by libgit2
  • Chop optional number of characters
  • Fix non-threading compilation
  • Extend description of allowed `@fastmath` transformations
  • Fast exp2(::Int) (fixs #17412)
  • typeassert syntax deprecations
  • Add complex random normals
  • Add test for function name being assigned in function
  • Define conj and conj! for for Symmetric and Hermitian.
  • RFC: Use LLVM_VERSION instead of LLVMxx
  • Added documentation for doctests
  • libuv bugfixes
  • Fix `@llvmcall` argument passing.
  • fix deserializer jl_recache_type to walk type parameter list completely
  • Add more backtrace tests
  • More indices generalizations
  • Deoptimize TLS access
  • More HelpDB pruning for Bit/SparseArray, more examples
  • fix #17785, process all keyword args left-to-right
  • Move math docs out of HelpDB, more examples, fix typos
  • Source build of curl to enable proxy support for Pkg
  • Improve fft documentation
  • WIP: Optimize exception frames allocation
  • Improve `fld` documentation
  • Install only headers required by julia.h
  • Make exit_on_sigint work again
  • Add complex random normals.
  • Deprecate convert(::Type{<:AbstractTriangular}, A::(Diagonal|Bidiagonal)) methods
  • Improve performance annotation docs
  • RFC: change default max channel size to typemax(Int)
  • Fix #17675 (concatenation involving special matrices) and #17738 (concatenations involving sparse vectors)
  • Added minimal code example to Channels, fix #14312
  • Use versioned directories for code bundled with Julia
  • added example of array type conversion
  • Remove `full` from `similar(full(X), T, dims)` calls in generic concatenation methods
  • fix #13529, slowdown with large number of async `sleep` calls
  • Deprecate 1 argument write. fix #17612
  • Increase MEMDEBUG allocation threshold for #14173 test
  • add isimmutabletype
  • Add do-block support for redirect_std[out,err]
  • Do codegen in control flow order
  • WIP: Add command line option --polly={yes|no}
  • echo -> printf
  • [release-0.5] backports for 0.5.0-rc3
  • Djcb/bugfix 16706
  • Djcb/bugfix 16997
  • Moved addition of binary extras from binary-dist to install.
  • wip: cache compile dep tracking
  • Fix chol for Symmetric(A, :L).
  • provide Base.crc32c checksum and use it in checking cache staleness
  • turn codegen into a C++ class
  • disable llvm optimizations in JIT when generating output
  • RFC: add manual section on method design and more advanced ambiguity resolution
  • In cgmemmgr, allow writing permissions on the read page for the debugger
  • Add 'isassigned' for RefValue
  • WIP: Simplify bounds checks for multi-dimensional array accesses
  • `print(::Float32)` should use `e` instead of Julia specific `f`
  • Airy function cleanup
  • fall back to dynamic dispatch in union-splitting optimization
  • Profile: add mincount to printout
  • Moved so many docs out of HelpDB. More examples.
  • Add method to contains for regex needle
  • RFC: Move i686 CI testing from Travis to CircleCI
  • Custom parser for dates.
  • Add test for PR #17949
  • Added specialized mapslices methods
  • Provide a better error for `similar` methods with Dict
  • Do not swallow UndefVarError in alloc_elim_pass!
  • hook up runtime intrinsics
  • More doctests
  • Add @__DIR__ and document use in pkgs. Fix #12120
  • WIP: upgrade various deps
  • Check for actual paths instead of path strings in precompilation
  • Remove unnecessary/deprecated promote_rule & promote_op from conversion and promotion man
  • fix an inverted return conditional from stale_cachefile
  • cumsum fixes (fixes #18363 and #18336)
  • Deprecate isdefined for Arrays
  • Add accuracy note for 2-arg log
  • Make `chop` and `chomp` return `SubString`
  • Julep: external language implementations
  • more accurate and faster lgamma, and use a more standard branch cut
  • Fast versions of isequal() and isless() for Nullables
  • For running tests, use up to 32 cores if available instead of 8.
  • add hardware-accelerated Base.crc32c checksum
  • Repair the build of the embedding example.
  • Added PkgError throw to Pkg.status() in entry.jl with simple test.
  • RFC: add cache for Pkg.Read.available
  • Move Float16 functions away from float16.jl to places where other flo…
  • RFC: make `issorted` work with non-strict orders
  • Unrevert #18259
  • added n-loops and tuple argument ability to @threads
  • [release-0.5] Backports for 0.5.0-rc4
  • Fix #18002: parse `typealias` args space-sensitive
  • Clean up redirect_* APIs after Pipe -> PipeEndpoint rename
  • Warn if imported packages are updated. Fix #18239
  • print full path to history file on parse error
  • [release 0.4] cache compile dep tracking
  • added isapprox method for UniformScaling and tests
  • [release-0.5] fix type stability of unrelated function after precompile
  • RFC: Implement at-static for nested conditionals
  • Bump LLVM version to 3.9
  • fix docs typo
  • WIP: Deprecate undefined == comparisons
  • Use === instead of == where appropriate
  • Replace all full(X) calls with convert(Array, X) and migrate tests
  • NEWS for chop and chomp change
  • Doctests examples for Linear Algebra library as suggested in #18799
  • Sparse test sets
  • add `IterTools` module
  • Channel constructor requires an explicit size. Also implements 0-sized channels
  • Non-32-bit enums / "Typed" enums
  • add `lexproduct`, lexicographic-order product iterator
  • Check freshness of doc/stdlib on Travis
  • Add test sets to tests
  • [release-0.5] Backports for threading support on Power
  • Fix cbrt(Float16(-1)) throwing DomainError
  • Do more constant propagation at type inference time
  • remove explanation for UNDOCUMENTED.rst
  • Make LinSpace generic
  • Allow x[] for get(x::Nullable)
  • Enable unwinding on ARM
  • WIP: Nullable lifting infrastructure
  • eliminate intrinsics
  • WIP: Fix skipchars inexact error/hanging (#16892)
  • Implement rounding in length(::StepRange)
  • [WIP/RFC] Basic support for builtins from compiler-rt
  • Avoid boxing variables that may be used undef
  • logdet method for BunchKaufman
  • fix incremental requires
  • prevent creation of Box for simple let-block variables
  • Add more tests for converting to Array and some other things
  • Rename internal reduced_dims->reduced_indices to reflect new output type
  • [release-0.5] Backport #19015
  • Force inlining on getindex and to_indexes (fixes #18774)
  • add PR number to a few news entries
  • Simplify takebuf() API
  • avoid DomainError in @time
  • using and import only load on current process
  • Better error message when URL is wrong
  • Fix docstrings in nullable.jl
  • Simplify nz2nz_z2z-class sparse unary broadcast (and fix #18974)
  • Reattach filter's docstring
  • RFC: Split multi.jl into multiple files. Wrap parallel into its own module.
  • [release-0.5] Remove setting of osx_image on Travis
  • RFC/WIP: CodegenParams for external language implementations
  • fetch is a noop when on the same worker
  • clarify length-1 tuple syntax in manual
  • 1024 bytes should be 1 KB
  • Implement more operators on Nullable with lifting semantics
  • Show deprecation warning module when lineinfo n/a
  • First PR! added reltol and abstol to rank(A) in linalg/generic.jl
  • frexp improvements
  • Deprecate `$` as bitwise xor, replace by xor(), as discussed in #18696
  • Update error message and tests for more permissive any/all with non-boolean collections
  • Fixes #15405
  • Make Ref behave as a 0-dimensional array in broadcast
  • Move error.jl docs inline; add example to catch_backtrace()
  • deprecate Dates.recur in favour of filter
  • Fix index_shape for Colon indexing when we've exhausted parent indices
  • [release-0.5] don't haphazardly delete entries from the specializations cache
  • Fix /(::Real,::Complex)
  • Include `EDITOR` env var in `edit` docs
  • Inference-based promote_op is not pure (fix #19270)
  • More LLVM cmake flags
  • Explicit canonicalization of `CompoundPeriod`s
  • Use LLVM 3.9.0 on ARM by default
  • Fix use of default worker pool on workers.
  • Faster view creation
  • RFC: add raw_str macro for raw strings with no interpolation/unescaping
  • [release-0.5] avoid race condition in win32 poll
  • Rename num/den to numerator/denominator
  • Fix \ and .'\ for Symmetric and Hermitian sparse matrices.
  • WIP: more generic broadcast over a single sparse matrix
  • Julia command line version updated
  • Define copy!, setindex!, and arithmetic for Symmetric and Hermitian
  • Refactor reduce.jl tests to use testset macro and add more tests for better coverage
  • day of week cleanup
  • Fix `bin`, `oct`, `dec` and `hex` when padding negative `BigInt`s
  • WIP: straw man type rename PR
  • Convert code blocks in manual/variables-and-scoping.rst to doctests.
  • Rename files to corresponding modulename
  • replace calls to libuv stop with faster deferred operations
  • WIP: time cleanup
  • Add Windows patches for LLVM 3.9
  • WIP: upgrade mbedtls to 2.4
  • Have command line argument to set region_pg_cnt
  • Add lockless fast path to `run_finalizers`
  • remove stale docstring Dates.recur
  • WIP/RFH: possible simple approach to faster `String` allocation
  • Fix completion on custom (non-Dict) Associatives
  • RFC/WIP: Implement asyncmap/pmap over `map`
  • Fix and improve cmp() on AbstractString
  • Use llvm-config to find shared library on LLVM 3.8+
  • map/map! for sparse matrices
  • Support partially copied stack in the GC
  • Add detail to installed(pkg) doc
  • DOC: @everywhere and adding processors
  • Add test coverage for SubArray to linalg/dense.jl
  • Add test for issue #18974
  • Add doctest example for fill!
  • Fix return type in broadcast when there are Type arguments
  • Fix compilation of src/ with MSVC
  • Update docstrings and add doctests for task-related functions
  • Move mmap docstrings inline
  • Type-stabilizing array concatenations
  • Update the Travis macOS image from xcode7 to xcode7.3
  • Fix, clean up, and generify broadcast[!] over pairs of sparse matrices
  • Add `lt` and `by` as keyword args to median (Resolves #19190)
  • RFC: Use super script T as tranpose operator instead of .'
  • IDEA: patch LLVM to make 'code_llvm_ display source location information
  • make REPL sticky by default
  • add more keyword args to retry
  • Add `http_parser` library dependency
  • Fix mapreduce_impl() for 1-element range
  • RFC: deprecate hard/soft scope distinction
  • Enable LLVM NVPTX back-end
  • pmap docstring update, hook exception input changes.
  • Minor cleanups, style tweaks
  • [release 0.5] Fix build with LLVM 3.9.1
  • Explicitly list types in iszero test
  • Fix compilation on LLVM svn
  • Backport LLVM patches to fix X86 partial register stall
  • updates to the ModInt example
  • uv_free_interface_addresses is not needed if uv_interface_addresses returns an error
  • extend sparse broadcast to one- and two-dimensional Arrays, better version
  • minimal hook into loading necessary for Pkg3
  • issue-pr: extend sparse broadcast[!] to one- and two-dimensional Arrays
  • Add a few new reflection methods (after type system merge)
  • Make InexactError more informative
  • Don't show built-in modules in whos()
  • tbd: deprecate array-reducing isreal
  • support display of arbitrary textual MIME types in REPL
  • fix and then specialize sparse broadcast!(f, C, A), strengthen tests
  • Re-add support for fish shell
  • WIP: Remove vestigial srand
  • Manual - note on calling conventions on Win64
  • removed `writeall` reference from manual docs
  • Trial run of adding newbase back
  • remove `subtypes` search for concrete types
  • Use standard Julia mechanisms for LibGit2 StrArrayStruct and Buffer types.
  • remove some links to Nullable and methods
  • Show + isbinary method for GitBlob, and a doc link
  • Simplify scalar indexing and prepare for #14770
  • Add show methods for remotes and tags
  • Convert test/mpfr.jl to use testsets
  • nextfloat(x), prevfloat(x), eps(x) respect precision of BigFloat
  • [release-0.5] Backport #19022
  • Add example for checkout
  • Add example for authors
  • Install `libLTO*.so` alongside `libLLVM*.so` when running `make install`
  • Do not hard code temp file path in the test.
  • Word wrap docstrings at 92-characters
  • Use A'A instead of [0 A;A' 0] in svds.
  • fix serialization of multiple global bindings to the same object in a closure
  • RFC: Switch to dash for list default in docstrings
  • Make ntuple(f, n) and ntuple(f, Val{n}) throw DomainError when n < 0
  • Load module on remote workers from master (v2)
  • [release-0.6] backports for 0.6.0-rc1
  • WIP: base/digits: allow negative bases
  • inference abstract-iteration bug
  • Set RPATH for private libdirs on FreeBSD
  • [release-0.5] backports for 0.5.2
  • [WIP] I heard you like inferring types but don't like global state...
  • WIP: don't use single quotes in displaying Cmd objects on Windows
  • use TypeArithmetic trait in cumsum! implementation
  • Macroexpand1
  • group ccall'ed MPZ library functions in a module
  • Make structure of Cmd more obvious in printing
  • Improve docstrings for norm, vecnorm, normalize and normalize!
  • WIP: Introduce Overflow Checking for ^(::Integer, ::Integer)
  • Fix type instability when using custom indices
  • RFC: sort eigenvalues in a canonical order
  • Unify some methods for cholesky factorizations
  • Implement GC mark loop
  • Use `sincos` from libm in `cis`
  • WIP: Use isbindingresolved when checking imported packages
  • Generate instead of hard coding factorial tables
  • Disable loading .juliarc.jl for Pkg.build and Pkg.test
  • Assign PROGRAM_FILE earlier
  • Undeprecate real and imag for sparse matrices
  • RFC: allow operator suffixes — combining characters and primes
  • Deprecate hex2num and num2hex
  • fix check for level < 1 in Markdown header
  • Inline some shift operators
  • add test for #19805, cfunction segfault
  • doc: remove changing "Stacktrace" in errors by [...]
  • Fix bash on windows build and add instructions
  • no paragraph tags when list is tight
  • special show for AbstractVector{Method} for ::MIMEtext/plain
  • Document number types
  • replace current_module() with @__MODULE__
  • WIP: add Base.isfusing function to allow containers to disable fusion
  • Refactor `LibGit2.set_remote_url`
  • fix scope rules: implicitly using a global doesn't add it to the scope
  • add AbstractArray to stdlib
  • windows readme: add automation tips
  • WIP: Deploy docs with clean URLs
  • mach: use signal kqueue instead of sigwait
  • check overflow in hex2num (fix #22031)
  • [WIP/RFC] Exact array resize!()
  • USE_POLLY_ACC : Remove dependency on CUDA headerfiles and link libjulia to libGPURuntime
  • reverse traversal of row entries if step(I) < 0
  • make flipsign(typemin(T), -1) == typemin(T) consistently
  • Fix Period objects hashing to match ==
  • Add `squeeze(A)` method to squeeze all singleton dimensions
  • Use testsets in symmetric.jl
  • readuntil bugfix
  • refactor Base._start to be more modular
  • Make mean() fallback method use the same type as sum() for accumulation
  • Export lowrankX(!) functions from LinearAlgebra
  • `replace` - collection of chars. fix #25741
  • move Markdown to stdlib
  • WIP: Use Stateful in String code
  • replace for strings with multiple patterns
  • RFC: Add `Stateful` iterator wrapper
  • Change fieldnames() and propertynames() to return a tuple rather than an array
  • Remove LinearAlgebra things from the base manual
  • Improve error message from root_module
  • Keywords for string, deprecate bin, oct, dec, hex, base
  • Bootstrap Pkg3 and add it to stdlib
  • Document what the cache in readuntil is for. NFC.
  • Move LibGit2 to stdlib
  • move Pkg to stdlib
  • RFC: Calculations producing invalid rationals throw `ArgumentError`
  • show module or binding name when using deprecated using syntax
  • WIP/RFC: replace the API of replace
  • chown keywords
  • RFC: make Symmetric/Hermitian recursive
  • Add late union splitting for builtins
  • RFC: change signatures that help is showing [ci skip]
  • WIP: Change indexin sentinel to `nothing`
  • WIP: turn on specialization spoofing mechanism in the compiler
  • add a single apt-get command for linux
  • Add reduce_empty definitions for bitwise ops on integers (&, | and xor)
  • Improve documentation of parsing of triple quotes
  • Add `compiler` as a test group
  • testsetify a little more
  • codegen restructuring
  • Documentation - Change complete_me (inner constructor helper function) to complete_me!
  • rationalize some of the latex-ish tab completions
  • Fix broken link in CONTRIBUTING.MD
  • Deprecate DevNull to DEVNULL
  • rename `colon` to `:`, make other syntax call Base functions
  • Add Julia port of cbrt from Openlibm.
  • move Sockets out of Base
  • WIP: optimization fixes / improvements, from #25818
  • fix compilation world-age assertion
  • Use promote_typejoin for Tuple and NamedTuple promotion
  • Avoid creating a closure for each log message
  • move Iterators module out of Base
  • Add notes for package maintainers
  • exclude more CI files from source distro
  • [WIP] Julia port of Openlibm expm1.
  • Move docstrings to Unicode stdlib module
  • Rename linspace and logspace to linrange and logrange
  • More thorough aliasing detection in nonscalar copy, broadcast and assignment
  • Two tests for showing errors
  • Improve inference of `collect` with unstable eltype
  • Two improvements to replace()
  • correct String(array) docs
  • Customizable broadcasting: Speculative patch: transform TupleLL to Tuple
  • WIP/RFH: Make dims a keyword argument to reducing functions
  • don't print a space in Union printing
  • Add ArrayHashingStyle trait for O(1) range hashing and use it only for Numbers
  • Add replace for TimeTypes
  • union-splitting optimizations
  • sizehint! now supports shrinking arrays #2879
  • use empirically found threshold to speed up issubset by creating Set …
  • precompile: skip small functions
  • documented function return type declaration #25718
  • Deprecate `assert` function.
  • reduce the number of precompile statements
  • fixes #24330 : documentation explain that isless is lexicographic
  • Ensure that all isequal methods return Bool to fix inference
  • Fix findall() on sparse matrices when some stored entries are false
  • remove mention of JuliaDT in README
  • WIP: save each command only once in REPL history
  • RFC: Allow inference of recursion on a decreasing integer type parameter
  • Fix broken links to functions in the manual
  • WIP: Makes Pkg.test throw error when no tests/testsets are found
  • Implement broadcasting for `AbstractDict` and `NamedTuple`
  • RFC: fix #26137, change parsing of unary ops on parenthesized expressions
  • Remove the examples/ folder
  • Strided array doc: Remove reference to getindex
  • Search and find* deprecations fixes and improvements
  • `retry` should support the check function proposed in the docstring
  • WIP/RFC: Separate AbstractString interface from iteration protocol
  • deprecate `spawn(cmd)` to `run(cmd, wait=false)`
  • ensure promotion rules don't alter eltype values
  • add membership test methods to tuples
  • Always resize input to zero length in String(::Vector{UInt8})
  • Propage inbounds through `broadcast!`
  • make `.=` return its right hand side. fixes #25954
  • Deprecate showcompact()
  • Very WIP: New optimizer
  • Correct pointer(::AbstractArray, i) to use strides, deprecate elsize(::AbstractArray)
  • WIP: [NewOptimizer] Get to feature parity
  • prevent fill! from inlining
  • [WIP] Bump LLVM version to 6.0.0
  • Fix Matrix(QRSparseQ) constructor
  • Fix size of R in sparse QR
  • LibGit2: allow using a void ptr for payload and add git_transfer_progress struct
  • Switch Float16 LLVM representation from `i16` to `half`
  • RFC: rename `trace` to `tr`
  • Change Type{Ref{T}} to Type{<:Ref{T}}
  • RFC: deprecate degree-based trig functions
  • Fix build from source on alpine linux
  • WIP: Deprecate implicit scalar broadcasting in setindex!
  • Make LU factorization work for more types
  • filewatching: "watch_folder"
  • set GLIBCXX_USE_C99 for g++ to avoit std::to_string failures
  • Support sparse broadcast with transposes and adjoints
  • cfunction: improve error handling
  • [NewOptimizer] Add back getfield elim pass
  • remove type parameter from AbstractTriangular
  • Add isfound and deprecate contains and callable regexes
  • RFC: Logging: enable configuration via ENV
  • string doc clarifications
  • Inbounds tuple iteration and reduction
  • fix REPL completions of packages in project
  • Optimize dataids(::AbstractArray)
  • RFC: Deprecate defaulting to scalar in broadcast
  • Rework replace and replace!
julia questions on Stackoverflow (View All Questions)
  • Julia: using CurveFit package non linear
  • How to Consume a WebService using Julia Language
  • overloading subarray operator in julia
  • Is there any way to install Julia-lang version 0.4.2 on OSX?
  • Julia read last column in data frame index by previous column
  • Julia NetCDF returns ondly Uint8
  • readcsv in Julia without end of line marker
  • Parallel text processing in julia
  • Matlab to Julia Optimization: Function in JuMP @SetNLObjective
  • R's table function in Julia (for DataFrames)
  • julia type dependend function behaviour
  • Debug tips about wrapping C code with Julia
  • Overload object comparison when adding to a set in Julia?
  • reading csv in Julia is slow compared to Python
  • Chi-Square Table Function in Julia
  • Julia: Plot matrix with Gadfly.jl
  • Is Julia dynamically typed?
  • julia: OOP or not
  • Import a R script (from current working directory) into Julia using @rimport
  • Julia: Converting PyObject to an Array
  • How do I zoom on cursor position in mandelbrot or julia set?
  • Immutable type with function fields in Julia
  • Julia/LLVM Efficient Division of Integer Numbers with Integer Result
  • convert MATLAB optimise function to julia
  • Can you parallelise inexact Jacobian calculation in Julia without special arrays?
  • Julia DataFrame columns starting with number?
  • Julia DataFrame multiple values filtering
  • Using Dot Syntax in Julia
  • Plot sphere with Julia and PyPlot
  • On bash script, julia issue?
Other projects in Julia