Commit Graph

34 Commits

Author SHA1 Message Date
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