Commit Graph

114 Commits

Author SHA1 Message Date
75b505db33 examples: simple game of life impl using SDL2 thru ffi & native java collections 2023-09-17 20:53:08 +10:00
3b101bd48a
global: idea generation support 2023-09-17 00:38:47 -07:00
821aa3563a
frontend: implement basic scope analysis 2023-09-17 00:38:47 -07:00
aadc8282a5
introduce impork, workload as cute import aliases (#10)
Co-authored-by: Violet White <violet.white.dammit@protonmail.com>
Co-authored-by: Violet White <violet.white@espeon.social>
2023-09-14 21:34:24 -07:00
63e7203db9
parser: fix bug in ide support 2023-09-13 19:50:23 -07:00
2307fdc0ed
parser: rewrite to be able to parse any node type on demand 2023-09-13 19:40:29 -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
ca111f8e4b
ffi: ensure failure to find functions don't produce null pointer exceptions 2023-09-12 01:40:15 -04:00
a9e3e8a69a
ffi: don't try to use unsigned types from kotlin 2023-09-12 01:22:31 -04:00
260c9f437d
ffi: explicit parameter type conversion 2023-09-12 01:16:11 -04:00
4053c5825a
idea: fix pork symbol declaration 2023-09-12 00:50:06 -04:00
f64a54fa06
parser: fix integer literals 2023-09-12 00:46:09 -04:00
1b363dcf56
parser: implement long literal and handle overflow 2023-09-12 00:25:13 -04:00
7aa9d95221
idea: implement psi parser and the start of symbol declarations 2023-09-11 22:43:34 -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
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