-
Book Overview & Buying
-
Table Of Contents
Mastering Julia
By :
Julia has been designed to tackle problems arising in science and statistics. It follows the route of traditional imperative languages. It is not a functional language, such as Haskell, OCaml, and Clojure, but since it incorporates a Scheme interpreter, it is possible to create runtime macros rather than the preprocessor style ones found in C/C++.
Macros are useful in efficiently generating boilerplate code, and we have already made use of the @printf macro, which emulates the C-style printf() function.
If a true functional approach is required, the reader is directed to the Lazy.jl package, which implements lazily evaluated lists plus a library of functions to use them and many well-designed macros. So, to get a grasp of Julia metaprogramming, you could do no better than looking at the source code in the Lazy package.
To generate macros, a language needs to have the property of homoiconicity. This means that the primary representation of program code is also a data structure...
Change the font size
Change margin width
Change background colour