#file #log

larry

treat a file as a l(ine) arr(a)y

1 unstable release

0.1.0 Sep 9, 2018

#103 in #file

Download history 9/week @ 2018-09-10

2 downloads per month

GPL-2.0 license

11KB
142 lines

larry

treat a file as a l(ine) arr(a)y

Larry is facilitates handling extremely long text files by allowing you to treat them as an immutable list of lines. Only those lines you access are read. For unread lines only their initial byte offset is saved, so memory demands are light regardless of the length of the file. Because only those bytes are decoded whose lines are accessed, processing demands are light.

Larry scans the file initially for line-terminal byte sequences, considering, for the time being, only the various combinations of carriage return and newline that various conventions consider to be line-terminal: 0x0A, 0x0D, 0x0A0D, and 0x0D0A. Larry doesn't "watch" its file, so if lines are added, they will not become accessible.

Larry was inspired by the Perl module IO::All.

No runtime deps