Commit Graph

307 Commits

Author SHA1 Message Date
Mark
b85183d081 remove COW::Get debug print from debug builds 2024-02-15 09:21:31 +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
6ed16b90ec bump cli version 2024-01-31 19:29:44 +01:00
Mark
392fdb2a36 pump version in dependencies of cli 2024-01-31 19:28:17 +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
58706c4539 update cli 2024-01-16 12:08:47 +01:00
Mark
b9df3fc76f bump minor version 2024-01-16 12:07:46 +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
8c235a98aa update readme 2024-01-11 13:18:54 +01:00
Mark
5be264e63c prepare to publish to crates.io 2024-01-11 13:05:52 +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
4cf349a680 add mers.wasm file which can be executed with wasmtime
so you can do:

wasmtime mers.wasm exec '"Hello, World!".println'
2023-12-12 22:32:06 +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
2e6c6940d4 make Error (doesn't pass checks) message more readable by moving global error to the bottom 2023-12-05 23:15:52 +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
0aca8e5b25 fix bug where parsing () and {} types wouldn't work as expected 2023-11-30 20:18:11 +01:00
Mark
342874bf4d add Objects to readme 2023-11-30 17:55:44 +01:00
Mark
d21715c2d3 fix { x := ... } being interpreted as an object 2023-11-30 17:53:41 +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
479b619388 change isn't to is in an example (whoops) 2023-11-25 17:51:37 +01:00
Mark
357037f93b add helix editor language config 2023-11-24 19:35:43 +01:00
Mark
c8431cab93 add experimental tree-sitter grammar 2023-11-24 19:19:54 +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
e851559016 add thread example 2023-11-13 14:15:00 +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
68d5b55c6f make TicTacToe example slightly more elegant 2023-11-09 15:22:00 +01:00
Mark
eb07754e86 Add TicTacToe example 2023-11-09 15:18:29 +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
cab81059f3 update examples 2023-11-07 20:24:20 +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