Skip to content
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 #1997

Closed
wants to merge 1 commit into from
Closed

Add Nim #1997

wants to merge 1 commit into from

Commits on Apr 26, 2021

  1. Add Nim

    [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 committed Apr 26, 2021
    Configuration menu
    Copy the full SHA
    93b038f View commit details
    Browse the repository at this point in the history