We are currently working on the Japanese documentation.
Documentation in other languages will be provided after the Japanese documentation is written.
Source Code
Extension
.li
is strongly reccommended. But it is not forced.
Entrypoint
Cotowali script is executed from top to bottom. Cotowali don't have entorypoint but you can use a virtual entrypoint as follows.
fn main() {
echo('hello')
}
main()
Load files
You can use require
to load other files. require
differs from source
command in it is resolved at compile-time.
// math.li
fn add(a int, b int) int {
return a + b
}
// main.li
require './math.li'
assert add(1, 1) == 2
Load remote files
require
supports load files from http
, https
and github
.
Use a raw url for http
and https
. Use a special url like require 'github:user/repo@ref/path'
for github
. ref
cannot be omitted.
// https
require 'https://raw.githubusercontent.com/cotowali/cotowali/main/examples/hello_world.li'
// github
require 'github:cotowali/cotowali@main/examples/hello_world.li'
Checksums
You can use require
with checksums。If one or more checksums are specified, checksums of the target file is verified at compile-time.
Cotowali supports md5
, sha1
antd sha256
as a checksum algorithm.
require 'github:cotowali/cotowali@main/tests/empty.li' {
md5 : 'd41d8cd98f00b204e9800998ecf8427e',
sha1 : 'da39a3ee5e6b4b0d3255bfef95601890afd80709',
sha256: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855',
}