Ohad Kammar
915b7bea38
Add various instances from stdlib interfaces (Eq, Ord, DecEq)
...
For Void and Either
This is because I ended up using them elsewhere, so why not include them in the stdlib.
Also expose left/rightInjective functions, as are used in the DecEq proofs.
2020-07-26 10:47:38 +01:00
Giuseppe Lomurno
39f23ffd9b
Prec version of pretty interface
2020-07-24 15:19:17 +01:00
Giuseppe Lomurno
ab1f383912
Laziness annotations for performance
2020-07-24 15:19:17 +01:00
Giuseppe Lomurno
62524e8462
Tree representation for prettyprinting
2020-07-24 15:19:17 +01:00
Giuseppe Lomurno
3d51af46c2
Namespace change
2020-07-24 15:19:17 +01:00
Giuseppe Lomurno
eb659ba907
Added prettyprinting library
2020-07-24 15:19:17 +01:00
Niklas Larsson
8a210d536e
Merge pull request #408 from melted/buffer_api
...
Add concatBuffers and splitBuffer to Data.Buffer
2020-07-21 10:43:17 +02:00
Jonathan Chan
dab2b0d146
Export (~>)
publicly.
...
If `(~>)` isn't publicly exported, the type checker doesn't know that `Mor` constructs something of type `~>`.
2020-07-20 15:55:24 +01:00
Edwin Brady
f303e469fb
Improve elaborator reflection performance
...
In a 'Bind', normalise the result of the first action, rather than
quoting the HNF. This improves performance since the HNF could be quite
big when quoted back.
Ideally, we wouldn't have to quote and unquote here, and we can probably
achieve this by tinkering with the evaluator.
This has an unfortunate effect on the reflection002 test, in that the
"typed template Idris" example now evaluates too much. But, I think the
overall performance is too important for the primary motivation
behind elaborator reflection. I will return to this!
2020-07-17 15:18:23 +01:00
Mark Barbone
acda3b44a9
Make Text.Parser.between lazy ( #385 )
2020-07-14 14:33:22 +01:00
G. Allais
0908e76515
[ fix #346 ] Pull List.length into prelude ( #450 )
2020-07-14 12:15:57 +01:00
Nicolas Biri
aba76206c9
Remove dependency to Vector length in deleteAt
2020-07-14 09:45:33 +01:00
Nick Drozd
e14a589e90
Consolidate boolean expressions
2020-07-12 21:00:33 -05:00
Nick Drozd
6519b5608d
Further simplify List
2020-07-12 21:00:33 -05:00
Nick Drozd
718da3d7e6
Simplify Vect
2020-07-12 20:59:00 -05:00
Edwin Brady
6a53e0177c
Reorganise prelude into multiple files
...
This is partly to tidy things up, but also a good test for 'import as'.
Requires some internal changes since there are parts of reflection,
unelaboration and a compiler hack that rely on where things are in the
Prelude.
2020-07-12 16:55:48 +01:00
Edwin Brady
b3bb73cfd6
Merge pull request #455 from edwinb/export-nat-prfs
...
Data.Nat proofs should be exported
2020-07-10 23:30:09 +01:00
Edwin Brady
58e28170ac
Data.Nat proofs should be exported
...
I assumed these were copied directly from the Idris 1 libraries, where
there was an %access directive that we don't have any more.
2020-07-10 22:59:46 +01:00
Jan de Muijnck-Hughes
5774a9c6ae
If we know the types of a
& b
start searching.
...
This is helpful when defining auto-implicits of the form:
pairEqF : DecEq a
=> (thisX, x, y : a)
-> {prfRefl : Equal x thisX}
-> (prfEq : decEq x thisX = Yes prfRefl)
=> Pair a a
pairEqF thisX x y {prfRefl} {prfEq} = MkPair x y
before auto-implicit search would fail to find `Refl` for `prfRefl`.
With this fix the solution is found.
This fix means we can avoid having to write the following.
pairEqF' : DecEq a
=> (thisX, x, y : a)
-> (prfEq : decEq x thisX = Yes (the (Equal x x) Refl))
=> Pair a a
pairEqF' thisX x y {prfEq} = MkPair x y
2020-07-10 21:00:38 +01:00
Jan de Muijnck-Hughes
fcbfcf6fe2
Added take
to Vect.
2020-07-10 21:00:38 +01:00
Ohad Kammar
eceaf98007
Generalise cons-specialised linear zipWith to linear zipWith (lzipWith)
2020-07-10 17:17:19 +01:00
Ohad Kammar
8f09ef9b93
Include a (non-linear) definition for transpose that uses zipWith,
...
as it might be easier to reason about, since users may already have proved
stuff about zipWith that they want to reuse
2020-07-10 12:47:05 +01:00
Matthew Ess
6452cdbbd4
Add Ord
implementation for Either
( #439 )
2020-07-09 19:28:59 +01:00
Edwin Brady
23cbc28b1d
Merge pull request #415 from rbarreiro/javascript
...
Javascript
2020-07-08 22:27:58 +01:00
Niklas Larsson
fc6b184106
Remove prim__cCall
...
It's not used anymore and %foreign is preferred.
2020-07-08 11:45:41 +02:00
Matus Tejiscak
3484510f5a
Implement postfix dotted application.
2020-07-07 21:06:35 +01:00
Rui Barreiro
2feb4b8299
Merge branch 'master' of github.com:idris-lang/Idris2 into javascript
2020-07-07 14:18:00 +01:00
Markus Pfeiffer
63ddd149ed
Remove a superflousy declared argument to idris2_openFile
...
This didn't cause a problem before as it was likely just ignored by the C
function. According to Edwin the extra argument is a leftover from when this
was a pure scheme call.
2020-07-07 11:44:37 +01:00
Nick Drozd
2ae6e06565
Simplify Fin
2020-07-07 10:48:23 +01:00
Nick Drozd
7d1ee9dd08
Simplify Equality
2020-07-07 10:48:23 +01:00
Nick Drozd
48fe4382eb
Simplify List
2020-07-07 10:48:23 +01:00
Nick Drozd
877f3702ad
Simplify Maybe
2020-07-07 10:48:23 +01:00
Nick Drozd
465be9cb86
Simplify Either
2020-07-07 10:48:23 +01:00
Nick Drozd
faabbfcea1
Add some Uninhabited implementations
2020-07-07 10:48:23 +01:00
Nick Drozd
7c923944ae
Add %default total
to a few modules
2020-07-07 10:48:23 +01:00
Michael Birch
5c9339bde8
Merge sort implementation for Vect ( #417 )
2020-07-07 10:25:42 +01:00
Rui Barreiro
3acc30599e
Merge branch 'master' of github.com:idris-lang/Idris2 into javascript
2020-07-06 17:09:11 +01:00
Rui Barreiro
68c9990c8a
moved big foreign functions to support and added outputDir
2020-07-06 16:58:02 +01:00
Niklas Larsson
52c6db09d1
Add <?> for replacing error messages
2020-07-06 14:13:56 +02:00
Niklas Larsson
60a067fab1
Remove dumpState
2020-07-06 13:57:13 +02:00
Rui Barreiro
b3216758e9
Merge branch 'master' of github.com:idris-lang/Idris2 into javascript
2020-07-06 11:32:59 +01:00
Niklas Larsson
5060eaafaf
Make things public export to work with bootstrap
2020-07-05 21:51:12 +02:00
Niklas Larsson
af83c9303b
Add test and documentation
2020-07-05 21:51:12 +02:00
Niklas Larsson
d779c85df4
Add optional
2020-07-05 21:51:11 +02:00
Niklas Larsson
0e51124a43
Add option
2020-07-05 21:51:11 +02:00
Niklas Larsson
bba15974a5
Add takeWhile
...
add substring and length primitives to Data.Strings
2020-07-05 21:51:11 +02:00
Niklas Larsson
39535bf11a
Add lifting
2020-07-05 21:51:11 +02:00
Niklas Larsson
d97789190d
Add bounds checking
2020-07-05 21:51:11 +02:00
Niklas Larsson
f290c6c3ce
Start on a simple string parser
2020-07-05 21:51:11 +02:00
Edwin Brady
7a0b25f994
Merge pull request #369 from cypheon/tailrec-unpack
...
Make Prelude.unpack tail-recursive
2020-07-05 14:11:02 +01:00