Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nitlang/nit
Nit language
https://github.com/nitlang/nit
compiler language nit
Last synced: 27 days ago
JSON representation
Nit language
- Host: GitHub
- URL: https://github.com/nitlang/nit
- Owner: nitlang
- License: apache-2.0
- Created: 2009-10-06T15:03:00.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2022-04-22T17:07:56.000Z (about 2 years ago)
- Last Synced: 2024-05-16T22:26:27.486Z (about 1 month ago)
- Topics: compiler, language, nit
- Language: C
- Homepage: http://nitlanguage.org
- Size: 118 MB
- Stars: 234
- Watchers: 21
- Forks: 64
- Open Issues: 169
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog
- Contributing: CONTRIBUTING.md
- License: LICENSE
Lists
- awesome-stars - nitlang/nit - Nit language (C)
README
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:
* gcc http://gcc.gnu.org/ (or a compatible C compiler)
* pkg-config http://www.freedesktop.org/wiki/Software/pkg-config/
* ccache http://ccache.samba.org/ to improve recompilation
* libgc-dev http://hboehm.info/gc/
* libunwind http://nongnu.org/libunwindThose 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-suiteHow to start:
$ make
$ bin/nitc examples/hello_world.nit
$ ./hello_worldYou 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.
* graphviz http://www.graphviz.org/ to enable graphs with the nitdoc tool
* libcurl https://curl.haxx.se/libcurl/ for the nit package manager nitpm
* libevent https://libevent.org/ for the nit documentation server nitweb
* libmongoc http://mongoc.org/ also for nitweb$ sudo apt-get install graphviz libcurl4-openssl-dev libevent-dev libmongoc-dev
$ make moreContributing:
To contribute to Nit, please see [CONTRIBUTING](CONTRIBUTING.md).
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:
* Website
* Issues
* Chatroom