Skip to content

nitlang/nit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

32b9c90 · Oct 8, 2024
Jun 27, 2024
Jul 10, 2019
Jan 3, 2019
May 28, 2018
Oct 1, 2024
Aug 19, 2024
Oct 1, 2024
Oct 1, 2024
Jun 27, 2024
Aug 16, 2024
Aug 23, 2024
Oct 1, 2024
Aug 20, 2024
Jun 9, 2018
Mar 17, 2020
Dec 14, 2015
Aug 29, 2015
Apr 21, 2022
Oct 22, 2015
Jul 9, 2008
Feb 14, 2012
Jul 14, 2009
May 3, 2017
Jun 27, 2024
Jun 28, 2017
Apr 21, 2022
Jan 31, 2016

Nit is an expressive language with a script-like syntax, a friendly type-system and aims at elegance, simplicity and intuitiveness.

Nit has a simple straightforward style and can usually be picked up quickly, particularly by anyone who has programmed before. While object-oriented, it allows procedural styles.

The Nit Compiler (nitc) produces efficient machine language binaries.

Some Nit features:

  • Pure Object-Oriented.
  • Multiple Inheritance.
  • Realist typing policy.
  • Light and clear syntax.

Requirements:

Those are available in most Linux distributions

$ sudo apt-get install build-essential ccache libgc-dev libunwind-dev pkg-config

and on OS X using brew

$ brew install ccache bdw-gc libunwind-headers pkgconfig

or with MacPorts

$ sudo port install ccache boehmgc libunwind-headers pkgconfig

Important files and directories:

  • benchmarks/ Script to bench the compilers
  • bin/ The Nit tools
  • c_src/ C code of nitc (needed to bootstrap)
  • clib/ C code needed by nitc to compile programs
  • contrib/ Various Nit programs (may or may not be useful)
  • doc/ Documentation
  • examples/ Program examples written in Nit
  • lib/ Nit standard library
  • LICENCE License of the software
  • Makefile Bootstrap the Nit tools
  • misc/ Some additional files for common text editors and tools
  • NOTICE.md List of the authors
  • README This file
  • share/ Common resources used by tools
  • src/ The Nit tool sources (written in Nit)
  • tests/ Non-regression test-suite

How to start:

$ make
$ bin/nitc examples/hello_world.nit
$ ./hello_world

You can source misc/nit_env.sh to setup your environment like PATH, MANPATH and bash completion. To have your environment automatically configured at login, just source it with install as argument.

$ . misc/nit_env.sh install

More tools:

Additional tools can also be compiled but require more dependencies.

Contributing:

To contribute to Nit, please see CONTRIBUTING.

The best way to ask the team for advice, submit bugs or request features, is through the use of Github issues, using the appropriate tag (forum, feature-request, bug).

Information, contacts and help: