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 |
|
|
d8c0ef43c1
|
parser: cleanup code for fixing comma bug
|
2023-09-11 05:20:08 -04:00 |
|
|
dbe4e7d5a5
|
parser: fix bug where comma was not required in function call
|
2023-09-11 05:17:55 -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 |
|
|
5d53381b82
|
ffi: include jni and resource configs for graal
|
2023-09-11 03:18:35 -04:00 |
|
|
14b3f4c6e9
|
minimal: pork-rt minimal runtime
|
2023-09-11 02:39:38 -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 |
|
a dinosaur
|
c3afd790b5
|
repository: add editorconfig dotfile (#5)
|
2023-09-11 00:33:51 -04:00 |
|
|
f6d2fc5165
|
idea: comment highlighting support
|
2023-09-10 22:07:38 -04:00 |
|
|
1be098d1c9
|
idea: rename gay.pizza.pork.intellij to gay.pizza.pork.idea
|
2023-09-10 20:56:04 -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 |
|
|
1cfb197a7f
|
ensure new lines exist on all files
|
2023-09-10 04:37:30 -04:00 |
|
|
3ed9350cd2
|
github: graal windows and darwin builds
|
2023-09-10 04:36:24 -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 |
|
|
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 |
|
a dinosaur
|
03c278f5b1
|
ffi: add c-style char* strings as a supported return type (#2)
|
2023-09-09 22:31:48 -04:00 |
|
a dinosaur
|
4a9508ddc4
|
tool: cleaner println built-in (#1)
|
2023-09-09 22:20:56 -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 |
|
|
073ea09b13
|
ast codegen: optional support for inlining visit
|
2023-09-05 18:59:42 -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 |
|
|
725137c82f
|
tool: add support for measuring runtime of a program
|
2023-09-05 01:49:19 -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 |
|
|
7de8f8cd63
|
Prepare for benchmarking and profiling.
|
2023-09-05 01:02:13 -07:00 |
|
|
2f0ee43556
|
tool: use absolute path for root
|
2023-09-04 22:46:36 -07:00 |
|
|
e7f36e0524
|
Fix -march=compatibility for GraalVM
|
2023-09-04 22:33:38 -07:00 |
|
|
174d51ca1c
|
Auto-generate the AST.
|
2023-09-04 22:13:58 -07:00 |
|