hackerbase/doc/d-utils.md

1.8 KiB

Utility modules

These are various utility modules for other HackerBase libraries.

util-time [module]

(import util-time)

Compatibility module for the differences between chicken scheme version 5.2 and earlier and 5.3 and on.

current-util-milliseconds [procedure]

(current-util-milliseconds)

Returns the number of milliseconds since process startup.

Under chicken scheme <5.3 it uses current-milliseconds and for chicken scheme >=5.3 it uses current-process-milliseconds.

Without this module compilation with current-milliseconds results in warnings on chicken scheme >=5.3 and compilation under chicken scheme <5.3 results in error with current-process-milliseconds.

seconds->iso-date-string [procedure]

(seconds->iso-date-string . args)

Converts given seconds to ISO date string YYYY-MM-DD. Defaults to (current-seconds).

today/iso [procedure]

(today/iso)

Returns today as ISO date string YYYY-MM-DD.

util-csv [module]

(import util-csv)

This module provides a very simple, incomplete and incorrect but fast CSV loader.

(make-csv-line-parser separator string-delimiter) [procedure]

((make-csv-line-parser separator string-delimiter) line)

Curried version of fast CSV line parser with given separator and string delimiter.

  • separator - separator character
  • string-delimiger - string quotation character
  • line - line to parse

csv-parse-lines [procedure]

(csv-parse-lines lines separator: (separator ;) string-delimiter: (string-delimiter "))

Parses given lines and returns list of lists of strings.

csv-parse [procedure]

(csv-parse fn . args)

Uses csv-parse-lines on lines read from given file fn.

csv-split-header [procedure]

(csv-split-header csv)

Splits given loaded CSV into two tables at the first empty row.