Commit Graph

258 Commits

Author SHA1 Message Date
Edwin Brady
9970c66417 Warn on detecting unreachable patterns
I don't know how complete this is, but it certainly detects some of the
most obvious cases which are most likely to be bugs.

While I'm at it, this is as good a time as any to add a general way of
reporting warnings, similar to the way of reporting errors.
2020-05-25 00:16:49 +01:00
Edwin Brady
6c2b35d02d Remove the erased argument check from CaseBuilder
This is done elsewhere, and now just gives a meaningless error on
overlapping cases in some circumstances, so best removed.
(But we do need to find a way to warn on obviously overlapping cases!)
2020-05-24 22:13:38 +01:00
Edwin Brady
1ea54e764b
Merge pull request #144 from idris-lang/coverage
%default covering
2020-05-24 20:42:08 +01:00
Edwin Brady
c3d13d0854
Merge pull request #93 from ska80/better-names
Rename some file/dir manipulation functions for consistency
2020-05-24 20:16:01 +01:00
Edwin Brady
498421a236 All functions now need to be covering by default
This has caught a couple of things in the Idris 2 code base itself. Some
tests needed partial annotations too.
2020-05-24 19:58:20 +01:00
Niklas Larsson
21f1e54c1a
Merge pull request #143 from melted/eliminate_pthread_dep
Remove dependency on pthreads on Windows
2020-05-24 20:36:27 +02:00
Edwin Brady
c2d74ccfcf Switch on %default
This should be enough for the libraries and tests now. I'm not yet
confident enough to turn on %default covering by default, but let's see
how things work...
2020-05-24 19:14:57 +01:00
Edwin Brady
222a6a7f31 More fine-grained assert_total in unpack
If it's around the whole thing, it might drop out if unpack is partially
evaluated by the unifier. It should be as fine grained as possible.
2020-05-24 19:13:24 +01:00
Niklas Larsson
8d16980b81 Remove dependency on pthreads on Windows 2020-05-24 19:56:26 +02:00
Edwin Brady
55de6983bd Need to remove lazy annotations under case
In totality checking; otherwise we might miss smaller values
2020-05-24 18:47:30 +01:00
Edwin Brady
3ec8631480 More coverage checking fixes
Still a couple of things to resolve in coverage and totality checking
before we can switch on %default, so don't expect quite the right
behaviour just yet. More progress though!

