Pork Language
Go to file
2023-09-05 17:06:52 -07:00
.github/workflows Fix -march=compatibility for GraalVM 2023-09-04 22:33:38 -07:00
ast ast: utilize extension functions to prevent larger stack frames from default interface methods 2023-09-05 17:06:52 -07:00
buildext ast: utilize extension functions to prevent larger stack frames from default interface methods 2023-09-05 17:06:52 -07:00
common Auto-generate the AST. 2023-09-04 22:13:58 -07:00
evaluator ast: utilize extension functions to prevent larger stack frames from default interface methods 2023-09-05 17:06:52 -07:00
examples Introduce the requirement of let for assignment. 2023-09-04 02:33:13 -07:00
frontend ast: utilize extension functions to prevent larger stack frames from default interface methods 2023-09-05 17:06:52 -07:00
gradle/wrapper Initial Commit 2023-08-19 15:34:10 -07:00
parser ast: utilize extension functions to prevent larger stack frames from default interface methods 2023-09-05 17:06:52 -07:00
tool ast: utilize extension functions to prevent larger stack frames from default interface methods 2023-09-05 17:06:52 -07:00
.gitignore Initial Commit 2023-08-19 15:34:10 -07:00
build.gradle.kts Auto-generate the AST. 2023-09-04 22:13:58 -07:00
gradle.properties Auto-generate the AST. 2023-09-04 22:13:58 -07:00
gradlew Initial Commit 2023-08-19 15:34:10 -07:00
gradlew.bat Initial Commit 2023-08-19 15:34:10 -07:00
LICENSE Initial Commit 2023-08-19 15:34:10 -07:00
README.md fn -> func in README 2023-09-04 03:04:36 -07:00
settings.gradle.kts Auto-generate the AST. 2023-09-04 22:13:58 -07:00

pork

A work-in-progress programming language.

/* fibonacci sequence */
func fib(n) {
  if n == 0
    then 0
  else if n == 1
    then 1
  else fib(n - 1) + fib(n - 2)
}

func main() {
  let result = fib(20)
  println(result)
}

Usage

./gradlew -q tool:run --args 'run ../examples/fib.pork'