Commit Graph

531 Commits

Author SHA1 Message Date
KtorZ 600c7747da
Do not show link to source.
This require slightly more work and has little benefits at this stage given that the sources are literally inlined in the docs.
2022-12-17 01:02:21 +01:00
KtorZ e7f729c61b
Define HighlightJS definition for Aiken. 2022-12-17 01:02:21 +01:00
KtorZ e1065e892a
Support module constants in docs. 2022-12-17 01:02:21 +01:00
KtorZ ac0d180c5c
Apply suggestions from clippy. 2022-12-17 01:02:21 +01:00
KtorZ 873bd85d8b
Implement modules' extra, to get function & module comments in docs. 2022-12-17 01:02:21 +01:00
KtorZ 536c9457b3
Refactor project source parsing
There was already a 'parse_sources' function, and 'parse' was actually more about typechecking than parsing.
2022-12-17 01:02:21 +01:00
KtorZ b323c95241
Fix type-parameter pretty printing (use chevrons) 2022-12-17 01:02:20 +01:00
KtorZ d2c6d27545
Support data-types in documentation. 2022-12-17 01:02:20 +01:00
KtorZ 1f3f769b53
Add command 'docs' for generating project documentation. 2022-12-16 18:34:05 +01:00
KtorZ 6da53fd875
Add a 'docs' method to projects, using the newly introduced docs::generate_all 2022-12-16 18:33:36 +01:00
KtorZ 16b0a9fbe4
Introduce 'docs' for generating documentation for aiken libraries. 2022-12-16 18:33:04 +01:00
KtorZ 71e71fffe8
Define 'is_library' for 'CheckedModule'
So that we can separate libraries from executable modules if necessary.
2022-12-16 15:33:27 +01:00
jmhrpr 775e90d782 chore: remove unnecessary Option wrapper on type 2022-12-15 18:22:31 -05:00
jmhrpr 325a7b7b45 fix: correct V1 to_plutus_data() for txout with no datum hash 2022-12-15 18:22:31 -05:00
rvcas 0188003323 refactor: move helper option builder to lang 2022-12-15 13:28:30 -05:00
rvcas 42f8a694f4 tests: missing token broke a test 2022-12-15 11:12:35 -05:00
rvcas 53bc9aa56f fix: properly capture empty lines 2022-12-15 11:12:35 -05:00
Matthias Benkort d9d1310c6d
Merge pull request #166 from aiken-lang/some-interesting-test-cases
Include generics to get test cases working
2022-12-15 02:07:05 +01:00
KtorZ 5024bd884c
Remove debug line for pretty-printing test, and add '--debug' flag to 'check instead. 2022-12-15 02:02:10 +01:00
KtorZ e5972640d2
Remove 'eval' command.
Was introduced as a work-around to get some debugging info out of scripts, but tests do now provide the same capability with a better output and, do so automatically.
2022-12-14 22:14:35 +01:00
KtorZ 978a6c6981
Collect and display evaluation hints on test failures. 2022-12-14 22:00:56 +01:00
KtorZ 7b22b63ad8
move 'EvalInfo' to project::script & define a new 'EvalHint' 2022-12-14 22:00:09 +01:00
KtorZ 921e7abbb6
Move pretty-printing utilities to project::pretty 2022-12-14 21:59:09 +01:00
Carlos Souza 6343fa7105 Change generated assets file extensions 2022-12-14 12:48:29 -05:00
KtorZ 87546e0abd
Return non-zero exit code on test failure
And integrated test results with miette report.
2022-12-14 18:44:31 +01:00
Carlos Souza c77b7c293b Fix errors on aiken build
- Update generics syntax
- Add required args to default validator function

This allows running a successful aiken build from
files generated by aiken new.
2022-12-14 12:03:30 -05:00
KtorZ 3a9cc668fc
Use bright_black (i.e. grey) for box drawing. 2022-12-14 17:45:16 +01:00
KtorZ 2d6fc8bd54
Group test results by module. 2022-12-14 17:34:24 +01:00
Kasey White 3c664b9651
test 1-9 passing 2022-12-14 09:45:26 +01:00
rvcas b71315ba2f
chore: trying to fix test 5 2022-12-14 09:45:26 +01:00
Kasey White 6635a918b5
clean up minor warnings 2022-12-14 09:45:26 +01:00
KtorZ b6962ba9d3
Add 'eval' command to evaluate target aiken function
Pretty useful for debbugging. Though, on second-thoughts, this is
  something we may want to review later and maybe have that done by
  default for tests.

  At the moment, we expects tests to unify to `bool`, and treat `false`
  values as failing tests. Yet, on failures, this gives little
  information about what's wrong with the test.

  It'd be nice to either have better way to assert in tests, or, to
  simply accept non-bool tests, and show whatever the test evaluates
  to as a debug output.
2022-12-14 09:45:26 +01:00
rvcas 11c793dd2a
feat(Type): add is_option method 2022-12-14 09:45:25 +01:00
Kasey White 8393d8555c
fill constants to data so now test 006 passes 2022-12-14 09:45:25 +01:00
Kasey White dc5ae296db
implement anonymous functions, more tests pass now 2022-12-14 09:45:25 +01:00
Kasey White d78e2c9c6f
feat: finish up generic match cases 2022-12-14 09:45:23 +01:00
Kasey White e43063d447
overhaul monomorphize to cover all generic cases
test b passes
2022-12-14 09:45:23 +01:00
Kasey White 15dc202810
Feat: generic function call tests work 2022-12-14 09:45:23 +01:00
Kasey White e4d9ca4586
support generics 2022-12-14 09:45:23 +01:00
rvcas 16fbf5bbcd
feat: fix recursive functions 2022-12-14 09:45:22 +01:00
Kasey White 3d3b3d7e10
checkpoint 2022-12-14 09:45:22 +01:00
KtorZ 95986fed83 Fix lexer for signed integers. 2022-12-13 19:52:30 -05:00
KtorZ 18bf89418a Fix codegen for binary operator 'or'
a && b → if a { b } else { false }
  a || b → if a { true } else { b }
2022-12-13 18:52:23 -05:00
KtorZ 431b0cfcf2 Preserve newlines after blocks of comments.
This is an example of output from the formatter now:

  ```
  //// Some module documentation

  // foo
  const a: Int = 42

  // Some comment block
  // For which newlines are respected.
  // Foo

  // Another one

  /// add_one documentation
  pub fn add_one(n: Int) -> Int {
    // n + 1
    n + 1
  }
  ```

  before this commit, comments would all be collapsed into one group
  above the function as:

  ```
  // Some comment block
  // For which newlines are respected.
  // Foo
  // Another one
  /// add_one documentation
  pub fn add_one(n: Int) -> Int {
  ```
2022-12-13 18:52:23 -05:00
KtorZ 22a526bb13 Enforce unique top-level names for tests too.
This prevents the compiler from crashing later on. Test names should be unique and not clash with function names.
2022-12-13 18:52:23 -05:00
rvcas 4dfb454d8a refactor: change match to if matches! 2022-12-13 10:34:34 -05:00
KtorZ 1637a0d30e Add --match-tests to 'check' cmd
For running only tests matching a certain pattern. Useful when doing TDD.
2022-12-13 10:34:34 -05:00
rvcas 69db9696d6 feat: prefix tuples with hash again cause ambguity with call 2022-12-13 10:27:17 -05:00
rvcas 6dc4738b66 feat: update formatter for new changes 2022-12-12 19:22:11 -05:00
rvcas a4f6388eca feat: remove the need for # in front of tuples 2022-12-12 19:22:11 -05:00