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
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
Edwin Brady
af9e920d74
Merge branch 'linearity-clean' of https://github.com/ohad/Idris2 into ohad-linearity-clean
2020-01-19 16:56:13 +00:00
Edwin Brady
ea8c22135c
Merge pull request #156 from clayrat/misc-fixes
...
Misc fixes and additions
2020-01-19 16:48:47 +00:00
Alex Gryzlov
ce15b48a78
Merge remote-tracking branch 'upstream/master' into misc-fixes
2020-01-15 22:52:38 +01:00
Ohad Kammar
9a591b83ac
Add linearity annotations in the prelude
2020-01-09 13:05:05 +00:00
Ohad Kammar
be90749e22
Create a contrib directory in the standard library
...
Move the TailRec.idr and current poor-man's syntax for:
equational reasoning (`Syntax.PreorderReasoning`)
with proof (`Syntax.WithProof`)
2020-01-09 12:54:55 +00:00
Edwin Brady
663e1b8f69
Add uniqueSearch data type option
...
This changes the behaviour of 'auto' implicits so that by default they
return the first result, rather than checking for unique results. This
is consistent with Idris 1. However, we still want to check for
uniqueness somtimes (for example, with interface search, which should
reject overlapping results) so the 'uniqueSearch' option means that any
auto implicit search for the type should check uniqueness of results.
Fixes #169
2019-12-07 18:54:02 +00:00
Edwin Brady
ebb1ec3a3a
Merge pull request #167 from ska80/unwords+unlines/idris1
...
Add unwords and unlines to base/Data.Strings from Idris 1
2019-12-07 15:28:14 +00:00
Edwin Brady
0c4301d1c2
Merge pull request #159 from ska80/integral-nat
...
Add an implementation of Integral for Nat
2019-12-07 15:26:50 +00:00
Edwin Brady
ba5a798549
Merge pull request #153 from abailly/export-network
...
export Network.Socket functions
2019-12-07 15:14:42 +00:00
Edwin Brady
050fcfa45a
Merge pull request #148 from msmorgan/list-replicate
...
Add replicate to base/Data.List.
2019-12-06 10:59:12 +00:00
Edwin Brady
468555bb2e
Merge pull request #143 from ohad/bugfix-#133
...
Bugfix #133 and library support for tail-recursive list manipulation
2019-12-06 10:56:03 +00:00
Edwin Brady
262177016c
Merge pull request #147 from msmorgan/list-zip
...
Add zip functions to base/Data.List.
2019-12-06 10:42:11 +00:00
Edwin Brady
078b5be85f
Merge pull request #144 from sysvinit/debug-trace
...
Port Debug.Trace from Idris 1
2019-12-06 10:38:28 +00:00
Edwin Brady
d9f1b01ef7
Merge branch 'master' into bugfix-#133
2019-12-06 10:28:07 +00:00
Edwin Brady
0a51a72806
Add runElab to syntax tree
...
Nothing done yet in the elaborator, but it's ready to be filled in later
2019-12-05 18:58:53 +00:00
Edwin Brady
07509f6103
Begin elaboration of quoting terms
2019-11-30 15:26:17 +00:00
Edwin Brady
aae3d0f718
Reorganise Language.Reflection modules
2019-11-30 13:23:03 +00:00
Kamil Shakirov
8afad8ef0a
Add unwords and unlines to base/Data.Strings from Idris 1
2019-11-26 01:17:18 +06:00
Alex Gryzlov
1652a6be7d
Merge remote-tracking branch 'upstream/master' into misc-fixes
2019-11-25 19:18:09 +03:00
Edwin Brady
1c006b647a
Reflect/reify for TTImp
...
This is further progress towards a metaprogramming system in a form
similar to Elaborator Reflection or Template Haskell, but trying to
avoid leaking too many implementation details of the elaborator itself.
2019-11-24 21:17:16 +00:00