Skip to content

Commit 8e191ae

Browse files
author
jared
committed
PR feedback:
- Fixed typos - Changed wording from "we know" to the tone of "we observe" - Added Aiken version
1 parent c2f1498 commit 8e191ae

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

docs/aiken-integration.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,13 @@ and proposes alternative Milestone 4 outputs to better foster adoption of Lambda
1010

1111
This section describes limitations with Aiken.
1212

13+
All testing / observations with Aiken were done with the following version.
14+
15+
```bash
16+
$ aiken --version
17+
aiken v1.0.28-alpha+c9a1519
18+
```
19+
1320
### Aiken has no type class support
1421

1522
A key feature of LambdaBuffers is to provide both types and type class instances.
@@ -172,9 +179,9 @@ would be translated to
172179
173180
i.e., records are lists of all record components[^recordsSpecialCases].
174181
175-
[^recordsSpecialCases]: Singleton records are encoded as just the single element.
182+
[^recordsSpecialCases]: There are some special cases for the encoding in LambdaBuffers. For example, singleton records are encoded as just the single element.
176183
177-
If LambdaBuffers compiled `MyRecord` to a [record in Aiken](https://aiken-lang.org/language-tour/custom-types) as follows
184+
If LambdaBuffers compiled `MyRecord` to a [record in Aiken](https://aiken-lang.org/language-tour/custom-types) as follows.
178185
179186
```rust
180187
type MyRecord {
@@ -183,7 +190,7 @@ type MyRecord {
183190
}
184191
```
185192
186-
we know that Aiken will internally represent this as the following `Data` type
193+
Then, one can observe that Aiken will internally represent this as the following `Data` type
187194
188195
```purescript
189196
Constr 0 [a, b]
@@ -476,8 +483,9 @@ $ aiken build
476483
where the error message makes it clear that it only expects the source of dependencies to be from either GitHub, GitLab, or BitBucket.
477484
478485
As such, it's unclear how to augment the local set of packages with a LambdaBuffers package, as the Nix tools would provide a local package.
479-
Indeed, it's most likely possible to trick Aiken into thinking that a LambdaBuffers package is already installed,
486+
Indeed, it's possible to trick Aiken into thinking that a LambdaBuffers package is already installed by preparing Aiken's build directory with the dependencies already included,
480487
but this delves into implementation specific details of Aiken that may break between releases.
488+
An example of this technique is [here](https://github.com/mlabs-haskell/uplc-benchmark/blob/master/nix/aiken/lib.nix#L83).
481489
482490
## Alternative milestone 4 outputs
483491

0 commit comments

Comments
 (0)