Frequently asked questions
Is Falx ready for production use?
No - see Roadmap & stability. It's pre-1.0, maintained in spare time, with no backwards-compatibility guarantee. It's a great language to experiment with and to learn interpreter design from; it isn't (yet) something to build a real project's critical path on.
Why do I write func name = define(...) instead of just func name(...) { }?
func and define are two separate keywords: func name = ... is really a variable declaration, and define(...) { ... } is the function-literal expression being assigned to it. This is also why functions are ordinary values in Falx - a define(...) { ... } expression can appear anywhere an expression can, not only right after func.
Why doesn't if ("true") { ... } run the block?
This is the single most common surprise in the language today. if only treats an actual boolean value as truthy - a string, even the string "true", is always false as an if condition. while, &&, || and ! behave differently again. The full, verified explanation is on Truthiness - it's worth reading in full before you rely on any condition that isn't a direct comparison or equality check.
Why does map.entries() give me weird pairs?
This looks like a genuine bug: entries() currently returns [key, index] pairs rather than [key, value] pairs. See the warning on the Maps page, and use keys() together with indexing instead until it's fixed upstream.
How do I install Falx?
There's no package manager entry or standalone binary yet (it's on the roadmap under "Planned"). You clone the repository and run scripts with python -m src.Main run ... - see Installation.
Is there syntax highlighting or an extension for my editor?
Not officially yet - editor tooling is listed under "Under consideration" on the roadmap. A generic C-like or JavaScript-like highlighter will get most tokens right in the meantime, since .flx syntax is close to that family.
Does Falx have classes or inheritance?
No - structs are the only user-defined compound type today, and they don't support inheritance. Full OOP (classes, inheritance) is listed under "Planned" on the roadmap.
What license is Falx under?
Apache-2.0 - see the LICENSE file on GitHub.
Can I contribute?
The repository has a CONTRIBUTING.md - the roadmap also suggests opening an issue first if you have an opinion on ordering or want to pick something up.
Is this documentation official?
No - see the note on Roadmap & stability. This is an unofficial set of docs, written by reading and running the interpreter's own source against real test cases rather than by the Falx project itself. When in doubt, the GitHub repository wins.