Commit Graph

669 Commits

Author SHA1 Message Date
rvcas
c4f2a1ffec fix: weird test error after rebase 2022-11-08 22:21:07 -05:00
rvcas
7e0767ef74 feat: output build assets 2022-11-08 22:21:07 -05:00
rvcas
4db0c93061 chore: clean up warnings 2022-11-08 22:21:07 -05:00
rvcas
3787cce275 chore: fix some stuff after rebase 2022-11-08 22:21:07 -05:00
Kasey White
6c6aefd1c4 get basic when conditions to work 2022-11-08 22:21:07 -05:00
Kasey White
6950b66b55 checkpoint commit 2022-11-08 22:21:07 -05:00
Kasey White
28697586f2 remove some warnings and start on when 2022-11-08 22:21:07 -05:00
Kasey White
805bf19081 Got nested field access working efficiently. Will clean up code soon. 2022-11-08 22:21:07 -05:00
Kasey White
e3fa9ac105 checkpoint commit 2022-11-08 22:21:07 -05:00
Kasey White
9864a3fe31 figured out the recursion based uplc terms to get item from a list 2022-11-08 22:21:07 -05:00
Kasey White
ad4a5e927d starting on field access in aiken 2022-11-08 22:21:07 -05:00
Kasey White
3cafb2bcbe checkpoint commit 2022-11-08 22:21:07 -05:00
rvcas
d8f3ada13e chore: add default for Interner 2022-11-08 22:21:07 -05:00
Kasey White
6162128427 add string comparison and int comparison 2022-11-08 22:21:07 -05:00
Kasey White
8a99b8c071 Remove println 2022-11-08 22:21:07 -05:00
Kasey White
6d720f6265 implement scope level in a consistent way. 2022-11-08 22:21:07 -05:00
Kasey White
f6a72cc7f9 did hacky way for scope level, but now i know how it works and how to fix 2022-11-08 22:21:07 -05:00
Kasey White
f7276df355 checkpoint commit 2022-11-08 22:21:07 -05:00
rvcas
483aa0784e chore: clean up some errors after rebase and rename project to aiken_project 2022-11-08 22:21:07 -05:00
Kasey White
a993bea2a2 try code gen for assignment 2022-11-08 22:21:07 -05:00
Kasey White
ffa78e4c30 work out some initial direction for code gen 2022-11-08 22:21:07 -05:00
rvcas
51302f1730 feat: error if validators have wrong arity 2022-11-08 22:21:07 -05:00
rvcas
4130e0f2c3 feat: validate if scripts return Bool 2022-11-08 22:21:07 -05:00
rvcas
d830060683 fix: tests 2022-11-05 18:27:02 -04:00
rvcas
3a653b6624 chore: all dead code till we sort out doc comments 2022-11-05 18:20:23 -04:00
rvcas
7092673c45 feat: if expression formatting 2022-11-05 17:53:11 -04:00
rvcas
809d5ea5c5 fix: record formatting 2022-11-05 17:28:32 -04:00
rvcas
9d14acbe0a fix: when formatting and add some methods to Project::Error 2022-11-05 16:23:46 -04:00
rvcas
14724f924c fix: weird extra space above definitions 2022-11-05 15:42:53 -04:00
rvcas
4cad053e15 fix: capture variables are a bit different 2022-11-05 15:35:18 -04:00
rvcas
cba7a6f46e feat: bring over the formatter from gleam 2022-11-05 15:35:11 -04:00
rvcas
3df275043a Release 0.0.24
aiken@0.0.24
aiken-lang@0.0.24
aiken-project@0.0.24
uplc@0.0.24

Generated by cargo-workspaces
2022-11-04 13:56:15 -04:00
alessandrokonrad
af7ca87ffc Fixed more clippy issues 2022-11-04 18:21:22 +01:00
alessandrokonrad
9a2c6753cd Fixed clippy issues 2022-11-04 18:13:46 +01:00
alessandrokonrad
d1141f306a Sorted all relevant structures in ScriptContext 2022-11-04 17:58:23 +01:00
rvcas
c4db8c951f Release 0.0.23
aiken@0.0.23
aiken-lang@0.0.23
aiken-project@0.0.23
uplc@0.0.23

