Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
344ae3e
Tim 2 grammar, lexer and parser
claude Sep 25, 2026
751ec9d
Add the semantic checker and the standard library's builtin table
claude Sep 25, 2026
d1bd9c5
Add the portable Tim 2 runtime
claude Sep 25, 2026
3910343
Add the core code generator and the x86-64 emitter
claude Sep 25, 2026
fe3dffb
Add arm64 and riscv64 emitters for the core code generator
claude Sep 25, 2026
8c19bde
Add a garbage collector to the runtime
claude Sep 25, 2026
6b9b51a
Add Windows and macOS arm64 to the core, a core test corpus and CI
claude Sep 25, 2026
f2e1b2a
Trim the documentation to Tim 2
claude Sep 25, 2026
d70204d
Commit the expected outputs of the core programs as .want files
claude Sep 25, 2026
5bf85bc
Keep testdata/core byte-exact on Windows checkouts
claude Sep 25, 2026
fb4ac64
Make core PE images relocatable for Windows on ARM64
claude Sep 25, 2026
0abecb8
Add raw strings and sharper diagnostics
claude Sep 25, 2026
1a0d6d3
Make % floored, 2 ** 0.5 exact to the ulp, and num reject '.'
claude Sep 25, 2026
db68d0f
Compile defer in the core; exit with 0 unless asked otherwise
claude Sep 25, 2026
7a5f964
Call C from the core: dynamic imports, rt_ffi and memory builtins
claude Sep 28, 2026
c61cce6
Compile cstructs in the core
claude Sep 28, 2026
32a9413
Import msvcrt's names for C99 functions; install the riscv64 C librar…
claude Sep 28, 2026
4daf143
Compile the remaining examples in the core
claude Sep 28, 2026
3ee09e4
Add popcount, clz and ctz; move the last tests off Tim 1 builtins
claude Sep 28, 2026
fc14e21
Compare core program output without C's Windows line endings
claude Sep 28, 2026
4bad2ee
Compile only with the core; Tim modules in the core; remove unsafe an…
claude Sep 29, 2026
3f5dad3
Delete the legacy backends; real arena regions; a small CLI
claude Sep 29, 2026
bd62175
Direct C calls, inline syscalls, platform()
claude Sep 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
testdata/core/* -text
testdata/core/lib/** -text
47 changes: 47 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: CI

on:
push:
pull_request:

jobs:
linux:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Install qemu and the arm64 and riscv64 C libraries
run: sudo apt-get update && sudo apt-get install -y qemu-user libc6-arm64-cross libc6-riscv64-cross
- run: go vet ./...
- run: go test ./...

runtime:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Install clang and lld
run: sudo apt-get update && sudo apt-get install -y clang lld llvm
- name: Test the runtime natively
working-directory: runtime
run: |
clang -O1 -fno-builtin -fno-math-errno -w test/harness.c -o /tmp/harness && /tmp/harness
clang -O1 -fno-builtin -fno-math-errno -w test/gc.c -o /tmp/gc && /tmp/gc
- name: Build the runtime blobs
run: sh runtime/build.sh

native:
strategy:
fail-fast: false
matrix:
os: [macos-14, windows-2022, windows-11-arm]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
- run: go build ./...
- name: Core programs
run: go test -count=1 -run TestCorePrograms -v .
Loading
Loading