Commit graph

144 commits

Author SHA1 Message Date
a9afb03694
Adding Stateful, giving up on elm style purity, components get their own state 2026-02-05 20:08:39 -07:00
9d1b079361
Better errors! 2026-02-04 21:21:52 -07:00
c44f06268f
Adding debug builtin. Allowing us to assign to _ in lets 2026-02-04 19:19:35 -07:00
9f078aaeef
Returning coords with Clickable event. Usinsg them to position cursor when clicking in a textfield 2026-02-04 18:58:27 -07:00
787e071fbd
Adding Clip ui primitive. text boxes looking... well, still awful but getting there 2026-02-03 23:12:30 -07:00
4626616b14
Fixing parsing when we have a b {}. that should be applying a to b and {}. instead it was applying b to {} 2026-02-03 23:02:04 -07:00
a9e10b3123
Trying to make a text input. this shit is hard 2026-02-03 22:56:17 -07:00
fadf59c6aa
Fixing parsing matches, now we can grab full expressions in the body, reducing the need for parens to wrap multi-line match cases 2026-02-03 21:52:13 -07:00
86422888de
better fonts temporarily 2026-02-03 18:06:03 -07:00
bc186d658c
creating a CG text input 2026-02-03 18:02:19 -07:00
12d27a1bff
Adding Opacity ui primitive 2026-02-03 14:28:39 -07:00
441957185e
border radius on rect 2026-02-03 13:50:06 -07:00
58715f42bf
Fixing ugly canvas. now full browser window, fixing dpi blurry issue 2026-02-03 13:28:20 -07:00
86996ed4ef
fixing hitTest bounds for clickable. using Constructors for Clickable events. starting to think about design systems.. 2026-02-03 13:00:54 -07:00
5af3af6b6c
cleaning 2026-02-03 12:18:04 -07:00
d55ae33848
Just realized point { x = 1 } was ambiguous, could be record update or function application. changed record update syntax to: point.{ x = 1 }. And starting on ui components 2026-02-03 12:17:41 -07:00
645de97db2
text input now passes actual constructors instead of strings 2026-02-03 11:21:38 -07:00
223eea72e3
Adding Stack and TextInput to the UI 2026-02-03 00:14:33 -07:00
50bb15e974
Typo 2026-02-02 23:19:43 -07:00
e22f99b796
even more stdlib 2026-02-02 23:19:24 -07:00
aa7a034368
More stdlib fun 2026-02-02 22:44:40 -07:00
9edee10508
Adding spread operator. starting to build a stdlib. omg 2026-02-02 21:20:39 -07:00
216fe6bd30
Adding builtins as native-functions. desugaring symbols as native function application. except ~ which is the new pipe operator, > is now greater than 2026-02-02 20:10:32 -07:00
5b40e9d298
We have UI! kind of 2026-02-01 23:26:30 -07:00
52647a9ce1
Started working on CG UI primitives. rendering to a canvas 2026-02-01 21:35:04 -07:00
232d9351c1
constructor application 2026-02-01 19:47:53 -07:00
aace8a5a77
recursion! 2026-02-01 19:31:44 -07:00
a85203bc94
evaluating pattern matching 2026-02-01 19:22:50 -07:00
7f94cfe8cd
parsing pattern matching 2026-02-01 18:42:50 -07:00
d81318333e
String & list concatenation 2026-02-01 16:53:45 -07:00
c44a6858ff
interpreting record update, and > (func application pipe thing). cleaning up main.ts test code 2026-02-01 16:46:18 -07:00
59b718619c
interpreting record access 2026-02-01 16:23:52 -07:00
b5bd084ee4
interpreting lists, records, constructors 2026-02-01 16:20:13 -07:00
1d0f1d5423
Fixing the issue that stopped this from parsing correctly: 'sum = x y \ x + y; sum 5 3' 2026-02-01 16:09:49 -07:00
f2f81b5ed6
cleaning up interpreter. adding more types. fixing function application, handling infix binary ops, added currying 2026-02-01 16:06:06 -07:00
b6f7e63e49
parsing record access and update 2026-02-01 01:19:56 -07:00
6e8b5afd3b
parsing lambdas 2026-02-01 01:01:48 -07:00
0f0371461d
Parsing bindings. adding AST pretty printer 2026-02-01 00:43:01 -07:00
1fc116f2fe
parsing function application 2026-02-01 00:18:43 -07:00
1ed325e98b
more CG syntax. parsing the easy stuff 2026-02-01 00:03:32 -07:00
71237d0307
Got parser working. now i'm switching from toy language to CG syntax. lexer is... done??? maybe 2026-01-31 16:07:44 -07:00
f74d374555
baby's first lexer 2026-01-30 23:02:46 -07:00
920151f49c
lambdas and application now in AST, types and interpreter 2026-01-30 21:31:06 -07:00
d60e5aa29f
First commit for CG 2026-01-29 22:39:33 -07:00