8.docx - Nim(programming language From Wikipedia the free encyclopedia Jump to navigationJump to search hideThis article has multiple issues Please help

8.docx - Nim(programming language From Wikipedia the free...

This preview shows page 1 - 4 out of 11 pages.

Nim (programming language)From Wikipedia, the free encyclopediaJump to navigationJump to searchhideThis article has multiple issues.Please help improve itor discuss these issues on the talk page. (Learn how and when to remove these template messages)This article relies too much on referencesto primary sources. (February 2018)This section needs expansion. You can help by adding to it.(February 2018)NimParadigmmulti-paradigm: compiled, concurrent, procedural, imperative, object-orientedDesignedbyAndreas RumpfFirst appeared2008; 10 years agoPreview release0.19.0[1]/ 26 September 2018; 2 months agoTyping disciplinestatic,[2]strong,[3]inferred, structuralPlatformIA-32, x86-64OSCross-platform[4]
Background image
LicenseMIT[5][6]Filename extensions.nimWebsitenim-lang.orgInfluenced byAda, Modula-3, Lisp, C++, Object Pascal, Python, OberonNim(formerly named Nimrod) is an imperative, multi-paradigm, compiled programming language[7]designed and developed by Andreas Rumpf. It is designed to be "efficient, expressive, and elegant",[8]supporting metaprogramming, functional, message passing,[5]procedural, and object-oriented programmingstyles by providing several features such as compile timecode generation, algebraic data types, a foreign function interface(FFI) with Cand compiling to JavaScript, C, and C++.Contents1Description2History3Language design4Compiler5Toolso5.1Nimbleo5.2c2nimo5.3Choosenimo5.4Nimfixo5.5pas2nimo5.6py2nim
Background image
6Libraries7Exampleso7.1Hello worldo7.2Reversing a stringo7.3Stroppingo7.4Metaprogrammingo7.5Wrapping C functions8Community9See also10References11External linksDescription[edit]Nim is statically typed.[9]It supports compile-time metaprogrammingfeatures such as syntactic macros and term rewriting macros.[10]Term rewriting macros enable library implementations of common data structures such as bignums and matrices to be implemented with an efficiency as if they were builtin language facilities.[11]Iterators are supported and can be used as first class entities[10]in the language as can functions, these features allow for functional programmingto be used. Object-oriented programming is supported by inheritanceand multiple dispatch. Functions canbe generic and can also be overloaded, genericsare further enhanced by the support for type classes. Operator overloadingis also supported.[10]Nim includes tunable automatic garbage collectionbased on deferred reference countingwith cycle detection.[12]In 2014, Andrew Binstock (editor-in-chief of Dr. Dobb's Journal) said "Nimrod [former name] ... presents a most original design that straddles Pascaland Pythonand compiles to C code or JavaScript."[13]Today, Nim compiles to C++ too.History[edit]This section needs expansion.
Background image
Image of page 4

You've reached the end of your free preview.

Want to read all 11 pages?

  • Fall '12
  • DuiWei
  • Nim, 5.2c2nim

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes