Finch/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz ea6d2a57e5 a standard library in Finch: path, time, proc, json
import json   import path   import time   import proc  -- found in std/ after the program's own files,
so a program's own json.fch always wins.

path: join, base, dir, ext, stem, parts, clean, is_abs.
time: now, millis, sleep, date, local, format, days_in_month (clock_gettime, strftime through C import).
proc: run, output (an error with the command's output when it fails), env, pid, cwd.
json: parse (errors with line and column), stringify, pretty, new_*, get/at/set/push/has/names and
str_or/int_or/float_or/bool_or; \u escapes with surrogate pairs.

The C importer now leaves a plain (non-const) char * parameter a ptr[char], a buffer C writes into;
only const char * is text going in. str(ptr) and str([]u8) are in the self-hosted compiler.

boot.sh: 40 passed, 0 failed.
2026-10-25 20:58:26 +01:00
..
fail Fix the two known limits: adding map keys while looping over the map is a runtime error; temporaries held by an expression are freed when try / or-blocks leave early. err usable after or, inner err shadows outer. 2026-10-25 19:13:46 +01:00
new a standard library in Finch: path, time, proc, json 2026-10-25 20:58:26 +01:00
run boot: methods (fn T.m, self by address, mutation analysis), str() of any value 2026-10-25 19:13:46 +01:00
boot.sh enums and match (in the compiler written in Finch) 2026-10-25 20:49:04 +01:00
cimport_boot_test.fch boot: cimport.fch, the C header importer written in Finch on libclang 2026-10-25 19:40:50 +01:00
cross.sh ARM64 and macOS: AAPCS64 struct passing, aarch64/macos targets, Apple frameworks and ld messages, tests/cross.sh, CI on ARM64 Linux and macOS 2026-10-09 00:34:00 +02:00
lsp_test.py Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support 2026-10-09 01:11:12 +02:00
run.sh Finch 2.4.0: methods, maps, errors as values; str() of any value; macOS and ARM64 docs; Kate support 2026-10-09 01:11:12 +02:00