Commit Graph

462 Commits

Author SHA1 Message Date
Niklas Larsson
d2e8625561 Add folding001 test to cabal 2015-04-16 23:16:55 +02:00
Edwin Brady
888338a0be Merge branch 'master' of github.com:idris-lang/Idris-dev 2015-04-14 20:05:20 +01:00
Edwin Brady
c380421706 Move ElabTerm into Elab.Term 2015-04-12 12:45:42 +01:00
Niklas Larsson
68d844cdf8 Added a test for bignums 2015-04-10 09:49:28 +02:00
Edwin Brady
7f9fba59b5 Allow adding new effects in Eff programs
This is only allowed if there is a handler for all computation contexts
the program could run in. In particular, if the program is in 'Eff'
rather than 'EffT', then it is only valid for 'pure' handlers, like
State.

Note that, as a result, the effects a program can run isn't now limited
to the top level set of effects. In the case of 'pure' effects, such as
State or Rnd, I argue that this is okay. In the case of external effects
such as IO related effects, you can only add effects if the top level
context is impure. Again, I argue that this is okay - if you don't want
to add impure effects, keep the top level context generic.

Also added a test (by way of example) in effects004
2015-04-05 20:25:13 +01:00
Niklas Larsson
b9b19e578f Implement bundled toolchain feature 2015-04-02 17:21:08 +02:00
David Christiansen
e5384b9b12 Merge pull request #2080 from jstolarek/T2080
Idris does not build with GHC 7.10.1
2015-04-01 10:51:26 +02:00
Jan Stolarek
0f86748e50 Fix build errors with GHC 7.10.1. Fixes #2080 2015-03-31 15:15:56 +02:00
David Raymond Christiansen
a13b22ca9d Merge branch 'lambda-impossible' of https://github.com/Melvar/Idris-dev into Melvar-lambda-impossible 2015-03-31 11:24:23 +02:00
Edwin Brady
13a36a3d32 Annotate functions as %hint for auto search
This allows extra hints, as well as constructors, to guide proof search
for auto implicit arguments.
Added test proof010 which shows how this works to simulate type classes
with overlapping instances (and consequently no injectivity restriction
or assumption)

%hint only works on functions which return an instance of a data type.
Proof search exhaustively searches hints and constructors, so use with
care especially when adding lots of recursive or overlapping hints.
2015-03-29 21:24:04 +01:00
Edwin Brady
73ea02b205 Remove Buffer and BitVector from parser
They are not properly tested, and ideally should be implemented via FFI
in specific back ends.
2015-03-28 17:47:05 +00:00
Edwin Brady
c4132807f0 String in C is now UTF8 encoded
Primitives for head/tail/index/cons/reverse/length now all assume the
char* is UTF8 encoded.  Also updated generation of literals to encode as
UTF8.  Primitives are probably not as efficient as they could be (though
some of the will be used rarely)

ASCII strings will work exactly as before.

Everything I know about UTF8 encoding has been learned in the past few
hours. Therefore, this is unlikely to be the best way to do this. Please
educate me, ideally in the form of annotated Pull Requests :).
2015-03-28 17:13:59 +00:00
Melvar Chen
fc9839cd0a Add test for impossible in lambda and case 2015-03-27 23:38:40 +01:00
Edwin Brady
9866d4888b Increment patch version number 2015-03-23 19:51:58 +00:00
Edwin Brady
2d503f1c8a Fix interactive prover
safeForget broke things due to missing case. Also added a test to ensure
it doesn't happen again.
2015-03-23 19:51:15 +00:00
David Raymond Christiansen
14b702511f Merge remote-tracking branch 'refs/remotes/upstream/master' into issue/1172
Conflicts:
	idris.cabal
2015-03-22 10:50:29 +01:00
Edwin Brady
5bd490b6c5 Version number increment 2015-03-21 13:54:07 +00:00
David Christiansen
abe0f322a0 Merge pull request #2027 from david-christiansen/issue/2019
Better documentation display for instances
2015-03-20 23:23:09 +00:00
Edwin Brady
be1569e66d Fix type class name propagation issue
We weren't shadowing names correctly when a class was parameterised on a
single variable and one of the methods bound the same name. This almost
never happens, but leads to very odd error messages when it does.