Generated by cargo-workspaces
2022-11-03 20:27:03 -04:00
Kasey White
887f5eeee9 sorts inputs for sc 2022-11-03 05:04:21 -04:00
rvcas
1b6e5d262f Release 0.0.22
aiken@0.0.22
aiken-lang@0.0.22
aiken-project@0.0.22
uplc@0.0.22

Generated by cargo-workspaces
2022-10-31 13:32:54 -04:00
rvcas
09462bbb42 chore: rename project to aiken-project 2022-10-31 13:25:19 -04:00
Lucas
11c0e4e193 Merge pull request #85 from txpipe/expose-pallas-plutus-data 2022-10-29 16:30:23 -04:00
Turner
9bbcdfd0b3 Revert versions, fix changelog 2022-10-28 11:50:19 -07:00
KtorZ
4316d5c382 Factor out common project-logic between build and check. 2022-10-28 17:20:41 +02:00
KtorZ
8d45b2a2f5 Enforce ordering of commands/sub-commands according to source
By default, clap orders command alphabetically, which can be quite
    confusing when listing commands with `--help`:

    ```
    SUBCOMMANDS:
        eval      Evaluate an Untyped Plutus Core program
        flat      Encode textual Untyped Plutus Core to flat bytes
        fmt       Format an Untyped Plutus Core program
        help      Print this message or the help of the given subcommand(s)
        unflat    Decode flat bytes to textual Untyped Plutus Cor
    ```

    It is possible to instrument clap to order commands in the same way
    they are declared in the source, giving us back the freedom to order
    and group them in a manner that makes sense, e.g.:

    ```
    SUBCOMMANDS:
        fmt       Format an Untyped Plutus Core program
        eval      Evaluate an Untyped Plutus Core program
        flat      Encode textual Untyped Plutus Core to flat bytes
        unflat    Decode flat bytes to textual Untyped Plutus Cor
        help      Print this message or the help of the given subcommand(s)
    ```
2022-10-28 17:20:41 +02:00
KtorZ
9c608ad9f1 Refactor cli's crate; split code into a hierarchy of modules.
This follows a simple convention:

    - `main.rs` contains as little as possible and delegates both
      data-types definitions and command executions to sub-modules.

    - modules are named after their respective commands. For
      sub-commands,

    - Each command module can be in one of two forms:

      - Either it is a leaf command, and it then contains an `Args`
	struct that defines the command arguments; and a function
	`exec` when outlines the execution logic.

      - Or, it is a group command with multiple sub-commands. In which
	case the module defines a `Cmd` struct encapsulating all
	sub-commands; and also an `exec` function which simply
	dispatches the logic to sub-functions.

    ---

    This commit also removes the `dev` command which is currently
    unused. The rationale being: if it's not there, it's not there.
2022-10-28 17:20:39 +02:00
KtorZ
6d0d938fb9 Extra project utilities in their own crate.
This was currently in the 'cli' crates, but this code is pretty standalone and need not to be mixed with the rest of the cli logic.
  Ideally, we want the cli crate to be only a thin wrapper over functionality available from the rest of the lib crates.
2022-10-28 13:48:40 +02:00
Turner
aabcacbe87 Expose Pallas stuff, bump version, update changelog 2022-10-27 20:40:37 -07:00
rvcas
819256df99 feat: wrap up adding uplc builtins for now 2022-10-25 18:52:27 -04:00
rvcas
d5d2ba9cd7 feat: start creating aiken/builtin module 2022-10-25 18:52:27 -04:00
rvcas
a41d05f7b6 feat: change project structure 2022-10-24 00:09:00 -04:00
rvcas
825783ca61 feat: typecheck If expressions 2022-10-24 00:09:00 -04:00