Why Thagore?
Why Thagore?
Design Philosophy
Thagore was created with a clear mission: build a modern, statically-typed compiled language with readable indentation syntax, native code generation, and a path toward future self-hosting.
Core Principles
-
Readability First — Python-like indentation syntax makes code easy to read and write. No curly braces, no semicolons — just clean, expressive code.
-
Bootstrap-Oriented Design — Thagore is being hardened so the language and toolchain can eventually sustain a real bootstrap chain. It is not fully self-hosted today.
-
Native Performance — Every Thagore program compiles to native machine code through LLVM IR. No interpreter, no VM, no garbage collector overhead at runtime.
-
No Hidden Legacy Fallback — The current line keeps a clear path toward bootstrap without pretending the compiler is already self-hosted. Runtime ABI artifacts are shipped explicitly.
-
Practical Interoperability — Direct C FFI via
extern funclets you leverage existing C ecosystems without compromise.
What Makes Thagore Different?
What matters in the current line
- Readable block syntax — indentation and
:headers stay central to the language surface. - Static typing — the compiler keeps pushing errors into compile time instead of runtime.
- Native backend — Thagore emits LLVM-backed native binaries rather than targeting a VM.
- Interop — direct C FFI remains part of the core practical surface.
Trade-offs
| Trade-off | Detail |
|---|---|
| No generics yet | Generic signatures are parsed but lowered via mangling — full parametric polymorphism is in progress |
| Limited error types | Error handling uses return codes (i32); Result<T, E> sugar is parsed but not fully lowered |
| String-heavy IR | Internal representations (token streams, AST nodes) use string-encoded data structures |
| Bootstrap dependency | A future bootstrap chain still depends on seed artifacts and more language/runtime hardening |
Target Audience
Thagore is ideal for developers who:
- Want native performance without C/C++ complexity
- Prefer Python-like syntax but need compiled-language speed
- Need C FFI to integrate with existing native libraries
- Want to follow the evolution from a hosted compiler toward a future self-hosted toolchain
- Are building systems tools, CLI applications, or performance-critical software