Commit Graph

58 Commits

Author SHA1 Message Date
Alex Zenla
d0e2f2a05e
fix a small bug with return values 2025-07-28 20:50:33 -07:00
Alex Zenla
3dcac2f9e6
implement support for setting indexed values 2025-07-26 17:01:24 -07:00
Alex Zenla
48e19a8068
implement support for multiple index operations 2025-07-26 16:31:12 -07:00
Alex Zenla
ff2aaabd93
add debug mode 2025-07-26 00:47:32 -07:00
Alex Zenla
60c7b2d4be
implement java native type support 2025-07-24 23:16:50 -07:00
Alex Zenla
69230deefc
introduce ir nop to fix loop bugs 2025-07-24 22:30:18 -07:00
Alex Zenla
5ac70d800e
implement basic type annotations (not yet used or declarable) 2025-07-20 00:52:24 -07:00
Alex Zenla
a48fac4581
rework some bits of the compiler to work more appropriately 2025-07-16 23:14:25 -07:00
7a0b5ae88f
example: fix boolean table 2023-12-27 16:46:26 -08:00
f2ff23e9be
language: implement proper virtual machine support 2023-11-28 05:23:48 -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
9338b01b48
parser: lazy support 2023-10-14 03:28:07 -07:00
5078f38f61
pork: it's got it all, ffi, state machine tokenizer, and better IDE support 2023-10-13 01:04:35 -07:00
83c24843a3
ffi: new native function format 2023-09-22 00:26:24 -07:00
4758e92676
evaluator: significant performance enhancements 2023-09-21 17:21:53 -07:00
7cb3e02b21
parser: major refinement of error handling 2023-09-18 01:07:28 -07:00
5610326eda
examples: simple game of life impl using SDL2 thru ffi & native java collections 2023-09-17 08:45:33 -07:00
63e7203db9
parser: fix bug in ide support 2023-09-13 19:50:23 -07: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
d8c0ef43c1
parser: cleanup code for fixing comma bug 2023-09-11 05:20:08 -04:00
24d2ff5743
parser: fix parsing of modifiers for let definitions 2023-09-11 05:03:12 -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
71999032ac
language: var, reassign, comparison operators 2023-09-10 04:35:36 -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
38efbe1844
ffi: java interop improvements 2023-09-07 18:16:47 -07:00
a2f2252965
ffi: autogen java bindings (very wip) 2023-09-07 01:51:50 -07:00
540826fb6e
ffi: shorthand for some java types 2023-09-07 01:07:43 -07:00
953679b859
ffi: support for java native functions 2023-09-07 01:03:01 -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
f31e12df89
ffi example: use c as library specifier 2023-09-06 19:08:32 -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
3545aa076f
Introduce the requirement of let for assignment. 2023-09-04 02:33:13 -07:00
bf3967544a
Complex import sample and support for import dependency cycles. 2023-09-03 02:41:02 -07:00
4f567eb287
Exportable functions, common frontend, and scoped imports. 2023-09-03 02:26:21 -07:00
ed5bbec004
Implement a very dumb import system. 2023-09-02 23:28:40 -07:00
e7be1f622d
fn -> func 2023-09-02 21:07:59 -07:00
b1f9e02253
Declaration based compilation units. 2023-09-02 20:22:08 -07:00
62ba662a91
Fix attribution of tokens. 2023-09-02 17:01:56 -07:00
ddde99f38d
String literal support. 2023-08-22 21:58:56 -07:00
1445490770
An actual command line tool to run pork programs. 2023-08-21 23:08:56 -07:00