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
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
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
7acaafaa2f
fix some bugs
2024-06-27 18:11:37 +02:00
Mark
1b79cfc08f
fix some edge cases in parser
2024-06-26 20:27:29 +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
2742112b09
Type
no longer implements MersType
2024-04-16 13:38:50 +02:00
Mark
45a46f32a5
add Byte to replace Int when appropriate
2024-04-15 14:07:05 +02:00
Mark
1e658805d1
add compile_mut and check_mut
2024-03-22 16:24:10 +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
f3dc26a5a7
fix tuple type parsing and fix examples
2024-02-22 20:21:11 +01:00
Mark
f3f2c13702
add loop syntax, remove loop function, change CLI
2024-02-22 13:34:02 +01:00
Mark
6d6853cc9f
add function type annotation (Input1 -> Output1, Input2 -> Output2)
2024-02-15 10:55:13 +01:00
Mark
c130678caf
Change reference type syntax from &{t/y/p/e} to &[t/y/p/e] to avoid ambiguity with &{my: Int, object: String}
2024-02-15 09:30:00 +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
d21715c2d3
fix { x := ... } being interpreted as an object
2023-11-30 17:53:41 +01:00
Mark
3d1ce384d0
add objects and object types
2023-11-30 15:44:51 +01:00
Mark
0a9eea2045
fix bug where error would reference wrong file
2023-11-24 13:19:38 +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
577ef510ce
error display underline now includes a.f(b) (b) part
2023-10-27 19:57:45 +02:00
Mark
e60714e020
add support for a.f(b, c, d) syntax
2023-10-27 14:21:56 +02:00
Mark
ea95a16c30
added better error messages inspired by rustc/cargo
...
but not as good
2023-10-23 21:48:15 +02:00
Mark
b39a768099
.
2023-10-19 18:46:15 +02:00
Mark
ae0e163595
assigning to tuples should work properly now
2023-08-15 19:18:52 +02:00
Mark
2a7cb08596
mers rewrite is starting to be usable
2023-08-14 17:17:08 +02:00
Mark
b81dac682e
full rewrite, kinda works
2023-07-28 00:33:15 +02:00