Mark
923652eca9
add iterable ranges (range_inc / range_exc)
2024-11-07 16:53:15 +01:00
Mark
bdf7fb9380
fix max function
2024-10-23 12:06:58 +02:00
Mark
f979100bfb
fix "weird" behavior with globalinfo not updating
2024-10-14 01:52:19 +02:00
Mark
8868746e17
add flag to change exit
behavior to RuntimeError
2024-10-14 00:30:57 +02:00
Mark
8e07f240cc
allow using other stdin/stdout/stderr via RunInfo
2024-10-14 00:23:14 +02:00
Mark
4e73ec0201
move exit: fn
from base
to stdio
2024-10-12 01:00:23 +02:00
Mark
d83f6f942f
bugfix for builtin functions using 3-tuples
2024-10-11 23:42:14 +02:00
Mark
203f701758
fix types (see prev. commit)
2024-10-11 23:05:53 +02:00
Mark
bdd7260c12
bugfix, functions added via config have bad infos
...
functions added to a Config may have
`info::neverused()` as their info,
which also makes the DisplayInfo part of the info
not work, which can be a problem if the function
uses its infos to define object fields
or to format an object.
2024-10-11 22:18:58 +02:00
Mark
754dd5df40
the math does math... at compile time, in types
2024-10-02 01:46:50 +02:00
Mark
c17ea580b2
make objects work better, especially destructuring
2024-09-28 01:51:20 +02:00
Mark
062f100d40
show custom type names in error messages
2024-08-31 13:14:12 +02:00
Mark
817ed25f96
add warning to if-statement in check mode
...
warning is shown if the condition of an
if statement can never be true or false,
and the user used the check command.
warnings are not shown when you use `mers run`.
2024-08-29 15:48:01 +02:00
Mark
385019e43c
replace Bool type with Bool=True/False + bugfix
...
Bool is a type alias for True/False
Bugfix:
[[T] String]
{
[[T] Int]
// this would use the outer T (String),
// but now it correctly uses the inner T (Int).
[T] 1
}
2024-08-29 15:04:32 +02:00
Mark
25c605d801
transform read_line to new func
2024-07-03 13:39:15 +02:00
Mark
3a53290f9b
better now yay
2024-07-03 12:54:57 +02:00
Mark
08a82733e9
convert more stdlib functions and add rounding
...
converted with_base and with_math
2024-07-03 11:59:22 +02:00
Mark
50928cca1d
[no version bump yet] better and safer stdlib impl
...
only transformed configs/with_string so far,
but other configs/* should follow soon.
also, this will help with implementing
new stdlib functions in the future.
2024-07-02 22:04:42 +02:00
Mark
18cd3ee0ae
functions no longer modify state, funcrefs exist
...
you can use &func as a function, too.
this allows the function to mutate its
inner state.
2024-07-01 20:51:09 +02:00
Mark
7a945e80ba
improve and move theming traits
...
move pretty_print.rs from mers to mers_lib
2024-06-26 12:54:04 +02:00
Mark
a78367f27c
add support for custom theming in mers errors
...
this also includes support for the NoTheme,
a theme which doesn't add any color to mers'
output.
If you compile mers with --no-default-features,
the `colored` dependency will disappear and
mers_lib will fall back to NoTheme.
2024-06-26 01:02:19 +02:00
Mark
94111a5eaa
add configs/bundle_pure
2024-06-23 22:14:29 +02:00
Mark
688e28c171
nicer errors
2024-06-21 15:50:41 +02:00
Mark
b11e4017ed
add divbyzero error for integer division
2024-06-20 15:57:53 +02:00
Mark
f59c0941f5
add more graceful errors (w/ stacktrace) to stdlib
2024-06-20 15:52:57 +02:00
Mark
cd21c2171e
improve panic function, add stacktrace
2024-06-19 12:35:23 +02:00
Mark
4770e3f939
fix readline
2024-06-17 18:47:49 +02:00
Mark
1c6cd90d59
fix read_line
2024-06-17 18:33:22 +02:00
Mark
206457489c
read_line now returns (String)/()
...
so that closed stdin is handled by the programmer
instead of (probably) causing an infinite loop
2024-06-17 18:26:27 +02:00
Mark
3e33d963f5
remove RunCommandError
custom type,
...
replace it with `{ run_command_error: String }`
instead, which is more standard mers style
2024-06-14 19:49:41 +02:00
Mark
1e2f0cb63c
add _ wildcard for type definitions
...
and make line/file indicators in errors
gray instead of fully white
2024-06-12 20:11:22 +02:00
Mark
945e19e10a
fix list cloning not cloning inner values
...
this would allow mutating values
through a list passed by value,
but now it doesn't, which is
how it always should have been.
2024-04-30 13:58:40 +02:00
Mark
2742112b09
Type
no longer implements MersType
2024-04-16 13:38:50 +02:00
Mark
1f44b66f08
fix a deadlock when using recursive try
s
2024-04-15 17:26:06 +02:00
Mark
45a46f32a5
add Byte to replace Int when appropriate
2024-04-15 14:07:05 +02:00
Mark
dab8fd9584
add missing files
2024-03-22 15:39:02 +01:00
Mark
8690263b1c
V7: Make .try
a language feature, this makes try_allow_unused unnecessary. remove try and try_... functions.
2024-03-22 15:38:09 +01:00
Mark
dc2db1d0e8
make list.get_mut return a 1-tuple on success, and fix reference type being incomplete
2024-02-22 19:41:03 +01:00
Mark
05c88b7826
fix variable shadowing not working (how was this not noticed until now??)
2024-02-22 19:13:50 +01:00
Mark
4fb84741ef
.
2024-02-22 16:31:05 +01:00
Mark
f3f2c13702
add loop syntax, remove loop function, change CLI
2024-02-22 13:34:02 +01:00
Mark
d124bff77f
drop stdin on childproc_await to prevent deadlocks, add flush() call after childproc_write_*
2024-02-17 12:06:04 +01:00
Mark
6fdfba82a0
add childproc_write_* functions
2024-02-17 11:59:56 +01:00
Mark
5d752c9969
change parse_int/float and debug, add spawn_command and childproc_* functions
2024-02-17 11:46:07 +01:00
Mark
6d6853cc9f
add function type annotation (Input1 -> Output1, Input2 -> Output2)
2024-02-15 10:55:13 +01:00
Mark
44da27b414
Add chain
function and chained
iterator, which behaves like Rust's flatten
2024-02-14 17:13:05 +01:00
Mark
0226dbd02b
add missing file, bump version
2024-01-31 19:23:01 +01:00
Mark
42ca5ae3f0
refine string functions in stdlib
2024-01-31 19:20:22 +01:00
Mark
16cdcddc72
.
2024-01-16 12:06:55 +01:00
Mark
9fe981fc6c
fix bug where subtypes of list didn't include type of empty list
2024-01-16 12:00:16 +01:00