Skip to content

fink-lang/fink

Repository files navigation

ƒink

A functional programming language and compiler toolchain, written in Rust and targeting WebAssembly.

ƒink is a refined successor to the original fink (which compiled to JavaScript and was self-hosted). The long-term goal is a self-hosting compiler.

Status: early and experimental. Language, syntax, and tooling are all subject to change.

Install

macOS and Linux (Homebrew / Linuxbrew)

brew tap fink-lang/tap
brew install fink

This installs the fink toolchain. Native cross-compilation — fink compile --target=<triple> — works out of the box for all tier-1 targets (aarch64/x86_64 on macOS and Linux).

From source

ƒink builds with stable Rust (edition 2024). See CONTRIBUTING.md for the full Makefile-driven workflow.

make deps-install
make build
make test

Hello, ƒink

Save as hello.fnk:

{stdout, write} = import 'std/io.fnk'

main = fn ..args:
  write stdout, 'Hello, ƒink!'
  0

Run it:

fink hello.fnk

Documentation

Editor integration

  • vscode-fink — syntax, language features, and a DAP client for fink dap.

License

MIT © fink-lang

About

The official ƒink compiler.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors