Interactive PlaygroundTry Feather directly in your browser - powered by WebAssemblyCanvasHello WorldControl StructuresIntrospectionHost FunctionsWhat Feather is a good fit for Feather is built for short, interactive programs:Give agents access to your program - like Chrome DevTools, but for your applicationConfigure servers at runtime - hot-reload configuration without restartsQuake-style consoles - add developer consoles to games and applicationsConfiguration file format - use a real programming language for configUser customization - let users script and extend your softwareJust like Bash and zsh let you drive a Unix system, Feather lets you drive your application in the same spirit.When to use something else Feather is not suited for programming in the large.Features that support this are omitted intentionally:No I/O by default: Feather cannot communicate with the outside world, until you explicitly provide facilities for doing so.No packaging/import system: if your Feather program grows large, you need to decide whether you move this logic to the host, or provide the means of structuring code, like sourcing scripts from somewhere yourself.Performance will never be the top priority: Feather is there to let you elegantly call code in your probably already optimized host application. A Feather script becoming slow is a sign that you need to move logic to the host application.If you need large scale, performant programming in an embeddable programming language, you are looking for Lua.Feather is lightweight glue Feather is designed to be embedded into a host language.The core implementation provides the language semantics, but all memory allocations, I/O, Unicode and floating point operations are provided by the host.Chances are that if you are embedding a scripting language in 2025, your host language already has an implementation of everything and duplicating Unicode tables or getting two event loops to play nice with each other is more trouble than it's worth.Fea...
First seen: 2026-01-02 02:13
Last seen: 2026-01-02 02:13