Commit Graph

102 Commits

Author SHA1 Message Date
Steve Dunham
58ec72e0f4 [ ci ] Run a brew update during ci 2023-10-27 07:55:44 +01:00
G. Allais
9f93d4c1ec
[ doc ] Improve the landing page (#3119)
* [ doc ] Improve the landing page

1. Mentioning the network package too
2. Adding the Idris logo to the page
2023-10-26 10:35:01 +01:00
CodingCellist
46be3b8082
[ ci ] Update deploy-action in ci-idris2-and-libs.yml (#3115) 2023-10-23 15:26:20 +01:00
Thomas E. Hansen
dc79c6dd05 [ ci ] re 3067: fix CI on main branch
The extra CI jobs introduced in #3067 work fine as long as 'main' is not
the checked out branch. This is due to the fetch to a new branch, which
git does (reasonably) not allow when you're trying to fetch 'main' into
a new branch that's also called 'main'. In this case, we should just
`git pull origin main`, which is what the script now (hopefully) does.
2023-09-15 12:05:10 +02:00
CodingCellist
9d083154a5
Test pack and lsp during CI (#3067) 2023-09-13 17:37:49 +01:00
Robert Wright
cf73efe8e0 Update linter config 2023-09-07 14:57:22 +01:00
Robert Wright
424bc20c27 Group tests by directory 2023-09-07 14:57:22 +01:00
Steve Dunham
3ce8b9f9cb [ fix ] Pin chez v9.5.8a in windows CI 2023-08-06 09:51:40 +01:00
CodingCellist
7156866778
[ admin ] Update what should go in the changelog (#2905)
* [ admin ] Update what should go in the changelog

There has been some stuff inconsistently slipping through the cracks, so
it is probably best to explicitly include it.

* [ admin ] Bloody linter...

* [ admin ] Third time's the charm?

Dear linter: [REDACTED]

* [ admin ] Reword PR template

"an addition" is too broad for what it was intended for: paper
implementations
2023-03-03 15:46:06 +00:00
Mathew Polzin
1c2acd45a2 Apply a fix from the other workflow that uses commit message.
* let's test this out.
* with at least a few commits in a row with multiple lines.

* and bullet points.
2023-01-18 20:00:13 -06:00
Mathew Polzin
e9464848c0
CI Maintenance (#2855)
* rename and clarify 'previous version' setting.

* bump GitHub Action versions.

* make initialise direct dependency of any stage that relies on it for conditional logic.

* turn nix step back on and update cachix action.

* I think pinning a version should not really help here anymore. also, nix-flakes-installer no longer exists.
2023-01-18 09:54:42 -06:00
G. Allais
2f55a3ef8a
[ fix ] elaboration of records' telescopes of parameters (#2816) 2022-12-15 17:55:50 +00:00
Guillaume Allais
1d73e359e0 [ ci ] only run latest job
As discussed on discord a while ago, this kills runs when a new
commit lands on the same branch. It should save some CI ressources.
2022-12-09 14:40:14 +00:00
Guillaume Allais
caeb55b495 [ ci ] fix initialise step
Github is now failing hard on multiline commit messages it seems.
2022-12-09 14:40:14 +00:00
locriacyber
cb30d7cda8
Install *.ttm on idris2 --install (#2796)
Co-authored-by: Justus Matthiesen <mail@justusmatthiesen.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-12-08 21:06:17 +00:00
Thomas E. Hansen
7a41606573 [ admin ] Fix PR template 2022-12-08 11:24:37 +00:00
Denis Buzdalov
c8f625cad9 [ typo ] Fix typo in an issue template 2022-12-05 15:10:16 +00:00
Denis Buzdalov
59aadd650f [ ci ] Replace deprecated feature with its functional equivalent 2022-12-01 20:35:22 +00:00
G. Allais
255cce9d9c
[ ci ] fix katla scripts following the TTC version subdirectory (#2787) 2022-12-01 20:20:01 +00:00
Robert Wright
edacf65182 Bump version of Idris used in CI 2022-11-21 10:51:43 +00:00
Nathan McCarty
407409fecc
[ ci ] Simplify bootstrap process in nix (#2731) 2022-10-28 19:29:30 +01:00
Steve Dunham
b1f2eab6d6 Update nix build scripts to build idris with the current version of idris 2022-10-25 14:52:45 +01:00
G. Allais
475d13bb11
[ fix ] parsing of test lib's options (#2725)
Co-authored-by: Mathew Polzin <matt.polzin@gmail.com>
2022-10-21 21:01:54 +01:00
CodingCellist
59460c2f46
[ admin ] Update CHANGELOG and CONTRIBUTORS (#2703)
* [ admin ] Update CHANGELOG and CONTRIBUTORS

We really need to do a release at some point...

* [ ci ] Don't check capitalised proper names in links and code

Sometimes hyperlinks and code-blocks just don't use the "proper"
capitalisation (e.g. `.html` vs `.HTML`), and that's okay.
(or even critical as links may not be found without "incorrect" format)

* [ ci ] Don't check terminology in links and code-blocks

Hopefully this is the right fix for the problem in #2703

* [ ci ] 3rd attempt at fixing nl linter

* [ ci ] Attempt no. 4 at fixing nl linter

* [ ci ] Point NL linter at YAML config file

Was that actually it??

* Update CHANGELOG.md

* Add note about forward declaration of records

* [ admin ] Add PR template with CHANGELOG reminder

To hopefully help mitigate big crawl-throughs of what's changed,
à la #2703.

* [ admin ] Reflow CHANGELOG to 80 characters where possible

Only done for the "next version" changes for the sake of diff size.
(Personally, I'd want to have the linter enforce this, but that might be
too extreme; there's already a note in the CI config complaining about
line length...)

* [ admin ] Make linter happy

It never ends...

Co-authored-by: Joel Berkeley <16429957+joelberkeley@users.noreply.github.com>
Co-authored-by: Steve Dunham <dunhamsteve@gmail.com>
2022-10-21 16:48:37 +02:00
CodingCellist
47c2de3148
[ repl ] Add the ability to get detailed help, e.g. :help :help (#2722)
A common issue for users is that the behaviour of the various repl
commands are not documented anywhere despite some of them having complex
behaviour (e.g. `:set` which accepts a specific set of options). This
implements the ability to call `:?|:h|:help` on repl commands to request
detailed help for a specific repl command, while preserving the
behaviour that calling the help command without any arguments prints the
general help text.

Generic help is defined as the first line of the help text.
Detailed help is defined as the entire help text.

This means that `:help :t`, for example, does not error (there is no
detailed help) but instead just prints the single line of help text.

* [ repl ] Use unlines for detailed help (see #2087)

  Ideally, the lines affected should be multiline strings. But for some
  arcane reason, newlines in those get swallowed in Nix and Windows
  **CI** only Ô.o
  This was already documented in issue #2087.

* [ new ] --except for golden testing lib

  To allow CI to pass despite #2087

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-10-21 14:35:33 +02:00
Guillaume Allais
2aaad190fb [ ci ] drop hirsute, stick to latest (now 22.04) 2022-07-30 00:34:21 +01:00
G. Allais
10a6734bcb
[ new ] Katla-powered landing page (#2483) 2022-05-18 08:43:47 +01:00
CodingCellist
d26738b6d9
Fix link to CONTRIBUTING.md in proposal template
The local paths (`../../CONTRIBUTING.md`) and even the absolute paths (`/CONTRIBUTING.md`) depend on which GH page you're on -_-

This sets the reference to a URL, meaning it should (hopefully) just point to the right thing for everyone now.
2022-04-26 10:15:20 +02:00
G. Allais
2287fd9edb
[ ci ] use katla to build html doc of the libs (#2422) 2022-04-20 12:42:58 +01:00
Joel Berkeley
f317555967
[ ci ] install mingw64 gcc for windows (#2338)
Co-authored-by: Ben Hormann <benhormann@users.noreply.github.com>
2022-03-03 22:29:25 +00:00
madman-bob
0ee9632e45
[ refactor ] Abstract Prelude.elem to work with all Foldables (#2294) 2022-02-01 21:34:29 +00:00
Attila Lendvai
4a75d71c02 [ ci ] update previous version to v0.5.1, and super-linter to v4.8.5
The current super-linter v3 line is broken due to a failed backport,
they recommend to use the v4 line:
https://github.com/github/super-linter/issues/2253

Pick a specific version, so that such transient linter bugs won't
camouflage as Idris CI failures.
2021-12-27 18:04:25 -08:00
Guillaume ALLAIS
6b92fda5bd [ ci ] Add idris2-elab-util to the libs roster
[ci: libs]
2021-12-07 15:15:31 +00:00
Guillaume ALLAIS
d74c5f362a [ ci ] turn bootstrap-racket off 2021-10-29 17:57:55 +01:00
G. Allais
b9834978cb
[ re #2041 ] better runtime error for holey expression (#2045) 2021-10-26 12:43:39 +01:00
Edwin Brady
a9ccf4db4f
Experimental Scheme based evaluator (#1956)
This is for compiled evaluation at compile-time, for full normalisation. You can try it by setting the evaluation mode to scheme (that is, :set eval scheme at the REPL). It's certainly an order of magnitude faster than the standard evaluator, based on my playing around with it, although still quite a bit slower than compilation for various reasons, including:

* It has to evaluate under binders, and therefore deal with blocked symbols
* It has to maintain enough information to be able to read back a Term from the evaluated scheme object, which means retaining things like types and other metadata
* We can't do a lot of the optimisations we'd do for runtime evaluation particularly setting things up so we don't need to do arity checking

Also added a new option evaltiming (set with :set evaltiming) to display how long evaluation itself takes, which is handy for checking performance.

I also don't think we should aim to replace the standard evaluator, in general, at least not for a while, because that will involve rewriting a lot of things and working out how to make it work as Call By Name (which is clearly possible, but fiddly).

Still, it's going to be interesting to experiment with it! I think it will be a good idea to use it for elaborator reflection and type providers when we eventually get around to implementing them.

Original commit details:

* Add ability to evaluate open terms via Scheme

Still lots of polish and more formal testing to do here before we can
use it in practice, but you can still use ':scheme <term>' at the REPL
to evaluate an expression by compiling to scheme then reading back the
result.

Also added 'evaltiming' option at the REPL, which, when set, displays
how long normalisaton takes (doesn't count resugaring, just the
normalisation step).

* Add scheme evaluation mode

Different when evaluating everything, vs only evaluating visible things.
We want the latter when type checking, the former at the REPL.

* Bring support.rkt up to date

A couple of missing things required for interfacing with scheme objects

* More Scheme readback machinery

We need these things in the next version so that the next-but-one
version can have a scheme evaluator!

* Add top level interface to scheme based normaliser

Also check it's available - currently chez only - and revert to the
default slow normaliser if it's not.

* Bring Context up to date with changes in main

* Now need Idris 0.5.0 to build

* Add SNF type for scheme values

This will allow us to incrementally evaluate under lambdas, which will
be useful for elaborator reflection and type providers.

* Add Quote for scheme evaluator

So, we can now get a weak head normal form, and evaluate the scope of
a binder when we have an argument to plug in, or just quote back the
whole thing.

* Add new 'scheme' evaluator mode at the REPL

Replacing the temporary 'TmpScheme', this is a better way to try out the
scheme based evaluator

* Fix name generation for new UN format

* Add scheme evaluator support to Racket

* Add another scheme eval test

With metavariables this time

* evaltiming now times execution too

This was handy for finding out the difference between the scheme based
evaluator and compilation. Compilation was something like 20 times
faster in my little test, so that'd be about 4-500 times faster than the
standard evaluator. Ouch!

* Fix whitespace errors

* Error handling when trying to evaluate Scheme
2021-09-24 20:38:55 +01:00
G. Allais
0c551eca87
[ ci ] new bootstrap-specific build (#1936) 2021-09-20 11:26:32 +01:00
Guillaume Allais
0e4168edbf [ ci ] ignore Release/ for idris2 builds 2021-08-31 13:56:45 +01:00
Guillaume ALLAIS
94811ba8e7 [ ci ] bring racket builds back
A new environment seems to have solved our issue.
Cf. actions/virtual-environments#3774
2021-07-30 16:18:58 +01:00
Guillaume ALLAIS
84b064330c [ ci ] add collie & frex
[ci: libs]
2021-07-27 13:58:41 +01:00
Mathew Polzin
523c0a6d78 actually, with the change to the super linter, there's really no point in having CI work on both master and main at the same time, we just need to rename the branch right away for a smooth transition. 2021-07-22 13:42:45 +01:00
Mathew Polzin
7c85971698 Make sure main branch is covered in addition to master during the transition. Make the default branch for linting the main branch. 2021-07-22 13:42:45 +01:00
G. Allais
9f0a70626a
[ ci ] turn ubuntu-bootstrap-racket off for now (#1772)
[ci: skip]
2021-07-22 12:27:34 +01:00
G. Allais
34167d58bb
[ ci ] controlling builds via commit messages (#1766) 2021-07-21 16:49:32 +01:00
Ben Hormann
74db7714d4
[fix] Loading libidris2_support.dll with Racket (#1583) 2021-07-21 14:35:21 +01:00
Stiopa Koltsov
eabab4bdea Split Windows CI build into multiple steps
It's easier to follow Windows CI output this way.
2021-07-19 08:02:06 +01:00
André Videla
8130b660d7
Merge pull request #1725 from andrevidela/update-proposal-template
Update issue template for proposals
2021-07-17 10:06:36 +00:00
André Videla
d1e6726f70 Update issue template for proposals 2021-07-16 12:47:57 +00:00
Stiopa Koltsov
afaf416673 Write files into bootstrap-build directory during bootstrap
... instead of `bootstrap` which contains source files. Make it easier to understand
how build works, and in particular, which files are sources and
which files are generated.
2021-07-04 03:17:13 +01:00
G. Allais
168a69bdcf
[ ci ] just dump everything into a single file already (#1645) 2021-06-29 19:42:48 +01:00