Skip to content

Commit

Permalink
Version 0.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Marwes committed Jul 1, 2017
1 parent e07d476 commit 7c501a0
Show file tree
Hide file tree
Showing 15 changed files with 72 additions and 28 deletions.
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,47 @@
<a name="v.0.5.0"></a>
## v0.5.0 (2017-07-01)

Highlights for 0.5 include code formatting of gluon code and automatic marshalling between Rust
and Gluon through [serde][]. Formatting can be done either via the `gluon fmt` sub-command or with
directly in Visual Studio Code with the [language-server plugin][].

Type errors should now be formatted much better and have more precise types.

[serde]:https://serde.rs
[language-server plugin]:https://github.com/gluon-lang/gluon_language-server

#### Bug Fixes

* Separate all errors with a newline ([86f159fd](https://github.com/gluon-lang/gluon/commit/86f159fd7099c04d74103b8561d6d0662029e81c))
* **check:**
* Indent types in error messages correctly ([13a7f52c](https://github.com/gluon-lang/gluon/commit/13a7f52c7a987febd64eab705f5ef6827bc855ac))
* Report clearer errors when aliases do not match ([2ea68654](https://github.com/gluon-lang/gluon/commit/2ea686547abcf64bc7553e85c7db0aba98d7fb7a))
* Don't leak inference variables out to type errors ([ef1d584b](https://github.com/gluon-lang/gluon/commit/ef1d584b478f93999e5fefd835fb8218701247b0), closes [#292](https://github.com/gluon-lang/gluon/issues/292))
* **parser:** Give correct location information for unindentation errors ([30541c1e](https://github.com/gluon-lang/gluon/commit/30541c1eeb82b97823067c592e1fa7e0052146cc))
* **pretty:** Always format empty records as unit types ([03f07f16](https://github.com/gluon-lang/gluon/commit/03f07f16453818cd3250b3bf1f2a5fa660117e4c))
* **vm:**
* Only allocate enough memory for a ValueArray when appending arrays ([abe7a4b2](https://github.com/gluon-lang/gluon/commit/abe7a4b2ac30d2bbcecf29762d500bf403731956))
* Fix the debug printing of GcStr and ValueArray ([5566b518](https://github.com/gluon-lang/gluon/commit/5566b5183e137cde97b4122f707dc049491ea40d))

#### Features

* Add a fmt sub-command to the gluon executable ([b9c6ea6c](https://github.com/gluon-lang/gluon/commit/b9c6ea6c3cc0d532811f565d7ae509abf7a6eeb9))
* Bump version of pretty ([29808fce](https://github.com/gluon-lang/gluon/commit/29808fce01d7e2e3a1fbc03aad18db8047280302))
* **base:**
* Display applied and function types better during multi line splits ([3fff91eb](https://github.com/gluon-lang/gluon/commit/3fff91eb14a7f113d36eab3908d66bd2c85eb86a))
* Add basic pretty printing of expressions ([68b3bb97](https://github.com/gluon-lang/gluon/commit/68b3bb975f24a7a5b480321ea60f087aa6803459))
* **check:** Auto complete pattern matches ([712dc412](https://github.com/gluon-lang/gluon/commit/712dc4125ec1824d96d1c5e741a863c34bb766d7))
* **parser:**
* Allow partial parsing of alternatives when only the `|` exists ([cbe698f7](https://github.com/gluon-lang/gluon/commit/cbe698f768c1c4348ef5101855f805d015dea304))
* Allow partial parsing when patterns are missing ([e3285428](https://github.com/gluon-lang/gluon/commit/e32854284367531417466fab8e899ccf70d82af9))
* (Re-)add negative numbers to the language ([65dfc1ac](https://github.com/gluon-lang/gluon/commit/65dfc1ac8454750a13ce33f98e4adf177b68aca5))
* **vm:**
* Merge the Tag and Data variants of ValueRef ([ed7330d1](https://github.com/gluon-lang/gluon/commit/ed7330d1b318a406ade8993d526464d8e94c99e0))
* Add deserialization from gluon values ([6b98e29c](https://github.com/gluon-lang/gluon/commit/6b98e29c76abe30d2c9117de0475eed6d6a4dfe7))
* Allow automatic marshalling from Rust to gluon objects via serde ([8318e341](https://github.com/gluon-lang/gluon/commit/8318e34168848a31511b8c0ffce8a7f5c1009ee8))



<a name="v0.4.1"></a>
## v0.4.1 (2017-05-23)

Expand Down
10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]

name = "gluon"
version = "0.4.2" # GLUON
version = "0.5.0" # GLUON
authors = ["Markus <marwes91@gmail.com>"]
build = "build.rs"

Expand All @@ -22,10 +22,10 @@ name = "gluon"
path = "src/lib.rs"

[dependencies]
gluon_base = { path = "base", version = "0.4.2" } # GLUON
gluon_check = { path = "check", version = "0.4.2" } # GLUON
gluon_parser = { path = "parser", version = "0.4.2" } # GLUON
gluon_vm = { path = "vm", version = "0.4.2" } # GLUON
gluon_base = { path = "base", version = "0.5.0" } # GLUON
gluon_check = { path = "check", version = "0.5.0" } # GLUON
gluon_parser = { path = "parser", version = "0.5.0" } # GLUON
gluon_vm = { path = "vm", version = "0.5.0" } # GLUON

log = "0.3.6"
quick-error = "1.0.0"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Gluon requires a recent Rust compiler to build (1.9.0 or later) and is available

```toml
[dependencies]
gluon = "0.4.2"
gluon = "0.5.0"
```

#### Other languages
Expand Down
2 changes: 1 addition & 1 deletion base/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_base"
version = "0.4.2" # GLUON
version = "0.5.0" # GLUON
authors = ["Markus <marwes91@gmail.com>"]

license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion base/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! The base crate contains pervasive types used in the compiler such as type representations, the
//! AST and some basic containers.
#![doc(html_root_url="https://docs.rs/gluon_base/0.4.2")] // # GLUON
#![doc(html_root_url="https://docs.rs/gluon_base/0.5.0")] // # GLUON

extern crate log;
#[macro_use]
Expand Down
4 changes: 2 additions & 2 deletions c-api/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_c-api"
version = "0.4.2" # GLUON
version = "0.5.0" # GLUON
authors = ["Markus Westerlind <marwes91@gmail.com>"]

license = "MIT"
Expand All @@ -15,7 +15,7 @@ crate-type = ["staticlib"]

[dependencies]
libc = "0.2.14"
gluon = { version = "0.4.2", path = ".." } # GLUON
gluon = { version = "0.5.0", path = ".." } # GLUON

[features]
test = ["gluon/test"]
Expand Down
2 changes: 1 addition & 1 deletion c-api/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//! A (WIP) C API allowing use of gluon in other langauges than Rust.
#![doc(html_root_url="https://docs.rs/gluon_c-api/0.4.2")] // # GLUON
#![doc(html_root_url="https://docs.rs/gluon_c-api/0.5.0")] // # GLUON

extern crate libc;
extern crate gluon;
Expand Down
6 changes: 3 additions & 3 deletions check/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_check"
version = "0.4.2" # GLUON
version = "0.5.0" # GLUON
authors = ["Markus <marwes91@gmail.com>"]

license = "MIT"
Expand All @@ -17,8 +17,8 @@ union-find = "0.3.1"
pretty = "0.3.0"
smallvec = "0.2.1"

gluon_base = { path = "../base", version = "0.4.2" } # GLUON
gluon_parser = { path = "../parser", version = "0.4.2", optional = true } # GLUON
gluon_base = { path = "../base", version = "0.5.0" } # GLUON
gluon_parser = { path = "../parser", version = "0.5.0", optional = true } # GLUON

[dev-dependencies]
collect-mac = "0.1.0"
Expand Down
2 changes: 1 addition & 1 deletion check/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//! If an AST passes the checks in `Typecheck::typecheck_expr` (which runs all of theses checks
//! the expression is expected to compile succesfully (if it does not it should be considered an
//! internal compiler error.
#![doc(html_root_url="https://docs.rs/gluon_check/0.4.2")] // # GLUON
#![doc(html_root_url="https://docs.rs/gluon_check/0.5.0")] // # GLUON

#[macro_use]
extern crate log;
Expand Down
4 changes: 2 additions & 2 deletions parser/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_parser"
version = "0.4.2" # GLUON
version = "0.5.0" # GLUON
authors = ["Markus <marwes91@gmail.com>"]

license = "MIT"
Expand All @@ -18,7 +18,7 @@ itertools = "0.5.6"
quick-error = "1.0.0"
lalrpop-util = "0.13.1"
log = "0.3.6"
gluon_base = { path = "../base", version = "0.4.2" } # GLUON
gluon_base = { path = "../base", version = "0.5.0" } # GLUON

[dev-dependencies]
collect-mac = "0.1.0"
Expand Down
2 changes: 1 addition & 1 deletion parser/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! The parser is a bit more complex than it needs to be as it needs to be fully specialized to
//! avoid a recompilation every time a later part of the compiler is changed. Due to this the
//! string interner and therefore also garbage collector needs to compiled before the parser.
#![doc(html_root_url="https://docs.rs/gluon_parser/0.4.2")] // # GLUON
#![doc(html_root_url="https://docs.rs/gluon_parser/0.5.0")] // # GLUON

#[macro_use]
extern crate log;
Expand Down
6 changes: 3 additions & 3 deletions repl/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_repl"
version = "0.4.2" # GLUON
version = "0.5.0" # GLUON
authors = ["Markus Westerlind <marwes91@gmail.com>"]

license = "MIT"
Expand All @@ -15,8 +15,8 @@ doc = false

[dependencies]

gluon_vm = { version = "0.4.2", path = "../vm" } # GLUON
gluon = { version = "0.4.2", path = ".." } # GLUON
gluon_vm = { version = "0.5.0", path = "../vm" } # GLUON
gluon = { version = "0.5.0", path = ".." } # GLUON

futures = "0.1.11"
clap = "2.22.0"
Expand Down
2 changes: 1 addition & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
//! behaviour. For information about how to use this library the best resource currently is the
//! [tutorial](https://github.com/gluon-lang/gluon/blob/master/TUTORIAL.md) which contains examples on
//! how to write gluon programs as well as how to run them using this library.
#![doc(html_root_url="https://docs.rs/gluon/0.4.2")] // # GLUON
#![doc(html_root_url="https://docs.rs/gluon/0.5.0")] // # GLUON
#[macro_use]
extern crate log;
#[macro_use]
Expand Down
10 changes: 5 additions & 5 deletions vm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gluon_vm"
version = "0.4.2" # GLUON
version = "0.5.0" # GLUON
authors = ["Markus <marwes91@gmail.com>"]

license = "MIT"
Expand All @@ -27,15 +27,15 @@ typed-arena = "1.2.0"
serde = { version = "1.0.0", optional = true }
smallvec = "0.2.1"

gluon_base = { path = "../base", version = "0.4.2" } # GLUON
gluon_check = { path = "../check", version = "0.4.2" } # GLUON
gluon_parser = { path = "../parser", version = "0.4.2", optional = true } # GLUON
gluon_base = { path = "../base", version = "0.5.0" } # GLUON
gluon_check = { path = "../check", version = "0.5.0" } # GLUON
gluon_parser = { path = "../parser", version = "0.5.0", optional = true } # GLUON

[build-dependencies]
lalrpop = { version = "0.13.1", optional = true }

[dev-dependencies]
gluon = { path = "..", version = "0.4.2" } # GLUON
gluon = { path = "..", version = "0.5.0" } # GLUON

lalrpop-util = "0.13.1"
regex = "0.2.0"
Expand Down
2 changes: 1 addition & 1 deletion vm/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//! Crate which contain the virtual machine which executes gluon programs
#![doc(html_root_url="https://docs.rs/gluon_vm/0.4.2")] // # GLUON
#![doc(html_root_url="https://docs.rs/gluon_vm/0.5.0")] // # GLUON
#![recursion_limit = "1024"]

#[doc(hidden)]
Expand Down

0 comments on commit 7c501a0

Please sign in to comment.