1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-28 17:51:15 +02:00

<simplesect> -> <section>

Pandoc silently ignores <simplesect>...
This commit is contained in:
Eelco Dolstra 2020-07-23 14:20:54 +02:00
parent 136fd55bb2
commit ee05108472
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
7 changed files with 82 additions and 54 deletions

View file

@ -1,5 +1,7 @@
# Language Constructs
## Recursive sets
Recursive sets are just normal sets, but the attributes can refer to
each other. For example,
@ -24,6 +26,8 @@ example,
does not terminate\[1\].
## Let-expressions
A let-expression allows you to define local variables for an expression.
For instance,
@ -34,6 +38,8 @@ For instance,
evaluates to `"foobar"`.
## Inheriting attributes
When defining a set or in a let-expression it is often convenient to
copy variables from the surrounding lexical scope (e.g., when you want
to propagate attributes). This can be shortened using the `inherit`
@ -95,6 +101,8 @@ is equivalent to
when used while defining local variables in a let-expression or while
defining a set.
## Functions
Functions have the following form:
pattern: body
@ -187,6 +195,8 @@ you can bind them to an attribute, e.g.,
let concat = { x, y }: x + y;
in concat { x = "foo"; y = "bar"; }
## Conditionals
Conditionals look like this:
if e1 then e2 else e3
@ -194,6 +204,8 @@ Conditionals look like this:
where e1 is an expression that should evaluate to a Boolean value
(`true` or `false`).
## Assertions
Assertions are generally used to check that certain requirements on or
between features and dependencies hold. They look like this:
@ -257,6 +269,8 @@ The points of interest are:
non-`null` value was passed. This prevents an unnecessary rebuild of
Subversion if OpenSSL changes.
## With-expressions
A *with-expression*,
with e1; e2
@ -285,6 +299,8 @@ establishes the same scope as
let a = 1; in let a = 2; in let a = 3; in let a = 4; in ...
## Comments
Comments can be single-line, started with a `#` character, or
inline/multi-line, enclosed within `/*
... */`.

View file

@ -1,5 +1,7 @@
# Values
## Simple Values
Nix has the following basic data types:
- *Strings* can be written in three ways.
@ -127,6 +129,8 @@ Nix has the following basic data types:
- The null value, denoted as `null`.
## Lists
Lists are formed by enclosing a whitespace-separated list of values
between square brackets. For example,
@ -143,6 +147,8 @@ function and the fifth being a set.
Note that lists are only lazy in values, and they are strict in length.
## Sets
Sets are really the core of the language, since ultimately the Nix
language is all about creating derivations, which are really just sets
of attributes to be passed to build scripts.