Commit Graph

271 Commits

Author SHA1 Message Date
e730028185 Fix calling functions without arguments 2023-06-24 01:11:36 -04:00
df5661fa2b Allow calling functions without arguments 2023-06-24 00:07:12 -04:00
6fdf4de722 Fix lib name 2023-06-23 23:49:44 -04:00
8363cd20eb Move built-in functions to expressive 2023-06-23 23:36:48 -04:00
fda852f69a Allow getting nested map values 2023-06-23 22:52:08 -04:00
47cc649f8d Improve map type functionality 2023-06-23 22:47:02 -04:00
f2ae0d952f Add map type functionality 2023-06-23 21:44:40 -04:00
44170697cb Begin forking with new features 2023-06-22 01:07:17 -04:00
Sebastian Schmidt
2fdd4a1604 Fix some names an docs. 2023-06-08 15:40:30 +03:00
Ben Weinstein-Raun
49b61ff359 rename to iter_operators_mut 2023-06-04 14:16:46 -07:00
Ben Weinstein-Raun
1646a070a9 cargo format 2023-06-04 09:41:51 +03:00
Ben Weinstein-Raun
d45cb7c420 rename iterators to indicate that they're iterating over operators rather than nodes 2023-06-04 09:41:51 +03:00
Ben Weinstein-Raun
0d549b1c36 add mutable iteration over identifiers 2023-06-04 09:41:51 +03:00
Sebastian Schmidt
6ed820adc4 Change IterVariablesContext to use GATs instead of a lifetime parameter. 2023-06-01 16:35:59 +03:00
Sebastian Schmidt
57bc27ef8c Document that integers can also be written in hex. 2023-06-01 16:03:28 +03:00
Kaspar Schleiser
13c78a1285 fix hex integer clippy suggestions 2023-06-01 15:59:11 +03:00
Kaspar Schleiser
f6596b13ec drop num_traits dependency for hex literal parsing 2023-06-01 15:59:11 +03:00
Kaspar Schleiser
40d27df446 add hex integer literal parsing support 2023-06-01 15:59:11 +03:00
Sebastian Schmidt
df869d487b Move CLI documentation after quickstart. 2023-06-01 15:53:11 +03:00
Sebastian Schmidt
daebc821d7 Document CLI in readme. 2023-06-01 15:52:13 +03:00
Kaspar Schleiser
8b08d2081b add simple cli binary 2023-06-01 15:35:11 +03:00
Sebastian Schmidt
db95723f8e Fix implementation order. 2023-05-27 12:21:45 +03:00
Sebastian Schmidt
199a42ebab Fixes for pull request #130. 2023-05-27 11:04:56 +03:00
ISibboI
e63a99af80
Merge branch 'main' into main 2023-05-27 10:42:40 +03:00
Sebastian Schmidt
c01a23bcf8 Return Ok when disabling builtin functions in EmptyContext and enabling builtin functions in EmptyContextWithBuiltinFunctions.
These are noops anyways.
2023-05-21 10:30:53 +03:00
Sebastian Schmidt
5a4dcf9516 Fix docs and error types. 2023-05-21 10:30:53 +03:00
Codex Yore
24c1749143 Resolving issues for PR #129 2023-05-21 10:30:53 +03:00
Codex Yore
50532c5db5 feature_method_to_disable_builtin_function 2023-05-21 10:30:53 +03:00
LinuxHeki
d9698df268 math::abs of int returns int 2023-05-21 09:12:12 +02:00
LinuxHeki
1fc137a233 add math::abs to docs 2023-05-20 15:34:46 +02:00
Heki
bf716b2e87
add math::abs function 2023-05-20 13:16:24 +00:00
Sebastian Schmidt
ed6430abed Fix new nightly warning. 2023-05-16 18:11:24 +03:00
Sebastian Schmidt
0a46a244e0 Make docs more uniform. 2023-05-16 17:55:24 +03:00
Nick
d427405f47 contains and contians any - remove comment 2023-05-10 12:37:43 -05:00
Nick
8b8af31eb8 contains + contains_any builtins 2023-05-10 12:31:33 -05:00
Nick
76d480c465 Some function to check if tuple contains value 2023-05-08 08:36:13 -05:00
Sebastian Schmidt
ab24e08f28 Remove superfluous printlns. 2023-04-13 14:44:47 +03:00
Sebastian Schmidt
4fd86751dc Fix unary operator precedence.
Before, unary operators that appeared after an operator with higher precedence would be executed after that operator.

However, in evalexpr, the two unary operators are prefix operators negation and not, and prefix operators always happen before operators directly left of them.
2023-04-13 14:42:39 +03:00
Claus Matzinger
f5520077e0
Added Clone to errors 2022-12-01 23:20:08 +01:00
Natan Freeman
927e0e4075 Replaces f64 and i64 with FloatType and IntType. 2022-09-14 21:36:36 +03:00
Tobias Schmitt
165c606ed4 typo in doctest 2022-07-21 21:16:09 +02:00
Tobias Schmitt
532e2ed770 adds iter_(read/write)_variable_identifiers
seperate iterator returns for read and write variable identifiers.
this is useful in our project and i suspect it might be of use for
others too.
2022-07-21 21:12:26 +02:00
Sebastian Schmidt
4cc86e7683 Add trait to allow iterating over all variables in a context.
Both iterating with and without values is supported.
Due to limitations in the language, currently only iterating by cloning is supported. When GATs are stabilised, this should change.

Relates to #108
2022-07-15 13:44:31 +03:00
Sebastian Schmidt
3d60c66305 Replace version specification in README with "desired version". 2022-07-15 13:16:24 +03:00
Sebastian Schmidt
e70e9d366a Use explicit operator type for reading and writing variables.
Before, variables written to were represented with the same operator as constants in the AST. This was hacky and confusing to some users.

Closes #106
2022-07-04 17:10:28 +03:00
Sebastian Schmidt
54c4286672 Use double dot syntax in operator/mod.rs. 2022-07-04 17:03:32 +03:00
Sebastian Schmidt
65fadfd164 Add tests for left-hand side of assignment being an identifier.
Relates to #106
2022-07-04 16:50:50 +03:00
Sebastian Schmidt
563d82a525 Fix unnecessary unused lints. 2022-07-04 14:51:27 +03:00
Sebastian Schmidt
5f1aa344ab Fix unnecessary format lints. 2022-07-04 14:44:34 +03:00
Sebastian Schmidt
4927de7ac6 Implement TryFrom<Value> for all types a value can store. 2022-07-04 14:37:48 +03:00