I would suggest to read src/README.md and the Devdocs (
http://docs.julialang.org/en/latest/devdocs/julia/) for an overview of the
organization of the codebase.


> What is not implemented in julia?
> What language is it implemented in? (I think that arrays come from c,
> right?)


- frontend (parsing and lowering): small Scheme variant called flisp, also
written by Jeff Bezanson
- runtime (primitives, allocation, GC): C
- code generation: C++
- various libraries are written in C, Fortran, etc. (PCRE, BLAS, GMP,
libgit2, ...)

Why is it implemented in that particular language?


- C: because is the lowest-common-denominator for system implementations.
- C++: because it is the most straight-forward way to interface with LLVM.
- Scheme: because Julia is a Trojan Horse to finally make the world use
Lisp. because it keeps the pesky peasants out. because it's a great
compiler language and allowed fast implementation and iteration. There is
some interest in moving the front end to pure Julia, and the parser has
been ported already (JuliaParser.jl) -- that's about ~1/3 of the job.
Porting the lowering and sorting out bootstrapping is a fair amount of
effort and would likely need to be done by people who could be making more
user-relevant improvements elsewhere. So far, doing so hasn't been a
priority.


On Tue, May 24, 2016 at 10:24 AM, Ford Ox <fordfo...@gmail.com> wrote:

> Docs state that most of the julia language is implemented in julia itself.
> What is not implemented in julia?
> What language is it implemented in? (I think that arrays come from c,
> right?)
> Why is it implemented in that particular language?
>
>

Reply via email to