Commit Graph

399 Commits

Author SHA1 Message Date
Edwin Brady
9fb820f659 Re-evaluate type on delayed alternative elab
Fixes #92, because it wasn't re-evaluating the type and establishing
that the thing it was looking for must be a Fin for fromInteger so
resorting to the default integer literal instead.
2019-08-22 12:36:36 +02:00
Edwin Brady
fb11b89a4e Make some things public export
Anything which might appear in types should be! Fixes #93
2019-08-21 17:44:17 +02:00
Edwin Brady
c01986a62e Preserve order of arguments in unification
Sometimes we swap the arguments, to reduce code duplication, but we need
to remember we've done that since (1 x : a) -> b is valid for an
argument of type (x : a) -> b, but not vice versa (that is, we have a
teensy bit of subtying to deal with, for convenience...).

This fix seems a bit ugly, but we do at least now propagate the
information. Fixes #82.
2019-08-16 11:32:16 +01:00
Edwin Brady
a87a3c14c2 Delay should always delay, not just under Inf
I don't know why I originally made it 'Inf' only in the evaluator... but
we certainly want 'Lazy' delays to block too, especially if they're
guarding non-terminating computations.
2019-08-06 14:54:27 +01:00
Edwin Brady
9bb91b5656 Allow deferring definitions to other modules
This is supported by Idris 1 and is handy for breaking cycles in
modules. To achieve this, we just need to make sure that complete
definitions aren't overwritten with empty definitions on loading.
2019-08-06 13:33:30 +01:00
Edwin Brady
010ec7a757 Add :m/:metavars command to REPL 2019-08-06 11:50:11 +01:00
Edwin Brady
10b975184c
Merge pull request #69 from jfdm/fix-rtd-config
Improve RTD config.
2019-08-01 11:23:02 +01:00
Edwin Brady
6edd724531 Update %cg directives documentation 2019-08-01 11:22:16 +01:00
Edwin Brady
0b692e4379 Pack/unpack should be public export
They're likely to be useful when manipulating strings in proofs.
2019-08-01 11:18:04 +01:00
Edwin Brady
cb0ba4ef6a
Merge pull request #61 from abailly/document-cg-directive
document %cg code generation directive for DLL loading
2019-08-01 11:16:53 +01:00
Edwin Brady
3152712df2 Merge branch 'abailly-network-lib' 2019-08-01 11:14:37 +01:00
Edwin Brady
89eb495d97 Merge branch 'network-lib' of https://github.com/abailly/Idris2 into abailly-network-lib 2019-08-01 11:11:45 +01:00
Jan de Muijnck-Hughes
79729935ea Improve RTD config.
+ Sphinx can read CommonMark formatted files, so let us allow that capability.
+ Improve .gitignore to ignore sphinx build directories.
2019-07-31 14:07:16 +01:00
Arnaud Bailly
f66d681893
linked libraries should be after the source file referencing them
http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html
2019-07-31 14:13:32 +02:00
Edwin Brady
e95c5f7571 Remove unnecessary check from let elaboration
Checking the let expression in full can break sharing when unifying the
types, and it's unnecessary because we've already checked the type of
the scope unifies with the expected type.
Fixes #63
2019-07-31 10:10:47 +01:00
Arnaud Bailly
f06a635630
make library loading directive documentation specific to chez 2019-07-30 18:41:31 +02:00
Edwin Brady
f39b736110
Merge pull request #66 from abailly/no-prelude
check noprelude option when starting up without loading a file
2019-07-30 16:47:08 +01:00
Arnaud Bailly
ff7180e6b5
check noprelude option when starting up without loading a file #65 2019-07-30 13:56:27 +02:00
Edwin Brady
147d81f8ff Forgot to add test files! 2019-07-30 12:33:49 +01:00
Edwin Brady
47ad8ee7f5 Propagate implicits to with clauses
Fixes #57. Also move much of the 'with' machinery to its own source
file.
2019-07-30 12:32:33 +01:00
Edwin Brady
7e1c24a559 Elaborate default methods at given multiplicity 2019-07-29 14:53:01 +01:00
Arnaud Bailly
d600a3980c
added back missing file extension 2019-07-29 13:15:52 +02:00
Arnaud Bailly
a646575f00
document %cg code generation directive for DLL loading 2019-07-29 12:47:05 +02:00
Arnaud Bailly
ec402c3c4a
reference idris_net library as idris_net.so for all OSes 2019-07-29 12:46:23 +02:00
Arnaud Bailly
fbfa74d48d
Revert "load library using OS-dependent names"
This reverts commit 9e7d79cb65.
2019-07-28 23:00:29 +02:00
Arnaud Bailly
4d3e190e90
Merge branch 'master' of https://github.com/edwinb/Idris2 into network-lib 2019-07-28 23:00:07 +02:00
Arnaud Bailly
9e7d79cb65
load library using OS-dependent names 2019-07-28 22:53:08 +02:00
Arnaud Bailly
75459e7fca
fix execution of network test to correctly load library 2019-07-28 22:53:05 +02:00
Edwin Brady
e6cf936331 Make sure hole names are unique
Fixes #6
2019-07-28 21:04:55 +01:00
Edwin Brady
e7054500e4
Merge pull request #60 from chrrasmussen/run-individual-tests
Run individual tests (Fixes #23)
2019-07-28 20:17:28 +01:00
Christian Rasmussen
e82a0c6acb Add instructions on how to run a subset of the tests 2019-07-28 20:21:34 +02:00
Edwin Brady
aaaf3a873b Check implicit searches are complete
Fixes #55
2019-07-28 18:27:43 +01:00
Christian Rasmussen
54f00e9247 Run individual tests (Fixes #23) 2019-07-28 18:54:23 +02:00
Edwin Brady
56a09b033f
Merge pull request #59 from clayrat/empty-modules
Allow empty modules
2019-07-28 15:25:46 +01:00
Edwin Brady
db18f08e49
Merge pull request #54 from ether42/unrecognised
Make it a little easier to debug IDE mode
2019-07-28 15:25:20 +01:00
Edwin Brady
b3c53a3b54
Merge pull request #53 from ether42/master
Only display IDE port when listening
2019-07-28 15:23:44 +01:00
Edwin Brady
f1a4e0c09d Change elaboration of lets
Elaborate the scope of a let without the computational behaviour,
meaning that `let x = v in e` is equivalent to `(\x => e) v`. This makes
things more consistent (in that let bindings already don't propagate
inside case or with blocks) at the cost of not being able to rely on the
computational behaviour in types. More importantly, it removes a
significant potential source of slowness.

Fixes #58

If you need the computational behaviour, you can use a local function
definition instead.
2019-07-28 13:43:01 +01:00
Edwin Brady
d5409ac2d0 Add 'libs' directory to paths
This is for finding support libraries for code generators, e.g. the
shared objects that chez will load for glue code for foreign libraries.
It'll be used more shortly...
2019-07-28 11:48:00 +01:00
Alex Gryzlov
fb832cb49c allow empty modules 2019-07-28 12:43:25 +03:00
Arnaud Bailly
f6b746e7ac
set LD_LIBRARY_PATH for network tests to run 2019-07-28 09:53:33 +02:00
Edwin Brady
0bb9a13d37 Update method names when checking default methods
Fixes #42. If we don't do this, the name is treated in the saem way as
an unbound implicit, which is not what we want, so update with the
method applied to the parameters.
2019-07-27 17:01:02 +01:00
Arnaud Bailly
02978c81fc
Merge branch 'master' of https://github.com/edwinb/Idris2 into network-lib 2019-07-27 17:27:49 +02:00
Kevin Boulain
86b1e43274 Make it a little easier to debug IDE mode 2019-07-27 15:58:22 +02:00
Edwin Brady
19a079511d
Merge pull request #51 from clayrat/record-fix
fix implicit/brace block ambiguity in records
2019-07-27 13:58:13 +01:00
Kevin Boulain
45329df3a5 Only display IDE port when listening 2019-07-27 14:47:37 +02:00
Edwin Brady
81fefed3f3 No need to decorate implicit record fields 2019-07-27 13:19:49 +01:00
Edwin Brady
cd20ebe1af Merge branch 'abailly-check_version' 2019-07-27 12:40:19 +01:00
Edwin Brady
1a4be09f23 Merge branch 'check_version' of https://github.com/abailly/Idris2 into abailly-check_version 2019-07-27 12:31:23 +01:00
Edwin Brady
9a38d4a36d Merge branch 'clayrat-data-list' 2019-07-27 12:10:08 +01:00
Edwin Brady
0e8f10d151 Merge branch 'data-list' of https://github.com/clayrat/Idris2 into clayrat-data-list 2019-07-27 12:09:20 +01:00