an attempt at a cross-platform standard library for hblang
Find a file
2025-01-05 23:19:41 +00:00
src lots of work 2025-01-05 16:50:02 +00:00
.gitignore improve build script 2025-01-01 20:18:26 +00:00
build add option to dump assembly to build script. add hbc_flags script variable. 2025-01-05 23:19:41 +00:00
LICENSE Initial commit 2024-12-31 11:47:31 -06:00
README.md add option to dump assembly to build script. add hbc_flags script variable. 2025-01-05 23:19:41 +00:00

Lily

an attempt at a cross-platform standard library for hblang.
use ./build -h to see available arguments. supports:

  • changing target
  • custom linker (for c_native)
  • running the executable (for c_native)
  • setting output path
  • dumping assembly of c_native or hbvm_ableos programs
  • only recompiling if either source or environment change

Important

all features, targets, etc, are provisional and subject to change

To change build target

manually:

create the file src/lib/target/target.hb with the contents target := @use("my_target.hb")

automatically:

use the -t flag supplied in ./build

currently available targets:

  • c_native
  • hbvm_ableos

Currently "working" features

  • lily.{Type, TypeOf, Kind, exit, panic, memcpy, memmove, memset}
  • lily.log.{log, info, error, warn, debug, trace}
  • lily.result.Result

Currently "in progress" features

  • lily.rand.SimpleRandom
  • lily.log.{print, printf}

Currently "broken due to compiler" features

  • lily.collections.SparseVec
  • lily.alloc.{SimpleAllocator, RawAllocator}