Edwin Brady
69a7640a6e
Allow flagging types as externally defined
...
e.g. in a C file. This means we don't accidentally treat things as
empty, since previously we just defined these as empty types, but that
broke coverage checking. Fixes #240
2020-04-10 11:45:52 +01:00
Edwin Brady
211fc359ca
Erase %World for the purpose of newtypes
...
We never inspect it, so it carries no information - it just needs to be
there as a token to make sure that IO operations run at the right time.
So, IORes can be a newtype now and therefore optimised away.
2020-04-09 00:20:37 +01:00
Guillaume Allais
c5903c45e1
[ cosmetic ] various whitespace issues
2020-04-02 17:31:15 +01:00
Edwin Brady
7c0581a10a
Merge pull request #245 from ziman/stable-sort
...
Make `List.sortBy` stable
2020-03-31 18:15:27 +01:00
Edwin Brady
04c63b593f
Merge pull request #243 from deviant-forks/intercalate-list
...
Add `intercalate` for `Data.List`
2020-03-31 18:14:29 +01:00
Edwin Brady
7ff1e6275f
Allow setting logging mid term
...
Sometimes this makes debugging easier since the logging is more
localised.
2020-03-30 22:55:08 +01:00
Edwin Brady
b0e55b53eb
A bit more library support
2020-03-30 13:06:59 +01:00
Matus Tejiscak
fcdfa8e191
Fix comment.
2020-03-29 19:50:43 +02:00
Matus Tejiscak
9154a9b02b
Add comments.
2020-03-29 19:48:00 +02:00
Matus Tejiscak
2b264d0517
Make sortBy stable.
2020-03-29 19:38:54 +02:00
Marshall Bowers
5b1e8bf436
Add intercalate
for Data.List
2020-03-28 13:18:51 -04:00
Matus Tejiscak
d819bf5a9d
Fix SeqEmpty in Text.Lexer.Core.
2020-03-28 15:02:08 +01:00
Edwin Brady
d666ed50c9
A couple of library functions
2020-03-19 22:14:48 +00:00
Edwin Brady
dd7ed89ed0
Merge pull request #222 from ziman/sorted-map-set
...
Adapt Data.Sorted{Map,Set} from Idris 1
2020-03-18 20:35:33 +00:00
Edwin Brady
6f933ba230
Merge pull request #221 from ziman/parser-lazy
...
Make the applicative combinators in `Text.Parser.Core` lazier
2020-03-18 20:35:01 +00:00
Edwin Brady
8b6527867a
Merge pull request #220 from ziman/lexer-parser-core
...
Add Text.{Lexer,Parser}.Core to the list of installed modules
2020-03-18 20:34:30 +00:00
Edwin Brady
b5b9372fff
Add delete and union to Data.List
2020-03-10 14:52:46 +00:00
Edwin Brady
5bc11e4698
Add 'new1' to Control.App
...
Sometimes useful in App1 programs to add new state.
2020-03-09 21:23:56 +00:00
Matus Tejiscak
4dc0625237
Adapt Data.Sorted{Map,Set} from Idris 1.
2020-03-08 22:03:32 +01:00
Matus Tejiscak
9f793c31aa
Change Lazy to Inf.
2020-03-08 20:53:39 +01:00
Matus Tejiscak
a32d1ca50f
Make the applicative combinators in Text.Parser.Core lazy.
2020-03-08 20:35:08 +01:00
Matus Tejiscak
952d5c3c00
Add Text.{Lexer,Parser}.Core to the list of installed modules.
2020-03-08 20:23:27 +01:00
Edwin Brady
25843793c7
Improve linearity in Control.App
...
There are a few things that have linear usage but wasn't explicit in
types, so this will make some things easier to use in linear protocols.
2020-03-08 12:53:59 +00:00
Edwin Brady
34044597c0
Merge pull request #213 from ska80/prelude/getchar-putchar
...
Add getChar, putChar and putCharLn to prelude
2020-03-07 14:15:22 +00:00
Edwin Brady
9060b24f2f
Move network test to chez test suite
2020-03-05 18:03:12 +00:00
Edwin Brady
67dc71f3c9
Merge pull request #208 from ska80/network-test
...
Simplify 'test' target in libs/network/Makefile
2020-03-05 10:30:18 +00:00
Edwin Brady
aef66099b5
Merge pull request #207 from ska80/update-gitignore
...
Improve .gitignore patterns
2020-03-05 10:29:11 +00:00
Kamil Shakirov
c8c0c5fb49
Add getChar, putChar and putCharLn to prelude
2020-03-05 14:55:20 +06:00
Kamil Shakirov
30830de5b7
Simplify 'test' target in libs/network/Makefile
2020-03-02 16:27:55 +06:00
Kamil Shakirov
d3820e1197
Improve .gitignore patterns
2020-03-02 14:21:43 +06:00
Edwin Brady
a5c356f998
Basic support for struct in FFI
...
Just in the Chez backend for now, and not allowing strings or functions
due to limitations of Chez.
2020-03-01 23:23:21 +00:00
Edwin Brady
b83f01e2f4
Small documentation updates
2020-02-28 00:15:03 +00:00
Edwin Brady
52e6a4f1ed
Add Control.App to base
...
Usually I put this sort of thing in contrib first, but this is a direct
replacement for Control.IOExcept (previously in base in Idris 1) so I'm
putting it straight in this time.
2020-02-27 10:53:55 +00:00
Ohad Kammar
620d33e343
Also add Edwin's lexer library
2020-02-24 08:46:56 +00:00
Ohad Kammar
b4fa793b0c
Add Edwin's Parser library from the Idris2 port
2020-02-24 08:43:27 +00:00
Edwin Brady
66d67c84cc
Add directory reading functions
...
and support for Chez and Racket
2020-02-23 12:17:36 +00:00
Edwin Brady
14e9872f07
Don't show MN names in hole contexts
...
This prevents display of shadowed names from case blocks/where clauses
that are now unusable. It does mean that constraint arguments aren't
displayed, unless given an explicit name - this may not be good, since
we might want to know which constraints are in scope, so it may yet need
a little tweaking.
2020-02-15 22:33:13 +00:00
Edwin Brady
625027f278
Add nub to Data.List
2020-02-09 21:45:36 +00:00
Edwin Brady
8227859760
Add System.Directory
...
Currently supports creating and changing directories. Support for
reading contents of directories still missing.
2020-02-01 18:43:28 +00:00
Edwin Brady
e1c6926da6
Store name directives as a map
...
They're global, and so we don't reset per file, so we might get
duplicates, so it's much quicker to store as a map even though we'd
expect few of them overall.
2020-02-01 18:06:35 +00:00
Edwin Brady
6f4fa7ade9
More Data.List functions
2020-02-01 13:32:30 +00:00
Edwin Brady
7d47c08140
Add Data.List.isPrefix
2020-02-01 12:57:14 +00:00
Edwin Brady
960ad42732
Add System.Info
...
Gets the OS info from the host compiler, which we'll need to be careful
with when bootstrapping (since maybe we'll distribute generated chez or
racket as a starting point for bootstrapping...)
2020-02-01 12:32:42 +00:00
Edwin Brady
284a3ded69
Add strIndex and strTail
2020-01-31 23:06:08 +00:00
Edwin Brady
2465e5a149
Some buffer updates
...
Initialising buffers from files, error checking on creation, resizing.
2020-01-31 16:49:31 +00:00
Edwin Brady
854e39936e
Some Data.Buffer bits
...
Need to know length of strings in bytes sometimes, not just characters,
to check we have enough space.
Also add copyData
2020-01-30 18:36:59 +00:00
Edwin Brady
bb6cefc0a9
Added Data.IOArray
...
plus scheme primitives for runtime, via vectors
2020-01-30 17:04:33 +00:00
Edwin Brady
a26581f454
Use a data type for dotting reason
...
Then we can more safely match on it
2020-01-24 16:16:31 +00:00
Edwin Brady
c84e2b5cb7
void's argument is certainly irrelevant!
...
Since it's the empty type...
2020-01-23 17:45:19 +00:00
Edwin Brady
04e4ebf80e
Better approach to erasure in pattern matching
...
It's a big patch, but the summary is that it's okay to use a pattern in
an erased position if either:
- the pattern can also be solved by unification (this is the same as
'dot patterns' for matching on non-constructor forms)
- the argument position is detaggable w.r.t. non-erased arguments, which
means we can tell which pattern it is without pattern matching
The second case, in particular, means we can still pattern match on
proof terms which turn out to be irrelevant, especially Refl.
Fixes #178
2020-01-21 18:47:43 +00:00