Kink - Kink language runtime
Kink is an object-based programming language,
adopting object system without inheritance,
and delimited continuations.
Kink is also an implementation of Kink language runtime, which runs on JVM.
Build Kink
The build is set up to run on Ubuntu 24.04,
but other Unix-like systems could also be used as a build environment.
The following tools are required to build Kink artifacts:
- JDK 21
- on $JAVA_HOME environment variable
- GNU bash
- bash apt package
- required for doc, manualPo, kinkTest targets
- GNU make
- make apt package
- required for doc, manualPo targets
- graphviz
- graphviz apt package
- required for doc target
- gettext
- gettext apt package
- required for doc, manualPo targets
- Sphinx
- python3-sphinx apt package
- required for doc, manualPo targets
- command can be configured as sphinx_build_command property in gradle.properties
- OpenSSL 3+
- required for kinkTest target
- MinGW GCC
- gcc-mingw-w64 apt package
- required for exeFile target
- command can be configured as mingw_gcc_command property in gradle.properties
- Mercurial
- mercurial apt package
- required for tarball target, the source tree must be cloned by Mercurial
- to clone the source tree, run hg clone http://hg.code.sf.net/p/kink-lang/kink
The following is a list of important Gradle tasks:
- ./gradlew libDir
- builds lib/*.jar
- you can use bin/kink command after the task
- ./gradlew exeFile
- builds bin/kink.exe and bin/kinkw.exe
- ./gradlew doc
- builds the document under doc/ directory
- ./gradlew manualPo -Planguage={Language} -Pcontent={ContentPath}
- creates or updates a .po file for the manual in: src/manual/_translation/{Language}/LC_MESSAGES
- currently, the only valid value for {Language} is ja
- {ContentPath} can be like changelog or api/kink-STR
- ./gradlew tarball
- builds ./kink-{version}.tar.gz, which is the distribution package
- the source tree must be cloned by Mercurial.
- ./gradlew test
- runs JUnit tests
- this task is also available on Windows
- ./gradlew kinkTest
- ./gradlew clean
Run Kink
The following tools are required to build Kink artifacts:
- JDK 21
- GNU bash; only on Unix-like systems
First extract kink-{version} directory from the zip archive or tarball archive.
Then launch REPL by running kink-{version}/bin/kink.
If you want line editing, get rlwrap and run rlwrap kink-{version}/bin/kink.
You can get help by running kink-{version}/bin/kink --help.
On Windows, you have two exe files: kink.exe and kinkw.exe.
The first one launches java.exe, so it suits for CUI applications.
The latter launches javaw.exe, so its suits for GUI applications.
Licenses
Kink is developed by Miyakawa Taku and distributed under the MIT license.
See LICENSE.txt.
Kink distributions may include thirdparty softwares.
See doc/license.html or src/docroot/license.rst for the licenses of the thirdparty softwares.