Pork Language
Go to file
2023-11-21 04:28:46 -08:00
.github/workflows minimal: pork-rt minimal runtime 2023-09-11 02:39:38 -04:00
ast language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
buildext language: prepare for struct support 2023-11-06 21:37:27 -08:00
bytecode language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
common vm: very basic virtual machine 2023-11-14 23:44:10 -08:00
compiler language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
evaluator language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
examples language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
execution vm: very basic virtual machine 2023-11-14 23:44:10 -08:00
ffi vm: very basic virtual machine 2023-11-14 23:44:10 -08:00
frontend language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
gradle/wrapper gradle: 8.4 and parser: lazy tokenization 2023-10-13 08:56:04 -07:00
minimal vm: very basic virtual machine 2023-11-14 23:44:10 -08:00
parser language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
stdlib vm: very basic virtual machine 2023-11-14 23:44:10 -08:00
support/pork-idea vm: a functional virtual machine, mostly 2023-11-21 04:04:44 -08:00
tokenizer language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
tool language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
vm language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
.editorconfig repository: add editorconfig dotfile (#5) 2023-09-11 00:33:51 -04:00
.gitignore ast: generate graph 2023-09-10 02:34:02 -04:00
build.gradle.kts gradle: 8.4 and parser: lazy tokenization 2023-10-13 08:56:04 -07:00
gradle.properties gradle: make build faster 2023-09-20 14:43:27 -07:00
gradlew gradle: 8.4 and parser: lazy tokenization 2023-10-13 08:56:04 -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 language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
settings.gradle.kts vm: very basic virtual machine 2023-11-14 23:44:10 -08:00

pork

A work-in-progress programming language.

/* fibonacci sequence */
func fib(n) {
  return if n < 2 {
    n
  } else {
    fib(n - 1) + fib(n - 2)
  }
}

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

Usage

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