Commit Graph

42 Commits

Author SHA1 Message Date
Alex Zenla
3dcac2f9e6
implement support for setting indexed values 2025-07-26 17:01:24 -07:00
Alex Zenla
f7ff896f81
implement support for type definitions 2025-07-20 19:28:01 -07:00
Alex Zenla
5ac70d800e
implement basic type annotations (not yet used or declarable) 2025-07-20 00:52:24 -07:00
0a2d029c5c
language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
041848c14e
vm: very basic virtual machine 2023-11-14 23:44:10 -08:00
8c48c93663
language: prepare for struct support 2023-11-06 21:37:27 -08:00
5078f38f61
pork: it's got it all, ffi, state machine tokenizer, and better IDE support 2023-10-13 01:04:35 -07:00
73a458b673
parser: various code and quality enhancements 2023-10-08 04:46:23 -07:00
945ba85c98
ast: move gay.pizza.pork.ast to gay.pizza.pork.ast.gen 2023-10-06 15:52:34 -07:00
a292449b6a
ast: fix codegen of equals to not produce warnings 2023-09-23 15:53:54 -07:00
c340cfb86d
idea: significant enhancements to ide experience 2023-09-22 22:38:06 -07:00
83c24843a3
ffi: new native function format 2023-09-22 00:26:24 -07:00
f60715dfb3
idea: proper scoping support, completion now works 2023-09-21 23:07:22 -07:00
d12aadf18c
idea: brace matching and function resolution 2023-09-21 21:08:20 -07:00
a08526c92c
language: implement list indexing 2023-09-17 08:38:11 -07:00
3b101bd48a
global: idea generation support 2023-09-17 00:38:47 -07:00
2307fdc0ed
parser: rewrite to be able to parse any node type on demand 2023-09-13 19:40:29 -07:00
a6f9a82e5e
language: none support 2023-09-12 02:03:41 -04:00
1b363dcf56
parser: implement long literal and handle overflow 2023-09-12 00:25:13 -04:00
b64c7fb259
parser: use ast user data to store attribution 2023-09-11 20:13:15 -04:00
a dinosaur
a07e0fe672
language: add boolean and/or operators, change negation syntax (#7)
* language: add boolean and/or operators, change negation syntax

* examples: simplify row builder using arrays
2023-09-11 14:02:58 -04:00
0aab45094a
language: implement for in 2023-09-11 05:34:09 -04:00
a dinosaur
9ba150bb69
language: add binary operators (#6)
- unary binary not
- infix bitwise and
- infix bitwise or
- infix bitwise exclusive or (xor)
2023-09-11 05:24:08 -04:00
8f60039d6e
language: implement let definitions 2023-09-11 04:57:13 -04:00
a dinosaur
8d310e337a
language: add unary plus & minus, post increment & decrement operators, non-newline print builtin. fix block comments (#4) 2023-09-11 00:34:10 -04:00
7b4257d719
ast: default value support in generation 2023-09-10 20:54:48 -04:00
033da5b2ea
stdlib: generate stdlib.manifest 2023-09-10 20:47:50 -04:00
e8c984f2dc
language: prelude and internal functions, and varargs support 2023-09-10 19:27:59 -04:00
71999032ac
language: var, reassign, comparison operators 2023-09-10 04:35:36 -04:00
f433ba2776
ast: generate graph 2023-09-10 02:34:02 -04:00
a dinosaur
0024a8b141
language: euclidean modulo and remainder infix operators (#3) 2023-09-09 22:41:20 -04:00
e8766323ee
language: floating point support 2023-09-09 00:08:30 -04:00
81296ee1d1
imports are now python style with a twist: forms! import std ffi and import local myfile 2023-09-06 22:43:03 -07:00
0e4362eefb
add a standard library, and introduce formed imports (import std "myfile.pork") 2023-09-06 21:39:57 -07:00
236f812caf
while loop support, and native functions (including ffi!) 2023-09-06 19:07:28 -07:00
ddff6cb365
language: today, we killed lambdas 2023-09-05 19:37:23 -07:00
9f90e05d8a
ast: utilize extension functions to prevent larger stack frames from default interface methods 2023-09-05 17:06:52 -07:00
174d51ca1c
Auto-generate the AST. 2023-09-04 22:13:58 -07:00
f06ea93dc4
Significant progress on AST codegen. 2023-09-04 18:38:09 -07:00
edec706ed4
Fix NodeType hierarchy. 2023-09-04 03:09:09 -07:00
3545aa076f
Introduce the requirement of let for assignment. 2023-09-04 02:33:13 -07:00
d46ea1e307
Multi-module arrangement and the start of AST generation. 2023-09-03 23:15:21 -07:00