Making compile time as important as run time.
Abla is an experimental programming language with arbitrary compile-time execution for expressive code generation, program transformation, and less boilerplate.
... people on this page - refreshes every 5 seconds
One action, two places to run.
The same typed interaction can execute in the native server or in your browser as WebAssembly.
$mvcview · server action · client Wasm
SERVER
0
BROWSER
0
THE CORE OF THE DEMO
Abla all the way through.
fun siteServer(amount: int): MvcAction {
serverCounter = serverCounter + amount
replace("#server-counter", serverCounterView(serverCounter))
}
@client
fun siteClient(current: int): int = current + 1
fun demo(value: int): MvcHtml = $mvcview
<button onclick={siteServer(1)}>Server +1</button>
<button onclick={siteClient(0)}>Browser +1</button>