Skip to content

0.4.0-alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 04 Apr 19:12
· 160 commits to main since this release

Harbour Rust 0.4.0-alpha

English

Harbour Rust is an independent, community-led, open source compiler project written in Rust and designed for compatibility with CA-Clipper and Harbour.

This repository is maintained as a public, non-commercial contribution to the software community. It is not affiliated with, endorsed by, or sponsored by the Harbour Project, xHarbour, CA-Clipper, or any related trademark owner. Those names are used only to describe compatibility goals and historical context.

This release marks the first public 0.4.0-alpha line after the completion of phases 0 through 12 of the initial roadmap.

Highlights

  • End-to-end compiler pipeline implemented:
    • lexer
    • preprocessor
    • parser / AST
    • HIR / semantic analysis
    • runtime
    • IR
    • C code generation backend
  • Practical procedural alpha baseline available
  • Support for arrays, STATIC, memvars, codeblocks, and selected macro/preprocessor features
  • Initial DBF/RDD support:
    • schema parsing
    • record navigation
    • field reads
    • append / update / delete / recall in the supported subset
  • CLI includes:
    • help
    • check
    • build
    • run
    • transpile --to c
  • Quality tooling in place:
    • golden tests
    • compatibility harnesses
    • benchmark smoke runner
    • fuzzing scaffold
    • CI and release workflows

Release assets

This release publishes:

  • harbour-rust-cli-0.4.0-alpha-linux-x86_64.zip
  • harbour-rust-cli-0.4.0-alpha-macos-aarch64.zip
  • harbour-rust-cli-0.4.0-alpha-windows-x86_64.zip
  • benchmark-report.md
  • SHA256SUMS.txt

Scope

This alpha consolidates the work delivered up to phases 10, 11, and 12, on top of the compiler and runtime foundation built in earlier phases.

Current baseline areas:

  • parser and runtime are usable for the currently implemented subset
  • C is the primary executable backend
  • DBF/RDD support is present as an initial foundation
  • public repository governance, bilingual documentation, issue templates, and release workflows are in place

Known limitations

This is still alpha software.

Known limitations include:

  • partial rather than complete xBase dialect coverage
  • selected builtins implemented only for the currently tested subset of value kinds
  • no native backend yet; codegen-c is the primary executable backend
  • compatibility gaps remain in advanced macro behavior, broader runtime fidelity, and extended RDD coverage
  • automatic comparison against Harbour may still depend on an external local runner in some workflows

Validation used for this release

cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace
cargo check --manifest-path fuzz/Cargo.toml
cargo run -p harbour-rust-tests --bin benchmark-suite -- --fixture examples/hello.prg --iterations 1
cargo build --release -p harbour-rust-cli

Project position

Harbour Rust is:

  • open source
  • community-oriented
  • non-commercial as a project initiative
  • independently maintained
  • intended as a respectful technical contribution to a historically important ecosystem

The project also has a personal origin: xBase was the maintainer's first serious programming environment and played an important role in his path as a developer. That background motivates the work, but the project is intended to remain technically rigorous, community-oriented, and professionally documented.

Documentation

Portugues do Brasil

Harbour Rust e um projeto independente, open source e orientado pela comunidade, escrito em Rust e voltado a compatibilidade com CA-Clipper e Harbour.

Este repositorio e mantido como uma contribuicao publica e sem fins lucrativos para a comunidade de software. Ele nao e afiliado, endossado ou patrocinado pelo Harbour Project, xHarbour, CA-Clipper ou por qualquer titular de marca relacionado. Esses nomes sao usados apenas para descrever objetivos de compatibilidade e contexto historico.

Esta release marca a primeira linha publica 0.4.0-alpha apos a conclusao das fases 0 a 12 do roadmap inicial.

Destaques

  • Pipeline fim a fim do compilador implementado:
    • lexer
    • pre-processador
    • parser / AST
    • HIR / analise semantica
    • runtime
    • IR
    • backend C para geracao de codigo
  • Baseline alpha procedural utilizavel
  • Suporte a arrays, STATIC, memvars, codeblocks e um subconjunto selecionado de macros/pre-processamento
  • Suporte inicial a DBF/RDD:
    • parsing de schema
    • navegacao de registros
    • leitura de campos
    • append / update / delete / recall no subconjunto suportado
  • A CLI inclui:
    • help
    • check
    • build
    • run
    • transpile --to c
  • Infraestrutura de qualidade presente:
    • golden tests
    • harnesses de compatibilidade
    • benchmark smoke runner
    • scaffold de fuzzing
    • workflows de CI e release

Assets da release

Esta release publica:

  • harbour-rust-cli-0.4.0-alpha-linux-x86_64.zip
  • harbour-rust-cli-0.4.0-alpha-macos-aarch64.zip
  • harbour-rust-cli-0.4.0-alpha-windows-x86_64.zip
  • benchmark-report.md
  • SHA256SUMS.txt

Escopo

Este alpha consolida o trabalho entregue ate as fases 10, 11 e 12, sobre a fundacao do compilador e do runtime construida nas fases anteriores.

Areas do baseline atual:

  • parser e runtime utilizaveis para o subconjunto ja implementado
  • C como backend executavel principal
  • suporte a DBF/RDD presente como fundacao inicial
  • governanca publica do repositorio, documentacao bilingue, templates de issues e workflows de release ja disponiveis

Limitacoes conhecidas

Este ainda e um software em estagio alpha.

Limitacoes conhecidas incluem:

  • cobertura parcial, e nao completa, dos dialetos xBase
  • alguns builtins implementados apenas para o subconjunto de tipos atualmente coberto por testes
  • ainda nao existe backend nativo; codegen-c continua sendo o backend executavel principal
  • ainda existem lacunas de compatibilidade em comportamento macro avancado, maior fidelidade de runtime e cobertura mais ampla de RDD
  • a comparacao automatica com Harbour ainda pode depender de runner externo/local em alguns fluxos

Validacao usada nesta release

cargo fmt --all --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace
cargo check --manifest-path fuzz/Cargo.toml
cargo run -p harbour-rust-tests --bin benchmark-suite -- --fixture examples/hello.prg --iterations 1
cargo build --release -p harbour-rust-cli

Posicionamento do projeto

Harbour Rust e:

  • open source
  • orientado pela comunidade
  • sem fins lucrativos como iniciativa de projeto
  • mantido de forma independente
  • pensado como uma contribuicao tecnica respeitosa a um ecossistema historicamente importante

O projeto tambem tem uma origem pessoal: xBase foi o primeiro ambiente de programacao realmente importante na trajetoria do mantenedor. Esse contexto motiva o trabalho, mas o projeto busca permanecer tecnicamente rigoroso, orientado a comunidade e documentado de forma profissional.

Documentacao