-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Nim #361
Conversation
[Nim](https://nim-lang.org/) is a statically typed compiled systems programming language. > Good for everything from shell scripting to web front & backend, to ML, HPC, and embedded. Productivity: human readable and expressive like Python, with few sigils Type system: strong static typing, nice generics, concepts, and type classes Performance: matches C and C++, always gives control to the programmer Portability: compiles to C, C++, and Javascript Native use of all libraries in target languages (no ABI issues) + really nice FFI Single (tiny) executable with no deps Write server/client in the same language and share code between front/back end Linux, Windows, and Mac Iterating: Very fast compile speed Top tier metaprogramming: Hygienic AST Macros a core part of the language, very flexible syntax Runs a VM of Nim at compile time giving you most of the language (bar pointers) to generate code or run procedures and store them as const Eg; async implemented just with macros, doesn't need special language support Eg; can automate building types and code from file data at compile time Ref https://old.reddit.com/r/programming/comments/jc91xp/nim_14/g90ysdl/?context=2
@-ringabout on 2021-04-26 06:19 says: The PRs I reviewed |
@-sindresorhus on 2021-04-26 12:03 says: Thanks for making an Awesome list! 🙌 It looks like you didn't read the guidelines closely enough. I noticed multiple things that are not followed. Try going through the list point for point to ensure you follow it. I spent a lot of time creating the guidelines so I wouldn't have to comment on common mistakes, and rather spend my time improving Awesome. |
@-fiddleHeads on 2021-05-02 22:09 says: Hi. This all looks pretty good to me. The only thing I can think of, which I can't tell whether you've done yet, is to run awesome-lint. |
@-ringabout on 2021-05-03 10:39 says: Which do you mean? I have an awesome-lint CI for it in my repo. |
@-fiddleHeads on 2021-05-05 19:56 says: I was just trying to see what you didn't complete yet under the awesome list instructions to warrant the comment above about not following the guidelines and didn't see that you'd run awesome-lint and reported any issues anywhere, as it's one of the prerequisites. Apologies if I missed that you'd already done it. |
@-drushadrusha on 2021-05-06 05:43 says: Your list description should end in a dot according to PR requirements. |
@-sindresorhus on 2021-07-06 10:24 says:
For example,
Unmaintained stuff are not awesome.
And it's moot to prefix all these links with |
@-ringabout on 2021-08-05 14:41 says: @-sindresorhus |
@-sindresorhus on 2021-08-05 17:06 says: Descriptions should not be title-case. For example, The description should not contain the project name.
Nim is implied here. It's a list for Nim stuff. Same in many other places.
Formatting typo. The header is ugly and illegible. If you want to keep it, you should:
|
Pull request from @ringabout.
[Insert URL to the list here]
https://github.com/xflywind/awesome-nim
[Explain what this list is about and why it should be included here]
Nim is a statically typed compiled systems programming language.
Good for everything from shell scripting to web front & backend, to ML, HPC, and embedded.
Productivity: human readable and expressive like Python, with few sigils
Type system: strong static typing, nice generics, concepts, and type classes
Performance: matches C and C++, always gives control to the programmer
Portability: compiles to C, C++, and Javascript
Native use of all libraries in target languages (no ABI issues) + really nice FFI
Single (tiny) executable with no deps
Write server/client in the same language and share code between front/back end
Linux, Windows, and Mac
Iterating: Very fast compile speed
Top tier metaprogramming:
Hygienic AST Macros a core part of the language, very flexible syntax
Runs a VM of Nim at compile time giving you most of the language (bar pointers) to generate code or run procedures and store them as const
Eg; async implemented just with macros, doesn't need special language support
Eg; can automate building types and code from file data at compile time
Ref https://old.reddit.com/r/programming/comments/jc91xp/nim_14/g90ysdl/?context=2
[ boilerplate snipped ]