Alex Zenla
|
3dcac2f9e6
|
implement support for setting indexed values
|
2025-07-26 17:01:24 -07:00 |
|
Alex Zenla
|
1d664e807b
|
graalvm is bad and should go away
|
2025-07-26 16:09:55 -07:00 |
|
Alex Zenla
|
08f9b6f2ae
|
code cleanup
|
2025-07-26 15:49:44 -07:00 |
|
Alex Zenla
|
ff2aaabd93
|
add debug mode
|
2025-07-26 00:47:32 -07:00 |
|
Alex Zenla
|
8d8866c26c
|
fix bug with evaluator when calling varadic functions
|
2025-07-26 00:07:10 -07:00 |
|
Alex Zenla
|
60c7b2d4be
|
implement java native type support
|
2025-07-24 23:16:50 -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 |
|
Alex Zenla
|
6e225aab88
|
fix game of life support in evaluator
|
2024-12-01 04:13:59 -05:00 |
|
|
76290a401a
|
bytecode: enhance symbol table with both slab and symbol name
|
2023-11-21 23:27:21 -08:00 |
|
|
6211ad4ff1
|
global: a working virtual machine for some of the use cases. APIs and validation still WIP.
|
2023-11-21 22:18:05 -08: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 |
|
|
87623505c0
|
common: unused marker for marking values as unused intentionally
|
2023-09-23 16:30:00 -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 |
|
|
4758e92676
|
evaluator: significant performance enhancements
|
2023-09-21 17:21:53 -07:00 |
|
|
a08526c92c
|
language: implement list indexing
|
2023-09-17 08:38:11 -07:00 |
|
a dinosaur
|
b42ca92d9f
|
evaluator: fix unary operators on floating point types always throwing a spurious error (#9)
|
2023-09-12 03:40:13 -04: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 |
|
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 |
|
|
2ee1565fb5
|
native: pass argument specs in order to support varadic ffi
|
2023-09-11 01:12:32 -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 |
|
|
e8c984f2dc
|
language: prelude and internal functions, and varargs support
|
2023-09-10 19:27:59 -04:00 |
|
|
1cfb197a7f
|
ensure new lines exist on all files
|
2023-09-10 04:37:30 -04:00 |
|
|
71999032ac
|
language: var, reassign, comparison operators
|
2023-09-10 04:35:36 -04:00 |
|
|
0bc3128b9d
|
support: basic idea plugin
|
2023-09-10 01:27:53 -04:00 |
|
a dinosaur
|
0024a8b141
|
language: euclidean modulo and remainder infix operators (#3)
|
2023-09-09 22:41:20 -04:00 |
|
|
3a43b56fcd
|
evaluator: cache native function resolution
|
2023-09-09 01:51:04 -04:00 |
|
|
e8766323ee
|
language: floating point support
|
2023-09-09 00:08:30 -04:00 |
|
|
bf474f6b69
|
evaluator: introduce and expose scope tracking
|
2023-09-08 00:04:36 -07: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 |
|
|
290d8d0f0a
|
evaluator: optimize the cost of defining a variable in a scope
|
2023-09-05 03:13:43 -07:00 |
|
|
63a90a599c
|
evaluator: functions now use their own evaluation visitor
|
2023-09-05 02:42:15 -07:00 |
|
|
9634a735ee
|
evaluator: ensure function definitions use root scope
|
2023-09-05 02:20:46 -07:00 |
|
|
2631b6752b
|
evaluator: inherit fast cache for calls to functions in a function definition
|
2023-09-05 01:43:59 -07:00 |
|
|
65f61fcd90
|
evaluator: implement an elaborate system that should mean that recursive functions don't require reaching far up the stack
|
2023-09-05 01:35:50 -07:00 |
|
|
cc23789203
|
evaluator: prevent double lookup when looking up value in a scope
|
2023-09-05 01:09:26 -07:00 |
|