Commit Graph

302 Commits

Author SHA1 Message Date
Edwin Brady
cae9162fcf Check under 'as' patterns for case arg usage 2019-07-20 18:57:03 +01:00
Edwin Brady
6dd18d798a Allow annotating functions with multiplicity
This means we can write truly type level only functions, by annotating
them with a 0 before the type declaration.
2019-07-20 18:04:18 +01:00
Edwin Brady
607e280895 Place implicits through to method bodies
This means that even if the relevant parameters aren't used by a method
body, the method can still see what the implicits are (though they will
be 0 multiplicity).

This is relevant to #8, but doesn't really fix it because we still need
a way of saying that methods are 0 multiplicity.
2019-07-20 16:25:40 +01:00
Edwin Brady
e902340346 Change elaboration of parent constraints
We need to turn pairs into separate constraints, which is a bit of a
hack but the constraints need to be separate in order to build the
chasing functions which find the parent constraints correctly.

Possibly there is a neater way, which is to teach the search algorithm
to look in the hints for pairs, but that's a lot more complicated (and
probably unnecessarily so).

Fixes #25
2019-07-19 11:51:40 +01:00
Edwin Brady
677ddea9c5 Only check determining arguments at the top level
They're just about deciding whether it's okay to start an auto implicit
search, not whether it's okay to continue search, which is part of the
problem in #25.
2019-07-18 20:32:03 +01:00
Edwin Brady
f35124e76a Add note to CONTRIBUTING.md
%default directives not yet implemented
2019-07-18 20:32:03 +01:00
Edwin Brady
623024d179
Merge pull request #28 from jfdm/add-either
Inclusion of Either within Base.
2019-07-18 20:31:51 +01:00
Edwin Brady
c52bd22523
Merge pull request #27 from shmish111/master
Add Data.Morphisms to base
2019-07-18 20:29:48 +01:00
Edwin Brady
aa446d5d39
Merge pull request #31 from diakopter/patch-1
add talk video link
2019-07-18 20:27:14 +01:00
Edwin Brady
b601abee9d
Merge pull request #22 from PeterHajdu/openbsd
Use fgetc instead of getc
2019-07-18 20:23:44 +01:00
Matthew Wilson
7fd70d5860
add talk video link 2019-07-18 15:06:42 -04:00
Edwin Brady
1dea5c2dc3 Update issue templates 2019-07-18 19:03:34 +01:00
Jan de Muijnck-Hughes
5823d6b294 Inclusion of Either within Base.
Straightforward port of Either from Idris to Idris2.
2019-07-18 16:32:19 +01:00
David Smith
96ec5f6b3a Add Data.Morphisms to base 2019-07-18 14:46:59 +01:00
Edwin Brady
b1081e6e04 Add missing export modifiers in Data.Vect
Lots were missing, and some were export, which should probably be public
export because the nature of Vect is that it could commonly be used in
types.

Fixes #13
2019-07-18 11:25:41 +01:00
Edwin Brady
d00a482667 Fix C calls from Chez
This hasn't been tested much (and indeed isn't in the test suite because
I haven't found the way to load shared objects nicely portably yet!) so
I hadn't noticed, but primitive types are translated to names before
compilation to support matching on types, so we need to account for
this.

