Imba is a programming language created in 2014.
#231on PLDB | 10Years Old |
git clone https://github.com/imba/imba
Imba is a Web programming language that's fast in two ways: Imba's time-saving syntax with built-in tags and styles results in less typing and switching files so you can build things fast. Imba's groundbreaking memoized DOM is an order of magnitude faster than virtual DOM libraries, so you can build fast things.
tag app-canvas
prop dpr = window.devicePixelRatio
prop state = {}
def draw e
let path = e.#path ||= new Path2D
let ctx = $canvas.getContext('2d')
path.lineTo(e.x * dpr,e.y * dpr)
ctx.lineWidth = state.stroke * dpr
ctx.strokeStyle = state.color
ctx.stroke(path)
def resized e
$canvas.width = offsetWidth * dpr
$canvas.height = offsetHeight * dpr
<self @resize=resized @touch.prevent.moved.fit(self)=draw>
<canvas$canvas[pos:abs w:100% h:100%]>
Feature | Supported | Example | Token |
---|---|---|---|
Semantic Indentation | ✓ |