You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _overviews/scala3-macros/tutorial/index.md
+10-5Lines changed: 10 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -15,19 +15,24 @@ The metaprogramming API of Scala 3 is designed in layers to gradually
15
15
support different levels of use-cases. Each successive layer exposes additional
16
16
abstractions and offers more fine-grained control.
17
17
18
-
- As a starting point, the new [`inline` feature](inline) allows some abstractions (values and methods) to be marked as statically reducible.
18
+
- As a starting point, the new [`inline` feature][inline] allows some abstractions (values and methods) to be marked as statically reducible.
19
19
It provides the entry point for macros and other metaprogramming utilities.
20
20
21
-
-[Compile-time operations](compiletime) offer additional metaprogramming utilities that can be used within `inline` methods (for example to improve error reporting), without having to define a macro.
21
+
-[Compile-time operations][compiletime] offer additional metaprogramming utilities that can be used within `inline` methods (for example to improve error reporting), without having to define a macro.
22
22
23
-
- Starting from `inline`-methods, [macros](macros) are programs that explicitly operate on programs.
23
+
- Starting from `inline`-methods, [macros][macros] are programs that explicitly operate on programs.
24
24
25
-
- Macros can be defined in terms of a _high-level_ API of [quoted expressions](quotes), that admits simple construction and deconstruction of programs expressions.
25
+
- Macros can be defined in terms of a _high-level_ API of [quoted expressions][quotes], that admits simple construction and deconstruction of programs expressions.
26
26
27
-
- Macros can also be defined in terms of a more _low-level_ API of [TASTy Reflection](tasty-reflection), that allows detailed inspection of programs.
27
+
- Macros can also be defined in terms of a more _low-level_ API of [TASTy Reflection][tasty], that allows detailed inspection of programs.
28
28
29
29
> The tutorial uses the API of Scala 3.0.0-M3. The API had many small changes in this revision.
30
30
31
31
> 🚧 We are still in the process of writing the tutorial. You can [help us improve it][contributing] 🚧
32
32
33
33
[contributing]: {% link scala3/contribute-to-docs.md %}
34
+
[compiletime]: {% link _overviews/scala3-macros/tutorial/compiletime.md %}
35
+
[inline]: {% link _overviews/scala3-macros/tutorial/inline.md %}
36
+
[macros]: {% link _overviews/scala3-macros/tutorial/macros.md %}
37
+
[quotes]: {% link _overviews/scala3-macros/tutorial/quotes.md %}
38
+
[tasty]: {% link _overviews/scala3-macros/tutorial/reflection.md %}
0 commit comments