Commit Graph

481 Commits

Author SHA1 Message Date
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
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
André Videla
9e6678e3d3
Merge pull request #2102 from madman-bob/list-singleton
Add List singleton function
2021-11-10 00:46:40 +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
Bertalan Kis
babf346a77 [base] add IsRight and IsLeft proofs to Data.Either 2021-11-01 11:50:05 +00:00
CodingCellist
0dbdcd30be
[ doc ] Document the System module and its submodules. (#2069) 2021-10-29 17:58:29 +01:00
CodingCellist
20fe83de9a
[ doc ] Completely document the Data.List module (#2061) 2021-10-26 17:16:06 +01:00
Denis Buzdalov
377ae22eac [ elab ] Implement Alternative for Elab using recently added Try 2021-10-25 16:16:51 +01:00
Denis Buzdalov
a47b3d7d0e
[ new ] Elaboration interface (#1860) 2021-10-25 16:16:13 +01:00
Denis Buzdalov
c340e0e713 [ cleanup ] Move left autos that are most likely to be passed explicitly 2021-10-25 13:17:03 +01:00
Mathew Polzin
f078d5f5dc
clean up some deprecations (#2057)
* deprecate Data.Nat.Order.decideLTE

* Add properties for LTE/GTE that produce the difference.

* remove deprecated function now that it is available in the base library.

* remove two deprecated lines.

* remove module deprecated since v0.4.0

* fix prelude reference to renamed primitive.

* finish removing Data.Num.Implementations

* remove deprecated dirEntry function.

* remove deprecated fastAppend. Update CHANGELOG.

* replace fastAppend in test case

* replace fastAppend uses in compiler.

* remove new properties that weren't actually very new.
2021-10-24 12:06:57 +01:00
alissa-tung
453305fb6e [base]: add appendFile 2021-10-23 15:20:22 +01:00
Guillaume ALLAIS
2ee06e9db0 [ fix #2034 ] Productive cantor for Colist1 2021-10-21 16:01:02 +01:00
Daniel Kröni
aa107a9754
Implemented %noinline (#2027)
* Implemented %noinline

* Removed trailing spaces.

* Added missing case in Reify FnOpt

* Added error message when both %inline and %noinline are set.

* Added test.

* Changed from perror to error
2021-10-19 15:22:36 +01:00
Denis Buzdalov
7833829c43 [ base ] Add couple of properties of either function with mappings 2021-10-18 20:11:38 +01:00
Edwin Brady
40f72e74f0
Case building performance/heuristics (#2020)
* Case tree/coverage checking shortcuts

We were calculating some things we didn't need - we can stop computing
the type of a case operator when we know the head, because that's all we
need for coverage checking. We can also abandon checking a left hand
side for coverage purposes if we encounter an empty type. Both of these
can save quite a bit of time in complex cases.

* Normalisation heuristic for pattern variables

If they get bit, fully normalise (like we do with case types) since it's
likely a big term with lots of applications will normalise a lot.
2021-10-17 18:21:35 +01:00
Guillaume Allais
2ce4831010 [ base ] swap for these 2021-10-17 16:57:04 +01:00
Edwin Brady
cfb7395eac
Add try primitive to reflection library (#2008) 2021-10-16 11:24:12 +01:00
Guillaume ALLAIS
1877e66309 [ new ] log sugared term Elab primitive 2021-10-14 14:16:14 +01:00
Stefan Höck
1ebe204c3f
[ refactor ] use proper int types for Constant (#1964)
* [ refactor ] user proper int types for Constant

* [ cleanup ] declare standalone TTC implementations for BitsN/IntN

Rather than doing the casting inline, have the (en/de)coding all
side by side in one place

* [ cleanup ] remove duplicated code

Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-10-08 12:07:11 +01:00
Zoe Stafford
d4263441b7
[ new ] Some optimisations mainly involving Nat and Fin (#1817)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-10-07 19:21:32 +01:00
stefan-hoeck
3536f8dab5 [ new ] DecEq for Int types 2021-09-30 11:38:38 +01:00
Edwin Brady
1e90182311
Version increment to 0.5.1 (#1939)
This is to remove the requirement on Chez >9.5
2021-09-19 20:53:32 +01:00
Edwin Brady
ada3eb4449
Version 0.5.0 (#1931)
* Update version numbers and bootstrap scheme

* Use wall clock time for search timeouts

That was always the intention in any case, rather than the process time.
2021-09-18 16:07:34 +01:00
James Cook
971afa9f5d
Add a transform rule making (++) for List tail-recursive. (#1888) 2021-09-16 15:35:29 +01:00
Denis Buzdalov
f6281afe88
[ elab ] Erase check and quote's main argument (#1847) 2021-09-15 15:01:36 +01:00
G. Allais
32e26c5bd1
[ refactor ] introduce UserName for (UN/RF) (#1926)
Instead of having UN & RF (& Hole in the near future & maybe even
more later e.g. operator names) we have a single UN constructor
that takes a UserName instead of a String.

UserName is (for now)

```idris
data UserName : Type where
  Basic : String -> UserName -- default name constructor       e.g. map
  Field : String -> UserName -- field accessor                 e.g. .fst
  Underscore : UserName      -- no name                        e.g. _
```

This is extracted from the draft PR #1852 which is too big to easily
debug. Once this is working, I can go back to it.
2021-09-15 13:20:58 +01:00
Mathew Polzin
654d399eaf
Add function that checks whether a file handle points to a TTY device. (#1908)
* Add function that checks whether a file is a terminal device.

* support isTTY function for NodeJS backend.

* don't accidentally interpret 'false' string as truthy number

* less code duplication.
2021-09-10 08:05:21 +01:00
Jan de Muijnck-Hughes
155989110b
[ base ] Indexing Vectors. (#1892) 2021-09-09 10:45:11 +01:00
Denis Buzdalov
d62e45d8d8 [ contrib ] Make sorted map be able to store dependently typed values 2021-09-02 10:57:19 +01:00
Mathew Polzin
ef91cc01c7 Add list difference to base Data.List module. 2021-08-31 13:21:43 +01:00
Joel Berkeley
078db21edf
Return a Vect from Stream take (#1812)
Co-authored-by: Guillaume ALLAIS <guillaume.allais@ens-lyon.org>
2021-08-30 16:00:20 +01:00
Mathew Polzin
cdc157a333 Add javascript support for getting system time as integer. 2021-08-30 15:35:49 +01:00
madman-bob
3e1f6aba56
Add copyFile to System.File (#1797)
Co-authored-by: Stiopa Koltsov <stepan.koltsov@gmail.com>
2021-08-30 15:31:37 +01:00
Denis Buzdalov
dd7d77d416 [ visibility ] Make Monad of Vect to the visible from outside 2021-08-13 18:59:54 +01:00
Denis Buzdalov
c29dc73c62 [ base ] Add semigroup and monoid instances for Vect 2021-08-13 18:59:54 +01:00
Denis Buzdalov
23bb381f0f [ cleanup ] Small code cleanup, less mutual block and one \case use 2021-08-12 12:38:06 +01:00
Denis Buzdalov
940f588890 [ ttimp ] Add a utility function returning an FC by TTImp 2021-08-11 14:18:41 +01:00
Denis Buzdalov
c3398274d5 [ elab ] Add an ability to fail elab script with a custom FC 2021-08-11 14:18:41 +01:00
Denis Buzdalov
8fb18e24a1 [ fix ] Make standard monad transformer's Alternative be lazy on 2nd arg 2021-08-11 11:33:46 +01:00