nit.git
14 years agodoc: teach doc/advanced_options about NIT_GC_OPTION
Jean Privat [Mon, 31 Aug 2009 21:36:11 +0000 (17:36 -0400)]
doc: teach doc/advanced_options about NIT_GC_OPTION

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agomisc: remove Sci-Fi example/various/glob.nit
Jean Privat [Mon, 31 Aug 2009 21:33:27 +0000 (17:33 -0400)]
misc: remove Sci-Fi example/various/glob.nit

Will be reintroduced when needed.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agonitdoc: show closure in signatures
Jean Privat [Mon, 31 Aug 2009 21:32:02 +0000 (17:32 -0400)]
nitdoc: show closure in signatures

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoversion: v0.3.1-git
Jean Privat [Fri, 28 Aug 2009 17:08:35 +0000 (13:08 -0400)]
version: v0.3.1-git

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoversion: v0.3 v0.3
Jean Privat [Fri, 28 Aug 2009 17:07:33 +0000 (13:07 -0400)]
version: v0.3

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: disable boehm by default
Jean Privat [Fri, 28 Aug 2009 17:01:46 +0000 (13:01 -0400)]
gc: disable boehm by default

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: add 'help' option to list all available GC
Jean Privat [Fri, 28 Aug 2009 17:00:54 +0000 (13:00 -0400)]
gc: add 'help' option to list all available GC

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: show default GC on warnings
Jean Privat [Fri, 28 Aug 2009 17:00:02 +0000 (13:00 -0400)]
gc: show default GC on warnings

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: default to nitgc when boehm is not available
Jean Privat [Fri, 28 Aug 2009 16:06:45 +0000 (12:06 -0400)]
gc: default to nitgc when boehm is not available

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: warn on 'while true do' and suggests 'loop'
Jean Privat [Fri, 28 Aug 2009 15:40:39 +0000 (11:40 -0400)]
syntax: warn on 'while true do' and suggests 'loop'

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosrc: use 'loop' for infinite loop and do-until-like
Jean Privat [Fri, 28 Aug 2009 15:40:01 +0000 (11:40 -0400)]
src: use 'loop' for infinite loop and do-until-like

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: shortcut in icode generation of 'for x in [y..z]'
Jean Privat [Wed, 26 Aug 2009 16:28:45 +0000 (12:28 -0400)]
icode: shortcut in icode generation of 'for x in [y..z]'

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: add Int::enumerate_*
Jean Privat [Wed, 26 Aug 2009 15:50:10 +0000 (11:50 -0400)]
lib: add Int::enumerate_*

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: inline Array::iterate
Jean Privat [Mon, 17 Aug 2009 18:47:34 +0000 (14:47 -0400)]
icode: inline Array::iterate

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: generate closure for 'for'
Jean Privat [Fri, 14 Aug 2009 20:52:22 +0000 (16:52 -0400)]
icode: generate closure for 'for'

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: add iterate methods on Collection
Jean Privat [Tue, 25 Aug 2009 16:07:00 +0000 (12:07 -0400)]
lib: add iterate methods on Collection

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: activate -v and sometime -W on some commands
Jean Privat [Thu, 27 Aug 2009 17:43:21 +0000 (13:43 -0400)]
tools: activate -v and sometime -W on some commands

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoc_src: update
Jean Privat [Thu, 27 Aug 2009 17:23:43 +0000 (13:23 -0400)]
c_src: update

This update objective is to enable new closure syntax and behavior.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: duplicate closure declaration on ICodeN
Jean Privat [Wed, 26 Aug 2009 15:48:03 +0000 (11:48 -0400)]
icode: duplicate closure declaration on ICodeN

Just aliasing them broke the constraint that each ICode element is unique
in an IRoutine.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: new IEscapeMark class to bind ISeq and IEscape
Jean Privat [Wed, 26 Aug 2009 14:12:16 +0000 (10:12 -0400)]
icode: new IEscapeMark class to bind ISeq and IEscape

