• 0 Posts
  • 11 Comments
Joined 1 year ago
cake
Cake day: July 12th, 2023

help-circle

  • Nix being an expression based functional language, it doesn’t really make sense to have something like let x=y; since this looks to most people like a statement (i.e. a line of code that gets executed as part of a sequence). This doesn’t exist in nix—instead you have expressions that get lazily evaluated, possibly out of order compared to what you’d expect. let x=y in makes it more clear that the variable binding you’re doing is only in scope for the current expression, which reads something like “let x refer to y in x + 3”

    The function definition syntax is unusual but definitely not unintuitive imo. It captures the simplicity of the function semantics of nix—a function is just a mapping/transformation from one value (or set of values) to another. I don’t think it’s too much overhead to learn that they use : to mean this instead of =>

    In terms of why they picked this syntax, it follows the traditions of other functional languages such as the ML family, Haskell etc.





  • There are certainly split ergo boards with number rows, but I think the reason they’re less popular is that once people try one of these boards they realize they really like the reduced finger movement. Personally, I am using a square numpad on a second layer (as other commentors have explained) and am really starting to like it. Moving all the symbols to another separate layer also drastically reduces use of the numbers for programming, for example.