Commit Graph

510 Commits

Author SHA1 Message Date
Sebastian Schmidt
16a79cd567 Remove serde:🇩🇪:Error implementation for error::Error
Serde forces us to be generic over which error our visitor returns, so we cannot return our error type.
So the implementation of serde's error trait is useless to us at this state.

Relates to #18
2019-03-23 15:27:18 +02:00
Sebastian Schmidt
a7ca4c717d Implement, test and document serde Deserialize for expressions
Relates to #18
2019-03-23 15:20:43 +02:00
Sebastian Schmidt
3d440524a5 Fix checking for serde feature flag in code
Relates to #18
2019-03-23 14:29:53 +02:00
Sebastian Schmidt
a4d1a34a0c Implement Display and std::error::Error for Error
Relates to #19
2019-03-23 14:27:44 +02:00
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