An IRoutine knows all its local escape marks.
This fix some bugs with nesting and escapes since only marks of the
current iroutine needs to be duplicated (like what is done for registers).

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: new ICB::add_escape method
Jean Privat [Tue, 25 Aug 2009 20:04:03 +0000 (16:04 -0400)]
icode: new ICB::add_escape method

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: distinguish slots in dump
Jean Privat [Wed, 26 Aug 2009 15:39:37 +0000 (11:39 -0400)]
icode: distinguish slots in dump

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: add dump for INew and ISuper
Jean Privat [Wed, 26 Aug 2009 14:28:31 +0000 (10:28 -0400)]
icode: add dump for INew and ISuper

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agomisc: update Changelog and NOTICE; remove BUGS and TODO
Jean Privat [Tue, 25 Aug 2009 15:18:06 +0000 (11:18 -0400)]
misc: update Changelog and NOTICE; remove BUGS and TODO

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: add ncall.sh script to execute nc* in order
Jean Privat [Tue, 25 Aug 2009 14:41:16 +0000 (10:41 -0400)]
tools: add ncall.sh script to execute nc* in order

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agomisc: new syntax file for GNU source-highlight
Jean Privat [Tue, 25 Aug 2009 14:40:08 +0000 (10:40 -0400)]
misc: new syntax file for GNU source-highlight

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: break closures are implicitly ended with 'break'
Jean Privat [Mon, 24 Aug 2009 03:08:45 +0000 (23:08 -0400)]
syntax: break closures are implicitly ended with 'break'

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: fix 'break' with value in default closures
Jean Privat [Mon, 24 Aug 2009 03:00:32 +0000 (23:00 -0400)]
syntax: fix 'break' with value in default closures

Break return type and return value is associated with the method return
type and return value.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: allow untyped variable declaration
Jean Privat [Thu, 20 Aug 2009 02:29:55 +0000 (22:29 -0400)]
syntax: allow untyped variable declaration

It means there is now a distinction between variables with a null static
type because of a previous error and untyped variables that also have null
static type. So introduce Variable::is_typed.

Enhance check_is_set with untyped variable verification.

Compile untyped variable as 'nullable Object' registers.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: assign variable even if there is no base type
Jean Privat [Thu, 20 Aug 2009 02:13:10 +0000 (22:13 -0400)]
syntax: assign variable even if there is no base type

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: remove exec::kill and exec::term
Jean Privat [Wed, 19 Aug 2009 19:46:22 +0000 (15:46 -0400)]
lib: remove exec::kill and exec::term

Nobody use them now and they cause GCC warning.

Also modify c_src/exec._sep.c since a macro disapeared in lib/standard/exec_nit.h.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoparser: set LANG=C for sed in Makefile (the sed that rename P* -> A*)
Jean Privat [Wed, 19 Aug 2009 19:27:34 +0000 (15:27 -0400)]
parser: set LANG=C for sed in Makefile (the sed that rename P* -> A*)

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: fix test_extern.nit for 64bits
Jean Privat [Wed, 19 Aug 2009 19:19:14 +0000 (15:19 -0400)]
tests: fix test_extern.nit for 64bits

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: fix gc.c for 64bits
Jean Privat [Wed, 19 Aug 2009 19:13:56 +0000 (15:13 -0400)]
gc: fix gc.c for 64bits

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: fix file_nit.c for 64bits
Jean Privat [Wed, 19 Aug 2009 19:08:15 +0000 (15:08 -0400)]
lib: fix file_nit.c for 64bits

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: new 'assert else' statement
Jean Privat [Wed, 19 Aug 2009 20:52:08 +0000 (16:52 -0400)]
syntax: new 'assert else' statement

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: add entrypoint information to the program
Jean-Sebastien Gelinas [Tue, 11 Aug 2009 18:45:33 +0000 (14:45 -0400)]
tools: add entrypoint information to the program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: generate classes init iroutines sooner to insert global analysis
Jean-Sebastien Gelinas [Mon, 10 Aug 2009 16:25:11 +0000 (12:25 -0400)]
compile: generate classes init iroutines sooner to insert global analysis

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: store class related IRoutines in MMLocalClass
Jean-Sebastien Gelinas [Sat, 8 Aug 2009 17:13:52 +0000 (13:13 -0400)]
compile: store class related IRoutines in MMLocalClass

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: extract table computation from compiling_global to table_computation
Jean-Sebastien Gelinas [Wed, 5 Aug 2009 13:34:08 +0000 (09:34 -0400)]
compile: extract table computation from compiling_global to table_computation

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: remove GlobalAnalysis
Jean-Sebastien Gelinas [Tue, 4 Aug 2009 22:28:47 +0000 (18:28 -0400)]
compile: remove GlobalAnalysis

