Commit Graph

1429 Commits

Author SHA1 Message Date
Edwin Brady
fe602caa2c
Merge pull request #765 from ShinKage/ide-mode
IDEMode syntax option and fixed output
2021-01-12 10:39:44 +00:00
Edwin Brady
d4abbfdae2 Add HasLinearIO
Ideally, liftIO would always be linear, but that has lots of knock-on
effects for other monads which we might want to put in HasIO, now that
subtyping is gone. We'll have to revisit this when we have some kind of
multiplicity polymorphism.
2021-01-11 11:24:43 +00:00
stefan-hoeck
530e62a156 Eq, Ord, and Show instances for LazyList 2021-01-11 11:45:56 +01:00
stefan-hoeck
c39df89f84 deleted 'head' from Data.Stream 2021-01-11 09:36:13 +00:00
stefan-hoeck
31f50a793c added prelude function 'on' 2021-01-11 05:26:17 +01:00
stefan-hoeck
c1912cb212 Monad prerequisite for Semigroup instance 2021-01-11 05:05:33 +01:00
stefan-hoeck
e71c7b8946 added MaybeT monad transformer to base 2021-01-08 06:04:41 +01:00
André Videla
3478297557
Merge pull request #905 from alebahn/master
Add public export to types/functions in Data.Fin.Order
2021-01-07 13:46:23 +00:00
André Videla
e99a9b0c84
Merge pull request #901 from andrevidela/fold-count
Add count and foldMap to prelude
2021-01-06 19:29:50 +00:00
Mathew Polzin
ef366033e7
Apply suggestions from code review
Co-authored-by: André Videla <andre.videla@gmail.com>
2021-01-05 20:26:18 -08:00
André Videla
01db40f3af
Merge pull request #897 from VoidNoire/master
test: Change function definitions in "Generic.idr".
2021-01-06 02:49:25 +00:00
André Videla
28c4d1e3bb Add count and foldMap to prelude 2021-01-05 21:59:01 +00:00
André Videla
e4fcd4a089
Merge pull request #900 from andrevidela/vect-snoc
Add `snoc` to Data.Vect
2021-01-05 21:54:47 +00:00
Michael Messer
a1f3424ab8 Remove lamdaRequire 2021-01-05 16:30:11 +00:00
Aaron Lebahn
ce6465e279 Add public export to types/functions in Data.Fin.Order 2021-01-05 07:56:04 -06:00
André Videla
738c9d77d2 Add snoc to Data.Vect
Snoc add an element at the end of the vector. The main use case
for such a function is to get the expected type signature
Vect n a -> a -> Vect (S n) a instead of
Vect n a -> a -> Vect (n + 1) a which you get by using `++ [x]`