Also working on this has caught a few totality errors in the Idris 2
code base that Idris 1 missed... so these are fixed on the way.
2020-05-24 18:33:43 +01:00
Matúš Tejiščák
8f3e8b865b
Merge pull request #131 from clayrat/cong-erase
Erase function argument of cong
2020-05-24 17:09:20 +02:00
Niklas Larsson
c95e1b5b86
Merge pull request #139 from melted/bootstrap_refactor
Do platform-dependent part a bit better in bootstrap.sh
2020-05-24 16:50:15 +02:00
Niklas Larsson
a8be9206fc Do platform-dependent part a bit better in bootstrap.sh 2020-05-24 16:24:41 +02:00
Niklas Larsson
595184bee7
Merge pull request #138 from melted/mac-builder
Add macOS CI
2020-05-24 15:40:25 +02:00
Niklas Larsson
a6c7d30593 Add macOS badge 2020-05-24 15:30:15 +02:00
Niklas Larsson
3e62241c04 Add a macOS CI workflow 2020-05-24 15:23:50 +02:00
Niklas Larsson
4c50970007
Merge pull request #137 from idris-lang/ci-names
Shorten names on CI icons
2020-05-24 15:11:30 +02:00
Niklas Larsson
06ff156e29 Shorten names on CI icons
Link them to the respective workflow page.
Rename to be more consistent.
2020-05-24 14:44:28 +02:00
Edwin Brady
dc85166982 Use correct coverage information
Previously when building run time case trees for case blocks we were
using the parent's coverage information, which would mean it wouldn't
insert the error case so crash at run time instead of printing a more
helpful message
2020-05-24 12:49:30 +01:00
wchresta
f6564ce069 Add CI for bootstrapping via racket
* Remove Travis as described in #127
2020-05-24 10:09:14 +01:00
Alex Gryzlov
723f690f7e erase function argument of cong 2020-05-24 05:16:52 +02:00
Kamil Shakirov
80344b5435 Merge branch 'master' into better-names 2020-05-24 07:59:25 +06:00
Edwin Brady
cf7de2201f Add a script for making releases
I might use this in the next couple of days
2020-05-23 23:56:39 +01:00
Edwin Brady
7c531840ad
Merge pull request #127 from wchresta/ci
Add GitHub CI action that bootstraps on Ubuntu
2020-05-23 23:46:11 +01:00
Edwin Brady
b93b51a0e1 Remove racket ipkg, update scheme
Needed to get the bootstrap version working with the tests in racket
2020-05-23 23:30:49 +01:00
Edwin Brady
ad9a2a187f Fix Char casting
For the same behaviour as Idris 1, the primitive cast should return 0 if
the integer is out of bounds. (We should probably drop the Cast
implementation though, since ideally they won't be lossy in general, but
that's an issue for another time...)

All the tests pass in racket now, for me.
2020-05-23 22:19:10 +01:00
wchresta
262f5bb213 Add GitHub CI action that bootstraps on Ubuntu 2020-05-23 16:38:32 -04:00
Edwin Brady
cff5fc2625 Workaround for byte vectors in Racket
Racket appears to have a different notion of current directory than the
system does, so we need to tell it which directory we think we're in
when reading and writing bytevectors using the scheme file functions.
2020-05-23 21:37:31 +01:00
Kamil Shakirov
307265aaab Update C support header files 2020-05-24 00:41:53 +06:00
Kamil Shakirov
278dc1ca29 Merge branch 'master' into better-names 2020-05-24 00:37:05 +06:00
Kamil Shakirov
f02722bed9 Update .gitignore 2020-05-24 00:32:00 +06:00
Edwin Brady
08e4955c0b Update scheme/racket again
Bootstrapping needs IDRIS2_CG set up properly
2020-05-23 19:30:53 +01:00
Kamil Shakirov
e61e44205b Merge branch 'master' into better-names 2020-05-24 00:26:52 +06:00
Niklas Larsson
2d93b18b01
Merge pull request #124 from melted/fix_win_bootstrap
Fix win bootstrap
2020-05-23 20:17:37 +02:00
Edwin Brady
0d5c709fc6 Add IDRIS2_CG environment variable
This allows setting code generators globally, which makes building with
alternative back ends smoother.
2020-05-23 19:03:56 +01:00
Niklas Larsson
709ca9d152 Unbreak Windows bootstrap 2020-05-23 20:00:15 +02:00
Niklas Larsson
a92fb3a3b0
Merge pull request #120 from idris-lang/fix_build
Fix Windows build
2020-05-23 19:12:19 +02:00
Niklas Larsson
6054e86b55 Always load the socket lib on windows 2020-05-23 18:48:17 +02:00
Edwin Brady
ae81e9140a Fix Racket buffer loading code
Should return #f on failure, not an empty buffer, for consistency with
Chez
2020-05-23 17:39:07 +01:00
Edwin Brady
e7d27bc46a Fix IDRIS2_BOOT_PATH
I don't know why I removed network, it's still needed...
2020-05-23 17:32:52 +01:00
Niklas Larsson
81c59fd5d1
Fix Windows build 2020-05-23 18:05:55 +02:00
Edwin Brady
1857e4b3fe Add flag for windows in support Makefile 2020-05-23 16:47:10 +01:00
Edwin Brady
006236fde8 Add racket bootstrap script 2020-05-23 16:08:43 +01:00
Edwin Brady
c8896290a6 Update scheme given network code move 2020-05-23 15:57:20 +01:00
Edwin Brady
e17f66244a Move network support to libidris2_support
This makes the support stuff much simpler, and also makes the racket
bootstrap process easier
2020-05-23 15:52:33 +01:00
Edwin Brady
561123d49d Update generated Scheme
Mostly because of the racket, which needs to put the libraries in the
right place to bootstrap properly.
2020-05-23 15:21:59 +01:00
Edwin Brady
e3df2d59b0 Tidy up Racket CG
Instead of dumping the required dynamic libraries in the working
directly, where the executable won't necessarily find them, take the
same approach as the Chez backend and create a subdirectory for the
required runtime files and use a shell script to start up with the right
library paths.
2020-05-23 15:18:18 +01:00
Niklas Larsson
14831bfd0a
Merge pull request #118 from melted/chez017
Fix comparison in gen_expected.sh
2020-05-23 16:06:39 +02:00
Niklas Larsson
4f97e0822b
Fix comparison in gen_expected.sh 2020-05-23 15:34:41 +02:00