1
1
mirror of https://github.com/tweag/nickel.git synced 2024-10-06 16:18:08 +03:00
Commit Graph

12 Commits

Author SHA1 Message Date
Yann Hamdaoui
7a01d60270
Backport 1.1.1 (#1439)
* Version bump: 1.0.0 -> 1.1.0

* Add release notes for 1.1

* Bump version - part 2, reset to 0.1 for new crates

* Add missing README to nickel-lang-cli

* Update Cargo.lock, make nickel-wasm-repl's version consistent

* Update releasing instructions for new crate layout

* Fix typo in RELEASES.md

* Update Cargo.lock
2023-07-10 15:31:28 +00:00
Yann Hamdaoui
c4da6975b3
Bump version to 1.0 (#1302)
* Bump version number to 1.0

* Add text for 1.0 release
2023-05-17 12:50:43 +00:00
Yuriy Taraday
f553b8091c
Convert import to statement instead of pseudo-fun (#1293)
Currently `import` is treated as a very special function that only
accepts literal string as its first argument. It has following
downsides:

* Special handling of `import` is hidden. User can assume that its
  just a function while it's a special keyword. User might expect to
  be able to pass variables to it while it is only handled before
  typechecking and evaluation.
* We can't extend `import` functionality without introducing new
  keywords which is not backward-compatible.

This change makes `import` into another statement like `let` or `fun`,
which means it cannot be confused with a function anymore. It also means
that expressions like `import "foo.ncl" bar` and
`import "foo.ncl" & {..}` are invalid, and `import` statement need to be
put in parethesis: `(import "foo.ncl") bar`.

For more context, see discussion in
https://github.com/tweag/nickel/issues/329#issuecomment-1531333491
2023-05-04 15:25:16 +00:00
Yann Hamdaoui
4e7cd8cdca
Update RELEASES.md to prepare 1.0 (#1288) 2023-04-27 13:05:06 +00:00
Viktor Kleen
c77cdcf03b
Change the enum tag start delimiter from backtick to single-quote (#1279)
* Change enum token start from backtick to single-quote

* Get tests to pass

* Fix printing in Term::shallow_repr

* Fix benchmark enum tag syntax

* Change enum tags in the documentation to the new syntax
2023-04-26 09:13:26 +00:00
Yann Hamdaoui
80edc42462
Put the stdlib under the std namespace (#1231)
* Introduce std namespace

This commits put the different modules of the stdlib, previously living
directly at the top-leve in the initial environment (`array`, `string`,
etc.) under the `std` top-level record. This makes the stdlib more
structured, give an unified entry point (including for completion and
querying) and avoid polluting the environment with name that could clash
with e.g. local function parameters.

This changes came with a number of trade-offs. The LSP isn't happy if
something like `std` isn't defined in one location, so we have to write
or at least generated actual code for `std` (instead of programmatically
building the record, for example).

We also want the users to be able to read this file, even if generated,
because otherwise diagnosing a contract error would be quite hard.

There were also other subtleties with respect to typechecking mutually
recursive modules. In the end, the stdlib is currently squashed into one
file (plus the module internals, but which is special) `std.ncl`, which
content is bound to `std` in the initial environment.

* Update the LSP to work with new std namespace

* Update examples to use the new std namespace

* Update benches to use std namespace

* Update integration tests for the new std namespace

* Update snapshot tests for new std namespace

* Last fixes for test after std namespace change

* Please the clippy God 🙏

* Update RELEASES.md - std namespace + RFC005

* Apply suggestions from code review

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>

* Update stdlib/std.ncl

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>

* Update stdlib/std.ncl

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>

* Fix the LSP completion for `std`

* Please the Clippy overlord

---------

Co-authored-by: Viktor Kleen <viktor.kleen@tweag.io>
2023-04-11 17:51:10 +02:00
Yann Hamdaoui
31cf0d7389
Update RELEASES.md with breaking renamings 2023-03-08 16:36:13 +01:00
Matthew Healy
ea0a77e69f Update changelog for 0.3.1 2022-12-15 17:09:03 +01:00
Yann Hamdaoui
52864069c5
Update RELEASES.md for 0.3.0 2022-12-08 10:44:45 +01:00
Yann Hamdaoui
9e38299518 Add release notes for 0.2.0 2022-08-08 15:31:44 +02:00
Yann Hamdaoui
9fb8b3968d Add 0.2.0 release notes + markdown lints 2022-08-08 15:31:44 +02:00
Yann Hamdaoui
6385a6c452 Add release notes 2022-03-09 18:52:12 +01:00