Pork Language
Go to file
2023-09-23 16:30:00 -07:00
.github/workflows minimal: pork-rt minimal runtime 2023-09-11 02:39:38 -04:00
ast ast: fix codegen of equals to not produce warnings 2023-09-23 15:53:54 -07:00
buildext ast: fix codegen of equals to not produce warnings 2023-09-23 15:53:54 -07:00
common common: unused marker for marking values as unused intentionally 2023-09-23 16:30:00 -07:00
evaluator common: unused marker for marking values as unused intentionally 2023-09-23 16:30:00 -07:00
examples ffi: new native function format 2023-09-22 00:26:24 -07:00
ffi ffi: new native function format 2023-09-22 00:26:24 -07:00
frontend frontend: implement basic scope analysis 2023-09-17 00:38:47 -07:00
gradle/wrapper Initial Commit 2023-08-19 15:34:10 -07:00
minimal evaluator: significant performance enhancements 2023-09-21 17:21:53 -07:00
parser ffi: new native function format 2023-09-22 00:26:24 -07:00
stdlib ffi: new native function format 2023-09-22 00:26:24 -07:00
support/pork-idea common: unused marker for marking values as unused intentionally 2023-09-23 16:30:00 -07:00
tool ast: fix codegen of equals to not produce warnings 2023-09-23 15:53:54 -07: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 Auto-generate the AST. 2023-09-04 22:13:58 -07:00
gradle.properties gradle: make build faster 2023-09-20 14:43:27 -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 readme: fix missing export for main 2023-09-23 15:55:42 -07:00
settings.gradle.kts minimal: pork-rt minimal runtime 2023-09-11 02:39:38 -04:00

pork

A work-in-progress programming language.

/* fibonacci sequence */
func fib(n) {
  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'