Implementation Status
This page provides a transparent overview of what's currently implemented in Droelang and what's planned for future development.
π― Current Status (January 2025)
Droelang is actively developed with a focus on WebAssembly compilation and emerging native bytecode execution.
β Fully Implemented Features
Core Language
- β
Variables and Assignment - Strong typing with
set variable which is type to value
- β
Data Types -
int
,decimal
,text
,flag
,date
,list of T
- β
Display Output -
display
andshow
statements - β
String Operations - Concatenation with
+
and interpolation with[variable]
- β
Conditionals -
when condition then ... end when
withotherwise
- β
Loops -
for each item in collection ... end for
- β
Comments - Single-line
//
and multi-line/* */
Modules and Actions
- β
Module System -
module name ... end module
with namespacing - β
Actions - Parameterized functions with
action name with params gives type
- β
Return Values -
give result
andset variable from run module.action
Database DSL
- β
Data Definitions -
data Entity
with field annotations (key
,auto
,required
, etc.) - β
HTTP Endpoints -
serve get /path ... end serve
syntax - β οΈ Database Operations - Basic parsing implemented, runtime execution in progress
Compilation Targets
- β
WebAssembly - Primary target, fully functional (
.droe
β.wat
β.wasm
) - β
Native Bytecode -
@target droe
compiles to.droebc
format - β οΈ Rust Code Generation -
@target rust
with Axum framework (experimental)
CLI Tools
- β
Project Initialization -
droe init
creates project structure - β
Compilation -
droe compile file.droe
to WebAssembly/bytecode - β οΈ Runtime Execution -
droe run
works for basic programs
π§ Partially Implemented Features
Database and HTTP Features
- β οΈ Database Runtime - Parsing works, runtime execution in development
- β οΈ HTTP Server -
serve
endpoints parse, DroeVM runtime needed - β οΈ Multi-Database Support - Architecture exists, drivers in progress
Advanced Language Features
- β οΈ Complex Collections - Basic list operations work, advanced manipulation pending
- β οΈ Include System - File imports designed but needs testing
- β οΈ Error Handling - Basic type checking, advanced error handling planned
Build System
- β οΈ DroeVM Runtime - Native bytecode interpreter under development
- β οΈ Release Builds -
droe build --release
planned for single-binary output
β Not Yet Implemented
Multi-Target Compilation
- β Python Target - Not implemented (was documented but removed)
- β Java/Spring Boot - Not implemented (was documented but removed)
- β JavaScript/Node.js - Not implemented (was documented but removed)
- β Go/Fiber - Not implemented (was documented but removed)
UI and Mobile Features
- β UI Components -
layout
,form
,input
,button
etc. (parsing exists, no compilation) - β Mobile Development - No Android or iOS support
- β Cross-Platform UI - Not implemented
Advanced Features
- β Format Expressions -
format date as "MM/dd/yyyy"
not implemented - β Advanced HTTP Client -
call "url" method GET
not implemented - β Complex Database Queries - Advanced query syntax not implemented
- β Package Management - No module sharing system yet
πΊοΈ Development Roadmap
Priority 1: Core Stability (Q1 2025)
- Complete DroeVM bytecode runtime
- Stable database operations
- HTTP endpoint handling
- Production-ready WebAssembly compilation
Priority 2: Developer Experience (Q2 2025)
- Enhanced CLI tooling
- Better error messages
- Debugging support
- Performance optimization
Priority 3: Language Expansion (Q3+ 2025)
- Format expressions
- HTTP client operations
- Advanced database features
- Package management system
π Future Considerations
The following features were documented but are not currently in active development:
- Multi-Target Compilation - May be reconsidered based on community demand
- UI Framework - Significant effort required, priority unclear
- Mobile Development - Would require substantial mobile expertise
π How You Can Help
Community Contributions
- Testing - Try Droelang with your use cases and report issues
- Documentation - Help improve examples and guides
- Features - Contribute implementations for partially completed features
Feedback Priorities
We're particularly interested in feedback on:
- WebAssembly compilation experience
- Database DSL usability
- Developer tool ergonomics
- Performance characteristics
π Feature Status Legend
- β Fully Implemented - Feature works as documented with tests
- β οΈ Partially Implemented - Core functionality exists, edge cases or polish needed
- π§ In Progress - Active development, basic functionality may work
- β Not Implemented - Feature not started or removed from scope
- π Planned - Design phase, implementation timeline unclear
π Version History
Version 3.0 (Current)
- Native DroeVM bytecode target
- Database DSL with HTTP endpoints
- Rust code generation (experimental)
- Cleaned up language specification
Version 2.0 (Previous)
- WebAssembly compilation
- Module system
- Basic database parsing
Version 1.0 (Original)
- Core language features
- WebAssembly compilation
- CLI tools
Last Updated: January 8, 2025
Next Review: February 2025
This status page is updated regularly. For the most current information, check the project repository and recent commits.