- Move 'CompiledClasses' to 'Program'
 - Rename 'GlobalAnalysis' to 'TableInformation'
 - Keep 'max_class_table_length' in 'TableInformation'

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: add 'Program' class to represent a nit program
Jean-Sebastien Gelinas [Mon, 3 Aug 2009 21:13:21 +0000 (17:13 -0400)]
compile: add 'Program' class to represent a nit program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: if inlining is impossible, at least use a static call
Jean Privat [Wed, 19 Aug 2009 15:46:29 +0000 (11:46 -0400)]
icode: if inlining is impossible, at least use a static call

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: add IAllocateInstance, ICheckInstance and IInitAttributes
Jean-Sebastien Gelinas [Mon, 17 Aug 2009 21:11:11 +0000 (17:11 -0400)]
icode: add IAllocateInstance, ICheckInstance and IInitAttributes

Trivially-hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: add IStaticCall
Jean-Sebastien Gelinas [Mon, 17 Aug 2009 19:30:31 +0000 (15:30 -0400)]
icode: add IStaticCall

Trivially-hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: icode INew specializes IAbsCall (not ICall)
Jean Privat [Tue, 18 Aug 2009 23:29:51 +0000 (19:29 -0400)]
icode: icode INew specializes IAbsCall (not ICall)

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: one closure context by function, and it is the stack frame
Jean Privat [Tue, 18 Aug 2009 18:45:52 +0000 (14:45 -0400)]
compile: one closure context by function, and it is the stack frame

Closure definition directly use the stack frame of the caller to access the
closure environment (local variables, closure parameters, escape marker).
Closure function pointers are passed as separate additional arguments.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoclib: move REG to the stack frames
Jean Privat [Tue, 18 Aug 2009 17:05:23 +0000 (12:05 -0500)]
clib: move REG to the stack frames

It means that functions have different frame sizes.
To achieve this, each function frame ('me') is stored in a big_frame ('fra')
that contains enough space to store all the REGs.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoclib: rename trace_t to stack_frame_t
Jean Privat [Tue, 18 Aug 2009 17:15:39 +0000 (13:15 -0400)]
clib: rename trace_t to stack_frame_t

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: superficial cleaning
Jean Privat [Tue, 18 Aug 2009 13:50:55 +0000 (09:50 -0400)]
gc: superficial cleaning

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: add Nit GC
Julien Chevalier [Fri, 14 Aug 2009 18:11:04 +0000 (14:11 -0400)]
gc: add Nit GC

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: disable Boehm general malloc and calloc overtaking
Julien Chevalier [Mon, 17 Aug 2009 19:57:06 +0000 (15:57 -0400)]
gc: disable Boehm general malloc and calloc overtaking

Trivially-hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoclib: new raw_alloc and register_static_object services
Jean Privat [Mon, 17 Aug 2009 19:55:21 +0000 (15:55 -0400)]
clib: new raw_alloc and register_static_object services

Currently, these services are very simples or noop.
However, alternatives GC can provide more complex ones.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: traces know REG variables
Julien Chevalier [Fri, 14 Aug 2009 17:16:22 +0000 (13:16 -0400)]
compile: traces know REG variables

Also: ask gccx to not warn about missing initializers.

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: initialize local REGS to NIT_NULL
Jean Privat [Fri, 14 Aug 2009 16:58:05 +0000 (12:58 -0400)]
compile: initialize local REGS to NIT_NULL

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: store instance size in class table
Julien Chevalier [Fri, 14 Aug 2009 16:49:04 +0000 (12:49 -0400)]
compile: store instance size in class table

This new information can be used by GC to visit the attributes of an object.

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: runtime option to handle different GC
Julien Chevalier [Mon, 17 Aug 2009 19:30:11 +0000 (15:30 -0400)]
gc: runtime option to handle different GC

Hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: give NativeArray its own C structure
Julien Chevalier [Fri, 14 Aug 2009 16:02:09 +0000 (12:02 -0400)]
compile: give NativeArray its own C structure

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: object_id is no more the object pointer
Julien Chevalier [Mon, 17 Aug 2009 19:13:06 +0000 (15:13 -0400)]
compile: object_id is no more the object pointer

