Commit graph

544 commits

Author SHA1 Message Date
Mario Carneiro
ed6a5bba88 chore: rename insertAt to insertAt! 2022-09-19 13:49:20 -07:00
Mario Carneiro
f8c6306469 feat: remove bounds checks in Array.{reverse, insertAt} 2022-09-19 13:49:20 -07:00
Gabriel Ebner
7356840cbc feat: use sepBy1Indent for tactic blocks 2022-09-18 16:43:23 -07:00
Leonardo de Moura
d3b0b49c43 feat: improve elabBinRelCore
See new test and comments at `elaBinRelCore`
2022-09-15 15:17:57 -07:00
Mario Carneiro
f6b3890dc5 feat: tail-recursive List.{mapM, foldrM} 2022-09-14 08:31:18 -07:00
Gabriel Ebner
f1b5fa53f0 chore: use new comment syntax 2022-09-14 08:26:17 -07:00
Mario Carneiro
b4ed2f2bbb doc: document Init.Data.Queue 2022-09-13 03:09:25 -07:00
Mario Carneiro
19a50a32ec chore: remove List.init 2022-09-11 07:21:24 -07:00
Mario Carneiro
2886174dd0 chore: remove map₂, [specialize] zipWith 2022-09-11 07:21:24 -07:00
Gabriel Ebner
8e7e58fc38 feat: synchronous operations for Channel 2022-09-05 08:52:46 -07:00
Gabriel Ebner
c4d421b3de feat: Channel 2022-09-05 08:52:46 -07:00
Gabriel Ebner
f7bae54b09 chore: resurrect Std.Queue 2022-09-05 08:52:46 -07:00
Mario Carneiro
ce3c0c0e6b feat: add TR versions of Nat.{fold, any, all, repeat} 2022-08-31 17:52:59 -07:00
Leonardo de Moura
b6f0bdc542 chore: add Array.mapMono 2022-08-30 11:45:05 -07:00
Leonardo de Moura
4f5a014170 feat: add Array.mapMonoM 2022-08-28 08:55:35 -07:00
E.W.Ayers
4ea4365354 doc: various String docstrings 2022-08-26 20:49:57 -07:00
E.W.Ayers
3aeb3db3b5 doc: Char/Basic.lean 2022-08-26 20:49:57 -07:00
E.W.Ayers
152d441a4c doc: note that Float.beq is not refl 2022-08-26 20:49:57 -07:00
Fynn Schmitt-Ulms
064ab16791
feat: Float.abs function (#1514) 2022-08-25 18:45:46 -07:00
pcpthm
bc9c14a080 fix: remove duplicate OfNat Int instance 2022-08-25 11:57:13 -07:00
E.W.Ayers
d543867241 doc: fix typos 2022-08-16 08:31:58 -07:00
E.W.Ayers
ff5b02622c doc: Format 2022-08-16 08:31:58 -07:00
E.W.Ayers
2e99e8c22d feat: Float ↔ Json 2022-08-16 08:01:23 -07:00
Mario Carneiro
9de477ecf9 feat: add more float functions 2022-08-12 13:12:59 -07:00
Leonardo de Moura
fdaae20594 chore: remove workaround 2022-08-04 21:29:31 -07:00
Leonardo de Moura
55bb8e905a chore: binderIdent normalization
fixes #1411
2022-08-04 21:10:02 -07:00
Leonardo de Moura
e9bcc779fe feat: add Array.mapM' 2022-08-03 11:18:19 -07:00
Leonardo de Moura
5df588cbbf chore: remove unnecessary annotations 2022-08-02 05:42:53 -07:00
Leonardo de Moura
8781203372 chore: rename misleading function
`charToHex` is an auxiliary function used at `Char.quoteCore` for
converting ASCII control characters into `\x` notation.
Its name was misleading.

Closes #1404
2022-08-01 13:21:03 -07:00
Leonardo de Moura
0156b59ef1 chore: enforce naming convention 2022-08-01 09:58:11 -07:00
Mario Carneiro
25aea1b723 doc: document all the tactics 2022-08-01 08:08:03 -07:00
Leonardo de Moura
eafd2a88ce chore: simplify Prelude.lean and Core.lean using elabAsElim 2022-07-29 18:13:56 -07:00
Sebastian Ullrich
f1f0f60768 fix: linter warnings 2022-07-29 10:31:19 -07:00
Leonardo de Moura
c46ef56ac7 perf: avoid blowup at deriving Repr
The fix is not perfect. I just avoided inlining in some builtin `Repr` instances.
The actual problem is at `ElimDeadBranches.lean`.

Closes #1365
2022-07-24 13:10:04 -07:00
Mario Carneiro
f6211b1a74
chore: convert doc/mod comments from /- to /--//-! (#1354) 2022-07-22 12:05:31 -07:00
Henrik Böving
8932878274 feat: Functor instance for List 2022-07-21 08:08:48 -07:00
Leonardo de Moura
c341d8432f feat: remove leading spaces from docstrings 2022-07-18 22:18:15 -04:00
Gabriel Ebner
c100f45b77 feat: add simp lemmas and instances for LawfulBEq 2022-07-11 14:19:41 -07:00
Leonardo de Moura
2fcd406f99 chore: remove sorry 2022-07-10 20:04:06 -07:00
Leonardo de Moura
ee0735760a feat: add instance : GetElem (List α) Nat α fun as i => i < as.length 2022-07-10 17:38:59 -07:00
Leonardo de Moura
475c7e18cd chore: missing GetElem instances 2022-07-10 14:53:22 -07:00
Leonardo de Moura
4173a863d8 chore: cleanup 2022-07-10 09:43:12 -07:00
Leonardo de Moura
2f1b80721e chore: avoid a[i]' h notation 2022-07-10 07:20:07 -07:00
Leonardo de Moura
aa52eebcdc feat: add instance GetElem (Array α) USize α fun xs i => LT.lt i.toNat xs.size where 2022-07-09 16:18:29 -07:00
Leonardo de Moura
1caff852fb chore: remove getOp functions 2022-07-09 16:09:28 -07:00
Leonardo de Moura
36ebccb822 chore: fix tests 2022-07-09 15:59:44 -07:00
Leonardo de Moura
e4b358a01e refactor: prepare to elaborate a[i] notation using typeclasses 2022-07-09 15:24:22 -07:00
Leonardo de Moura
4c707d3b3c feat: use binop% to elaborate %-applications
Motivation: make sure the behavior is consistent with other arithmetic
operators.

This commit also removes the instance
```
instance : HMod (Fin n) Nat (Fin n) where
  hMod := Fin.modn
```
because we have a coercion from `Fin n` to `Nat`.
Thus, given `a : Fin n` and `b : Nat`, `a % b` is ambiguous.
2022-07-09 14:38:35 -07:00
Leonardo de Moura
757171db1f feat: add String.get! and s[i]! notation for String 2022-07-03 14:59:44 -07:00
Leonardo de Moura
5e3a3a6c21 chore: remove notation a[i,h] for a[⟨i, h⟩] 2022-07-03 06:24:26 -07:00