• @OmnipotentEntity@beehaw.org
    link
    fedilink
    137 months ago

    This is a cool idea. There are other programming languages that have libraries that expose similar behavior. For instance, Rust has the uom crate, Haskell has the units package, and C++ has the header only library SI.

    But there is something to be said about it being built in.

    • @kureta@lemmy.ml
      link
      fedilink
      57 months ago

      The web page says other libraries implement units whereas they implement dimensions. 1 cm and 1 inch has the same dimension, namely length, and you are able to add them together and get a correct result. seems nice. I don’t know if it’ll have any practical benefit but I like it.

      • @Starfighter@discuss.tchncs.de
        link
        fedilink
        3
        edit-2
        7 months ago

        I can’t talk about the other libraries but the uom crate does the same thing.

        The dimensions are encoded as a vector of generics, allowing you to get the correct unit even when dividing a distance by time for example.

        It’s quite the clever use of Rusts type system.

    • Morphit
      link
      fedilink
      17 months ago

      For sure. It’d be nice to have the units in a separate namespace but at least Numbat won’t let you override identifiers already defined in the system of measure. I use Pint on Python - I usually keep the units in an identifier named u so they can’t get accidentally overridden. That means either using u.km for single units or u('g/cm^3') for composite units. It’d be great if the language could separate units e.g. as [km] or `` but getting a compact syntax to distinguish the units namespace without colliding with other language features would be tricky. I remember F# having a good syntax but didn’t dive that deep since it’s not used widely in my field.

  • Irdial
    link
    fedilink
    English
    108 months ago

    Wish I had this in engineering undergrad! Very cool.

    • @Nawor3565@lemmy.blahaj.zone
      link
      fedilink
      English
      98 months ago

      I’m currently in engineering undergrad and this looks like it’ll be a lifesaver. Wolfram Alpha can do some pretty good work with units sometimes. But a lot of the time it’ll do weird stuff like refuse to interpret “V” as “volt”, so you have to type out the full name of every single unit. This language should handle that a million times better.

  • Lupec
    link
    fedilink
    68 months ago

    Fascinating idea, that was an interesting read! Don’t think I’d ever seen something like that done before.

  • silas
    link
    fedilink
    English
    3
    edit-2
    7 months ago

    Really cool! Reminds me a bit of the Numi calculator too

  • monotremata
    link
    fedilink
    37 months ago

    I do a lot of this stuff with the HP48 Units menu (albeit at this point via an emulator on my phone).

  • stilgar [he/him]
    link
    English
    28 months ago

    This looks like a lot of fun to use, I loved the example from What If, so many units!