## Before
```
× Checking
╰─▶ Unknown variable
Finite
╭─[../stdlib/validators/tmp.ak:10:1]
10 │ let now = when context.transaction.validity_range.lower_bound.bound_type is {
11 │ Finite { t } -> t
· ────────────
12 │ NegativeInfinity -> 0
╰────
```
## After
```
× Type-checking
╰─▶ Unknown data-type constructor 'Finite'
╭─[../stdlib/validators/tmp.ak:10:1]
10 │ let now = when context.transaction.validity_range.lower_bound.bound_type is {
11 │ Finite { t } -> t
· ────────────
12 │ NegativeInfinity -> 0
╰────
help: Did you forget to import it?
Data-type constructors are not automatically imported, even if their type is
imported. So, if a module `aiken/pet` defines the following type:
┍━ aiken/pet.ak ━━━━━━━━
│ pub type Pet {
│ Cat
│ Dog
│ }
You must import its constructors explicitly to use them, or prefix them
with the module's name.
┍━ foo.ak ━━━━━━━━
│ use aiken/pet.{Pet, Dog}
│
│ fn foo(pet : Pet) {
│ when pet is {
│ pet.Cat -> // ...
│ Dog -> // ...
│ }
│ }
```
|
||
|---|---|---|
| .github | ||
| crates | ||
| examples | ||
| .editorconfig | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| bonnie.toml | ||
README.md
QuickStart
Prerequisites
For now you'll need rust installed, see rustup.
Getting started
In case you have fresh installation of rustup you might need to do:
rustup install stable
$ cargo install --git https://github.com/aiken-lang/aiken.git
$ aiken --help
How to use
For more information please see the user manual.
Roadmap
Aiken defines its roadmap using Github Milestones. The roadmap isn't set in stone, but gives a high-level overview of where the project is headed for.
Contributing
Want to contribute? See CONTRIBUTING.md to know how.
Note
The name comes from Howard Aiken, an American physicist and a pioneer in computing.