hare

[hare] The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

global.ha (521B)


      1 // SPDX-License-Identifier: MPL-2.0
      2 // (c) Hare authors <https://harelang.org>
      3 
      4 use io;
      5 use os;
      6 use rt;
      7 
      8 // The global logger instance.
      9 export let global: *logger = &_default;
     10 
     11 // Default logger that writes to [[os::stderr]].
     12 export const default: *logger = &_default;
     13 
     14 let _default: stdlogger = stdlogger {
     15 	println = &log_println,
     16 	printfln = &log_printfln,
     17 	sink = rt::STDERR_FILENO: io::file,
     18 };
     19 
     20 // Sets the global logger instance to the provided logger.
     21 export fn setlogger(log: *logger) void = {
     22 	global = log;
     23 };