Warning: now, two objects of the same class can have the same object_id.
It is unlikely, but possible.

Trivially-hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoclib: move files to the clib directory
Jean Privat [Mon, 17 Aug 2009 16:09:57 +0000 (12:09 -0400)]
clib: move files to the clib directory

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoc_src: gives c_src its own clibdir
Jean Privat [Mon, 17 Aug 2009 15:53:56 +0000 (11:53 -0400)]
c_src: gives c_src its own clibdir

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoclib: add copyright notice to nit_{common,main}
Jean Privat [Mon, 17 Aug 2009 15:52:32 +0000 (11:52 -0400)]
clib: add copyright notice to nit_{common,main}

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoclib: clean spaces in nit_common.h
Jean Privat [Mon, 17 Aug 2009 15:39:28 +0000 (11:39 -0400)]
clib: clean spaces in nit_common.h

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoc_src: copy only .o and .cksum on bootstrap
Jean Privat [Mon, 17 Aug 2009 15:22:35 +0000 (11:22 -0400)]
c_src: copy only .o and .cksum on bootstrap

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: fatal error on unavailable primitive method
Jean Privat [Fri, 14 Aug 2009 19:33:34 +0000 (15:33 -0400)]
syntax: fatal error on unavailable primitive method

Warning: signature of primitive methods is not checked.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: do no do recursive inline
Jean Privat [Mon, 17 Aug 2009 14:29:05 +0000 (10:29 -0400)]
icode: do no do recursive inline

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: inline methods with closures
Jean Privat [Mon, 10 Aug 2009 19:01:15 +0000 (15:01 -0400)]
icode: inline methods with closures

Warning, break of closure call cannot be inlined.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: force inlining with special class Inline__
Jean Privat [Mon, 10 Aug 2009 18:54:41 +0000 (14:54 -0400)]
compile: force inlining with special class Inline__

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: duplicate ICodeN::closure_defs in dup_with
Jean Privat [Mon, 17 Aug 2009 18:50:01 +0000 (14:50 -0400)]
icode: duplicate ICodeN::closure_defs in dup_with

Fix issue with inlining of calls with closures.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: use the icb to helps the icode duplication
Jean Privat [Fri, 14 Aug 2009 20:48:24 +0000 (16:48 -0400)]
icode: use the icb to helps the icode duplication

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: iroutine knows its local registers
Jean Privat [Mon, 10 Aug 2009 17:14:54 +0000 (13:14 -0400)]
icode: iroutine knows its local registers

iroutine inlining is also adapted to only duplicate local registers.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: closures are generated within a ICodeBuilder
Jean Privat [Mon, 10 Aug 2009 17:07:26 +0000 (13:07 -0400)]
icode: closures are generated within a ICodeBuilder

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: method inlining moves from IRoutine to ICodeBuilder
Jean Privat [Mon, 10 Aug 2009 16:21:36 +0000 (12:21 -0400)]
icode: method inlining moves from IRoutine to ICodeBuilder

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: fix slot locality for params and return
Jean Privat [Tue, 11 Aug 2009 05:28:11 +0000 (01:28 -0400)]
icode: fix slot locality for params and return

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: 'IRoutine::optimize' need a module
Jean Privat [Mon, 10 Aug 2009 16:01:40 +0000 (12:01 -0400)]
icode: 'IRoutine::optimize' need a module

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: remove method info from ICodeBuilder
Jean Privat [Mon, 10 Aug 2009 14:25:58 +0000 (10:25 -0400)]
icode: remove method info from ICodeBuilder

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: remove method information in IAbort
Jean Privat [Mon, 10 Aug 2009 14:25:17 +0000 (10:25 -0400)]
icode: remove method information in IAbort

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: 'do' blocks only accept labelled breaks
Jean Privat [Thu, 6 Aug 2009 19:10:22 +0000 (15:10 -0400)]
syntax: 'do' blocks only accept labelled breaks

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: error on local variable masking
Jean Privat [Thu, 6 Aug 2009 14:54:49 +0000 (10:54 -0400)]
syntax: error on local variable masking

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: better location for local variable declarations
Jean Privat [Thu, 6 Aug 2009 14:52:29 +0000 (10:52 -0400)]
syntax: better location for local variable declarations

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: remove local variable masking
Jean Privat [Tue, 4 Aug 2009 14:02:43 +0000 (10:02 -0400)]
syntax: remove local variable masking

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: add 'loop' construction
Jean Privat [Mon, 3 Aug 2009 21:07:41 +0000 (17:07 -0400)]
syntax: add 'loop' construction

