Commit Graph
44 Commits
Author SHA1 Message Date
alex 5078f38f61 pork: it's got it all, ffi, state machine tokenizer, and better IDE support 2023-10-13 01:04:35 -07:00
alex 83c24843a3 ffi: new native function format 2023-09-22 00:26:24 -07:00
alex 4758e92676 evaluator: significant performance enhancements 2023-09-21 17:21:53 -07:00
alex 7cb3e02b21 parser: major refinement of error handling 2023-09-18 01:07:28 -07:00
a_dinosaur 5610326eda examples: simple game of life impl using SDL2 thru ffi & native java collections 2023-09-17 08:45:33 -07:00
alex 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
alex 0aab45094a language: implement for in 2023-09-11 05:34:09 -04:00
alex d8c0ef43c1 parser: cleanup code for fixing comma bug 2023-09-11 05:20:08 -04:00
alex 24d2ff5743 parser: fix parsing of modifiers for let definitions 2023-09-11 05:03:12 -04:00
alex 8f60039d6e language: implement let definitions 2023-09-11 04:57:13 -04:00
alex 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
alex e8c984f2dc language: prelude and internal functions, and varargs support 2023-09-10 19:27:59 -04:00
alex 71999032ac language: var, reassign, comparison operators 2023-09-10 04:35:36 -04:00
alex 3a43b56fcd evaluator: cache native function resolution 2023-09-09 01:51:04 -04:00
alex e8766323ee language: floating point support 2023-09-09 00:08:30 -04:00
alex bf474f6b69 evaluator: introduce and expose scope tracking 2023-09-08 00:04:36 -07:00
alex 38efbe1844 ffi: java interop improvements 2023-09-07 18:16:47 -07:00
alex a2f2252965 ffi: autogen java bindings (very wip) 2023-09-07 01:51:50 -07:00
alex 540826fb6e ffi: shorthand for some java types 2023-09-07 01:07:43 -07:00
alex 953679b859 ffi: support for java native functions 2023-09-07 01:03:01 -07:00
alex 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
alex 0e4362eefb add a standard library, and introduce formed imports (import std "myfile.pork") 2023-09-06 21:39:57 -07:00
alex f31e12df89 ffi example: use c as library specifier 2023-09-06 19:08:32 -07:00
alex 236f812caf while loop support, and native functions (including ffi!) 2023-09-06 19:07:28 -07:00
alex ddff6cb365 language: today, we killed lambdas 2023-09-05 19:37:23 -07:00
alex 3545aa076f Introduce the requirement of let for assignment. 2023-09-04 02:33:13 -07:00
alex bf3967544a Complex import sample and support for import dependency cycles. 2023-09-03 02:41:02 -07:00
alex 4f567eb287 Exportable functions, common frontend, and scoped imports. 2023-09-03 02:26:21 -07:00
alex ed5bbec004 Implement a very dumb import system. 2023-09-02 23:28:40 -07:00
alex e7be1f622d fn -> func 2023-09-02 21:07:59 -07:00
alex b1f9e02253 Declaration based compilation units. 2023-09-02 20:22:08 -07:00
alex 62ba662a91 Fix attribution of tokens. 2023-09-02 17:01:56 -07:00
alex ddde99f38d String literal support. 2023-08-22 21:58:56 -07:00
alex 1445490770 An actual command line tool to run pork programs. 2023-08-21 23:08:56 -07:00
alex 95fe6e9abb Add support for not equals (!=) infix operation. 2023-08-21 02:34:33 -07:00
alex 0b3700667d Add support for line comments. 2023-08-21 02:22:43 -07:00
alex 5455846d7a Add support for block comments. 2023-08-21 02:15:52 -07:00
alex ccd10343c3 Implement negation operator. 2023-08-20 22:35:44 -07:00
alex 90df76ca33 Simple syntax example. 2023-08-20 22:25:45 -07:00
alex 903f730d51 Support if without else. 2023-08-19 20:59:14 -07:00
alex cccea9c2ca If Statement Support 2023-08-19 20:40:31 -07:00
alex 6494858f02 Initial Commit 2023-08-19 15:34:10 -07:00