nit.git
9 years agoengines: the entry point is `sys.run` or else `sys.main`
Jean Privat [Wed, 6 Aug 2014 20:07:35 +0000 (16:07 -0400)]
engines: the entry point is `sys.run` or else `sys.main`

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

9 years agoMerge: vim: allow spell check on string literals and comments.
Jean Privat [Tue, 5 Aug 2014 19:37:07 +0000 (15:37 -0400)]
Merge: vim: allow spell check on string literals and comments.

Just `:set spell` to see errors, and `z=` on highlighted words to see
suggestions.

Pull-Request: #643
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Frédéric Vachon <fredvac@gmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agovim: allow spell check on string literals and comments.
Jean Privat [Tue, 5 Aug 2014 14:35:02 +0000 (10:35 -0400)]
vim: allow spell check on string literals and comments.

Just `:set spell` to see errors, and `z=` on highlighted words to see
suggestions.

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

9 years agoMerge: sendmail & detect programs in path (also used in Inkscape)
Jean Privat [Mon, 4 Aug 2014 16:21:36 +0000 (12:21 -0400)]
Merge: sendmail & detect programs in path (also used in Inkscape)

Pull-Request: #636
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoMerge: lib/standard: rework and factorise queues and heaps.
Jean Privat [Mon, 4 Aug 2014 16:21:21 +0000 (12:21 -0400)]
Merge: lib/standard: rework and factorise queues and heaps.

Rewrite most of the queue and head data-structures.

1. move them is their own module (instead of the end of the collection files)
2. make Queue the abstract queuing interface (I need this for my IA library)
3. faster Heap implementation

Pull-Request: #639
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: introduce and use MModuleData
Jean Privat [Mon, 4 Aug 2014 16:21:08 +0000 (12:21 -0400)]
Merge: introduce and use MModuleData

This introduces a helper module `mmodule_data` to store and retrieve arbitrary data trough module hierarchies.
Then `annotation` helper is extended to simplify the retrieval of annotations trough hierarchies of moduledecl
This allows the simplification of `android_annotations` by the use of the new services.

