Commit Graph

256 Commits

Author SHA1 Message Date
Sebastian Schmidt
16bde54aa5 Implement display for Token and PartialToken
Relates to #19
2019-03-23 14:22:50 +02:00
Sebastian Schmidt
5e491f6771 Add serde feature
Relates to #18
2019-03-23 12:46:52 +02:00
Sebastian Schmidt
348578ca9f Add missing unreleased section header to changelog 2019-03-21 12:45:58 +02:00
Sebastian Schmidt
3a816fa7e7 Add highlighting to readme 2019-03-21 09:40:50 +02:00
Sebastian Schmidt
c4cf033b1f (cargo-release) start next development iteration 1.1.0 2019-03-20 17:43:25 +02:00
Sebastian Schmidt
30e9cb54e2 (cargo-release) version 1.1.0 2019-03-20 17:43:14 +02:00
Sebastian Schmidt
ef24c068fd Prepare changelog for release 2019-03-20 17:43:06 +02:00
Sebastian Schmidt
1badd5cf52 (cargo-release) version 1.1.0-rc.1 2019-03-20 17:33:03 +02:00
Sebastian Schmidt
5b7ba2345a Change version number to make cargo-release work 2019-03-20 17:32:40 +02:00
Sebastian Schmidt
1375134e9f Document operations on values
Relates to #16
2019-03-20 17:30:37 +02:00
Sebastian Schmidt
d3deef1f53 Provide more methods for value conversions
+ Provide is_[type] for each value type
 + Provide as_[type] for each value type

Related to #16
2019-03-20 17:30:14 +02:00
Sebastian Schmidt
e4f12da24e Organize change log and complete it for #15 2019-03-20 17:09:16 +02:00
Sebastian Schmidt
d4359d71bf Document the shortcut functions for direct evaluation into types
Related to #15
2019-03-20 17:06:47 +02:00
Sebastian Schmidt
c980e49014 Add shortcut functions to evaluate Node into value types
+ Add functions `Node::eval_[type]` and `Node::eval_[type]_with_configuration` to evaluate a node directly into a value type

Partially implements #15
2019-03-20 16:57:21 +02:00
Sebastian Schmidt
e337520805 Introduce TupleType type alias for representing tuples 2019-03-20 16:40:57 +02:00
Sebastian Schmidt
98ca788910 Reword documentation of shortcut methods to be more direct
Changed `expecting a type` to `into a type` to be more clear that the function actually returns a result of the respecting type.

Related to #15
2019-03-20 16:34:23 +02:00
Sebastian Schmidt
2dac0576a7 Add shortcut functions for evaluating directly into a value type
+ Added shortcut functions `eval_[type]` and `eval_[type]_with_configuration` for each value type
 + Added integration tests for the above

 Partially implements #15
2019-03-20 16:29:50 +02:00
Sebastian Schmidt
5549f1bba5 Make internal value type aliases for float and int public 2019-03-20 16:18:52 +02:00
Sebastian Schmidt
36a65c470b Refactor lib.rs
* Move tests into integration test folder
 * Move crate methods into interface module
2019-03-20 15:48:05 +02:00
Sebastian Schmidt
3bcb9b2770 Add initial change log 2019-03-20 15:37:07 +02:00
Sebastian Schmidt
03ab508d1b Improve the grammar of the panic section in the readme 2019-03-20 15:17:16 +02:00
Sebastian Schmidt
cbc81eba8b (cargo-release) start next development iteration 1.0.0 2019-03-20 15:07:18 +02:00
Sebastian Schmidt
95c5cbd1d8 (cargo-release) version 1.0.0 2019-03-20 15:07:00 +02:00
Sebastian Schmidt
4177ae7e77 Prepare 1.0.0 release 2019-03-20 15:04:59 +02:00
Sebastian Schmidt
3b3a38c32e (cargo-release) version 1.0.0-rc.1 2019-03-20 13:17:24 +02:00
Sebastian Schmidt
cbefe7aa70 Change version to pre-release version 2019-03-20 13:15:23 +02:00
Sebastian Schmidt
407d802090 Improve Cargo.toml metadata
* Improved description
 + Added categories field

