Commit Graph

190 Commits

Author SHA1 Message Date
Andre Videla
9797a79b53 [ new ] Allow fixities to be hidden with %hide
* Change the printing of namespaced operator to show
  parenthesis around operators
* Update warning when conflicting fixities are found
* Do not warn about redundant but compatible fixities
2023-06-14 11:19:59 +01:00
Justus Matthiesen
2733ec2333 [ doc ] add lazy functions to changelog 2023-06-12 11:04:59 +01:00
Aleksei Volkov
e594669210
[ fix #1878 ] Programmer-provided terms should be alwaysReduce (#2977)
* [ fix ] Programmer-provided terms should be alwaysReduce

This ports Edwin's commit that fixes the original issue back to Idris

Co-authored-by: Edwin Brady <ecb10@st-andrews.ac.uk>

* [ tests ] Added regression test for #1878

* Updated CHANGELOG.md and CONTRIBUTORS

---------

Co-authored-by: Edwin Brady <ecb10@st-andrews.ac.uk>
2023-06-01 17:08:02 +01:00
Thomas E. Hansen
009eb270c1 Revert "[ fix ] Rename Prelude.Interface NS Lazy to ILazy"
This reverts commit bd231c2076, which is a
separate thing that should be its own PR.
2023-05-30 09:46:24 +02:00
Thomas E. Hansen
bcbe2b8c4f [ fix ] Rename Prelude.Interface NS Lazy to ILazy
This is required due to `Lazy` now being a reserved compiler primitive.

N.B. This may also break other dependencies and/or tools. Notably stuff
     outwith the Idris2 upstream. There's been some discussion in #2987.
2023-05-30 09:46:24 +02:00
Thomas E. Hansen
1f7773ebf8 [ new ] Implement :doc for laziness primitives
* Restructured the parser to be a bit nicer around these as well
    (subject to approval).

Fixes #2599
2023-05-30 09:46:24 +02:00
Aleksei Volkov
298f91cf0a
[ base ] Implemented Ord for Name, Namespace and UserName (#2973) 2023-05-15 14:45:42 +01:00
Stefan Höck
2739c3a389
[ codegen ] more flexible array implementation on JS backends (#2966) 2023-05-14 06:45:50 +01:00
stefan-hoeck
3c9393e5a8 [ codegen ] constant fold believe_me 2023-05-06 14:52:14 +01:00
Stefan Höck
e34b5a64f0
[ codegen ] get rid of trivial let statements (#2961) 2023-05-06 08:35:17 +01:00
madman-bob
a00b7ee7ec
Public export TTImp reflection functions (#2947)
Co-authored-by: Thomas E. Hansen <teh6@st-andrews.ac.uk>
Co-authored-by: Ohad Kammar <ohad.kammar@gmail.com>
2023-05-05 10:33:32 +01:00
stefan-hoeck
83f5ef27b6 [ new ] Eq, Ord, Semigroup, and Monoid for All 2023-05-02 11:23:14 +02:00
Denis Buzdalov
55efd7dd7b [ new ] Add Compose instances for Bi* interfaces, analogous to present 2023-04-25 12:59:25 +01:00
Thomas E. Hansen
a423715da1 [ new ] Add compile.casetree.missing topic
This allows us to track when we're compiling non-covering case blocks.
2023-04-22 08:33:38 +01:00
Steve Dunham
9544162bc4
[ new ] Add support for bi-directional pipes on POSIX systems (resolves #2935) (#2944) 2023-04-15 09:39:17 -05:00
G. Allais
b185f1ff85
[ new ] %unsafe pragma for escape hatches (#2937) 2023-04-03 21:42:47 +01:00
Thomas E. Hansen
87ebe7d932 [ contrib ] Add modFin and strengthenMod 2023-03-31 14:18:27 +02:00
Adowrath
6b38592b5a Add HasNamespaces Lifted* implementations 2023-03-29 09:00:06 +01:00
Denis Buzdalov
cf63ee2ef2 [ base ] Add extraction functions to Data.Singleton 2023-03-28 11:29:09 +01:00
Zoe Stafford
442c5b529f
Collect constructors on the left hand side of case alternatives (#2919)
* [ fix ] collect constructors on LHS of cases alts

* [ tests ] Updated expected
These functions do refer to these constructors at runtime, so this is the correct output

* Update CHANGELOG.md

* [test] update test output again
2023-03-14 15:05:19 +00:00
Steve Dunham
081938bad8 [ base ] Add support for unbuffered stdin 2023-03-07 13:28:25 -08:00
Zoe Stafford
c05971482f
Update Changelog 2023-03-05 11:14:21 +00:00
CodingCellist
7972c6acbd
[ new ] Implement bit-rotation operators (#2903)
* [ new ] Implement bit-rotation operators

Whereas `shiftR` and `shiftL` throw bits off the edge, the `rotR` and
`rotL` operations wrap the bits around to the start of the bit-stream.

* [ test ] visualise bit patterns instead

* [ fix ] print bit patterns the right way around

---------

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2023-03-04 14:41:54 +00:00
CodingCellist
ba24892e2f
[ new ] Couple of useful things for Vect (#2904)
Co-authored-by: Ohad Kammar <ohad.kammar@ed.ac.uk>
Co-authored-by: André Videla <andre.videla@gmail.com>
Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
2023-03-03 15:58:44 +00:00
rhiannon morris
20ecc02569
add Functor impl for Tokenizer (#2901) 2023-02-28 09:20:21 +00:00
G. Allais
310a8f12cd
[ new ] missing buffer primitives (#2893) 2023-02-26 17:50:52 +00:00
Katarzyna Marek
a2c82e934e
[ contrib ] Sufficient view of lists (#2841) 2023-02-22 12:13:13 +00:00
G. Allais
dc1b5387b8
[ re #2832 ] warn about conflicting fixity declarations (#2889) 2023-02-19 16:29:10 +00:00
Stefan Höck
b543daf5ab
[ contrib ] move SortedMap and SortedSet to base (#2884) 2023-02-16 11:02:43 -06:00
Zoe Stafford
ff822a747b
Js char io (#2887)
* Implement `{get,put}Char` for javascript backend

* Update changelog
2023-02-13 15:48:07 +00:00
Andy Lok
a1d0c7c478 [ fix #2087 ] Fix multiline string on CRLF 2023-02-13 14:21:09 +00:00
Mathew Polzin
2e9c7fb8b5
Create a separate Makefile for the Idris 2 support libraries. (#2869)
* Create a separate Makefile for the Idris 2 support libraries.

* Update INSTALL.md

* satisfy natural language linter

* Add to CHANGELOG

* Update CHANGELOG.md
2023-02-09 16:49:49 -06:00
G. Allais
7c66d10eae
[ papers ] Type-based Divide & Conquer (#2860) 2023-02-08 17:19:24 +00:00
Justus Matthiesen
7eed472ac5 [ termination ] update changelog 2023-02-08 16:13:04 +00:00
G. Allais
fba9f16a1c
[ fix ] positivity checker: assert_total & Lazy (#2876) 2023-02-07 12:35:33 +00:00
Stefan Höck
f6a731695d
[ new ] constructor plus trivial impl for Interpolation (#2871)
* [ new ] constructor plus trivial impl for Interpolation

* [ doc ] update CHANGELOG

* [ test ] adjust expected test output
2023-02-04 07:47:28 -06:00
Mathew Polzin
ad12f8335c
[ new ] popen/pclose for the NodeJS backend. (#2857)
* implement popen and pclose (to an extent) for NodeJS

* bring node020 back into tests.

* ah, I see what was being done here. Fix the idris for the test.

* fix test's unreachable clause warning

* fix expectation

* Add note to CHANGELOG

* small tweaks to get popen into merge-ready state.
2023-01-30 09:38:42 -06:00
G. Allais
966a4813fb
[ fix ] respect totality annotations for data (#2862) 2023-01-26 11:03:22 +00:00
G. Allais
ea4a4c0f85
[ base ] fix the definition of die (#2854) 2023-01-19 11:09:28 +00:00
Mathew Polzin
24ac56de88
Moving Data.List.HasLength into base (#2844) 2023-01-16 00:07:21 -06:00
Denis Buzdalov
936b7270ae [ prelude ] Add lacking implementation of Traversable for Pair 2023-01-09 15:56:21 +00:00
Mathew Polzin
4005b40a95
[new] Vect.Quantifiers.All QoL (#2843)
* Add Show for Vect.All

* Add an alias for HVect to Data.Vect.Quantifiers.All

* Add a few utilities for Vect.Quantifiers.All to make it more at home in listy uses.

* Add CHANGELOG entries.
2023-01-09 00:57:00 -06:00
Mathew Polzin
63a22b819d
[docs] javascript FFIs and packaging of JS or C support files (#2842)
* Add documentation on javascript FFIs and packaging of JS or C support files.

* Add to changelog.

* line length

* add some detail about the install directories for packages.
2023-01-07 21:40:47 +00:00
Stefan Höck
8db12f5a49
[ performance ] improve some Char functions (#2839) 2023-01-06 09:08:38 +00:00
Zoe Stafford
217271a623
Js shebang (#2830)
* add shebang to outputted node file
after `chmod`ing the file, it can be run directly
ie `./build/exec/test` rather than `node ./build/exec/test``

* update CHANGELOG.md

* [ linter ]

* [ linter ] again...
2022-12-22 14:56:44 +00:00
Stefan Höck
d2c8cf461b
[ performance ] Compile non-recursive top-level constants to constants in Chez (#2817) 2022-12-21 08:48:20 +00:00
G. Allais
0194539ef7
[ new ] __LOC__, __FILE__, __LINE__, __COL__ magic debug strings (#2819)
* [ new ] __LOC__, __FILE__, __LINE__, __COL__ magic debug strings

* [ fix ] the point is to test whitespace being ignored

* [ fix ] golden values
2022-12-17 18:12:39 +00:00
G. Allais
2f55a3ef8a
[ fix ] elaboration of records' telescopes of parameters (#2816) 2022-12-15 17:55:50 +00:00
Hattori, Hiroki
5c9f8e36a1
[ RefC ] Add 16 and 32 bit access to base/Data.Buffer . (#2609)
* Fix symbom mangling

* Revert "Fix symbom mangling"

This reverts commit 6481e80155.

* Fix typo

* [RefC] Add missed prims of setBuffer* .

* [ fix ] formatting

* [ re #2609 ] Use 'UInt' instead of 'Word'

More descriptive/to the point / Less assumed knowledge.

There are no *LE suffixes for UInt8, since endianness is to do with
multiple bytes and UInt8 is a single one.

Co-authored-by: Guillaume Allais <guillaume.allais@ens-lyon.org>
Co-authored-by: Thomas E. Hansen <teh6@st-andrews.ac.uk>
2022-11-15 12:15:06 +01:00
CodingCellist
037b48eb29
[ re #2649 ] Update CHANGELOG (#2765) 2022-11-15 10:58:00 +01:00