@@ -146,11 +146,10 @@ must be built per-project, versus external packages, which can be cached
146
146
across projects. To be more precise:
147
147
148
148
1. A **local package ** is one that is listed explicitly in the
149
- ``packages ``, ``optional-packages `` or ``extra-packages `` field of a
150
- project. Usually, these refer to packages whose source code lives
151
- directly in a folder in your project. But you can list an
152
- arbitrary Hackage package in :cfg-field: `packages `
153
- to force it to be treated as local.
149
+ ``packages ``, ``optional-packages `` or ``extra-packages `` fields of a
150
+ project. Packages in the former two fields will usually have their
151
+ source code stored in a folder in your project, while ``extra-packages `` lists
152
+ packages residing on Hackage that are treated as being local anyway.
154
153
155
154
Local packages, as well as the external packages (below) which depend on
156
155
them, are built **inplace **, meaning that they are always built
@@ -159,8 +158,8 @@ packages are not cached and not given unique hashes, which makes them
159
158
suitable for packages which you want to edit and recompile.
160
159
161
160
2. An **external package ** is any package which is not listed in the
162
- ``packages `` field. The source code for external packages is usually
163
- retrieved from Hackage.
161
+ ``packages ``, `` optional-packages `` and `` extra- packages`` fields.
162
+ The source code for external packages is usually retrieved from Hackage.
164
163
165
164
When an external package does not depend on an inplace package, it can
166
165
be built and installed to a **global ** store, which can be shared across
0 commit comments