If i ever get in a heated argument with you and start acting rude, i apologize.


Things I like:

  • programming in Rust and OCaml
  • Languages, currently learning Latin and Esperanto (Ukrainian on the side)
  • Libertarian Socialism Ⓐ

aspe:keyoxide.org:LWJJT46QY6F7W5MOKRUD3W6IOY

  • 1 Post
  • 93 Comments
Joined 6 months ago
cake
Cake day: July 16th, 2024

help-circle
  • Of course! we welcome you into the third world! I hope you can deal with literal fascism, state sponsored oppression/murder, bad economies, police states, and theocracy!

    It sucks living under a fascist terror empire.

    Dude, almost every single developing country is like this, and when it is fascist, it is actual literal fascism. I, and i’m sure the OP would too and many others, would give anything just to be in your place.

    I’m not saying you can’t complain about the US, but comparing your life to ours is incredibly privileged.



  • Use a keyword, it’ll make your life a lot easier for parsing. If you’re reluctant on using “enum” as a keyword, you should check out OCaml/ML’s “type” keyword (they are the exact same contept: ADTs, but rust weirdly associates them with enums)

    Don’t use magic strings! Not only is this hard to check for errors while writing code, you also can’t tell easily if it is a normal string, or an enum.

    In my old project, my syntax looked like this:

    // Flavour and vec of ingredients
    type Food[T] {
      | Pizza str, vec[T]
      | Cake str, vec[T]
      | Soup vec[T]
    }
    

    not only is this easy to parse, i’d say it sticks true to its ML roots. You should check odin’s enum syntax if you’re keen on making a unique syntax.

















  • I love compiler dev, so i can give you a few tips:

    It may be hard to compile to rust, due to the borrow checker; but C or javascript are great first backends, i always go with C for my prototypes.

    PS: Don’t go with LLVM early on, it has almost no documentation! it’s not worth it, i learned that the hard way. Even zig replaced their LLVM backend with a C one.

    Also some good libraries for rust:

    Here’s a great list of libraries that can help with building it: https://github.com/Kixiron/rust-langdev

    Good luck with OA :)