Also:
* add test
* update vim

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: rename IndexedCollection to Sequence
Jean Privat [Mon, 3 Aug 2009 20:30:41 +0000 (16:30 -0400)]
lib: rename IndexedCollection to Sequence

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: split hash into hash_collection
Jean Privat [Mon, 3 Aug 2009 18:44:12 +0000 (14:44 -0400)]
lib: split hash into hash_collection

Also update dependency:
* hash depends only on kernel (not string)
* hash_collection depends on array and hash
* string depends on hash

Move String::hash from hash to string

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: new /lib/standard/collection directory
Jean Privat [Mon, 3 Aug 2009 18:09:34 +0000 (14:09 -0400)]
lib: new /lib/standard/collection directory

* Update tests.sh to add the new -I for some base_* tests

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: remove broken shootout_pidigits
Jean Privat [Thu, 6 Aug 2009 15:27:43 +0000 (11:27 -0400)]
tests: remove broken shootout_pidigits

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agomisc: vim: better indentation of closures
Jean Privat [Mon, 3 Aug 2009 16:02:05 +0000 (12:02 -0400)]
misc: vim: better indentation of closures

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: do not execute while in a sub-processus
Jean Privat [Mon, 3 Aug 2009 14:14:48 +0000 (10:14 -0400)]
tests: do not execute while in a sub-processus

In a sub-processus, shell variable assignment are lost.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: use [ ] instead of [[ ]] in Makefile
Jean Privat [Mon, 3 Aug 2009 14:07:04 +0000 (10:07 -0400)]
tests: use [ ] instead of [[ ]] in Makefile

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: update nitdoc sav
Jean Privat [Mon, 3 Aug 2009 14:06:20 +0000 (10:06 -0400)]
tests: update nitdoc sav

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: closure are designed by their names, not their ranks
Jean Privat [Sat, 1 Aug 2009 02:44:33 +0000 (22:44 -0400)]
syntax: closure are designed by their names, not their ranks

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agosyntax: [] method can have closure definition
Jean Privat [Sat, 1 Aug 2009 01:55:38 +0000 (21:55 -0400)]
syntax: [] method can have closure definition

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoparser: oneline assignment for 'return' and 'continue'
Jean Privat [Sat, 1 Aug 2009 01:49:49 +0000 (21:49 -0400)]
parser: oneline assignment for 'return' and 'continue'

Example
  fun foo: Int = 5
is equivalent to
  fun foo: Int do return 5
and
  foo !bar = 5
is equivalent to
  foo !bar do continue 5

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoparser: closure syntax use '!' instead of 'with'
Jean Privat [Fri, 31 Jul 2009 20:53:46 +0000 (16:53 -0400)]
parser: closure syntax use '!' instead of 'with'

However, old semantic remains: names are useless, only the order maters.
(cf. new alternatives)

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: add base_closure_forms
Jean Privat [Fri, 31 Jul 2009 19:34:39 +0000 (15:34 -0400)]
tests: add base_closure_forms

Is used to illustrate the 3 standard uses of closures.

Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: return value of nitc for nc
Jean-Sebastien Gelinas [Thu, 30 Jul 2009 19:54:10 +0000 (15:54 -0400)]
tools: return value of nitc for nc

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: add test for nitdoc
Jean-Sebastien Gelinas [Thu, 30 Jul 2009 15:10:22 +0000 (11:10 -0400)]
tests: add test for nitdoc

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: reorganize imports for nitc call
Jean-Sebastien Gelinas [Wed, 29 Jul 2009 20:51:30 +0000 (16:51 -0400)]
tests: reorganize imports for nitc call

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: allow '.write' to be directories
Jean-Sebastien Gelinas [Wed, 29 Jul 2009 19:43:26 +0000 (15:43 -0400)]
tests: allow '.write' to be directories

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotests: validate file existence of file to test before tests
Jean-Sebastien Gelinas [Tue, 28 Jul 2009 17:16:56 +0000 (13:16 -0400)]
tests: validate file existence of file to test before tests

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>