Commit Graph

69 Commits

Author SHA1 Message Date
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 trys 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
Mark
4144d6cf71 Type Annotations
- Add type annotations: [type] statement
- Add type definitions: [[name] type], [[name] := statement]
- Add type annotations example (08)
- add Quickstart.md, reference it from README
2023-11-21 22:10:58 +01:00
Mark
b6d708db3d improve/fix errors in #include 2023-11-17 10:09:44 +01:00
Mark
12925fed67 improved error messages
- some small bugs are now fixed
- include comments in error messages (if this causes issues, use --hide-comments)
- colors should make more sense now
- error-related things moved to mers_lib/src/errors/
2023-11-16 14:50:09 +01:00
Mark
c39e784939 better errors, colors, and fix bug where x := x would panic 2023-11-16 13:09:17 +01:00
Mark
39951a59e9 add #include 2023-11-15 17:55:07 +01:00
Mark
fcd70c8dc4 improve iter types 2023-11-10 13:49:18 +01:00
Mark
8bdd6e00e8 Add lock_update function for safer multithreading
&v = (v, 1).sum might fail if two threads do it at the same time or something, so you can now lock the reference to ensure no other thread messes with your data while you update its value
2023-11-10 13:18:34 +01:00
Mark
d2fc8c1ebe Add division to examples/03 and add any and all functions for Iter<Bool> 2023-11-08 15:54:46 +01:00
Mark
39fca08541 change loop function so you can write ().loop(() -> do_smth) 2023-11-08 15:11:28 +01:00
Mark
db59a1e92e remove diff, add subtract to replace it and work with iters, add lt, gt, ltoe, gtoe for < > <= >= 2023-11-07 18:37:37 +01:00
Mark
79660c1976 added stdio::flush so that we can print partial lines using print/eprint 2023-10-28 14:15:52 +02:00
Mark
2c9fb1b4a4 fix bug 2023-10-28 14:07:10 +02:00
Mark
59e36d1535 added sleep function 2023-10-28 14:00:03 +02:00
Mark
cabbdc1764 multithreading v2 2023-10-28 13:48:46 +02:00
Mark
577ef510ce error display underline now includes a.f(b) (b) part 2023-10-27 19:57:45 +02:00
Mark
cfa5a5e43e fix bug and change char in underline for error display 2023-10-27 19:47:55 +02:00