| Custom Allocators | Yes | The allocator can be changed at runtime, but must be GC or Arena by default. |
| Lambdas (Closures) | Partial | Lambdas exist, but don't capture their surrounding scopes. |
| Pattern matching | No | Support planned in the future. |
| Operator overloading | Partial | Can overload x[y], &x[y], x[y] = z x == y, *x = y, as well as length, hash, tuple, triple, & iter. |
| First class functions | Yes | Functions can be passed around, and their interface can be expressed in the type system. |
| Lazy Iterators | Yes | Due to QBE identifier length limitations, only 8-9 adapters can be chained at once. OK for most usecases. |
| Generics | Partial | Generic functions and structs exist, generic enums do not currently exist but are planned. |
| Type inference | Yes | The return type of functions is inferred. You can use let x = 1 or x := 1 to infer variable types. |
| Concurrency | No | Support planned in the future. |
Maybe/Option | Yes | Pointers can be nil, but an additional Option feature exists in the prelude. |
| Manual memory management | Yes | Use mem::malloc and mem::free to allocate without the GC, or use #set_allocator(HeapAllocator::new()). |
| Coroutines | No | Support planned in the future. |
| Rich errors | Yes | Elle has a built-in type Result<T, E> in the prelude with helper methods, similar to Rust. |
| Macros/metaprogramming | Partial | Constants act as macros in a way, they will be recreated each time they're referenced. |
| Modules/namespaces | Partial | Functions and constants can be namespaced but only 1 level deep. Modules exist but do not qualify imports. |
| Tail call optimization | No | Support planned in the future. |
| C FFI | Yes | All C code is callable directly within Elle and vice versa. |
| Fast compilation times | Partial | All projects should compile < 1s, but it is being constantly improved. |
| LSP | Partial | Yes, but only for Zed. A language client extension doesn't exist for editors like nvim or vscode yet. |
| Standard formatter | No | Support planned in the future. |
| GC Tuning | No | Support planned in the future. |
| Standard library | Partial | A standard library exists but is lacking features and documentation. |
| Introspection | Partial | Only introspection at runtime of function call metadata at the call site, structs cannot be reflected. |
| Deferring | Yes | Currently slightly broken, but should not affect most use-cases. |