HTTP client and server
Bounded HTTP/1.1 GET and verified HTTPS, typed responses and errors, and a cleartext GET/HEAD/POST server with explicit limits and graceful shutdown. Server TLS remains outside the contract.
Available. Planned. Intended.
Separate released capabilities and agreed release plans from far-off research ideas that have no release commitment.
Available now
The developer preview combines exact arithmetic, checked domain types, namespaces and local packages with native HTTP clients, servers and a static HTTP server tool. Compiler explanations expose more recorded checking decisions. Use the matching compiler, VM and standard library when running saved bytecode.
Native: 0.1.0-alpha.13 for Ubuntu 22.04+ x86-64 and macOS 14+ Apple silicon. Browser: separately pinned v0.1.3 with the alpha.13 compiler and no host filesystem, process or networking access.
Install alpha.13 · Released capabilities · Release notes and migration history
Released
Reusable local packages, native HTTP and a static file server are available now, together with a broader view of the compiler’s recorded decisions.
Bounded HTTP/1.1 GET and verified HTTPS, typed responses and errors, and a cleartext GET/HEAD/POST server with explicit limits and graceful shutdown. Server TLS remains outside the contract.
Strict manifests, dependency aliases and public exports let applications share local libraries. Move the complete package tree together and pin the matching toolchain. Remote restoration is not included.
Create two small local packages →The installed panack-http-server serves files from any chosen directory over HTTP, with confined asynchronous reads, directory indexes and MIME types. Website preview is one use case; optional no-cache and noindex headers support it. It has bounded responses and no watching, rebuilds or server TLS.
Inspect recorded decisions for values, calls, returns, operators, conditions, matches and effect boundaries. Source locations and explicit unavailable results distinguish evidence from unsupported cases.
Try compiler explanations →Previous releases: explore what alpha.12 delivered →
Planned · not released
Alpha.14 will bring type-owned method dispatch and an HTTP server framework, alongside package management, broader compiler correctness and explanations, faster source-coverage collection, and prioritised improvements drawn from development friction. This work is being developed on the next branch; specific delivery dates are not set.
Resolve methods through the receiver’s checked type, so APIs can share names without collisions. The migration will replace receiver-to-global sugar with explicit ownership and finish with dot-call syntax.
Why methods need a proper home →Build HTTP services with route registration and typed asynchronous handlers. Type-owned dispatch will let server methods such as get and put coexist with collection APIs, building on alpha.13’s native HTTP foundations.
Continue the package-management work and broader checker-decision explanations beyond alpha.13’s accepted scope. Remote restoration and complete checker coverage are not current release features.
Measure incremental collection improvements, starting with plans cached by validated inputs while keeping test execution fresh. Coverage reports run weekly or on demand and do not hold up releases.
Review recorded development friction, select bounded improvements and compare the results against the original evidence.
Planned · not released
Build useful, concrete programs in Panackelty on top of the compiler and standard library established in earlier releases. Use them to test whether the language’s capabilities and explanations help developers reach correct programs more easily. The specific programs and timing are still being defined.
Target · not released
The alpha releases deliver capabilities in stages. The first non-alpha target brings those capabilities together into a coherent, tested and documented foundation for real applications. It includes the earlier release work; the remaining emphasis is integration, breadth and readiness. Detailed scope, version and date are still being defined.
Namespaces, local reusable packages, standard-library organisation and reproducible dependencies.
Build on alpha 13’s HTTP packages with integrated application examples, clear lifecycle guidance and acceptance tests across the supported toolchain.
Broader practical standard-library APIs and clearer creation, testing, inspection and maintenance workflows.
Complete the remaining agreed compiler-understanding work beyond alpha 13. Bring checking, inspection and troubleshooting together into a documented workflow.
Representative measurements, explicit performance targets and regression decisions, supported by tests and integration acceptance.
A learning path, language and library references, useful examples and verified installation and migration guidance.
Code readability and test coverage, removal of obsolete transitional paths, independent website delivery and faster local workflows also contribute to readiness. These are engineering outcomes, not claims that an unreleased product is ready for production.
Far off · research only
These topics are far off and are not included in alpha 12, alpha 13, the first non-alpha target, or any other release plan. They are research and discussion topics only: scope, feasibility, implementation and timing are all undecided.
Explore whether Panackelty should call foreign code, and what a safe boundary would require for types, effects, ownership, errors and supported platforms. No language, ABI or implementation is selected.
Study whether measured performance needs could justify runtime native compilation while preserving exact language behavior. No compiler backend or release scope is selected.
Explore how pure functions and an explicit model for effects and shared resources could prevent data races while enabling useful multi-core scaling. The concurrency model and its costs remain open questions.
Investigate whether compile-time code generation would solve demonstrated problems, and how it could preserve type checking, understandable diagnostics and reproducible builds. No macro system or syntax is selected.
Compare linear types and typestate as alternatives for compiler-tracking the lifecycle of external resources. No type model is selected.
A research topic is not a promise to build a feature or place it in a release. The roadmap records the open questions without scheduling implementation.
Keep exploring