user-declared annotations in then implemented annotations (closes #623)

Pull-Request: #633
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agotests: base_user_annotation4 for multiple annotation declaration
Jean Privat [Thu, 31 Jul 2014 13:03:05 +0000 (09:03 -0400)]
tests: base_user_annotation4 for multiple annotation declaration

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

9 years agocheck_annotation: warn if a module declares again annotation
Jean Privat [Thu, 31 Jul 2014 13:01:28 +0000 (09:01 -0400)]
check_annotation: warn if a module declares again annotation

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

9 years agotests: updates for user-declated annotations
Jean Privat [Thu, 31 Jul 2014 05:59:22 +0000 (01:59 -0400)]
tests: updates for user-declated annotations

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

9 years agolib: add user-declared annotations on some modules
Jean Privat [Thu, 31 Jul 2014 05:38:12 +0000 (01:38 -0400)]
lib: add user-declared annotations on some modules

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

9 years agosrc: new phase check_annotation
Jean Privat [Thu, 31 Jul 2014 05:36:47 +0000 (01:36 -0400)]
src: new phase check_annotation

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

9 years agoandroid: remove priority_annotation_on_modules and use lookup_annotation_on_modules...
Jean Privat [Thu, 31 Jul 2014 03:31:37 +0000 (23:31 -0400)]
android: remove priority_annotation_on_modules and use lookup_annotation_on_modules instead

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

9 years agoannotation: add lookup_annotation_on_modules and related methods
Jean Privat [Thu, 31 Jul 2014 03:28:37 +0000 (23:28 -0400)]
annotation: add lookup_annotation_on_modules and related methods

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

9 years agolib/standard: rework and factorise queues and heaps.
Jean Privat [Fri, 1 Aug 2014 18:22:48 +0000 (14:22 -0400)]
lib/standard: rework and factorise queues and heaps.

Rewrite most of the queue and head data-structures.

1. move them is their own module (instead of the end of the collection files)
2. make Queue the abstract queuing interface (I need this for my IA library)
3. faster Heap implementation

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

9 years agolib: intro the sendmail module
Alexis Laferrière [Fri, 25 Jul 2014 23:14:20 +0000 (19:14 -0400)]
lib: intro the sendmail module

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoversion 0.6.7 v0.6.7
Jean Privat [Mon, 4 Aug 2014 14:47:10 +0000 (10:47 -0400)]
version 0.6.7

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

9 years agoMerge: Add and icon, an app name and a version for Ballz & fix version for Moles
Jean Privat [Mon, 4 Aug 2014 14:44:14 +0000 (10:44 -0400)]
Merge: Add and icon, an app name and a version for Ballz & fix version for Moles

Pull-Request: #635
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoMerge: Minor fixes to the Android support
Jean Privat [Mon, 4 Aug 2014 14:44:11 +0000 (10:44 -0400)]
Merge: Minor fixes to the Android support

Pull-Request: #634
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoinkscape_tools: detect if inkscape is installed
Alexis Laferrière [Fri, 1 Aug 2014 13:47:32 +0000 (09:47 -0400)]
inkscape_tools: detect if inkscape is installed

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib: intro `program_is_in_path`
Alexis Laferrière [Fri, 1 Aug 2014 13:46:58 +0000 (09:46 -0400)]
lib: intro `program_is_in_path`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoMerge: Tnitter
Jean Privat [Thu, 31 Jul 2014 22:55:13 +0000 (18:55 -0400)]
Merge: Tnitter

Look only at the last 3 commits, the first part is from #620.

Almost the same version as what is running at http://tnitter.xymus.net/.

Pull-Request: #631
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>

9 years agocontrib: intro of tnitter
Alexis Laferrière [Thu, 24 Jul 2014 00:40:19 +0000 (20:40 -0400)]
contrib: intro of tnitter

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agonitcorn: harden request processing
Alexis Laferrière [Thu, 31 Jul 2014 17:38:00 +0000 (13:38 -0400)]
nitcorn: harden request processing

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agonitcorn: force delete session cookie when no session associated to response
Alexis Laferrière [Wed, 30 Jul 2014 18:40:29 +0000 (14:40 -0400)]
nitcorn: force delete session cookie when no session associated to response

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agomnit_moles: add git version to moles version
Alexis Laferrière [Thu, 31 Jul 2014 17:52:23 +0000 (13:52 -0400)]
mnit_moles: add git version to moles version

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agomnit_ballz: add app_name and icon
Alexis Laferrière [Thu, 31 Jul 2014 17:51:17 +0000 (13:51 -0400)]
mnit_ballz: add app_name and icon

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoannotation: move collect_annotations_on_modules from android_annotations to annotation
Jean Privat [Thu, 31 Jul 2014 03:27:51 +0000 (23:27 -0400)]
annotation: move collect_annotations_on_modules from android_annotations to annotation

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

9 years agosrc: use `get_annotations` instead of `collect_annotations_by_name`
Jean Privat [Mon, 28 Jul 2014 20:09:51 +0000 (16:09 -0400)]
src: use `get_annotations` instead of `collect_annotations_by_name`

The former does what is implied, the second is a deep search

Update the comment on the latter.

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

9 years agomodel: add mmodule_data
Jean Privat [Thu, 31 Jul 2014 03:46:50 +0000 (23:46 -0400)]
model: add mmodule_data

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

9 years agoandroid: copy the extra java files to the right directory
Alexis Laferrière [Thu, 17 Jul 2014 14:49:48 +0000 (10:49 -0400)]
android: copy the extra java files to the right directory

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/android: precise that Java FFI errors are failures
Alexis Laferrière [Thu, 17 Jul 2014 14:49:20 +0000 (10:49 -0400)]
lib/android: precise that Java FFI errors are failures

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoMerge: Icons on Android
Jean Privat [Thu, 31 Jul 2014 03:54:15 +0000 (23:54 -0400)]
Merge: Icons on Android

Icons for Android apps. You must have Inkscape and compile the contrib inkscape_tools to generate the icons.

fixes #558

Pull-Request: #632
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

9 years agoMerge: Clean some imports
Jean Privat [Thu, 31 Jul 2014 03:54:09 +0000 (23:54 -0400)]
Merge: Clean some imports

Pull-Request: #630
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoposet: add select_smallest and select_greatest
Jean Privat [Thu, 31 Jul 2014 02:26:44 +0000 (22:26 -0400)]
poset: add select_smallest and select_greatest

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

9 years agodino: add icon
Alexis Laferrière [Wed, 30 Jul 2014 21:25:44 +0000 (17:25 -0400)]
dino: add icon

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agomoles: add icon
Alexis Laferrière [Wed, 30 Jul 2014 21:25:25 +0000 (17:25 -0400)]
moles: add icon

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoandroid: alwas generate `res/values/string.xml` if it does not exist
Alexis Laferrière [Wed, 30 Jul 2014 21:24:56 +0000 (17:24 -0400)]
android: alwas generate `res/values/string.xml` if it does not exist

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoandroid: search for an icon in the res folder
Alexis Laferrière [Wed, 30 Jul 2014 21:24:18 +0000 (17:24 -0400)]
android: search for an icon in the res folder

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoMerge: Toplevel for sys and exit
Jean Privat [Wed, 30 Jul 2014 18:08:58 +0000 (14:08 -0400)]
Merge: Toplevel for sys and exit

Because the new c_src can deal with it

Pull-Request: #628
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Android annotations and longs
Jean Privat [Wed, 30 Jul 2014 18:08:56 +0000 (14:08 -0400)]
Merge: Android annotations and longs

Fixes #621 and problems with annotations priority.

The new organization of mnit_simple, and its annotations, means that you can compile any of the test_*.nit and it will create a `.apk` with a distinct package. Thus they can be installed side by side, but they all have the same display name :(

Using Java `long` on Android works again, but they are not fully compatible with Nit's `Int`. Java's `long` are on 64 bits, and Nit's `Int` on 32 bit under ARM. There may be data loss.

Pull-Request: #629
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: The Web server nitcorn, libevent and others
Jean Privat [Wed, 30 Jul 2014 18:08:53 +0000 (14:08 -0400)]
Merge: The Web server nitcorn, libevent and others

This PR contains many fixes and a major rework of the Nitcorn project by Jean-Philippe Caissy, Frederic Sevillano and Guillaume Auger.

Nitcorn is a Web server framework to create sever-side applications in Nit. It is currently used at http://tnitter.xymus.net/ and http://vps.xymus.net/nit/index.html The README files is missing and will be added soon.

What it does do:
* GET and POST support (for small uploads)
* Virtual hosts and routes
* Sessions
* Reading cookies
* Adding virtual hosts (and interfaces) on the fly
* Adding/removing route on the fly
* Play well with existing modules `drop_privileges`, `md5` and `sqlite3`.

What it does not do (yet):
* Encryption
* Support receiving big files
* Writing cookies
* Remove virtual hosts (and interfaces) on the fly

The Tnitter project will be in a future PR.

Pull-Request: #620
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agopnacl: redef exit as a top-level
Jean Privat [Wed, 30 Jul 2014 12:41:46 +0000 (08:41 -0400)]
pnacl: redef exit as a top-level

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

9 years agotests: update sav/base_gen_reassign because line changes in kernel.nit
Jean Privat [Wed, 30 Jul 2014 15:44:17 +0000 (11:44 -0400)]
tests: update sav/base_gen_reassign because line changes in kernel.nit

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

9 years agosrc: remove some useless import
Jean Privat [Wed, 30 Jul 2014 17:32:31 +0000 (13:32 -0400)]
src: remove some useless import

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

9 years agomodelbuilder: TODO, check for useless importation
Jean Privat [Wed, 30 Jul 2014 17:30:56 +0000 (13:30 -0400)]
modelbuilder: TODO, check for useless importation

A stub, useless for anybody except by those who understand what this does
and who are willing to dig into a bunch of false positive.

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

9 years agojava: cast arguments passed to JNI
Alexis Laferrière [Wed, 30 Jul 2014 17:14:01 +0000 (13:14 -0400)]
java: cast arguments passed to JNI

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoexamples: remove annotations used to avoid bug in mnit_simple
Alexis Laferrière [Wed, 30 Jul 2014 17:13:23 +0000 (13:13 -0400)]
examples: remove annotations used to avoid bug in mnit_simple

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoandroid: fix priority annotations bug
Alexis Laferrière [Wed, 30 Jul 2014 16:12:42 +0000 (12:12 -0400)]
android: fix priority annotations bug

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoexamples: add two nitcorn examples
Alexis Laferrière [Thu, 24 Jul 2014 19:04:45 +0000 (15:04 -0400)]
examples: add two nitcorn examples

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib: intro the web server nitcorn
Alexis Laferrière [Tue, 22 Jul 2014 21:41:40 +0000 (17:41 -0400)]
lib: intro the web server nitcorn

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib: intro libevent
Alexis Laferrière [Thu, 24 Jul 2014 14:45:37 +0000 (10:45 -0400)]
lib: intro libevent

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib: intro Text::split_once_on
Alexis Laferrière [Wed, 30 Jul 2014 12:46:47 +0000 (08:46 -0400)]
lib: intro Text::split_once_on

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib: intro `Text::is_hex`
Alexis Laferrière [Thu, 24 Jul 2014 14:38:11 +0000 (10:38 -0400)]
lib: intro `Text::is_hex`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib: intro percent encoding/decoding methods
Alexis Laferrière [Thu, 24 Jul 2014 03:46:28 +0000 (23:46 -0400)]
lib: intro percent encoding/decoding methods

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sqlite3: fix empty row on select without results
Alexis Laferrière [Thu, 24 Jul 2014 02:26:21 +0000 (22:26 -0400)]
lib/sqlite3: fix empty row on select without results

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sqlite3: fix conversion of NativeString to String
Alexis Laferrière [Mon, 21 Jul 2014 18:50:38 +0000 (14:50 -0400)]
lib/sqlite3: fix conversion of NativeString to String

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agolib/sqlite3: add the service `String::to_sql_string`
Alexis Laferrière [Thu, 24 Jul 2014 00:40:03 +0000 (20:40 -0400)]
lib/sqlite3: add the service `String::to_sql_string`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agoparser: do not export tables
Jean Privat [Wed, 30 Jul 2014 12:31:28 +0000 (08:31 -0400)]
parser: do not export tables

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

9 years agolib: string does not need anymore to intrude array
Jean Privat [Tue, 29 Jul 2014 14:12:20 +0000 (10:12 -0400)]
lib: string does not need anymore to intrude array

since the rewrite of string, some time ago, it seems

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

9 years agoMerge: Utf8 strings
Jean Privat [Wed, 30 Jul 2014 01:06:54 +0000 (21:06 -0400)]
Merge: Utf8 strings

(Re?)Introducing Unicode strings (with UTF-8) with mandatory indexes for now, the module is incomplete yet (don't go and try to concatenate two UTF-8 FlatStrings, you'll be surprised by the result).

There's still some work to do on the global API, but here's a WIP version that should not break anything, any comments are welcome !

Pull-Request: #602
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Frédéric Vachon <fredvac@gmail.com>

9 years agoMerge: Ropes optimizations
Jean Privat [Wed, 30 Jul 2014 01:06:51 +0000 (21:06 -0400)]
Merge: Ropes optimizations

Small optimizations on Rope, significantly speeds-up concatenation and indexed access, however, slows substring.

Before :
 * `./substr_bench -m rope --loops 100000 --strlen 25 --ccts 10 NIT_GC_CHOOSER=large` => 0.12s
 * `./chain_concat -m rope --loops 100000 --strlen 25 --ccts 10 NIT_GC_CHOOSER=large` => 1.47s
 * `./iteration_bench -m rope --iter-mode index --loops 100000 --strlen 25 --ccts 10 NIT_GC_CHOOSER=large` => 20.95s

After :
 * `./substr_bench -m rope --loops 100000 --strlen 25 --ccts 10 NIT_GC_CHOOSER=large` => 0.36s
 * `./chain_concat -m rope --loops 100000 --strlen 25 --ccts 10 NIT_GC_CHOOSER=large` => 0.25s
 * `./iteration_bench -m rope --iter-mode index --loops 100000 --strlen 25 --ccts 10 NIT_GC_CHOOSER=large` => 1.47s

Pull-Request: #626
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>

9 years agoMerge: Benchmarks string
Jean Privat [Wed, 30 Jul 2014 01:06:48 +0000 (21:06 -0400)]
Merge: Benchmarks string

After postponing for a while, here are a few micro-benches (concat, substring, iteration using indexes or iterator) for variants of Text available at the moment with a shell script for automation.

Pull-Request: #624
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoMerge: mnit_simple: rename FDROID metadata to match the java_package
Jean Privat [Tue, 29 Jul 2014 20:16:28 +0000 (16:16 -0400)]
Merge: mnit_simple: rename FDROID metadata to match the java_package

Pull-Request: #622

9 years agoMerge: gitignore: some update
Jean Privat [Tue, 29 Jul 2014 20:16:23 +0000 (16:16 -0400)]
Merge: gitignore: some update

Pull-Request: #616
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agoMerge: c_src: update
Jean Privat [Tue, 29 Jul 2014 20:16:06 +0000 (16:16 -0400)]
Merge: c_src: update

A fresh regeneration of the c_src. It is the first one based on `nitg --semi-global`.
Developers of the compiler and the stdlib can now use more new and fancy features of the Nit language.

Pull-Request: #625
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

9 years agolib/bufferized_ropes: Force insert_at for + operation
Lucas Bajolet [Tue, 29 Jul 2014 18:24:12 +0000 (14:24 -0400)]
lib/bufferized_ropes: Force insert_at for + operation

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agobenchmarks: Added script for all string-related benchmarks
Lucas Bajolet [Tue, 29 Jul 2014 14:59:47 +0000 (10:59 -0400)]
benchmarks: Added script for all string-related benchmarks

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agobenchmarks/string: Added String benchmarks
Lucas Bajolet [Tue, 29 Jul 2014 17:20:36 +0000 (13:20 -0400)]
benchmarks/string: Added String benchmarks

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/ropes: + operation in O(1) time now
Lucas Bajolet [Tue, 29 Jul 2014 17:14:38 +0000 (13:14 -0400)]
lib/standard/ropes: + operation in O(1) time now

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agotyping: no more special case for `sys` and `exit`
Jean Privat [Tue, 29 Jul 2014 14:08:43 +0000 (10:08 -0400)]
typing: no more special case for `sys` and `exit`

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

9 years agolib: `sys` and `exit` are toplevel
Jean Privat [Tue, 29 Jul 2014 14:07:57 +0000 (10:07 -0400)]
lib: `sys` and `exit` are toplevel

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

9 years agoc_src: update
Jean Privat [Mon, 28 Jul 2014 22:28:29 +0000 (18:28 -0400)]
c_src: update

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

9 years agotests: add passing Int in basic Java test
Alexis Laferrière [Tue, 29 Jul 2014 16:56:59 +0000 (12:56 -0400)]
tests: add passing Int in basic Java test

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

9 years agotests: Test for UTF-8 Strings.
Lucas Bajolet [Thu, 17 Jul 2014 17:54:23 +0000 (13:54 -0400)]
tests: Test for UTF-8 Strings.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Fixed print routine to support UTF8 strings.
Lucas Bajolet [Tue, 29 Jul 2014 15:13:42 +0000 (11:13 -0400)]
lib/string_exp/utf8: Fixed print routine to support UTF8 strings.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Output usable with UTF-8.
Lucas Bajolet [Mon, 21 Jul 2014 14:57:38 +0000 (10:57 -0400)]
lib/string_exp/utf8: Output usable with UTF-8.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: to_upper/lower usable with UTF-8 strings.
Lucas Bajolet [Mon, 21 Jul 2014 14:56:22 +0000 (10:56 -0400)]
lib/string_exp/utf8: to_upper/lower usable with UTF-8 strings.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Implemented to_upper/to_lower on UnicodeChar.
Lucas Bajolet [Mon, 21 Jul 2014 14:55:04 +0000 (10:55 -0400)]
lib/string_exp/utf8: Implemented to_upper/to_lower on UnicodeChar.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_ext/utf8: to_cstring will work on UTF-8 strings now.
Lucas Bajolet [Mon, 21 Jul 2014 16:03:12 +0000 (12:03 -0400)]
lib/string_ext/utf8: to_cstring will work on UTF-8 strings now.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Substring now works with UTF-8 strings (pre-indexed).
Lucas Bajolet [Mon, 21 Jul 2014 14:52:46 +0000 (10:52 -0400)]
lib/string_exp/utf8: Substring now works with UTF-8 strings (pre-indexed).

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Adapted reverse service on UTF-8 strings.
Lucas Bajolet [Mon, 21 Jul 2014 14:45:25 +0000 (10:45 -0400)]
lib/string_exp/utf8: Adapted reverse service on UTF-8 strings.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: UnicodeChars can be tested for strict equivalence.
Lucas Bajolet [Mon, 21 Jul 2014 14:38:47 +0000 (10:38 -0400)]
lib/string_exp/utf8: UnicodeChars can be tested for strict equivalence.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Added routine to compute code point on a UTF-8 character.
Lucas Bajolet [Mon, 21 Jul 2014 14:37:11 +0000 (10:37 -0400)]
lib/string_exp/utf8: Added routine to compute code point on a UTF-8 character.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Adapted * for FlatString with UTF-8 chars
Lucas Bajolet [Mon, 21 Jul 2014 14:35:51 +0000 (10:35 -0400)]
lib/string_exp/utf8: Adapted * for FlatString with UTF-8 chars

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Adapted the construction from a CString to work with UTF-8.
Lucas Bajolet [Tue, 29 Jul 2014 15:13:02 +0000 (11:13 -0400)]
lib/string_exp/utf8: Adapted the construction from a CString to work with UTF-8.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_exp/utf8: Introducing UTF-8 basics for String.
Lucas Bajolet [Mon, 21 Jul 2014 14:18:48 +0000 (10:18 -0400)]
lib/string_exp/utf8: Introducing UTF-8 basics for String.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_experimentations: Added README for project
Lucas Bajolet [Mon, 21 Jul 2014 16:48:27 +0000 (12:48 -0400)]
lib/string_experimentations: Added README for project

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/string_experimentations: Added module for importation of string_experimentations
Lucas Bajolet [Mon, 21 Jul 2014 15:37:41 +0000 (11:37 -0400)]
lib/string_experimentations: Added module for importation of string_experimentations

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agolib/standard/ropes: Added cache on indexed access.
Lucas Bajolet [Fri, 6 Jun 2014 17:58:25 +0000 (13:58 -0400)]
lib/standard/ropes: Added cache on indexed access.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: model: add `MType::as_notnullable` to remove the `nullable` modifier
Jean Privat [Mon, 28 Jul 2014 18:29:23 +0000 (14:29 -0400)]
Merge: model: add `MType::as_notnullable` to remove the `nullable` modifier

Basically replace

~~~
if m isa MNullableType then m = m.mtype
~~~

by

~~~
m = m.as_notnullable
~~~

Pull-Request: #619
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: type works: handle implicitly fixed formal parameters
Jean Privat [Mon, 28 Jul 2014 18:29:19 +0000 (14:29 -0400)]
Merge: type works: handle implicitly fixed formal parameters

~~~
class G[E: Int]
   # Here, since Int cannot have a subclass, then E == Int (implicitly fixed)
end
~~~

This series enhance the type system to understand this case, and give the user a warning when bounding formal parameter with final classes.

Pull-Request: #618
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agoMerge: Magic configuration for bash completion
Jean Privat [Mon, 28 Jul 2014 18:29:16 +0000 (14:29 -0400)]
Merge: Magic configuration for bash completion

Some bash magic to lazy load and configure bash_completion for nit.

Steps for a functional installation:

0. [if you have old binaries] `$ rm c_src/nitg`
1. `$ make`
2. [optional], put the `bin` directory in your PATH
3. `$ source misc/bash_completion/nit`
4. [optional] link (or copy) `misc/bash_completion/nit` in `/etc/bash_completion.d`, or source it in `~/.bash_completion`
5. profit

Pull-Request: #617
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

9 years agomnit_simple: rename FDROID metadata to match the java_package
Jean Privat [Mon, 28 Jul 2014 17:54:44 +0000 (13:54 -0400)]
mnit_simple: rename FDROID metadata to match the java_package

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

9 years agobash_completion: add a magic script that do the bash_completion setup
Jean Privat [Thu, 24 Jul 2014 15:32:59 +0000 (11:32 -0400)]
bash_completion: add a magic script that do the bash_completion setup

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

9 years agotests: update test_toolcontext
Jean Privat [Thu, 24 Jul 2014 15:38:07 +0000 (11:38 -0400)]
tests: update test_toolcontext

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

9 years agotool_context: do not need an attribute bash_completion
Jean Privat [Thu, 24 Jul 2014 15:09:00 +0000 (11:09 -0400)]
tool_context: do not need an attribute bash_completion

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

9 years agotool_context: just print the bash_completion, let the caller do what it want
Jean Privat [Thu, 24 Jul 2014 15:08:33 +0000 (11:08 -0400)]
tool_context: just print the bash_completion, let the caller do what it want

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

9 years agotool_context: correct default for bashcompletion
Jean Privat [Thu, 24 Jul 2014 15:06:53 +0000 (11:06 -0400)]
tool_context: correct default for bashcompletion

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

9 years agoMerge: Bufferized ropes
Jean Privat [Thu, 24 Jul 2014 19:42:12 +0000 (15:42 -0400)]
Merge: Bufferized ropes

Added module to lib for the support of an experimental way of handling ropes using Buffers as leaves.

Will require the merge of PRs #516 and #518 for tests to comply.

Pull-Request: #525
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>

9 years agosrc: use `as_notnullable` in code
Jean Privat [Thu, 24 Jul 2014 18:46:33 +0000 (14:46 -0400)]
src: use `as_notnullable` in code

Basically replace

~~~
if m isa MNullableType then m = m.mtype
~~~

by

~~~
m = m.as_notnullable
~~~

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