Implements #13
2019-03-20 13:09:09 +02:00
Sebastian Schmidt
ea8b6c6974 Sync readme with old changes 2019-03-20 12:57:48 +02:00
Sebastian Schmidt
6f17e481aa Ensure no-panic for operators
Partially implements #11
2019-03-20 12:52:11 +02:00
Sebastian Schmidt
ace2da1f3e Add a note about no-panic behavior of this crate 2019-03-20 12:18:25 +02:00
Sebastian Schmidt
6395d5353b Add more badges
+ Add project status WIP badge
 + Add crates.io badge
 * Make version in docs badge automatic

Implements #10
2019-03-20 12:07:02 +02:00
Sebastian Schmidt
58e8603194 Rename Node::eval to Node::eval_with_configuration for consistency.
* Rename `Node::eval` to `Node::eval_with_configuration`
 + Add `Node::eval` that calls `Node::eval_with_configuration` with an `EmptyConfiguration`
 + Improve documentation of `Node` and the changed methods

Implements #5
2019-03-20 11:58:08 +02:00
Sebastian Schmidt
e387d3370b Fix a typo 2019-03-20 11:50:09 +02:00
Sebastian Schmidt
1ae674a693 Replace TypeError with more detailed errors
Implements #9
2019-03-20 11:42:17 +02:00
Sebastian Schmidt
38c4c35a0b Document all remaining public members
Implements #6
2019-03-20 11:32:55 +02:00
Sebastian Schmidt
cdcd24e7b6 Document value type
Implements #6 partially
2019-03-19 20:31:03 +02:00
Sebastian Schmidt
6fe5a8cdef Document toplevel functions
Implements #6
2019-03-19 20:24:11 +02:00
Sebastian Schmidt
4a32062089 Warn for missing docs 2019-03-19 20:13:04 +02:00
Sebastian Schmidt
827c7440be Format code and sync readme 2019-03-19 20:12:30 +02:00
Sebastian Schmidt
92da684c69 Implement min and max builtin functions
Implement #8, partially implement #1
2019-03-19 20:08:23 +02:00
Sebastian Schmidt
4c6c46f9d8 Change release goal to 1.0.0 2019-03-19 19:29:59 +02:00
Sebastian Schmidt
bcfce4aaec Add trailing commas to match arm blocks 2019-03-19 19:06:37 +02:00
Sebastian Schmidt
f0ab317961 Test functions with arbitrary argument amount
Implements #7
2019-03-19 19:05:21 +02:00
Sebastian Schmidt
fd3243e555 Implement functions with arbitrary argument amount
Implements #7
2019-03-19 18:58:53 +02:00
Sebastian Schmidt
8e898044c0 Document the aggregation operator
Documents #4
2019-03-19 18:49:59 +02:00
Sebastian Schmidt
55e8b51228 Add exponentiation operator
+ Add hat token
 + Add exponentiation operator
 + Document exponentiation operator
 + Test exponentiation operator

Implements #3
2019-03-19 18:42:50 +02:00
Sebastian Schmidt
93e8d867b4 Add exponentation operator
+ Add hat token
 + Add exponentation operator

Implements #3
2019-03-19 18:32:10 +02:00
Sebastian Schmidt
c631171ff0 Add comma operator and display implementations
+ Add comma token
 + Add tuple operator
 + Add tuple value type
 + Implement display for `tree::Node` and all related types
 + Add support for right-to-left chaining of operators with same precedence

The priority of chaining of operators with the same precedence remains left-to-right.
Only if two consecutive operators with the same precedence are right-to-left, they will be ordered right-to-left.

Implements #4.
2019-03-19 18:24:36 +02:00
Sebastian Schmidt
265b1214b0 Improve documentation about precedence and operators and README introduction 2019-03-19 16:47:17 +02:00
Sebastian Schmidt
c58d5dcda5 Test if functions can actually be called with multiple arguments 2019-03-19 12:47:01 +02:00