aboutsummaryrefslogtreecommitdiff
path: root/documentation/book/the_lux_programming_language/chapter_2.md
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/book/the_lux_programming_language/chapter_2.md')
-rw-r--r--documentation/book/the_lux_programming_language/chapter_2.md8
1 files changed, 4 insertions, 4 deletions
diff --git a/documentation/book/the_lux_programming_language/chapter_2.md b/documentation/book/the_lux_programming_language/chapter_2.md
index c4f566736..ed1a5620f 100644
--- a/documentation/book/the_lux_programming_language/chapter_2.md
+++ b/documentation/book/the_lux_programming_language/chapter_2.md
@@ -80,7 +80,7 @@ Directives looks similar to expressions, except that their purpose is not to pro
This is a bit of a fuzzy line, since some things which also communicate stuff to the compiler are actually expressions (for example, type annotations, which we'll see in next chapter).
-Examples of directives are `.using` declarations at the top of modules, and definitions of all kinds (such as program definitions).
+Examples of directives are `.require` declarations at the top of modules, and definitions of all kinds (such as program definitions).
## Programs
@@ -112,7 +112,7 @@ In the previous chapter we compiled and ran a Lux program, but nothing has been
```clojure
... This will be our program's main module.
-(.using
+(.require
[library
[lux "*"
[program {"+" program:}]
@@ -124,13 +124,13 @@ In the previous chapter we compiled and ran a Lux program, but nothing has been
(io.io (debug.log! "Hello, world!")))
```
-The first part of this program specifies which dependencies we're `using`.
+The first part of this program specifies which dependencies we `require`.
All Lux modules automatically import the `library/lux` module, but they don't locally import every single definition, so everything would have to be accessed by using the `library/lux.` prefix or the `.` (short-cut) prefix.
To avoid that, we import the `library/lux` module in a plain way.
- By the way, what I just explained about the `library/lux` module is the reason why we couldn't just use the `.using` macro as `using`.
+ By the way, what I just explained about the `library/lux` module is the reason why we couldn't just use the `.require` macro as `require`.
Then we import the `library/lux/control/io` module. We're giving this module an alias, using that `"[0]"` syntax. The way aliasing works here is that it replaces the `[0]` with the short name of the import, and so `[0]` becomes `io`, and that is the alias given to the import. The same process happens when we import the `library/lux/debug` module. This might seems weird and sort of useless, but the aliasing syntax has some more features and flexibility, enabling you to have your own naming convention when importing modules.