Fixes #2026
2015-03-20 19:55:51 +00:00
David Raymond Christiansen
50d7dce425 Prevent variable capture when desugaring custom syntax
Fixes #1172.
2015-03-20 16:51:40 +01:00
David Raymond Christiansen
beda221e93 Improve display of documenation for named instances 2015-03-20 14:01:49 +01:00
David Christiansen
3d818586c3 Merge pull request #2007 from david-christiansen/library-reorg
Initial reorganization into contrib
2015-03-20 10:17:48 +00:00
David Raymond Christiansen
c2b162770c Remove base/Network from cabal file 2015-03-20 09:29:34 +01:00
David Raymond Christiansen
4e34dfd519 Update library list in cabal file 2015-03-20 07:49:04 +01:00
David Raymond Christiansen
2d311c14d1 Fixes from library reorg 2015-03-19 19:13:21 +01:00
Andreas Reuleaux
174395b22c Merge remote-tracking branch 'upstream/master' into issue2004 2015-03-19 15:36:23 +00:00
David Raymond Christiansen
2be0cf8183 Merge remote-tracking branch 'upstream/master' into library-reorg 2015-03-19 16:08:13 +01:00
David Raymond Christiansen
9367f93b4b Fix cabal file 2015-03-19 16:05:28 +01:00
David Raymond Christiansen
e6c5588fcc Move Network code to contrib 2015-03-19 14:11:39 +01:00
Edwin Brady
15737d9c4b Trickiness with implicits in dependent classes
Need to expand implicits for methods in the dictionary declarataion, but
not quite the same way as for the top level function of the same name
(i.e. need to leave out the dictionary itself).

Fixes #1975
2015-03-19 12:56:05 +00:00
David Raymond Christiansen
059dafbe6c Move System.Concurrency.Raw back to base 2015-03-19 11:02:17 +01:00
Andreas Reuleaux
aa338657cc Merge remote-tracking branch 'upstream/master' into issue2004 2015-03-18 09:55:54 +00:00
Andreas Reuleaux
1bf27316b5 issue #2004 resolved by --consolewith cmd line param 2015-03-18 09:55:37 +00:00
David Raymond Christiansen
2a702964e6 Merge remote-tracking branch 'refs/remotes/upstream/master' into wip/tactical 2015-03-17 21:22:57 +01:00
David Raymond Christiansen
c2dc6ec7dd Allow new-style tactics to declare function signatures
Docs forthcoming.
2015-03-17 21:22:03 +01:00
Edwin Brady
b4938580b2 Add -f execonly to omit library/rts builds
This reduces the compile/test cycle time in development when there's no
effect on the libraries.
2015-03-17 11:40:12 +00:00
David Raymond Christiansen
30fe3d7c03 Update cabal file for reorganization 2015-03-17 10:53:55 +01:00
Adam Sandberg Eriksson
774e2fea98 Add type providers docs test case to cabal file 2015-03-14 01:18:33 +01:00
Adam Sandberg Eriksson
ccc2af014a instance docs: rename testcase 2015-03-13 22:46:21 +01:00
Adam Sandberg Eriksson
c72c60a7f2 Instance docs: add test case to cabal file 2015-03-12 16:11:08 +01:00
Edwin Brady
e9c96d40c4 Add test for FFI export (ffi006) 2015-03-07 22:09:52 +00:00
Edwin Brady
f7648db74e Foreign export lists in IO
Not yet used, but this patch adds types in IO.idr, and treats them as
always reachable in erasure analysis.
2015-03-07 22:09:51 +00:00
David Raymond Christiansen
a1c42ad4c9 Add "rewrite" to new-style tactics 2015-03-02 22:02:36 +01:00
David Raymond Christiansen
b04814059f Overloaded quasiquotations
Now, quasiquotations can generate Raw terms in addition to TT terms.
2015-02-20 08:29:24 +01:00
David Raymond Christiansen
f17606a49a "claim" and "unfocus" tactics
This commit introduces:
 * A new tactic "claim N TY" that introduces a new hole named N with
   type TY
 * A new tactic "unfocus" that moves the current hole to the bottom of
   the hole stack

In the process of this and some other work, I also added comments and
docs to more of the core.
2015-02-17 14:19:45 +01:00
Edwin Brady
c918f44d4b Merge branch 'master' of github.com:idris-lang/Idris-dev
Conflicts:
	src/Idris/Core/Elaborate.hs
2015-02-14 14:05:25 +00:00
Edwin Brady
26cfbe9e1e Scoped implicits fix
If after an application there are more implicit arguments expected, add
those arguments then re-elaborate the application - we often don't know
what these arguments will be until after elaborating the application
because the application itself may compute a type.

Fixes #1899
2015-02-14 13:58:06 +00:00
David Raymond Christiansen
b85b2eb77d Rename ideslave to ide-mode
This patch changes the name of the machine-readable REPL syntax from
ideslave to ide-mode. The old command line options still work, but are
announced as deprecated for a while.
2015-02-12 08:02:09 +01:00
Edwin Brady
725821bd13 Constraint blaze-markup to fix builds 2015-01-31 12:42:50 +00:00
Edwin Brady
e4cf620eed Merge branch 'master' of github.com:idris-lang/Idris-dev 2015-01-31 12:30:09 +00:00