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
Mark
2d373d1ba7
make some types/fields public
2024-01-16 10:38:45 +01:00
Mark
c08e08f8a9
add try_allow_unused function
2023-12-18 12:07:08 +01:00
Mark
49d13d92cc
improve error messages
...
- fix bug where `thread` function wouldn't error when being called on a non-function
- add compile error when a function in `try` is never used, because this is almost certainly a mistake and will cause mers to unexpectedly go down the "wrong" code path.
- some small changes so mers_lib can be used in another project
2023-12-14 19:24:43 +01:00
Mark
d70e7ec066
fix bug in hooks...
...
...that prevented the language server from seing inner statements of functions
2023-12-07 09:22:19 +01:00
Mark
d3164254b3
improve support for #include in language server
2023-12-06 18:58:10 +01:00
Mark
0759b769e0
early prototype of a language server
...
currently only provides hover info (but that's already quite useful for debugging)
2023-12-05 23:04:17 +01:00
Mark
8b60da8d99
relative paths in #include are relative to the file's parent directory, if possible
2023-12-05 09:55:00 +01:00
Mark
48c1381194
Object field order matters!
2023-11-30 17:48:24 +01:00
Mark
3d1ce384d0
add objects and object types
2023-11-30 15:44:51 +01:00
Mark
9c0d55788f
change debug function
2023-11-30 11:44:20 +01:00
Mark
782460e472
add get_mut function for lists
2023-11-29 16:26:51 +01:00
Mark
0a9eea2045
fix bug where error would reference wrong file
2023-11-24 13:19:38 +01:00
Mark
12af47d18a
fix bug where #include included files would be able to access local variables and custom types. now, only globals are shared.
2023-11-24 12:51:54 +01:00