✅ What Works Now
- Full lexer and parser (23/29 examples pass)
- Type checking and semantic analysis
- Storage, memory, and transient regions
- Error unions and switch statements
- Structs, enums, and custom types
- MLIR lowering for optimization
🚧 In Development
- Complete Yul/EVM code generation
- Advanced for-loop syntax
- Standard library functions
- Full formal verification
📋 Planned for ASUKA
- Comprehensive standard library
- Advanced optimization passes
- IDE integration (LSP)
- Package manager
- 50+ working examples
- Language specification v1.0
Experience Ora
Clean, explicit syntax for smart contracts
contract SimpleToken {
storage var total_supply: u256;
storage var balances: map[address, u256];
log Transfer(sender: address, recipient: address, amount: u256);
pub fn transfer(to: address, amount: u256) -> !bool
requires(balances[std.transaction.sender] >= amount)
requires(to != std.constants.ZERO_ADDRESS)
{
balances[std.transaction.sender] -= amount;
balances[to] += amount;
@lock(balances[to]);
log Transfer(std.transaction.sender, to, amount);
return true;
}
}Join the Development
Ora is in active development toward the ASUKA release