# Feature status and boundaries

> Distinguish supported Alice behavior, experimental paths, and proposals.

Canonical: https://alice-lang.org/documentation/reference/feature-status/

[Documentation index](https://alice-lang.org/documentation/llms.txt) · [Complete book](https://alice-lang.org/llms-full.txt)

## Core language

The book documents the implemented syntax covered by the compiler and runtime test suites: inference, nullable checks, immutable bindings, methods, blocks, classes, structs, records, generics, modules, enum variants, patterns, .NET interop, async tasks, and supported concurrency checks.

A broad feature name does not imply compatibility with every Ruby or Crystal form. Alice is its own language and compiles to .NET.

## Current boundaries

| Area                                        | Boundary                                                                                               |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| Ruby compatibility                          | Supported forms are documented; arbitrary Ruby gems and VM metaprogramming are not implied.            |
| `try &.member`                              | Planned; use an explicit nil check or supported safe member call.                                      |
| Ordinary class construction as `Type(args)` | Planned sugar; use `Type.new(args)`.                                                                   |
| `abstract`/`private` modifier forms         | Parsed with less test coverage; verify the exact case before relying on it.                            |
| Ownership and borrowing proposals           | Design work, not shipped language guarantees.                                                          |
| `Any` and reflection                        | Runtime failures can remain; they are not full static contracts.                                       |
| Native numeric functions                    | Experimental and host/compiler dependent.                                                              |
| NativeAOT                                   | Requires target prerequisites and AOT-compatible dependencies.                                         |
| Browser playground                          | Uses its deployed compiler; local OS/framework APIs and external packages are not generally available. |
| Graphics and web hosting                    | Need local platform/framework setup and runtime checks.                                                |

## Compiler versions

The website and playground can update independently of a pinned local toolchain. Check `alice version` and `alice toolchain show` when an example behaves differently. Use an explicit `alice-toolchain` version in a shared project.

## Source and evidence

The source repository's [compiler tests](https://github.com/alicelanguage/alice/tree/main/tests/Alice.Tests/Compiler), [runtime tests](https://github.com/alicelanguage/alice/tree/main/tests/Alice.Tests/Runtime), and [tooling tests](https://github.com/alicelanguage/alice/tree/main/tests/Alice.Tests/Tooling) give concrete behavior for the current checkout.

The book's interactive examples are stored with expected output and checked using the local compiler. That verifies the example source against that compiler; it does not prove every foreign library or every deployed playground version has identical behavior.

## Continue reading

- Previous: [Diagnostic reference](https://alice-lang.org/documentation/reference/diagnostics.md)
- Next: [Syntax quick reference](https://alice-lang.org/documentation/reference/syntax.md)
