Nix is a functional programming language / package manager, which allows you to build software reproducible.
For example, one developer has version 1.1 of a dependency installed and a second developer has version 1.2 of the same dependency installed. Both build the software from source and get a different result.
This can lead to “but it works on my machine” bugs. Nix mitigates this and ensures that all devs have the exact same versions and the build process produces the same output.
In theory these kind of bugs can now only happen because of hardware fault.
For game piracy this should streamline the installation process. You can just run one command and the game works and you don’t have to tinker around to find out why it does not work for you.
I’m currently learning functional languages and have only limited knowledge, but from what I’ve read now you are right. Throwing exceptions is pure, but catching them is impure.
In this case I guess the printLine function can throw an exception therefore the calling function must be declared with Exception?
Use libgen
Edit: you can also check the FMHY Wiki for sources.
Please put your code between tripple backticks in a seperate line above an below your code. Single backticks are only for inline code
like this.
To answer your question, the %.2f
means it should only print two digits after the decimal point.
You can also use some other variations like this:
%2f
print the number at least 2 characters wide%5.2
print the number at least 5 characters wide with a precision of two digits after the decimal point%05.2
the same as above, but fill leading digits with zerosThis is just formatting, play a bit around with it and you will get it.
I agree on your take, but I don’t think that “future scaling” is a concern for the most home users.