|
| 1 | +# 0.9.1 |
| 2 | + |
| 3 | +This minor release contains various bug fixes and improvements. |
| 4 | + |
| 5 | +## Listing Command Line Options |
| 6 | + |
| 7 | +Invoking Links with either `--help` or `--h` option causes a help |
| 8 | +message to be printed to standard out. The help message describes the |
| 9 | +usage format and lists some typical options with their default values. |
| 10 | + |
| 11 | +``` |
| 12 | +usage: links.exe [options] [source-files [-- arguments]] |
| 13 | +
|
| 14 | +Options are: |
| 15 | + --config=<file> Initialises Links according to the given configuration file (default: /home/links/.opam/4.09.0/etc/links/config) |
| 16 | + -d, --debug Prints internal debugging information (development) (default: false) |
| 17 | + --enable-handlers Enables the effect handlers extension (default: false) |
| 18 | + -e, --evaluate=<expression> Evaluates an expression |
| 19 | + -h, --help Print help message and exit |
| 20 | + --path=<dir[,dir']...> Search paths for Links modules (default: .) |
| 21 | + --measure_performance Instruments the server-side runtime to measure various performance characteristics (default: false) |
| 22 | + -r, --rlwrap Selects whether to use the native readline support in REPL mode (default: true) |
| 23 | + --optimise Optimises the generated code (default: false) |
| 24 | + --print-keywords Print keywords and exit |
| 25 | + --session-exceptions Enables the session exceptions extension (default: false) |
| 26 | + --set=<setting=value> Sets the value of a particular setting via the commandline |
| 27 | + -v, --version Print version and exit |
| 28 | + -w, --web-mode Start Links in web mode (default: false) |
| 29 | +``` |
| 30 | + |
| 31 | +The `--set` option provides a lightweight means for setting the value |
| 32 | +of some setting at invocation of time of Links. The command line |
| 33 | +options are lexically scoped, meaning the effect of later options may |
| 34 | +shadow the effect of earlier options. For example using the options |
| 35 | +`--set=debug=false --set=debug=true` will cause Links to start in |
| 36 | +debug mode. |
| 37 | + |
| 38 | +The command line interface also supports enabling of transitive |
| 39 | +dependencies, meaning that is no longer necessary to pass |
| 40 | +`--enable-handlers` at the same time as `--session-exceptions`. Simply |
| 41 | +passing `--session-exceptions` starts Links with the effect handlers |
| 42 | +runtime. |
| 43 | + |
| 44 | +## Modules as a Core Feature |
| 45 | + |
| 46 | +Modules are now a core feature and therefore enabled by default. The |
| 47 | +command line option `-m` and setting `modules` have been removed. |
| 48 | + |
| 49 | +## MVU Commands |
| 50 | + |
| 51 | +The Links MVU library now supports commands. Commands allow |
| 52 | +side-effecting computations to be performed inside the MVU event |
| 53 | +loop. A particularly important side-effect is to spawn a computation |
| 54 | +which evaluates asynchronously, returning a message when it is |
| 55 | +complete. |
| 56 | + |
| 57 | +Key changes: |
| 58 | + |
| 59 | +- add a new type, `Command(Message)` which describes a computation which |
| 60 | + will produce a message of type Message |
| 61 | +- revise most general type of updt function from `(Message, Model) ~> |
| 62 | + Model` to `(Message, Model) ~> (Model, Command(Message))` |
| 63 | + |
| 64 | +You can see the gist of the new functionality in the |
| 65 | +examples/mvu/commands.links example, which spawns an expensive |
| 66 | +computation asynchronously and awaits the result. |
| 67 | + |
| 68 | +## Simultaneous Support for Flat and Shredded Queries |
| 69 | + |
| 70 | +It is now possible to specify whether a query should be treated as |
| 71 | +flat or shredded. The query syntax has been extended as follows: |
| 72 | + |
| 73 | +``` |
| 74 | +query [range] policy { |
| 75 | + ... |
| 76 | +} |
| 77 | +``` |
| 78 | + |
| 79 | +where `policy` is either `plain`, `nested`, or omitted. If `plain` is |
| 80 | +used, then the query will evaluated using the default evaluator, and |
| 81 | +if `nested` is used, then the query will be shredded. If the policy is |
| 82 | +omitted, then the `shredding` setting is used to decide, as before. |
| 83 | + |
| 84 | +## Miscellaneous |
| 85 | + |
| 86 | +- Links now builds with Lwt version 5. |
| 87 | +- Added the `log10` and `exp` functions to the standard library. |
| 88 | +- The hear syntactic sugar is now more flexible (#739). |
| 89 | +- Fixed process identifier serialisation (#759). |
| 90 | +- Fixed printing of values and typenames in the REPL (#805). |
| 91 | +- Fixed handling of linearity in arguments in anonymous functions (#797). |
| 92 | + |
1 | 93 | # 0.9 (Burghmuirhead) |
2 | 94 |
|
3 | 95 | Version 0.9 (Burghmuirhead) presents multiple major new features, bugfixes, as |
|
0 commit comments