Also, CG directives need to be processed after loading from ttc
2019-07-18 11:25:41 +01:00
Edwin Brady
d61e60c9e0 Update issue templates 2019-07-17 19:10:04 +01:00
Peter Hajdu
1265856698 Use fgetc instead of getc
On openbsd getc is a macro that expects its parameter to be FILE*
whereas the generated code provides void*.
2019-07-17 19:10:07 +02:00
Edwin Brady
aa3f4eb0be
Merge pull request #15 from ska80/fix-install-exec
Fix makefile's 'install-exec' target
2019-07-17 10:49:49 +01:00
Edwin Brady
ec4d498b2a
Add note about needing Idris master to README
A few people have reported issues that this won't build with Idris 1.3.1, which it won't. There's a note in INSTALL.md, but it's clearly not prominent enough! I will do a new release soon, but it does take time to do it properly!
2019-07-17 10:46:28 +01:00
Kamil Shakirov
85a1f9becc Fix makefile's 'install-exec' target 2019-07-15 12:42:54 +06:00
Edwin Brady
0d5dc8cc26 Check delay is allowed before delaying
We can't nest delayed elaborators (this is an efficiency constraint, to
prevent excessive searching for ambiguous names) to run elaborator
immediately if delays aren't allowed in delayElab
2019-07-14 11:23:58 +01:00
Edwin Brady
a9895771ab
Merge pull request #9 from diakopter/patch-1
install target depend on all target
2019-07-13 10:17:56 +01:00
Matthew Wilson
8167197a4b
idk 2019-07-12 07:06:25 -04:00
Matthew Wilson
b7a11bd22c
enable install-libs workflow and the typical install behavior 2019-07-12 07:04:36 -04:00
Edwin Brady
9f94606037 Finish Chapter 12 tests 2019-07-12 09:34:29 +02:00
Edwin Brady
39ee4ad9c8 Numeric range syntax 2019-07-12 09:32:36 +02:00
Edwin Brady
865f4380ca Merge branch 'master' of github.com:edwinb/Idris2 2019-07-12 09:03:30 +02:00
Edwin Brady
d969a6f356
Merge pull request #10 from diakopter/patch-2
typo? in TypeDD
2019-07-12 09:03:26 +02:00
Matthew Wilson
77c0d7c3e5
typo? in TypeDD 2019-07-11 23:14:08 -04:00
Matthew Wilson
8f4c35a7b5
install target depend on all target 2019-07-11 22:44:21 -04:00
Edwin Brady
4860d2b751 Add Range interface to prelude
This is part of what we used to have in Enum but I think it's better to
separate the two. Added implementations for Nat, and anything in
Integral/Ord/Neg, so that we get range syntax (at least when its
implemeted) for the most useful cases.
2019-07-11 23:38:25 +02:00
Edwin Brady
1cf9849a55 Add the bits of Chapter 12 that work
Still need enumeration syntax for the rest
2019-07-10 20:22:00 +02:00
Edwin Brady
fd4f90e331 Add some Control.Monad things
This required a small change to auto implicit search (and I'm still not
sure about this). Now search arguments right to left, because solving
later arguments may resolve earlier arguments by unification and this
can happen in particular when chasing parent interfaces (which may have
fewer parameters).
2019-07-10 20:18:40 +02:00
Edwin Brady
4fffea482b Tweak to auto search errors
Take the earliest failure message, since they'll typically be more
precise (later search groups being for chasing parent interfaces and
defaults). This is mostly as a heuristic to help show whether one part
of a pair failed in implicit search.
2019-07-10 19:12:13 +02:00
Edwin Brady
9f6a3fd2b8 Fix in scheme backend and test script
At least on Linux, \r needs to be in singles quotes as an argument to tr
or it removes all the 'r' instead! Hopefully it also works this way on
Windows...
2019-07-10 17:23:45 +02:00
Edwin Brady
a422294f36 Pass auto implicits through interfaces
This allows 'traverse' to work now (it was treating them as normal
implicits, so building the wrong form of application)
2019-07-10 17:23:33 +02:00
Edwin Brady
e5a71e758a Add records in their own namespace
These are 'nested' namespaces which are a bit special in that even
private names are visible from the enclosing namespace. This gets the
behaviour for record visibility from Idris 1.
2019-07-10 16:55:28 +02:00
Edwin Brady
1119c089bf Don't pass let bound things to with function
These are let bound things in the local environment, which could happen
if the with clause is in a where block.
2019-07-10 16:55:28 +02:00
Edwin Brady
046498f926
Merge pull request #5 from abailly/master
Add note on multithreading configuration when installing Chez Scheme
2019-07-10 16:06:17 +02:00
Arnaud Bailly
56b626e42e
Merge branch 'master' of github.com:abailly/Idris2 2019-07-10 15:21:21 +02:00
Arnaud Bailly
03ef5eda89
add note on multithreading support in Chez Scheme fix #3 2019-07-10 15:18:45 +02:00
Edwin Brady
c208bf0592
Merge pull request #4 from melted/win-support
windows support
2019-07-10 12:07:47 +02:00
Niklas Larsson
28438650d0 windows support 2019-07-10 01:51:41 +02:00
Edwin Brady
85274107ae Remove out of date samples 2019-07-09 13:31:25 +02:00
Edwin Brady
c0ef32d60f
Merge pull request #1 from asandroq/add_gitignore
Add `.gitignore` file
2019-07-09 10:42:08 +02:00
Alex Silva
8c68ed9f79 Add .gitignore file
This change adds the top-level "ignore" file for build artifacts.
2019-07-09 09:49:02 +02:00
Edwin Brady
38443e23a3 Need to build 'libs' before running tests 2019-07-09 09:31:35 +02:00
Edwin Brady
2487c30232 Adding missing test files 2019-07-09 09:22:50 +02:00
Edwin Brady
8a1a4ad56d
Update README.md
Fix typo
2019-07-09 00:05:01 +02:00