Commit Graph

14 Commits

Author SHA1 Message Date
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
174d51ca1c
Auto-generate the AST. 2023-09-04 22:13:58 -07:00
3545aa076f
Introduce the requirement of let for assignment. 2023-09-04 02:33:13 -07:00
128f40bcf4
Split out all code into modules. 2023-09-04 01:56:24 -07:00