Skip to content

Commit

Permalink
preparing for 2.6.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
daanx committed Dec 30, 2023
1 parent 1d3a48f commit e1807a3
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 35 deletions.
39 changes: 24 additions & 15 deletions doc/spec/news.mdk
Original file line number Diff line number Diff line change
@@ -1,43 +1,51 @@
~ begin news
News:

* 2023-12-30: Koka v2.6.0 released with VS Code language integration with type information, jump to definition,
run test functions directly from the editor, automatic Koka installation, and many more things.
Special thanks to [Tim Whiting](https://github.com/TimWhiting) and [Fredrik Wieczerkowski](https://github.com/fwcd) for all their work on making this possible!

* 2023-12-27: Update of the technical report on "The functional essence of binary trees" [pdf][fiptree-tr] where we use fully-in-place programming and
the new hole contexts to create fully verified functional implementations of binary search tree
algorithms with performance on par with imperative C implementations.

* 2023-07-03: Koka v2.4.2 released: add support for `fip` and `fbip` keywords described
in &ldquo;FP<sup>2</sup>: Fully in-Place Functional Programming&rdquo;
in &ldquo;FP<sup>2</sup>: Fully in-Place Functional Programming&rdquo;
(ICFP'23) [[pdf](https://www.microsoft.com/en-us/research/uploads/prod/2023/05/fbip.pdf)].
Various fixes and performance improvements.

* 2021-02-04 (pinned) The [Context Free](https://www.youtube.com/channel/UCS4FAVeYW_IaZqAbqhlvxlA)
* 2021-02-04 (pinned) The [Context Free](https://www.youtube.com/channel/UCS4FAVeYW_IaZqAbqhlvxlA)
youtube channel posted a short and fun [video](https://www.youtube.com/watch?v=olISecOUX1g&t=959s)
about effects in Koka (and 12 (!) other languages).

* 2021-09-01 (pinned) The ICFP'21 tutorial
"_Programming with Effect Handlers and FBIP in Koka_" is now available on
"_Programming with Effect Handlers and FBIP in Koka_" is now available on
[youtube](https://www.youtube.com/watch?v=6OFhD_mHtKA).

* 2022-02-07: Koka v2.4.0 released: improved specialization and `int` operations, add `rbtree-fbip` sample,
improve grammar (`pub` (instead of ``public``, remove private (as everything is private by default now)),
improve grammar (`pub` (instead of ``public``, remove private (as everything is private by default now)),
`final ctl` (instead of `brk`), underscores in number literals, etc), rename `double` to `float64`, various bug fixes.

* 2021-12-27: Koka v2.3.8 released: improved `int` performance, various bug fixes, update wasm backend,
* 2021-12-27: Koka v2.3.8 released: improved `int` performance, various bug fixes, update wasm backend,
initial conan support, fix js backend.

* 2021-11-26: Koka v2.3.6 released:
`maybe`-like types are already value types, but now also no longer need heap allocation
* 2021-11-26: Koka v2.3.6 released:
`maybe`-like types are already value types, but now also no longer need heap allocation
if not nested (and `[Just(1)]` uses the same heap space as `[1]`),
improved atomic refcounting (by Anton Lorenzen), improved specialization (by Steven Fontanella),
various small fixes, add `std/os/readline`, fix build on freeBSD
various small fixes, add `std/os/readline`, fix build on freeBSD

* 2021-10-15: Koka v2.3.2 released, with initial wasm support
(use `--target=wasm`, and install [emscripten] and [wasmtime]),
* 2021-10-15: Koka v2.3.2 released, with initial wasm support
(use `--target=wasm`, and install [emscripten] and [wasmtime]),
improved reuse specialization (by Anton Lorenzen), and various bug fixes.

* 2021-09-29: Koka v2.3.1 released, with improved TRMC optimizations, and improved reuse
(the rbtree benchmark is as fast as C++ now), and
* 2021-09-29: Koka v2.3.1 released, with improved TRMC optimizations, and improved reuse
(the rbtree benchmark is as fast as C++ now), and
faster effect operations. Experimental: allow elision of `->` in anonymous
function expressions (e.g. `xs.map( fn(x) x + 1 )`) and operation clauses.
Command line options changed a bit with ``.koka`` as the standard output directory.
Command line options changed a bit with ``.koka`` as the standard output directory.

* 2021-09-20: Koka v2.3.0 released, with new
* 2021-09-20: Koka v2.3.0 released, with new
[brace elision](https://koka-lang.github.io/koka/doc/book.html#sec-layout) and if/match
conditions without parenthesis. Updated the javascript backend
using ES6 modules and BigInt. new `module std/num/int64`, improved effect operation performance.
Expand Down Expand Up @@ -76,4 +84,5 @@ News:
[released]: https://koka-lang.github.io/koka/doc/book.html#install
[emscripten]: https://emscripten.org/docs/getting_started/downloads.html
[musl]: https://musl.libc.org/
[wasmtime]: https://wasmtime.dev/
[wasmtime]: https://wasmtime.dev/
[fiptree-tr]: https://www.microsoft.com/en-us/research/uploads/prod/2023/07/fiptree-tr-v4.pdf
4 changes: 2 additions & 2 deletions koka.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cabal-version: 1.12
-- see: https://github.com/sol/hpack

name: koka
version: 2.4.5
version: 2.6.0
description: Please see the README on GitHub at <https://github.com/koka-lang/koka#readme>
homepage: https://github.com/koka-lang/koka#readme
bug-reports: https://github.com/koka-lang/koka/issues
Expand Down Expand Up @@ -133,7 +133,7 @@ library
CPP
OverloadedStrings
ghc-options: -j8 -O2
cpp-options: -DKOKA_MAIN="koka" -DKOKA_VARIANT="release" -DKOKA_VERSION="2.4.5" -DREADLINE=0
cpp-options: -DKOKA_MAIN="koka" -DKOKA_VARIANT="release" -DKOKA_VERSION="2.6.0" -DREADLINE=0
include-dirs:
src/Platform/cpp/Platform
c-sources:
Expand Down
4 changes: 2 additions & 2 deletions package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@


name: koka
version: 2.4.5
version: 2.6.0
github: "koka-lang/koka"
license: Apache-2.0
author: Daan Leijen
Expand Down Expand Up @@ -50,7 +50,7 @@ library:
cpp-options:
- -DKOKA_MAIN="koka"
- -DKOKA_VARIANT="release"
- -DKOKA_VERSION="2.4.5"
- -DKOKA_VERSION="2.6.0"
- -DREADLINE=0 # 1:getline, 2:readline, 3:haskeline, or 0:isocline
when:
- condition: os(windows)
Expand Down
13 changes: 10 additions & 3 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

_Koka v2 is a research language that currently under heavy development with the new C backend_

_Latest release_: v2.4.2, 2023-07-03 ([Install]).
_Latest release_: v2.6.0, 2023-12-30 ([Install]).

<a href="https://koka-lang.github.io/koka/doc/book.html#why-handlers"><img align="right" width="300" src="doc/snippet-yield.png" /></a>

Expand Down Expand Up @@ -69,17 +69,24 @@ To learn more:
[emscripten]: https://emscripten.org/docs/getting_started/downloads.html
[musl]: https://musl.libc.org/
[wasmtime]: https://wasmtime.dev/
[fiptree-tr]: https://www.microsoft.com/en-us/research/uploads/prod/2023/07/fiptree-tr-v4.pdf

Enjoy,
Daan Leijen

Special thanks to: [Anton Lorenzen](https://antonlorenzen.de/) for his work on frame-limited
Special thanks to: [Tim Whiting](https://github.com/TimWhiting) and [Fredrik Wieczerkowski](https://github.com/fwcd)
for their work on the VS Code language integration,
[Anton Lorenzen](https://antonlorenzen.de/) for his work on one-hole context ([pdf][fiptree-tr]), fully in-place programming [[11](#references)] and frame-limited
reuse in Perceus [[10]](#references), [Ningning Xie](https://xnning.github.io/) for her work on the theory and practice of evidence passing [[9,6]](#references) and the formalization of Perceus reference counting [[8]](#references),
[Alex Reinking](https://alexreinking.com/) for the implementation of the Perceus reference counting analysis [[8]](#references),
and all previous interns working on earlier versions of Koka: Daniel Hillerström, Jonathan Brachthäuser, Niki Vazou, Ross Tate, Edsko de Vries, and Dana Xu.

## Recent Releases

* `v2.6.0`, 2023-12-30: initial VS Code language support with type information, jump to definition,
run test functions directly from the editor, automatic Koka installation, and many more things.
Special thanks to [Tim Whiting](https://github.com/TimWhiting) and [Fredrik Wieczerkowski](https://github.com/fwcd) for all their work on making this possible!
Also includes support for one-hole contexts ([pdf][fiptree-tr]) and extended bit operations on `int32`/`int64` and various bug fixes.
* `v2.4.2`, 2023-07-03: interim release with support for the new `fip` and `fbip` keywords
to support fully-in-place programming [[11](#references)]. Various bug fixes and performance
enhancements.
Expand Down Expand Up @@ -160,7 +167,7 @@ you can correct this by running `git submodule update --init --recursive`).
You can also use `stack build --fast` to build a debug version of the compiler,
and use `stack test --fast` to run the test-suite.

To run a single test you can run stack test filtering based on paths such as `stack test --test-arguments '-m "lib"'`.
To run a single test you can run stack test filtering based on paths such as `stack test --test-arguments '-m "lib"'`.
This will run all tests that are under the `test/lib` directory.

(See the [build notes](#build-notes) below if you have issues when running- or installing `stack`).
Expand Down
4 changes: 2 additions & 2 deletions support/vscode/koka.language-koka/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"name": "language-koka",
"displayName": "Koka Language",
"description": "The official Koka programming language extension.",
"version": "2.4.5",
"compilerVersion": "2.4.5",
"version": "2.6.0",
"compilerVersion": "2.6.0",
"publisher": "koka",
"engines": {
"vscode": ">=1.81.0"
Expand Down
2 changes: 1 addition & 1 deletion util/install.bat
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ rem Installation script for Koka; use -h to see command line options.
rem ------------------------------------------------------------------

setlocal
set KOKA_VERSION=v2.4.5
set KOKA_VERSION=v2.6.0
set KOKA_PREFIX=%LOCALAPPDATA%\koka
set KOKA_UNINSTALL=N
set KOKA_HELP=N
Expand Down
2 changes: 1 addition & 1 deletion util/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Installation script for Koka; use -h to see command line options.
#-----------------------------------------------------------------------------

VERSION="v2.4.5"
VERSION="v2.6.0"
MODE="install" # or uninstall
PREFIX="/usr/local"
QUIET=""
Expand Down
2 changes: 1 addition & 1 deletion util/minbuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# For use on platforms where stack is not working and to document
# the minimal needed commands to build the full compiler.

KOKA_VERSION=2.4.5
KOKA_VERSION=2.6.0
KOKA_VARIANT=release

echo ""
Expand Down
16 changes: 8 additions & 8 deletions whatsnew.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Welcome to Koka, release v2.4.5
# Welcome to Koka, release v2.6.0

<img style="float: right; width:16em" src="images/koka-logo-filled.svg">

Expand All @@ -12,11 +12,11 @@ generating direct C code without needing a runtime system. To learn more:

## What is new

In the latest update, 2023-12-xx:
In the latest update, 2023-12-30:

- Initial VS Code language server support (by [Tim Whiting](https://github.com/TimWhiting)
and [Fredrik Wieczerkowski](https://github.com/fwcd) with parse- and type errors,
type information on hover, jump to definition etc.
- Initial VS Code language support with type information, jump to definition,
run test functions directly from the editor, automatic Koka installation, and many more things.
Special thanks to [Tim Whiting](https://github.com/TimWhiting) and [Fredrik Wieczerkowski](https://github.com/fwcd) for all their work on making this possible!

- The ability to run `main`, `test...`, and `example...` functions directly from
the editor by clicking on the `run debug | optimized` code lenses.
Expand All @@ -30,7 +30,7 @@ In the latest update, 2023-12-xx:

- Using further [fip/fbip][fip] annotations to mark more functions as _fully in-place_.

- Various bug fixes.
- Various bug fixes and extended bit-level operations on `int32`/`int64`.

Enjoy!

Expand All @@ -43,8 +43,8 @@ Enjoy!
[kokarepo]: https://github.com/koka-lang/koka
[kokaproject]: http://research.microsoft.com/en-us/projects/koka

[fip]: https://www.microsoft.com/en-us/research/uploads/prod/2023/05/fip-tr-v2.pdf
[fccontext]: https://www.microsoft.com/en-us/research/uploads/prod/2023/07/fiptree-tr-v3.pdf
[fip]: https://www.microsoft.com/en-us/research/uploads/prod/2023/05/fbip.pdf
[fccontext]: https://www.microsoft.com/en-us/research/uploads/prod/2023/07/fiptree-tr-v4.pdf


## Previous Releases
Expand Down

0 comments on commit e1807a3

Please sign in to comment.