Commit Graph

1148 Commits

Author SHA1 Message Date
Thomas E. Hansen
8c76118f2f [ papers ] Finish Search.CTL
* Switch to `Inf` to actually use codata/corecursion.
* Add `%hint`s to mark the interface implementations as such, despite
  use of a record for `DepthInv` (this is necessary for other stuff).
* Pass in `Oh` to `reaches10.evidence` in order for things to work.

With huge thanks to gallais for helping me put the final things in
place!

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
0d72964f21 [ papers ] Missed some public exports 2022-10-05 14:30:08 +02:00
Thomas E. Hansen
eb4749d381 [ papers ] Figure out types, start termination check
Termination checking needs figuring out. There is some funky stuff going
on with the half-deciders and their constructors. Other than that, I
**think** it's nearly done. God knows how much RAM it'll take though...
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
6421973282 [ papers ] Add mutex and starv-free properties 2022-10-05 14:30:08 +02:00
Thomas E. Hansen
5742afe3a5 [ papers ] Set the stage for mc-ing Peterson's alg 2022-10-05 14:30:08 +02:00
Thomas E. Hansen
8ca48e0033 [ papers ] Implement reaches10 proof
Seems to be very slow though...
And Idris is unable to find the depth-inv instance for `r10Proof`.
Could be that auto-search is not as strong as Agda's? Or more likely,
I've set things up slightly wrong...
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
5f48fbe857 [ papers ] Add derived GCL control structures 2022-10-05 14:30:08 +02:00
Thomas E. Hansen
92ed8607e3 [ papers ] Start implementing GCL
I am upset about the amount of computation done in that view...
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
b3a8d344e4 [ papers ] Implement proof-search for EF, AF, EG, AG
This also caught an implementation error in the Global formula
definitions:
AG f = A[ f U (f AND' Completed) ]
and **not**
AG f = A[ (f U f) AND' Completed ]
(both of which are valid parsings of the original
 AG f = A[ f u f AND' Completed]
 )
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
f96b25a3d7 [ papers ] Keep AF, EF, AG, EG naming consistent 2022-10-05 14:30:08 +02:00
Thomas E. Hansen
81df879c77 [ papers ] Define Finally operators 2022-10-05 14:30:08 +02:00
Thomas E. Hansen
58b6ccdaf3 [ papers ] Change to LazyList for Computation Tree
This makes more sense in terms of `EU` being efficient and only
evaluating as much as it needs to. However, I'm not sure `model.follow`
is implemented correctly (Agda delays the call to `model.followAll`,
which I'm unsure if we can do (and if so, how to do it) in Idris)...
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
68f8e69ea2 [ papers ] Impl.t proof-search for AU and EU
This reveals an unfortunate problem/misunderstanding: For `ExistsUntil`
to make sense, in terms of evaluation speedups, the list needs to be
lazy. Which is _not_ what `Lazy (List a)` does /!\
I need to switch to LazyList...
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
40780c8f85 [ papers ] Figure out isCompleted by trial and error
And here's a good case against allowing custom unicode syntax:
〈$〉 is `<$>`, i.e. the infix notation for `map`. That's fine; If you
happen to know it!
ESPECIALLY, if your paper defines 〈_〉 as custom notation for a guarded
expression! Then there is **no way** to tell that the expression 〈$〉
is not a guarded expression over `$`, but is instead the alias for
`map`!! You just have to magically know this beforehand!

We also need an explicit `Lazy` annotation for Idris to be happy with
the implicit `ms` in the `IsCompleted` constructor.
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
67218e3eac [ papers ] Move LTE' outside parameters block 2022-10-05 14:30:08 +02:00
Thomas E. Hansen
3e0d5acfa4 [ papers ] Map depth-invariant prfs for AU and EU
The proofs of depth-invariance for Always Until and Exists Until require
mapping the proofs over the Formulae's internal `All` and `Any`
respectively. Idris provides some functions for this, but they erase the
list and so don't quite work. Instead we need to implement our own,
which don't erase the list.
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
40e1a53ab2 [ papers ] Cleaned things up a bit; utterly confused
Don't you love when papers introduce syntax and functions which you've
never seen before and don't seem to match the types of the existing
stuff?

P.S. YEET! (aka. that's probably enough for today ^^)
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
db30dd8d4a [ papers ] Fix things by adding a parameter block
The original Agda code declares the module with L and Sigma (Lbls and
Sts) with type Set. This is apparently close to a parameter block, which
solves the unification error I was having with `now`! Huge thanks to
gallais for showing me that!
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
0c72f83fe8 [ papers ] Start implem.g the model-checking part of Liam's paper
I should have put this under version-control WAAAAAY sooner than this!
Oh well, better late than never...

There are some fun problems to solve in terms of type-mismatch and
erasure, but that's for another day.
2022-10-05 14:30:08 +02:00
Thomas E. Hansen
a90fe03ff7 Add DOI to Liam's search paper stuff 2022-10-05 14:30:08 +02:00
G. Allais
1f3809c49a
[ re #2675 ] Do not build libs/{contribs,papers} during bootstrap (#2677)
Co-authored-by: Ben Hormann <benhormann@users.noreply.github.com>
2022-10-04 13:37:45 +01:00
Zoe Stafford
138452273c
Merge pull request #2701 from stefan-hoeck/snocfold
[ performance ] efficient foldr and foldMap for SnocList
2022-10-04 12:52:39 +01:00
stefan-hoeck
0e956249cc [ performance ] efficient foldr and foldMap for SnocList 2022-10-04 12:19:32 +02:00
Sam Phillips
ba34b64c68 Remove note about differing behavior 2022-10-04 10:24:27 +02:00
0xd34df00d
c2dd824c58 [ base ] Implement Uninhabited for impossible Pointwise equalities 2022-10-02 21:41:26 +01:00
Denis Buzdalov
f58a96e420 [ papers ] Move a postulate to a required parameter 2022-10-01 15:11:26 +01:00
hilary888
9eaff9f728 Fix typo in documentation string 2022-09-30 22:35:36 +01:00
Stefan Höck
7eebeff905
[ fix ] natToFinLt is O(n) (#2689) 2022-09-29 14:36:32 +01:00
Denis Buzdalov
1402194f14 [ golden ] Split runner to be able to run with custom options 2022-09-27 22:05:12 +01:00
André Videla
162d9e942b
Merge pull request #2686 from dunhamsteve/lexer-issue
[ fix ] Lexer reports incorrect column numbers
2022-09-27 16:00:27 +01:00
stefan-hoeck
de216d3ced [ fix ] drop first command-line arg on node 2022-09-27 08:19:14 +02:00
G. Allais
81ea363ae8
[ base ] deriving Traversable (#2678) 2022-09-24 12:43:49 +01:00
Guillaume Allais
5631608782 [ base ] deriving Foldable 2022-09-24 10:20:25 +01:00
Denis Buzdalov
ac9e03d7e3 [ base ] Add a variant of System.run allowing processing on the fly 2022-09-22 14:01:03 +01:00
wwww
38db7c3d22
[ fix ] showTime pads nanoseconds properly (#2650) 2022-09-22 12:18:26 +01:00
Stefan Höck
08f24e79fd
[ performance ] constant folding for all integral expressions (#2662) 2022-09-21 10:05:02 +01:00
Joel Berkeley
c0153e72cd
[ base ] implement decEq for SnocList (#2630)
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2022-09-20 15:46:15 +01:00
G. Allais
d1ae9d9fd5
[ papers ] Computing with Generic Trees (#2661) 2022-09-16 11:40:09 +01:00
G. Allais
55926f30c5
[ fix #2655 ] Add support for DataOpts in records (#2658) 2022-09-14 14:57:04 +01:00
Yupanqui
93b0f9c7b8 Fix for lexer colums 2022-09-05 13:47:41 -07:00
0xd34df00d
b3c80e0765 [ base ] Add finToNatEqualityAsPointwise, an inverse of finToNatQuotient 2022-09-05 12:45:28 +01:00
Steve Dunham
351b5ba720 [ parser ] Fix issue where Alt drops incoming commit tag 2022-09-05 12:44:02 +01:00
Adowrath
1914606d40 Fix connect in linear module and add bytes-specific functions 2022-09-01 12:23:29 +01:00
Denis Buzdalov
5266a2bc22 [ base ] Implement MonadError () for MaybeT 2022-09-01 10:48:15 +01:00
Guillaume Allais
6891490ed2 [ fix ] support for implicits in Deriving.Functor
A lot of refactoring to bring these. That's hopefully the last
feature that was needed...
2022-08-29 18:35:24 +01:00
Zoe Stafford
86c060ef13
Reimplement %nomangle in terms of %export (#2604)
* Reimplement %nomangle in terms of %export
Also deprecate %nomangle

* [ lint ] fix linter errors
2022-08-15 13:26:06 +01:00
Guillaume Allais
4672305fc3 [ fix ] more filtering of invalid datatypes 2022-08-13 11:29:19 +01:00
Steve Dunham
e29e2289e7
[ fix ] Fixes memory leaks in currentDir, fGetLine, and fGetChars (#2606) 2022-08-10 21:23:53 +01:00
Nil Geisweiller
719b5ad17f
[ cleanup ] Remove extraneous show and simplify printLn (#2618) 2022-08-10 21:22:58 +01:00
G. Allais
0cbbf97b79
[ new ] extend Deriving.Functor to (non-strictly) positive functors (#2591) 2022-07-18 14:10:46 +01:00
Mathew Polzin
4a348c1f95 Public export remaining function to allow for proofs involving parsing numbers. 2022-07-18 14:10:05 +01:00
ProofOfKeags
68a144bf18
Support System.Signal for node backend (#2556)
* first pass at signal support for node backend

* change signal values to int's

* implements defaultSignal

* return -1 as expected by calling API if any error is raised by nodejs runtime

* finishes signal support for nodejs

* extract repetitive foreign import identifiers

* fix comments
2022-07-10 10:18:58 +01:00
stefan-hoeck
ea6f9975cf [ cleanup ] add proper depends field to network.ipkg 2022-07-07 17:24:54 +01:00
Guillaume Allais
8b20da7e39 [ cleanup ] remove TT from base
As discussed with edwin, let's get rid of the external TT type.
There is no way to get your hands on a TT value anyway so this
should not change anything.
2022-07-07 16:42:19 +01:00
Denis Buzdalov
c03a39789f [ breaking ] Make arguments of runRWST like in other transformers
Put the `RWST` argument to be the last one. This makes such functions
to be easier used in point-free compositions and to be easily
interchangeable with existing `runStateT`-like functions.
2022-07-07 15:19:41 +01:00
G. Allais
4874bf2114
[ fix ] handle implicit arguments in Deriving.Functor (#2572) 2022-07-07 09:55:13 +01:00
Guillaume Allais
7db20d38a3 [ cleanup ] Fewer assert_total in deriving Functor 2022-07-04 12:03:49 +01:00
G. Allais
aeeb338e6c
[ new ] deriving Functor (#2568) 2022-07-04 08:58:18 +01:00
Jeroen de Haas
ea7e43ad74 [doc] Remove implicit argument in documentation for parseDouble 2022-07-03 22:00:31 +01:00
Denis Buzdalov
38caff23b8 [ fix ] Make the result Show of case .. of compilable
1. The arrow was fixed
2. Put explicit type ascription into a comment
3. Don't print type when it was not present in the expression
2022-06-27 15:32:02 +01:00
Denis Buzdalov
afaa80a5ae [ re #2533 ] Fix printing of lazy values in Show TTImp 2022-06-27 15:32:02 +01:00
G. Allais
4024857d20
[ base ] Various Language.Reflection improvements (#2554) 2022-06-22 13:07:27 +01:00
Denis Buzdalov
e856569d16 [ doc ] Clarify the doc comment of find* functions of SnocList 2022-06-20 12:13:37 +01:00
Denis Buzdalov
113085d0c3 [ base ] Add a function for changing the topmost FC of a TTImp 2022-06-17 19:53:07 +01:00
Denis Buzdalov
bc838467a3 [ base ] Add a function returning Dec for So 2022-06-17 19:52:35 +01:00
Denis Buzdalov
a7fb6722a0
[ re #2533 ] Fix recently added reflection's Show (#2543) 2022-06-16 11:08:51 +01:00
Denis Buzdalov
df6f4f69cd [ doc ] Add clarification to the doc of a function of Elaboration 2022-06-16 09:49:56 +01:00
G. Allais
bdf3833df5
[ new ] Auto in Agda (+ bonus) (#2541)
* [ new ] Auto in Agda (+ bonus)

* [ minor ] use DN for more readable terms
2022-06-16 09:35:45 +01:00
Guillaume Allais
cd324f9ff3 [ base ] Name convenience functions 2022-06-14 16:07:37 +01:00
Guillaume Allais
c9dbc3d743 [ new ] Show implementations for Language.Reflection 2022-06-14 16:07:37 +01:00
Guillaume Allais
381441d849 [ base ] maximum is an upper bound 2022-06-14 16:07:37 +01:00
Guillaume Allais
2060535d08 [ new ] name hints for primitive types 2022-06-14 16:07:37 +01:00
Guillaume Allais
a8fe4a778c [ base ] Show for Constants 2022-06-14 16:07:37 +01:00
Thomas E. Hansen
268a3520f3 [ base ] Port most of List.Quantifiers to List1
This doesn't include `Interleaving` and `Split`.
2022-06-09 09:05:10 +02:00
Thomas E. Hansen
5da3bc7d7c [ base ] Port List.Elem to List1 2022-06-09 09:05:10 +02:00
kasiaMarek
094a9ab06d
List proofs (#2497)
* Modified bind definition

* bind proofs and list elem proof

Co-authored-by: Katarzyna Marek <katarzynamarek@Katarzynas-MBP.lan>
2022-06-01 13:16:17 +01:00
Denis Buzdalov
a766c628e9 [ base ] Add mapping functions to Data.Vect.Quantifiers 2022-05-27 09:03:28 +01:00
Xerz
e9f562f435
[ prelude ] Add Range implementation for Char (#2505) 2022-05-27 07:57:59 +01:00
Denis Buzdalov
73608cb264 [ cleanup ] Clean up DecEq implementations with biinjective functions 2022-05-20 11:50:46 +01:00
Denis Buzdalov
d3fa76052b [ new ] Introduce a Biinjective interface 2022-05-20 11:50:46 +01:00
Denis Buzdalov
a3542ad0cd [ cleanup ] Make existing equality proofs a bit cleaner 2022-05-20 11:50:46 +01:00
Denis Buzdalov
4032ef2b85 [ base ] Implement equalities for inclusive-or type (These) 2022-05-19 13:37:28 +01:00
Denis Buzdalov
95caed3c4f [ refactor ] Support alternative equalities for TTImp 2022-05-18 11:12:05 +01:00
G. Allais
10a6734bcb
[ new ] Katla-powered landing page (#2483) 2022-05-18 08:43:47 +01:00
Zoe Stafford
71351a6c88
Merge pull request #2476 from Z-snails/bits64-popcount
Fix `FiniteBits` for `Bits64`
2022-05-14 14:05:37 +01:00
Zoe Stafford
8a0d75dc6d Fix FiniteBits for Bits64 2022-05-14 13:12:16 +01:00
Denis Buzdalov
72f0a2ab09 [ re #950 ] Remove redunant legacy data definition
`Given` with `Always` from Idris 1 library are completely overridden by
`IsYes` and `ItIsYes` respectively, which have a more common naming.
This, however, may break some very old code (fixed by a trivial rename).
2022-05-14 08:24:20 +01:00
Denis Buzdalov
d037b39e63 [ base ] Add injectivity proof for Yes and No 2022-05-14 08:23:55 +01:00
Joel Berkeley
bf87b623ef
add scanr; scanr1; unsnoc for Vect (#2471)
* add `scanr` and `scanr1` for `Vect`

* add tests

* tests

* docstring

* typos

* add unsnoc

* simplify unsnoc

* docstring

* typos
2022-05-12 17:54:34 +01:00
G. Allais
f80fc184e3
[ new ] :exec for RefC (#2466) 2022-05-10 15:09:53 +01:00
Denis Buzdalov
466e14a1e5 [ base ] Add a dependent funext function to the FunExt interface 2022-05-09 18:37:50 +01:00
Vit Brunner
4a761ea523 [ doc ] Foldable's all is a conjunction 2022-05-02 21:15:28 +01:00
vfrinken
b1f45f2748
RefC backend improvements (#2425)
* RefC backend improvements

1. OnCollect had the wrong number of arguments. The code creator expects
   3 arguments, but onCollect in prim.h expected 4 arguments. The first of which
   was an erased arguments. That is now fixed.

2. OnCollect did not call `newReference` when creating a new reference to the pointer
   and the freeing function

3. OnCollect and OnCollectAny still had a spurious printf statement

Those issues have been fixed, the test case can be found in
  tests/refc/garbageCollect

4. The IORef mechanism expects that the %World token will be passed around
   consistently. This is not the case. States in Control.App make use of
   IORefs, but the function created from Control.App.prim_app_bind
   had the world token erased to NULL.
   Now, IORefs are managed using a global variable,
   IORef_Storage * global_IORef_Storage;
   referenced in cBackend.h, defined in the created .c file, and set to NULL
   in main();

5. While multithreading and forking is still not supported, compiling a program
   that makes use of Control.App demands a C implementation of prim_fork.
   Files support/refc/threads.c and support/refc/threads.h provide a
   dummy implementation for it, so that Control.App programs compile and run.

A test for these 2 issues is given in tests/refc/issue2424

* format changes

to make the linter happy

* format changes

to make the linter happy

* format changes

to make the linter happy

* spelling mistake braket -> bracket

Co-authored-by: Volkmar Frinken <volkmar@onutechnology.com>
2022-04-27 13:59:32 +01:00
Edwin Brady
7c5650e94e
Allow functions to be marked for foreign export (#2433)
* Allow functions to be marked for foreign export

This relies on the backend knowing what to do with such things, but the
general idea is to mark them with '%export "backend:exportedname"' then
'getCompileDataWith', given a back end, will search for every function
that needs to be exported, as well as every function starting from the
expression to be compiled. This will allow Idris functions to be called
from other languages, where a backend supports it.

This is hard to set up a test case for, for the moment, since no
backends actually do anything with it. So consider it a bit of a
placeholder for now.

* Add missing clause to Eq FnOpt

Thanks to @buzden
2022-04-25 13:48:30 +01:00
Denis Buzdalov
77cf47f962
[ re #2423 ] Make Eq implementations in Language.Reflection.TTImp total (#2430)
* [ re #2423 ] Turn newly added `Eq` implementations to be total
* [ fix ] Add lacking `Eq TTImp` clauses and lacking `Eq` implementations
2022-04-22 18:01:42 +01:00
Zoe Stafford
68bcacf3ec
[base] add missing node ffi functions (#2427) 2022-04-22 15:45:52 +01:00
G. Allais
22b98f231e
[ fix ] highlight unambiguous names in `with' (#2423) 2022-04-22 13:34:05 +01:00
Denis Buzdalov
99a3ae05fa [ contrib ] Add specialised traverse_ and friends for lazy list 2022-04-20 14:51:54 +01:00
G. Allais
2287fd9edb
[ ci ] use katla to build html doc of the libs (#2422) 2022-04-20 12:42:58 +01:00
Denis Buzdalov
71c68d8dcf [ base ] Add a trace variant easily embeddable to point-free expr 2022-04-14 13:36:14 +01:00
CodingCellist
36e38860b7
[ contrib ] Implement Show ParsingError (#2407) 2022-04-09 12:37:45 +01:00
Mathew Polzin
c91a768486
System NodeJS additions (#2401) 2022-04-07 10:09:30 +01:00
Thomas E. Hansen
a644a85a57 [ base ] public export quantifier functions 2022-04-04 13:24:12 +02:00
Thomas E. Hansen
dc02e4d822 [ refactor ] Put Vect quantifiers in their own namespaces
This makes the code in `Data.Vect.Quantifiers` consistent with the files
`Data.List.Quantifiers` and `Data.SnocList.Quantifiers`.
2022-04-04 13:24:12 +02:00
Denis Buzdalov
1c027d2218 [ re #2370 ] Add forgotten export clause 2022-04-01 12:20:01 +01:00
Denis Buzdalov
f46483106f [ base ] Add a function extensionality interface
Its purpose is to be able to formulate unversally properties which
were true if function extensionality was present in the type system
2022-04-01 11:44:37 +01:00
Robert Wright
1d6c3eb84f Add Reverse Ord instance 2022-03-31 10:50:51 +01:00
Daniel Kröni
5eea546642 Aligned the signature of NoMangle from Language.Reflection.FnOpts with that of TTImp.TTImp.FnOpt'. 2022-03-30 13:34:49 +02:00
Jeremy
47cae3459c
[ doc ] for Control.WellFounded (#2379)
Co-authored-by: Zoe Stafford <36511192+Z-snails@users.noreply.github.com>
2022-03-27 13:05:20 +01:00
Jeremy
394613432f
Add documentation for Control.Monad.* (#2365)
Co-authored-by: Zoe Stafford <36511192+Z-snails@users.noreply.github.com>
2022-03-25 10:14:25 +00:00
Denis Buzdalov
e8d3d788c1
[ base ] Add some more properties, functions and interface implementations (#2361) 2022-03-23 13:33:13 +00:00
Ohad Kammar
d08b827f49
Implement standard List operations for SnocLists (#2364)
Co-authored-by: Ohad Kammar <ohad.kammar@ed.ac.uk>
2022-03-23 11:14:30 +00:00
Ohad Kammar
319c7f7b86
Move Syntax.PreorderReasoning into base (#2368) 2022-03-22 20:58:36 +00:00
Denis Buzdalov
086cc6613b [ contrib ] Add keySet function for dependent sorted maps too 2022-03-22 14:11:25 +00:00
Denis Buzdalov
fc38afc144
[ base ] Some properties of List and SnocList (#2359) 2022-03-18 08:40:37 +00:00
Joel Berkeley
399d6016a9
[ prelude ] add subtract (#2357) 2022-03-17 18:24:42 +00:00
Joel Berkeley
fc45f7d888
[ base ] add insertAt for List (#2336) 2022-03-17 18:23:47 +00:00
G. Allais
a973396567
[ base ] quantifiers for Snoclists (#2349) 2022-03-16 15:30:16 +00:00
Denis Buzdalov
05d64483f6 [ refactor ] Factor out a type for primitive types out of Constant 2022-03-10 23:07:20 +00:00
G. Allais
fd02bf8b3e
[ fix #2303 ] remove quadratic unwords (#2345) 2022-03-07 18:34:06 +00:00
G. Allais
1c396744d9
[ doc ] :printdef for interface implementations (#2340) 2022-03-07 11:47:20 +00:00
Robert Wright
6b367010ce Inline SnocList foldl utility function
The scoping of the utility function meant that Idris treats `foldl f z (xs :< x)` and `f (foldl f z xs) x` as two different terms, making proving things about it difficult.
2022-03-07 11:46:43 +00:00
Joel Berkeley
0ab0ecb199
add replaceAt for List (#2335) 2022-03-03 23:40:18 +00:00
Joel Berkeley
f436388a6b
adopt backend implementations of pow (#2334) 2022-03-03 23:39:25 +00:00
G. Allais
1011cc6162
[ papers ] Tychonoff (Part I) (#2332) 2022-02-24 11:12:53 +00:00
Jan de Muijnck-Hughes
4ba3bb6670
[ fix ] Literate things (#2312)
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
2022-02-18 11:29:52 +00:00
octeep
768d164ec9
[ network ] add binary support for socket + fix recvAll (#2308) 2022-02-16 20:12:24 +00:00
Denis Buzdalov
b727ae4a97 [ new ] Add a Monoid instance of the f a where f is Applicative 2022-02-16 14:23:56 +00:00
Denis Buzdalov
e2487106fd
[ prelude ] Ease Compose compositions (#2324) 2022-02-16 14:19:25 +00:00
CodingCellist
c5d96a10e7
[ base ] Split a list according to a decidable property (#2302) 2022-02-11 11:21:20 +00:00
Joel Berkeley
5abc01453d
add deleteAt for List (#2317) 2022-02-11 09:28:36 +00:00
G. Allais
33d99adb53
[ linear ] These seem useful (#2316) 2022-02-11 09:28:15 +00:00
Guillaume Allais
bec4a0a88e [ re #499 ] quantity-aware with-clauses 2022-02-09 09:19:40 +00:00
Mathew Polzin
8208ed2590
[ new ] A couple of nearly trivial proofs about list length. (#2311) 2022-02-07 17:51:04 +00:00
Nick Drozd
2c9bf24d2f [ libs ] Strengthen some totality checks (#2304) 2022-02-03 18:41:51 +00:00
Robert Wright
1776efa8a5 Allow Type-level String operations 2022-02-03 16:10:47 +00:00
CodingCellist
f4b78157cc
[ base,tests ] Reduce dependency on contrib (#1595) 2022-02-02 11:17:10 +00:00
Guillaume Allais
56009ad3ac [ cleanup ] silence warnings in libs 2022-02-02 11:09:03 +00:00
madman-bob
0ee9632e45
[ refactor ] Abstract Prelude.elem to work with all Foldables (#2294) 2022-02-01 21:34:29 +00:00
Denis Buzdalov
b17e65fc82
[ base ] Generalise existing min-max semigroups and add monoid for Fin (#2298) 2022-02-01 21:24:49 +00:00
André Videla
208adb7202
[ linear ] add utilities for linear datastructures (#2293) 2022-02-01 21:22:16 +00:00
Stefan Höck
44245e1683
[ fix ] issue #2288 (#2289) 2022-01-28 09:01:09 +00:00
Guillaume Allais
3c63902d82 [ new ] Dependent Tagless Final 2022-01-27 17:26:52 +00:00
Michael Messer
26527c3a6e
[ fix ] expose Data.Seq.Internal (#2291) 2022-01-26 18:38:22 +00:00
Alias Qli
1ba0008486
[contrib] A finger tree implementation (#1454) 2022-01-25 18:29:48 +00:00
octeep
9a9412e1a2
make writeBufferData return the number of bytes that have been written (#2276) 2022-01-25 13:25:06 +00:00
G. Allais
ec5afa5065
[ libs ] move propaganda out of contrib (#2213) 2022-01-25 12:25:55 +00:00
James Cook
e82600c4d6
[ opt ] transform rule making List.length tail-recursive. (#2100) 2022-01-24 16:12:29 +00:00
stefan-hoeck
1b3be25075 [ breaking, totality ] fGetLine should be covering 2022-01-20 17:48:11 +00:00
Zoe Stafford
5e42bbfcc9
Merge pull request #2274 from octeep/main
make readBufferData return the number of bytes that have been read
2022-01-20 13:11:13 +00:00
Robert Wright
d85016b64d Add Fin modular arithmetic Num instance 2022-01-20 10:13:20 +00:00
Stefan Höck
ca5b1ba094
[ totality ] Data.String.words should be total (#2262) 2022-01-20 09:58:50 +00:00
MarcelineVQ
6d10ca09b4 [ base ] add Show for Ordering 2022-01-19 22:12:36 +00:00
octeep
f7bcd1f0b2 make readBufferData return the number of bytes that have been read 2022-01-19 17:35:14 +00:00
Robert Wright
76d1936fad Add Singleton type 2022-01-19 14:22:40 +00:00
Mathew Polzin
4220c644cf
Add a few missing NodeJS FFI functions to System (#2271)
* support for system command via node backend.

* Add env var set/unset

* fix env unset function

* Update libs/base/System.idr

* modify system test to cover node and chez.

* Add base tests for env get/set
2022-01-18 22:43:03 -08:00
Guillaume Allais
ffff9bc2e1 [ new ] die 2022-01-18 18:44:36 +00:00
Ellis Kesterton
f93e1c4eac
Change associativity for System.Path operators (#2240)
Co-authored-by: eayus <erk@st-andrews.ac.uk>
2022-01-06 18:23:51 +00:00
Mathew Polzin
1b4811b1ed
[cleanup] Unhide string module (#2230)
* unhide string lines/unlines functions and clean up a bit.
* skip the extra newline now that unlines adds one at the end.
2022-01-06 10:34:15 +00:00
Nick Drozd
ec5f40eec7
Injective follow-up (#2155) 2022-01-05 09:40:23 +00:00
Ellis Kesterton
f016a81e37
Add 'tryParse' function to 'System.Path' (#2234) 2021-12-30 16:23:45 -08:00
Mathew Polzin
266e06cab7
[cleanup] Small round of unused import culling. (#2231)
* small round of unused import culling.

* and also the libraries.
2021-12-29 20:42:29 -08:00
Denis Buzdalov
7834539240
[ re #238 ] Fix program error condition of git diff call in Golden (#2119)
* [ fix ] Fix returned status of the `system` function

* [ re #238 ] Fix program error condition of `git diff` call in `Golden`

According to documentation, not only negative exit code means error
2021-12-22 13:33:37 -08:00
alissa-tung
158cb1c75e [ nodejs ] pid 2021-12-22 22:25:21 +08:00
Denis Buzdalov
a09c5082c5
[ base ] Use Fin n as index in Bits (#2192) 2021-12-16 18:26:52 +00:00
teggot
d3aed0404c
[ fix #1959 ] use modern record update syntax (#2196) 2021-12-16 18:23:18 +00:00
Balazs Komuves
3463adbc48
[ fix #2032 ] Slow typechecking on Int operation when Data.Fin.fromInteger is in scope (#2189) 2021-12-13 13:47:53 +00:00
Balazs Komuves
c3ec522077
[ fix #1404 ] Totality annotation for data type definitions (#2179)
Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
Co-authored-by: stefan-hoeck <hock@zhaw.ch>
2021-12-08 16:08:26 +00:00
Kamil Shakirov
ce67a2edd5 [ fix ] Re-add Pretty instances for IntX 2021-12-08 14:58:32 +00:00
André Videla
10b9685e4b
Injective interface and its implementations (#2114)
Co-authored-by: Nick Drozd <nicholasdrozd@gmail.com>
2021-11-26 10:55:17 +00:00
Denis Buzdalov
f1941cecac [ cleanup ] Remove piece of dead code from prelude 2021-11-26 10:14:47 +00:00
G. Allais
059f74ad0b
[ fix #1861 ] rewrite_impl is linear (#2150) 2021-11-25 17:07:05 +00:00
Nick Drozd
9e0676597d Cut relation implicit args 2021-11-25 00:26:57 +00:00
Guillaume ALLAIS
a91fdae426 [ base ] generalise Data.List type signatures 2021-11-24 19:58:35 +00:00
stefan-hoeck
c504a26bc8 [ type inference ] use determining parameter in relation interfaces 2021-11-22 09:52:32 +00:00
Mathew Polzin
1576a578a0
[ cleanup ] Remove unused imports (#2123)
* contrib library unused import removal
* remove a few unused imports.
* another round of unused import removal
* another round of unused import deletion.
* another round of unused import deletion.
2021-11-18 16:47:36 +00:00
Thomas Dziedzic
c31cd9513f make Data.List1.length public 2021-11-18 16:42:49 +00:00
Thomas Dziedzic
88f8f3df8e implement Data.List1.length 2021-11-18 08:38:00 +00:00
Mathew Polzin
0eba4c691e
Add %deprecate pragma (#2086) 2021-11-17 10:41:03 +00:00
André Videla
cc45ff957a
Merge pull request #2085 from andrevidela/string-parser-position
Show the line and column in diagnostic message in String.Parser
2021-11-15 11:09:57 +00:00
Denis Buzdalov
ba180706d6 [ ux ] Make expected and given results be printed colourful in Golden 2021-11-11 23:25:11 +00:00
Kamil Shakirov
ae411fe756 [ doc ] Mark code blocks as Idris code 2021-11-11 18:55:11 +00:00
Mathew Polzin
d2ce85ea05
Merge pull request #2096 from madman-bob/system-run
Add the `System` `run` function
2021-11-10 08:58:39 -08:00
Robert Wright
2ee10d9b34 Add Alternating List odds and evens functions 2021-11-10 08:40:25 +00:00
André Videla
9e6678e3d3
Merge pull request #2102 from madman-bob/list-singleton
Add List singleton function
2021-11-10 00:46:40 +00:00
André Videla
7f932036e9 Show the line and column in diagnostic message
This also updates the error message of some common combinators
2021-11-10 00:44:09 +00:00
Zoe Stafford
3063218d46
[ new ] Add %nomangle (#2063)
This is (for once) not a breaking changes, instead backends will need to opt in to this change, using the utilities in Compiler.NoMangle. See the js backend for an example of how to do this.

This is the first step to being able to use idris to create libraries usable by other languages.
2021-11-09 16:23:50 +00:00
Edwin Brady
2f6ec76223
Get information about names in reflection (#2110)
* Only normalise a search goal if it's fast

While we do end up normalising it anyway on success, there might be
things blocking it that make the intermediate terms very big, so only do
it speculatively to see if it's quick.

* Get information about names in reflection

Currently this is only whether it's a function, or data or type
constructor. I expect more may be useful/possible.
2021-11-07 15:06:53 +00:00
Robert Wright
921bc24a2a Add List singleton function 2021-11-05 16:08:54 +00:00
Robert Wright
4732486bbc Add System run function 2021-11-05 11:59:17 +00:00
Robert Wright
dc47df688c Add System.File fRead function 2021-11-05 11:59:17 +00:00
Robert Wright
c1fc487bec Return error code from pclose 2021-11-05 11:59:17 +00:00
Robert Wright
ac716c1dc7 Add SnocList factConcat transformation 2021-11-05 11:59:17 +00:00
Robert Wright
c964f8d8bc Add System escapeCmd function 2021-11-05 11:59:17 +00:00
G. Allais
668c221474
[ re #2032 ] faster version of fromInteger (#2090) 2021-11-02 17:43:01 +00:00
G. Allais
15cc8243f7
[ re #2001 ] Make some prelude interfaces total (#2083)
The prelude interfaces that have default definitions for all of
their fields are declared total so that users are forced to think
about meeting the minimal requirements for an implementation to be
valid.
2021-11-02 15:34:52 +00:00
André Videla
1a8747541e
Merge pull request #2080 from madman-bob/take-until
Add takeUntil Data.String.Parser parser
2021-11-02 00:38:57 +00:00
Robert Wright
12955bc5bc Add takeUntil Data.String.Parser parser 2021-11-01 13:54:46 +00:00
Bertalan Kis
babf346a77 [base] add IsRight and IsLeft proofs to Data.Either 2021-11-01 11:50:05 +00:00
madman-bob
a6a64c6ddf
[ contrib ] Alternating lists of known parity (#2043) 2021-10-30 00:12:44 +01:00