lean4-htt/src/Init
Henrik Böving 473b34561d
feat: Revamp file reading and writing (#4906)
This PR:
- changes the implementation of `readBinFile` and `readFile` to only
require two system calls (`stat` + `read`) instead of one `read` per
1024 byte chunk.
- fixes a bug where `Handle.getLine` would get tripped up by a NUL
character in the line and cut the string off. This is caused by the fact
that the original implementation uses `strlen` and `lean_mk_string`
which is the backer of `mk_string` does so as well.
- fixes a bug where `Handle.putStr` and thus by extension `writeFile`
would get tripped up by a NUL char in the line and cut the string off.
Cause here is the use of `fputs` when a NUL char is possible.

Closes: #4891 
Closes: #3546
Closes: #3741
2024-08-07 07:39:15 +00:00
..
Control chore: cleanup unused arguments (from linter) (#4621) 2024-07-07 21:20:06 +00:00
Data feat: generalized Parsec (#4774) 2024-08-06 15:17:23 +00:00
Grind feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
Omega chore: split Init.Data.List.Lemmas (#4863) 2024-07-30 03:17:34 +00:00
System feat: Revamp file reading and writing (#4906) 2024-08-07 07:39:15 +00:00
BinderPredicates.lean chore: upstream set notation (#3339) 2024-02-15 02:08:45 +00:00
ByCases.lean chore: upstream List.eraseIdx lemmas (#4865) 2024-07-30 06:59:45 +00:00
Classical.lean doc: Classical.choice (#3871) 2024-04-22 06:36:56 +00:00
Coe.lean fix: make Lean.Internal.liftCoeM and Lean.Internal.coeM unfold (#3404) 2024-02-27 22:17:46 +00:00
Control.lean feat: add ExceptCpsT 2021-02-27 18:44:24 -08:00
Conv.lean chore: reorganising to reduce imports (#3790) 2024-03-27 11:15:01 +00:00
Core.lean chore: rename PSigma.exists (#4878) 2024-07-31 03:26:17 +00:00
Data.lean feat: upstream more List lemmas (#4856) 2024-07-28 23:23:59 +00:00
Dynamic.lean chore: snake-case attributes (part 2) 2022-10-19 09:28:08 -07:00
Ext.lean feat: improve @[ext] error message when ext_iff generation fails (#4762) 2024-07-17 18:26:12 +00:00
GetElem.lean chore: cleanup unused arguments (from linter) (#4621) 2024-07-07 21:20:06 +00:00
Grind.lean feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
Guard.lean feat: upstream guard_expr (#3297) 2024-02-11 23:25:04 +00:00
Hints.lean fix: Not should not be reducible, special support for Ne 2021-02-15 17:36:11 -08:00
MacroTrace.lean chore: reorganising to reduce imports (#3790) 2024-03-27 11:15:01 +00:00
Meta.lean feat: trailing whitespace changes should not invalidate imports (#4580) 2024-07-24 13:08:01 +00:00
MetaTypes.lean chore: Simp.Config.implicitDefEqProofs := true by default (#4784) 2024-07-18 19:10:18 +00:00
Notation.lean feat: PProd syntax (part 3) (#4756) 2024-07-16 21:06:04 +00:00
NotationExtra.lean feat: PProd syntax (part 3) (#4756) 2024-07-16 21:06:04 +00:00
Omega.lean chore: add missing copyright headers (#3411) 2024-02-20 01:49:55 +00:00
Prelude.lean chore: cleanups for Mathlib.Init (#4852) 2024-07-27 07:37:17 +00:00
PropLemmas.lean chore: upstream List.eraseIdx lemmas (#4865) 2024-07-30 06:59:45 +00:00
RCases.lean doc: typo in rcases docs (#3796) 2024-03-28 07:31:01 +00:00
ShareCommon.lean refactor: sharecommon (#4887) 2024-07-31 19:13:12 +00:00
SimpLemmas.lean feat: characterisations of List.Sublist (#4704) 2024-07-09 21:34:29 +00:00
Simproc.lean chore: fix simproc doc-string (#3800) 2024-03-28 17:54:52 +00:00
SizeOf.lean doc: documentation for Init.SizeOf 2022-08-17 14:48:10 -07:00
SizeOfLemmas.lean fix: protect sizeOf lemmas 2023-07-19 08:50:59 +02:00
System.lean feat: Mutex, Condvar 2022-09-05 08:52:46 -07:00
Tactics.lean chore: fix typo and incorrect name in doc (#4404) 2024-06-23 09:06:50 +00:00
TacticsExtra.lean feat: incremental next and tactic if (#4459) 2024-06-18 12:36:59 +00:00
Util.lean feat: add some low level helper APIs (#4778) 2024-07-17 20:12:05 +00:00
WF.lean chore: rename TC to Relation.TransGen (#4760) 2024-07-16 17:06:49 +00:00
WFTactics.lean feat: add missing theorems for + 1 and - 1 normal form (#4242) 2024-06-17 05:35:32 +00:00