Snoc gets is name from `cons` by reversin each letter, indicating
tacking on the element at the end rather than the begining.
`append` would also be a suitable name.
2021-01-03 21:48:31 +00:00
Mathew Polzin
2b58434b6e Add test for type search 2021-01-03 13:35:58 -08:00
Mathew Polzin
6d82bf2f5d rename again, move arrows to more common place for functions in this file. 2021-01-03 13:04:59 -08:00
Mathew Polzin
762a5470be ditch unused variables, show full namespaced name of found search results that don't have docs 2021-01-03 13:02:27 -08:00
Mathew Polzin
2295ea73ca remove logging 2021-01-03 11:59:56 -08:00
Mathew Polzin
b9bd65a497 undo unneeded export 2021-01-03 11:53:20 -08:00
Mathew Polzin
0b0c9b33a4 rename proof search to type search 2021-01-03 11:43:58 -08:00
Mathew Polzin
34bfb159f2 remove unneeded stuff, rename a function. 2021-01-03 11:27:19 -08:00
Mathew Polzin
ab05d941c2 clean code up with catch 2021-01-03 10:31:24 -08:00
Mathew Polzin
72736ed292 Merge branch 'master' into scratch-work-search-repl 2021-01-03 10:15:18 -08:00
André Videla
2a948d1e2e
Merge pull request #889 from JonathanLorimer/add-rlwrap-to-docs
Add rlwrap information to docs
2021-01-03 15:21:57 +00:00
Jesse Ira Abadilla
372df16726 test: Change function definitions in "Generic.idr". 2021-01-01 14:44:53 +00:00
Felix Springer
54d400dad4
Add countExactly to Text.Parser in libs/contrib to return a Vect (#875) 2021-01-01 10:01:42 +00:00
russoul
79d0cd1ba6 Add withIteratorString 2020-12-31 20:36:07 +03:00
Michael Messer
709b97c2d7
Add it to REPL (#887)
Co-authored-by: Michael Messer <michaelmesser@users.noreply.github.com>
2020-12-29 23:52:03 +00:00
Jonathan Lorimer
4bc1d17506 add command history faq 2020-12-29 16:52:04 -05:00
Edwin Brady
3b987b10e9 Another multiplicity subtyping fix 2020-12-29 21:47:53 +00:00
Edwin Brady
cc6530026d Merge github.com:idris-lang/Idris2 into no-linearity-subtyping 2020-12-29 21:37:56 +00:00
Edwin Brady
8d034a0a91 Relax some linearities in the base libraries 2020-12-29 21:34:35 +00:00
Edwin Brady
69cb7c6ac4 Relax linearities in prelude 2020-12-29 21:32:01 +00:00
Edwin Brady
b75dcd5c17 Some multiplicity fixes in the libraries 2020-12-29 21:25:00 +00:00
Edwin Brady
d67a6fd444
Merge pull request #740 from Russoul/name-at
Add NameAt to Ide mode
2020-12-29 21:04:49 +00:00
Edwin Brady
69837453a2
Merge pull request #888 from edwinb/build-from-previous
Add CI action to build from older version
2020-12-29 20:48:44 +00:00
Jonathan Lorimer
47df67af16 add rlwrap docs 2020-12-29 14:55:00 -05:00
Edwin Brady
8026c377a5 Skip the tests when building previous version
After all, we tested it when we shipped it. Didn't we?
2020-12-29 19:43:19 +00:00
Michael Messer
9a20564bb4 Add :! to REPL
Runs shell command
2020-12-29 19:19:43 +00:00
Edwin Brady
b02f3e7cec Add CI to build from previous version
This is a first attempt so I've probably got something wrong...
In theory, it ought to be possible to skip the tests for the previous
version. All we're interested in here is whether it builds successfully,
to check that we haven't broken any APIs and not noticed.
2020-12-29 19:17:03 +00:00
Edwin Brady
4dbfbf1943
Merge pull request #886 from edwinb/compatibility
Compatibility fixes
2020-12-29 17:24:23 +00:00
Edwin Brady
0f714f68e0 Compatibility fixes
For compatibility with previous library verions, so that we can build
with 0.2.1(+patches) as well as bootstrapping.
2020-12-29 16:36:12 +00:00
Joey Eremondi
0eef8e58f9
Some utilities for Fin, relations and decidability (#857) 2020-12-28 21:41:12 +00:00
Edwin Brady
5b97cd4499 Fix annotaion in Stream 2020-12-27 20:13:21 +00:00
Edwin Brady
61ba5e086f Fix linearity annotation in take
Hopefully this fixes the bootstrap build
2020-12-27 20:11:06 +00:00
Edwin Brady
ad632d825d Remove linearity subtyping
It's disappointing to have to do this, but I think necessary because
various issue reports have shown it to be unsound (at least as far as
inference goes) and, at the very least, confusing. This patch brings us
back to the basic rules of QTT.

On the one hand, this makes the 1 multiplicity less useful, because it
means we can't flag arguments as being used exactly once which would be
useful for optimisation purposes as well as precision in the type. On
the other hand, it removes some complexity (and a hack) from
unification, and has the advantage of being correct! Also, I still
consider the 1 multiplicity an experiment.

We can still do interesting things like protocol state tracking, which
is my primary motivation at least.

Ideally, if the 1 multiplicity is going to be more generall useful,
we'll need some kind of way of doing multiplicity polymorphism in the
future. I don't think subtyping is the way (I've pretty much always come
to regret adding some form of subtyping).

Fixes #73 (and maybe some others).
2020-12-27 19:58:35 +00:00
Edwin Brady
7e8ef1f10e
Merge pull request #878 from edwinb/localhint
Treat local hints differently in auto search
2020-12-27 14:18:06 +00:00
Edwin Brady
69f3c23cbb Treat local hints differently in auto search
Local hints need to reduce (just like global hints do) so we expand
their definition to the lifted name before applying them.
We're identifying the global hints by knowing that the binder name is a
nested function name. This is a bit of hack, and it'd probably be better
to record that information in the binder instead, but that's a more
substantial change than I want to do right now.
2020-12-27 13:41:48 +00:00