Meta tags:
description= The Nim programming language is a concise, fast programming language that compiles to C, C++ and JavaScript.;
Headings (most frequently used words):
nim, the, and, on, to, version, efficient, expressive, elegant, support, for, github, repository, is, it, released, time, written, by, with, which, of, in, us, development, recent, articles, mastering, community, looking, statically, typed, compiled, systems, programming, language, combines, successful, concepts, from, mature, languages, like, python, ada, modula, 12, 10, join, 100, companies, individuals, that, real, chat, forum, bug, reports, twitter, definite, guide, inventor, himself, now, updated, content, solves, biggest, pain, point, shared, memory, multi, threaded, setting, project, developed, globally, group, volunteers, we, welcome, recurring, donations, enable, spend, more, working, compiler, tools, are, all, licensed, under, mit, license, most, taking, place, be, sure, watch, get, updates, or, star, give, some, brownie, points,
Text of the page (most frequently used words):
assert (52), nim (37), the (25), and (20), for (17), echo (11), conditional (9), are (8), else (6), mod (6), letter (6), person (6), with (5), #version (5), fizz (5), item (5), let (5), import (5), data (5), age (5), this (4), all (4), join (4), time (4), which (4), support (4), release (4), elif (4), std (4), abc (4), division (4), tau (4), floor (4), var (4), string (4), name (4), type (4), website (3), github (3), licensed (3), code (3), compiler (3), lang (3), forum (3), that (3), buzz (3), collect (3), value (3), strutils (3), true (3), modulo (3), xor (3), math (3), case (3), odd (3), macro (3), system (3), like (3), welcome (2), content (2), under (2), license (2), mit (2), source (2), written (2), development (2), repository (2), community (2), nim_lang (2), org (2), chat (2), donate (2), more (2), buy (2), amazon (2), memory (2), articles (2), team (2), happy (2), announce (2), patch (2), our (2), stable (2), released (2), 2026 (2), fizzbuzz (2), strip (2), variable2 (2), variable1 (2), div (2), key (2), variable0 (2), tables (2), day (2), month (2), 1000 (2), year (2), word (2), example (2), split (2), euclidean (2), clamp (2), gamma (2), ceil (2), round (2), sum (2), basic (2), another (2), switch (2), zero (2), opcodes (2), tolookuptable (2), result (2), macros (2), used (2), oddnumbers (2), yield (2), idx (2), iterator (2), functions (2), compiled (2), iterators (2), easy (2), compile (2), people (2), can (2), modern (2), syntax (2), elegant (2), expressive (2), concepts (2), systems (2), executables (2), efficient (2), programming (2), language (2), available, contributions, original, design, logo, joseph, wecker, hugo, locurcio, dominik, picheta, unless, otherwise, stated, page, displayed, creative, commons, attribution, tools, most, taking, place, sure, watch, get, updates, star, give, some, brownie, points, looking, twitter, bug, reports, stackoverflow, telegram, irc, logs, matrix, gitter, discord, libera, real, project, developed, globally, group, volunteers, recurring, donations, enable, spend, working, 100, companies, individuals, com, now, updated, solves, biggest, pain, point, shared, multi, threaded, setting, inventor, himself, definite, guide, mastering, fifth, april, sixth, september, recent, examples, rosettacode, mapit, toseq, tohashset, inithashset, totable, inittable, newseq, sequtils, sets, sugar, scantuple, tokenize, unindent, indent, center, normalize, a__b__c, count, find, abcd, endswith, startswith, aaaaaaaaa, repeat, 511, parseoctint, 0o777, parsebool, 1638, parsehexint, 0x666, parsefloat, parseint, concat, cat, con, strscans, euclmod, eucldiv, 14159265358979, almostequal, radians, degrees, 360, radtodeg, function, hypotenuse, hypot, floordiv, floormod, truncate, trunc, greatest, common, divisor, gcd, cosine, cos, powers, two, ispoweroftwo, square, root, sqrt, shift, right, shr, power, integer, multiplication, subtraction, character, between, even, false, ternary, mov, btc, cli, const, newlit, add, nnkbracket, newtree, untyped, static, assemblers, jits, into, lookup, centric, description, x86, instructions, use, transform, dense, array, they, inline, loops, write, ordinary, thanks, constructs, fmt, years, old, evaluated, safe, interpolation, kate, john, ensures, positive, natural, object, strformat, comprehensions, operations, simple, statements, grouped, indentation, but, span, multiple, lines, local, inference, tuples, generics, types, cannot, change, because, there, need, flexible, enough, has, powerful, allows, direct, manipulation, ast, offering, nearly, unlimited, opportunities, self, contained, standard, library, implemented, various, backends, compiles, javascript, backend, frontend, needs, overhead, evaluation, user, defined, combination, preference, based, datatypes, allocated, stack, lead, extremely, performant, management, deterministic, customizable, destructors, move, semantics, inspired, rust, well, suited, embedded, hard, realtime, generated, major, platforms, windows, linux, bsd, macos, generates, native, dependency, free, not, dependent, virtual, machine, small, allow, redistribution, try, online, install, statically, typed, combines, successful, from, mature, languages, python, ada, modula, documentation, download, features, blog,
Text of the page (random words):
nim programming language blog features download documentation forum donate source efficient expressive elegant nim is a statically typed compiled systems programming language it combines successful concepts from mature languages like python ada and modula install nim 2 2 12 try it online efficient nim generates native dependency free executables not dependent on a virtual machine which are small and allow easy redistribution the nim compiler and the generated executables support all major platforms like windows linux bsd and macos nim s memory management is deterministic and customizable with destructors and move semantics inspired by c and rust it is well suited for embedded hard realtime systems modern concepts like zero overhead iterators and compile time evaluation of user defined functions in combination with the preference of value based datatypes allocated on the stack lead to extremely performant code support for various backends it compiles to c c or javascript so that nim can be used for all backend and frontend needs expressive nim is self contained the compiler and the standard library are implemented in nim nim has a powerful macro system which allows direct manipulation of the ast offering nearly unlimited opportunities elegant macros cannot change nim s syntax because there is no need for it the syntax is flexible enough modern type system with local type inference tuples generics and sum types statements are grouped by indentation but can span multiple lines simple example if else case switch basic math string operations comprehensions import std strformat type person object name string age natural ensures the age is positive let people person name john age 45 person name kate age 30 for person in people type safe string interpolation evaluated at compile time echo fmt person name is person age years old thanks to nim s iterator and yield constructs iterators are as easy to write as ordinary functions they are compiled to inline loops iterator oddnumbers idx t a array idx t t for x in a if x mod 2 1 yield x for odd in oddnumbers 3 6 9 12 15 18 echo odd use nim s macro system to transform a dense data centric description of x86 instructions into lookup tables that are used by assemblers and jits import macros strutils macro tolookuptable data static string untyped result newtree nnkbracket for w in data split result add newlit w const data mov btc cli xor opcodes tolookuptable data for o in opcodes echo o var conditional 42 if conditional 0 echo conditional 0 elif conditional 0 echo conditional 0 else echo conditional 0 var ternary if conditional 42 true else false var another if conditional 0 zero elif conditional mod 2 0 even else odd case switch var letter c case letter of a echo letter is a of b c echo letter is b or c of d h echo letter is between d and h else echo letter is another character import std math basic math assert 1 2 3 sum assert 4 1 3 subtraction assert 2 2 4 multiplication assert 4 2 2 0 division assert 4 div 2 2 integer division assert 2 3 8 power assert 4 mod 2 0 modulo assert 2 xor 4 6 xor assert 4 shr 2 1 shift right assert pi 2 tau pi and tau assert sqrt 4 0 2 0 square root assert round 3 5 4 0 round assert ispoweroftwo 16 powers of two assert floor 2 9 2 0 floor assert ceil 2 9 3 0 ceil assert cos tau 1 0 cosine assert gcd 12 8 4 greatest common divisor assert trunc 1 75 1 0 truncate assert floormod 8 3 2 floor modulo assert floordiv 8 3 2 floor division assert hypot 4 0 3 0 5 0 hypotenuse assert gamma 4 0 6 0 gamma function assert radtodeg tau 360 0 radians to degrees assert clamp 1 4 0 0 1 0 1 0 clamp assert almostequal pi 3 14159265358979 assert eucldiv 13 3 5 euclidean division assert euclmod 13 3 2 euclidean modulo import std strutils strscans assert con cat concat assert a strip a assert 42 parseint 42 assert 3 14 parsefloat 3 14 assert 0x666 parsehexint 1638 assert true parsebool true assert 0o777 parseoctint 511 assert a repeat 9 aaaaaaaaa assert abc startswith ab assert abc endswith bc assert a b c join abc assert abcd find c 2 assert a x a y a z count a 3 assert a__b__c normalize abc assert a b split a b assert a center 5 a assert a indent 4 a assert a unindent 4 a for word in tokenize this is an example echo word let ok year month day scantuple 1000 01 01 i i i if ok assert year 1000 assert month 1 assert day 1 import std sugar tables sets sequtils strutils let variable0 collect newseq for item in 9 1 42 0 1 9 item 2 assert variable0 18 2 84 0 2 18 let variable1 collect inittable for key value in 0 5 9 key value div 2 assert variable1 0 0 1 2 2 4 totable let variable2 collect inithashset for item in 9 1 42 0 1 9 item item assert variable2 2 18 84 0 18 2 tohashset assert toseq 1 15 mapit if it mod 15 0 fizzbuzz elif it mod 5 0 buzz elif it mod 3 0 fizz else it join strip 1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz more examples at rosettacode recent articles 08 september 2026 nim version 2 2 12 released the nim team is happy to announce version 2 2 12 the sixth patch release for our stable release nim 2 2 24 april 2026 nim version 2 2 10 released the nim team is happy to announce version 2 2 10 the fifth patch release for our stable release nim 2 2 all articles mastering nim the definite guide on nim written by the inventor himself now with updated content for version 2 0 which solves the biggest pain point of nim 1 0 shared memory in a multi threaded setting buy it on amazon com buy it on amazon de support nim join the 100 companies and individuals that support nim the nim project is developed globally by a group of volunteers we welcome recurring donations which enable us to spend more time working on nim donate community real time chat libera chat nim discord nim gitter nim nim lang matrix org irc logs telegram nim_lang forum forum nim lang org r nim stackoverflow bug reports nim lang nim twitter nim_lang join the community looking for the github repository the nim compiler and tools are all written in nim and licensed under the mit license with most development taking place on github be sure to watch the repository to get updates on nim s development or star it to give us some brownie points source code unless otherwise stated the content of this page is licensed under the creative commons attribution 3 0 license code displayed on this website is mit licensed this website is available on github and contributions are welcome original website design by dominik picheta and hugo locurcio logo by joseph wecker
|