-NIT is a statically typed object-oriented programming language.
-The goal of NIT is to propose a statically typed programming language where structure is not a pain.
+Nit is a statically typed object-oriented programming language.
+The goal of Nit is to propose a statically typed programming language where structure is not a pain.
-NIT has a simple straightforward style and can usually be picked up quickly, particularly by anyone who has programmed before.
+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.
+The Nit Compiler (nitc) produces efficient machine language binaries.
-Some NIT features:
+Some Nit features:
* Pure Object-Oriented.
* Multiple Inheritance.
* Realist typing policy.
Important files and directory:
- bin/ The NIT tools
- bin/prmc The NIT compiler
- bin/prmdoc The NIT autodoc
+ bin/ The Nit tools
+ bin/nitc The Nit compiler
+ bin/nitdoc The Nit autodoc
BUGS Known big usability bugs
c_src/ C code of nitc (needed to bootstrap)
Changelog List of change between versions
doc/ Documentation
- examples/ Program examples written in NIT
+ examples/ Program examples written in Nit
LICENCE License of the software
tests/ Non-regression test-suite
- lib/ NIT standard library
- Makefile Bootstrap the NIT tools
+ lib/ Nit standard library
+ Makefile Bootstrap the Nit tools
NOTICE List of the authors
README This file
- src/ The NIT tool sources (written in NIT)
+ src/ The Nit tool sources (written in Nit)
TODO What next features are planed
+++ /dev/null
-#ifndef __ENVIRON_H
-#define __ENVIRON_H
-/* This file is part of NIT ( http://www.nitlanguage.org ).
- *
- * Copyright 2008 Floréal Morandat <morandat@lirmm.fr>
- *
- * This file is free software, which comes along with NIT. This software is
- * distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. You can modify it is you want, provided this header
- * is kept unaltered, and a notification of the changes is added.
- * You are allowed to redistribute it and sell it, alone or is a part of
- * another product.
- */
-
-#define _POSIX_C_SOURCE 1
-#include <stdlib.h>
-
-#define string_NativeString_NativeString_get_environ_0(self) getenv(self)
-#define string_NativeString_NativeString_put_environ_0(self) putenv(self)
-#define string_NativeString_NativeString_unset_environ_0(self) unsetenv(self)
-#define string_NativeString_NativeString_set_environ_2(self, p0, p1) setenv(self, p0, p1)
-
-#endif
+++ /dev/null
-/* This file is part of NIT ( http://www.nitlanguage.org ).
- *
- * Copyright 2004-2008 Jean Privat <jean@pryen.org>
- *
- * This file is free software, which comes along with NIT. This software is
- * distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. You can modify it is you want, provided this header
- * is kept unaltered, and a notification of the changes is added.
- * You are allowed to redistribute it and sell it, alone or is a part of
- * another product.
- */
-#ifndef __MATH_H
-#define __MATH_H
-
-#include <stdlib.h>
-#include <math.h>
-#include <time.h>
-
-#define kernel_Int_Int_rand_0(self) ((int)(((double)(self))*rand()/(RAND_MAX+1.0)))
-#define kernel_Float_Float_sqrt_0(self) sqrt(self)
-#define kernel_Float_Float_cos_0(self) cos(self)
-#define kernel_Float_Float_sin_0(self) sin(self)
-#define kernel_Float_Float_tan_0(self) tan(self)
-#define kernel_Float_Float_acos_0(self) acos(self)
-#define kernel_Float_Float_asin_0(self) asin(self)
-#define kernel_Float_Float_atan_0(self) atan(self)
-#define kernel_Float_Float_pow_1(self, p0) pow(self, p0)
-#define kernel_Float_Float_log_0(self) log(self)
-#define kernel_Float_Float_exp_0(self) exp(self)
-#define kernel_Float_Float_rand_0(self) (((self)*rand())/(RAND_MAX+1.0))
-#define kernel_Any_Any_atan2_2(self, p0, p1) (atan2((p0),(p1)))
-#define kernel_Any_Any_pi_0(self) (3.14159265)
-#define kernel_Any_Any_srand_from_1(self, p0) (srand((p0)))
-#define kernel_Any_Any_srand_0(self) (srand(time(NULL)))
-#endif