Pork Language
Go to file
dependabot[bot] 39c4b5e358
build(deps): bump the actions-updates group across 1 directory with 2 updates
Bumps the actions-updates group with 2 updates in the / directory: [gradle/actions](https://github.com/gradle/actions) and [actions/upload-artifact](https://github.com/actions/upload-artifact).


Updates `gradle/actions` from 4.3.0 to 4.3.1
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](94baf225fe...06832c7b30)

Updates `actions/upload-artifact` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](4cec3d8aa0...ea165f8d65)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-version: 4.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions-updates
- dependency-name: actions/upload-artifact
  dependency-version: 4.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 22:28:06 +00:00
.github build(deps): bump the actions-updates group across 1 directory with 2 updates 2025-03-31 22:28:06 +00:00
ast language: introduce the requirement to use return to return a value from a function 2023-11-21 04:28:46 -08:00
bir bir: mutable values and inspection 2023-12-27 16:44:32 -08:00
buildext swap to jdk 21 2025-03-16 23:57:48 -07:00
bytecode implement a new native call bytecode mechanism that can be optimized by the vm 2025-03-18 19:57:27 -07:00
common vm: very basic virtual machine 2023-11-14 23:44:10 -08:00
compiler implement a new native call bytecode mechanism that can be optimized by the vm 2025-03-18 19:57:27 -07:00
evaluator fix game of life support in evaluator 2024-12-01 04:13:59 -05:00
examples example: fix boolean table 2023-12-27 16:46:26 -08:00
execution fix game of life support in evaluator 2024-12-01 04:13:59 -05:00
ffi modify compiler to fix return values and add support for vm ffi 2025-03-15 23:34:16 -07:00
frontend compiler: full support for IR based compilation 2023-11-23 21:48:10 -08:00
gradle/wrapper upgrade gradle and fix plugin build 2025-03-16 23:48:04 -07:00
minimal global: a working virtual machine for some of the use cases. APIs and validation still WIP. 2023-11-21 22:18:05 -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 modify compiler to fix return values and add support for vm ffi 2025-03-15 23:34:16 -07:00
support/pork-idea fix intellij plugin 2025-03-18 18:55:07 -07: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 implement a new native call bytecode mechanism that can be optimized by the vm 2025-03-18 19:57:27 -07:00
vm implement a new native call bytecode mechanism that can be optimized by the vm 2025-03-18 19:57:27 -07:00
.editorconfig repository: add editorconfig dotfile (#5) 2023-09-11 00:33:51 -04:00
.gitignore fix game of life support in evaluator 2024-12-01 04:13:59 -05:00
build.gradle.kts upgrade to java 22 and fix miscompile of variable loads 2025-03-15 21:16:48 -07:00
gradle.properties gradle: make build faster 2023-09-20 14:43:27 -07:00
gradlew upgrade everything to modern versions 2024-11-30 19:48:07 -05:00
gradlew.bat upgrade everything to modern versions 2024-11-30 19:48:07 -05: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 WIP on IR 2023-11-22 07:23:33 -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'