aboutsummaryrefslogtreecommitdiff
path: root/doc/README.md
blob: d65b2f4f0b9456ec298f223fe548adbf0074561f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/doc/index.html).*

# BQN documentation

BQN's documentation describes what features it has, how to use them (with examples), and why they were chosen. For a linear introduction to the language, see the [tutorials](../tutorial/README.md). While the core language [specification](../spec/README.md) is complete, the documentation still has minor gaps.

Overview:
- [Syntax](syntax.md)
- [Types](types.md)
- [Primitives](primitive.md)
- [Paradigms](paradigms.md)

References:
- [Glossary](glossary.md)
- [BQN-Dyalog dictionary](fromDyalog.md)
- [BQN-J dictionary](fromJ.md)

Concepts:
- [Context-free grammar](context.md)
- [Expression syntax](expression.md)
- [Arrays](array.md)
- [Based array theory](based.md)
- [Array notation and display](arrayrepr.md)
- [Array indices](indices.md)
- [Fill elements](fill.md)
- [The leading axis model](leading.md)
- [Function trains](train.md)
- [Blocks](block.md) (including function and modifier definition)
- [Lexical scoping](lexical.md)
- [Functional programming](functional.md)
- [Control flow](control.md)
- [Namespaces](namespace.md)
- [Object-oriented programming](oop.md)

Primitives:
- [Arithmetic](arithmetic.md) (`+-×÷⋆√⌊⌈|≤<>≥=≠`)
- [Array depth](depth.md) (`≡` and `⚇`)
- [Array dimensions](shape.md) (`≢=≠`)
- [Assert](assert.md) (`!`)
- [Deshape and Reshape](reshape.md) (`⥊`)
- [Enclose](enclose.md) (`<`)
- [Find](find.md) (`⍷`)
- [Fold and Insert](fold.md) (`´˝`)
- [Group](group.md) (`⊔`)
- [Identity functions](identity.md) (`⊢⊣`)
- [Indices and Replicate](replicate.md) (`/`)
- [Join and Join To](join.md) (`∾`)
- [Logical functions](logic.md) (`∧∨¬`)
- [Match](match.md) (`≡≢`)
- [Mapping](map.md) (`¨⌜`)
- [Ordering functions](order.md) (`∧∨⍋⍒`)
- [Pick](pick.md) (`⊑`)
- [Prefixes and Suffixes](prefixes.md) (`↑↓`)
- [Range](range.md) (`↕`)
- [Repeat](repeat.md) (`⍟`)
- [Reverse and Rotate](reverse.md) (`⌽`)
- [Scan](scan.md) (`` ` ``)
- [Search functions](search.md) (`⊐⊒∊`)
- [Select](select.md) (`⊏`)
- [Self-search functions](selfcmp.md) (`⊐⊒∊⍷`)
- [Shift functions](shift.md) (`»«`)
- [Solo, Couple, and Merge](couple.md) (`≍>`)
- [Take and Drop](take.md) (`↑`)
- [Transpose](transpose.md) (`⍉`)
- [Undo](undo.md) (`⁼`)
- [Windows](windows.md) (`↕`)

Environment:
- [Embedded BQN](embed.md)