Commit Graph

2370 Commits

Author SHA1 Message Date
Guillaume ALLAIS
207a60479c [ re #1782 ] A bit more debugging info
Also making sure that the case block has the same totality as its
parent function. That does not seem to fix the bug though.
2021-07-26 17:03:16 +01:00
André Videla
aa77b7f33e
Merge pull request #1769 from andrevidela/fix-fromString-interpolation
Remove `fromString` calls from interpolated strings
2021-07-25 17:18:20 +00:00
Edwin Brady
b76050d670 Remove __collect_safe
This is to make the bootstrap build with earlier versions of Chez - we
don't strictly need it because we don't use threads (yet) and some linux
distros only have Chez 9.5.
2021-07-25 15:03:25 +01:00
Edwin Brady
c28b257fb5 Add ability to manipulate scheme objects
This is step 0 in a plan to use the scheme evaluator to evaluate Idris
expressions at compile time. As a proof of concept, I've got this
working for a toy language here: https://github.com/edwinb/SchemeEval

We won't be able to do anything interesting with this in Idris itself
until the next release because it involves updating the bootstrap code
and adding the ability to pass 'Integer' to foreign calls, which really
should have been allowed anyway since it's for a backend to decide what
it can cope with, not Idris itself.
2021-07-25 14:55:40 +01:00
Zoe Stafford
328617d6fa
Merge pull request #1781 from stefan-hoeck/file_comp
[ fix ] bash TAB completion for files
2021-07-25 08:35:43 +01:00
stefan-hoeck
a693138cc5 [ fix ] bash TAB completion for files 2021-07-24 04:48:01 +00:00
Niklas Larsson
51f59b9530
Merge pull request #1779 from melted/doc_fix
Update windows docs with gotchas
2021-07-23 16:10:26 +02:00
Niklas Larsson
4b0edbaa4f Update windows docs with gotchas 2021-07-23 15:48:54 +02:00
Guillaume ALLAIS
d0c0698c45 [ re #1771 ] Check parameters for positive uses
It's fine to allow positive occurences in (strictly positive)
parameters but we do need to check that these occurences are
strictly positive!
2021-07-23 13:30:24 +01:00
Guillaume ALLAIS
b24a9a51df [ re #1771 ] Fix another Erased-related issue (in nameIn) 2021-07-23 13:30:24 +01:00
Guillaume ALLAIS
230f42b697 [ re #1771 ] Do not use Erased to go under binders
In the `MkFix : f (Fix f) -> Fix f` example, using `Erased` for `f`
makes the type reduce to `[__] (Fix [__]) -> Fix [__]` and because
`[__] e1 ... en` computes to `[__]`, we end up with `[__] -> Fix [__]`
which does not reference `Fix` anymore.
2021-07-23 13:30:24 +01:00
Guillaume ALLAIS
df43045054 [ debug ] add a lot of logging throughout positivity checking 2021-07-23 13:30:24 +01:00
Niklas Larsson
603c60efec Add some docs about building on Windows 2021-07-23 10:58:38 +01:00
Ellis Kesterton
e5879dc687 Document --init
Reference the --init option for creating package files in the tutorial documentation.
2021-07-22 19:15:33 +01:00
André Videla
f4e1346a81 Remove fromString calls from interpolated strings
This fixes a bug where an interpolated string would
be wrapped in a `fromString` call
2021-07-22 17:13:44 +00:00
André Videla
5389f8c2a8
Merge pull request #1770 from andrevidela/fix-if-then-else-interpolation
Fix #1767
2021-07-22 16:35:11 +00:00
André Videla
6811c338cb Fix printing functions for string starter token
Co-authored-by: Andy Lok <andylokandy@hotmail.com>
2021-07-22 13:55:24 +00: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
Edwin Brady
52c21c6182 Update bootstrap code
We shouldn't strictly need this, but it doesn't do any harm, and it also
means we can use --inc chez in the build if we do. Let's see if it helps
or hinders the CI problem...
2021-07-22 13:36:17 +01:00
Edwin Brady
e633a9fa6e Correct error018 test
I expect I got my local versions inconsistent while working on this...
2021-07-22 13:36:03 +01:00
Edwin Brady
edefd543f7 A bit of refactoring of argument elaboration order
In theory argument elaboration order doesn't matter, but in practice we
sometimes make choices for performance reasons, like helping with
disambiguation by knowing the target type.

This was kind of messy, now we can more clearly see what's going on.
Also, more importantly, it gives us a bit more control which we
sometimes need. For example, if we go choose to go right to left for
some performance heuristic it might turn out we don't have enough
information yet, in which case we need to delay and try again later.

Fixes #1743
2021-07-22 13:36:03 +01:00
André Videla
bab3897a9b move basic053->interpolation002, move basic061->basic053 2021-07-22 12:17:53 +00:00
André Videla
1276f47cf6 Fix #1767
The `if then else` syntax expects a block for the `then` and `else`
parts. Before this patch, the token `InterpEnd` was not a valid
follow up token to end a block. This adds `InterpEnd` as a closing
token for blocks, allowing `if then else` in interpolation slices
without additional parens.
2021-07-22 12:17:53 +00:00
G. Allais
9f0a70626a
[ ci ] turn ubuntu-bootstrap-racket off for now (#1772)
[ci: skip]
2021-07-22 12:27:34 +01:00
André Videla
5576d30c27
Merge pull request #1736 from stepancheg/test-discovery
Implement test discovery
2021-07-22 08:56:02 +00: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
Mathew Polzin
5f34801200 Make drop and drop' public exported from the vect module. 2021-07-20 14:27:43 +01:00
André Videla
ada33b90a1
Merge pull request #1756 from andrevidela/document-raw-strings
Document string literals
2021-07-19 19:38:47 +00:00
André Videla
440a3affd5
Update docs/source/reference/strings.rst
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2021-07-19 10:37:22 +00:00
Nick Drozd
ab36ad71cf Simplify a few Factor proofs
A few proofs have been rewritten, a few unnecessary cases cut, and
lots of unnecessary "explicit implicits" have been cut. Probably these
implicits were required when the code was initially written, and
inference has improved since then.
2021-07-19 08:30:47 +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
Edwin Brady
68db9fe0fe Add reg048 files
Odd, I thought I added these before, but it's probably because I got in
a mess with git and didn't re-add once I resolved that.
2021-07-19 00:21:28 +01:00
Edwin Brady
2068eb271b Better ordering of delayed elaborators
Instead of having an arbitrary looking priority number, record explicit
reasons for the delay, which helps order them sensibly when rerunning
them. Mostly this allows us to choose which ones to rerun, where it
helps, and helps order things to get better error messages.
2021-07-19 00:21:28 +01:00
André Videla
396ebe2023 Add documentation for new string literals 2021-07-18 22:32:26 +00:00
André Videla
9aa7a4303a Added documentation for new string literals 2021-07-18 21:37:20 +00:00
Edwin Brady
d1b1ec04cf Minor FAQ edits 2021-07-18 21:03:12 +01:00
Zoe Stafford
fe8b1d91da
Merge pull request #1737 from stepancheg/ref-assert
Assertions in RefC runtime
2021-07-18 20:49:38 +01:00
Niklas Larsson
706fb85b74
Merge pull request #1750 from melted/fix_link
Fix link to chez-exe
2021-07-18 19:45:54 +02:00
Niklas Larsson
ac595b1bb1 Fix link to chez-exe 2021-07-18 15:47:45 +02:00
Kenneth J Hughes
b663a06999 Update javascript.rst 2021-07-17 17:32:39 +01:00
Stiopa Koltsov
7325002dec Implement test discovery
`testInDir dir ...` lists all directories in `dir` which contains
`run` files, and such directories are considered tests.

This is done to make test addition/maintenance cheaper.

Convert some test directories to `testInDir`, but not all of them
because
* some directories are listed in several test groups
* other directories are have some tests disabled
2021-07-17 16:53:43 +01:00
Stiopa Koltsov
4eff6ac916 System.Directory.listDir
This function is what users want 99.9% of time.
2021-07-17 14:58:57 +01:00
Stiopa Koltsov
c7629e20fe Skip dot and dot-dot in nextDirEntry
These entries returned by `readdir` are legacy of Unix API, we don't
really need them. Most APIs do not return them (for example Java
`Files.newDirectoryStream` or Python `os.listdir`).
2021-07-17 14:58:28 +01:00
Stiopa Koltsov
0ecf74e434 System.Directory.nextDirEntry
* add `nextDirEntry` which returns `Maybe String`, so `Nothing` on
  the end of directory unlike `dirEntry` which returns unspecified error
  on the end of directory
* `dirEntry` is deprecated now, but not removed because compiler depends on it
* native implementation of `dirEntry` is patched to explicitly reset `errno`
  before the `readdir` call: without it end of directory and error were
  indistinguishable
* test added
2021-07-17 14:57:27 +01:00
Stepan Koltsov
ce44d3b50a
Change semantics of lines and unlines function to match Haskell and other languages (#1585)
* Add trailing newline on non-empty list in unlines

There are several reasons to do that:
* a line in a text file is something which ends with newline,
  and the last line is not special
* `unlines []` should be different from `unlines [""]`
* `unlines (a ++ b) = unlines a ++ unlines b`
* Haskell does it

* Change lines function behaviour
2021-07-17 14:54:23 +01:00
Ruslan Feizerakhmanov
ee063a5412
Apply "qualified do" notation to bangs and comprehensions (#1700)
* Propagate 'do qualification' to inner bangs and comprehensions

* Minor

* Remove banner in test

* Move tests from reg045 to reg047

* Move mbNS from Desugar.idr to Name.idr, renaming it to mbApplyNS
2021-07-17 14:52:22 +01:00
Stiopa Koltsov
5a351f4e7e Accept HasIO in onCollect functions
Since most functions work with `HasIO`, it is more convenient to
accept `HasIO` in `onCollect` and `onCollectAny`.
2021-07-17 14:42:34 +01:00
Niklas Larsson
f8fc131b57
Merge pull request #1734 from melted/chez_exe
Add docs for chez-exe
2021-07-17 15:33:58 +02:00