Task

Load the entire contents of some text file as a single string variable.

If applicable, discuss: encoding selection, the possibility of memory-mapping.

Of course, in practice one should avoid reading an entire file at once
if the file is large and the task can be accomplished incrementally instead
(in which case check File IO);
this is for those cases where having the entire file is actually what is wanted.




/**
 Read entire file
 Tectonics:
   nekoc read-entire-file.neko
   neko read-entire-file
*/
 
var file_contents = $loader.loadprim("std@file_contents", 1);
 
try {
  var entire_file = file_contents("read-entire-file.neko");
  $print("Read: ", $ssize(entire_file), " bytes\n");
} catch e {
  $print("Exception: ", e, "\n");
}