nit.git
8 years agolib/socket: intro `TCPSocket`
Alexis Laferrière [Sun, 5 Jul 2015 17:51:50 +0000 (13:51 -0400)]
lib/socket: intro `TCPSocket`

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

8 years agolib/socket: write and read of the native layer use a user-created buffer
Alexis Laferrière [Mon, 6 Jul 2015 14:16:45 +0000 (10:16 -0400)]
lib/socket: write and read of the native layer use a user-created buffer

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

8 years agolib/socket: revamp services of `NativeSocketAddrIn`
Alexis Laferrière [Sun, 5 Jul 2015 17:54:22 +0000 (13:54 -0400)]
lib/socket: revamp services of `NativeSocketAddrIn`

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

8 years agolib/socket: use less callbacks and prefer NativeString in the native layer
Alexis Laferrière [Sun, 5 Jul 2015 13:40:34 +0000 (09:40 -0400)]
lib/socket: use less callbacks and prefer NativeString in the native layer

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

8 years agolib/socket: rename `Socket::socket` to `Socket::native`
Alexis Laferrière [Sun, 5 Jul 2015 13:38:33 +0000 (09:38 -0400)]
lib/socket: rename `Socket::socket` to `Socket::native`

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

8 years agolib/file: efficient write to file for FlatString
Jean Privat [Thu, 16 Jul 2015 21:06:20 +0000 (17:06 -0400)]
lib/file: efficient write to file for FlatString

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

8 years agolib/file: delegate how to write a string to the string itself
Jean Privat [Thu, 16 Jul 2015 21:05:42 +0000 (17:05 -0400)]
lib/file: delegate how to write a string to the string itself

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

8 years agolib/file: add a `from` parameter on `write_native` and `io_write`
Jean Privat [Thu, 16 Jul 2015 21:04:59 +0000 (17:04 -0400)]
lib/file: add a `from` parameter on `write_native` and `io_write`

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

8 years agoMerge: Fix bug with reverse iterators in arrays
Jean Privat [Thu, 16 Jul 2015 15:35:41 +0000 (11:35 -0400)]
Merge: Fix bug with reverse iterators in arrays

Using `Array::iterator` after a finished `reverse_iterator` iterates only on the first element, or crash if array is empty. As `ReverseArrayIterator` specialize `ArrayIterator`, it can cache itself in the array to be used by `iterator`.

This PR simply disable caching for reverse iterators. We could add a distinct cache for the reverse iterator if we need the performance.

This minimal program highlights the bug:
~~~nit
var a = [1, 2, 3]
for x in a.reverse_iterator do print x
print "-"
for x in a.iterator do print x
~~~

Output:
~~~
3
2
1
-
1
~~~

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

8 years agosep_comp: do not lose potential mcasttype information in autobox
Jean Privat [Thu, 16 Jul 2015 15:18:40 +0000 (11:18 -0400)]
sep_comp: do not lose potential mcasttype information in autobox

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

8 years agosep_comp: do not rely on RTA in autobox
Jean Privat [Thu, 16 Jul 2015 15:18:05 +0000 (11:18 -0400)]
sep_comp: do not rely on RTA in autobox

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

8 years agosep_comp: improve deadness management in compile_class_to_c
Jean Privat [Thu, 16 Jul 2015 15:16:56 +0000 (11:16 -0400)]
sep_comp: improve deadness management in compile_class_to_c

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

8 years agotests: update line number in `test_new_native_alt1`
Alexis Laferrière [Thu, 16 Jul 2015 03:02:03 +0000 (23:02 -0400)]
tests: update line number in `test_new_native_alt1`

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

8 years agolib/array: do not cache reverse iterators as forward iterators
Alexis Laferrière [Wed, 15 Jul 2015 20:56:42 +0000 (16:56 -0400)]
lib/array: do not cache reverse iterators as forward iterators

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

8 years agoMerge: Better autoinit conflict message
Jean Privat [Tue, 14 Jul 2015 19:50:57 +0000 (15:50 -0400)]
Merge: Better autoinit conflict message

On

~~~nit
class A
    var x: Int
end

class B
    var y: Bool
end

class C
    super A
    super B
end
~~~

The error message

> a.nit:9,7: Error: conflict for inherited inits a#B#init(y=) and a#A#init(x=)

now become

> a.nit:9,7: Error: cannot generate automatic init for class C. Conflict in the order in inherited initializers a#B#init(y=) and a#A#init(x=). Use `autoinit` to order initializers. eg `autoinit x=, y=`

(fell free to simplify or propose better)

Close #1549

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

8 years agolib/neo4j: use `nosuper` in named constructors to avoid the initialization of `intern...
Jean Privat [Tue, 14 Jul 2015 14:37:48 +0000 (10:37 -0400)]
lib/neo4j: use `nosuper` in named constructors to avoid the initialization of `internal_properties`

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

8 years agolib/geometry: named constructors use autoinit
Jean Privat [Tue, 14 Jul 2015 12:33:07 +0000 (08:33 -0400)]
lib/geometry: named constructors use autoinit

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

8 years agolib/date: named constructors use autoinit
Jean Privat [Tue, 14 Jul 2015 12:32:32 +0000 (08:32 -0400)]
lib/date: named constructors use autoinit

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

8 years agoMerge: lib/standard/bytes: Added pop method
Jean Privat [Mon, 13 Jul 2015 20:24:58 +0000 (16:24 -0400)]
Merge: lib/standard/bytes: Added pop method

The method was missing from Bytes, I needed it so I implemented it, and here's the associated PR.

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

8 years agoMerge: Rosetta entropy
Jean Privat [Mon, 13 Jul 2015 20:24:46 +0000 (16:24 -0400)]
Merge: Rosetta entropy

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

8 years agorefund: `Dollar::from_float` use the autoinit constructor
Jean Privat [Mon, 13 Jul 2015 20:04:51 +0000 (16:04 -0400)]
refund: `Dollar::from_float` use the autoinit constructor

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

8 years agonitrpg: `from_json` constructors use the autoinit constructor
Jean Privat [Mon, 13 Jul 2015 20:04:24 +0000 (16:04 -0400)]
nitrpg: `from_json` constructors use the autoinit constructor

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

8 years agonitcc: make the autoinit constructor of Automation without parameter
Jean Privat [Mon, 13 Jul 2015 20:03:44 +0000 (16:03 -0400)]
nitcc: make the autoinit constructor of Automation without parameter

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

8 years agotests: update (and improve) test for autoinit error message
Jean Privat [Mon, 13 Jul 2015 19:33:45 +0000 (15:33 -0400)]
tests: update (and improve) test for autoinit error message

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

8 years agomodelize: improve message in case of inherited autoinit conflict
Jean Privat [Mon, 13 Jul 2015 19:32:58 +0000 (15:32 -0400)]
modelize: improve message in case of inherited autoinit conflict

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

8 years agotests: update sav for nuew setter visibility rule
Jean Privat [Mon, 13 Jul 2015 18:16:53 +0000 (14:16 -0400)]
tests: update sav for nuew setter visibility rule

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

8 years agomodelize_property: setters are protected by default so are visible to use in setters
Jean Privat [Mon, 13 Jul 2015 18:16:18 +0000 (14:16 -0400)]
modelize_property: setters are protected by default so are visible to use in setters

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

8 years agolib/standard/bytes: added documentation for public methods
Lucas Bajolet [Mon, 13 Jul 2015 17:12:31 +0000 (13:12 -0400)]
lib/standard/bytes: added documentation for public methods

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

8 years agotests: update sav for enforced superautoinit
Jean Privat [Mon, 13 Jul 2015 16:44:12 +0000 (12:44 -0400)]
tests: update sav for enforced superautoinit

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

8 years agoautosuperinit: constructors can be defined in interface, so autosuperinit should...
Jean Privat [Mon, 13 Jul 2015 15:40:30 +0000 (11:40 -0400)]
autosuperinit: constructors can be defined in interface, so autosuperinit should search for them

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

8 years agotests: update example_hanoi with saner constructor
Jean Privat [Mon, 13 Jul 2015 16:43:24 +0000 (12:43 -0400)]
tests: update example_hanoi with saner constructor

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

8 years agosrc/niti: PrimitiveNativeFile use autoinit in named inits
Jean Privat [Mon, 13 Jul 2015 16:42:31 +0000 (12:42 -0400)]
src/niti: PrimitiveNativeFile use autoinit in named inits

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

8 years agolib/sqlite3: use autoinit in named init `open`
Jean Privat [Mon, 13 Jul 2015 16:41:43 +0000 (12:41 -0400)]
lib/sqlite3: use autoinit in named init `open`

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

8 years agolib/noise: all classes are serializable
Alexis Laferrière [Tue, 7 Jul 2015 12:06:23 +0000 (08:06 -0400)]
lib/noise: all classes are serializable

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

8 years agosrc/location: use `nosuper in some specific named constructors
Jean Privat [Mon, 13 Jul 2015 15:38:19 +0000 (11:38 -0400)]
src/location: use `nosuper in some specific named constructors

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

8 years agolib/string: named constructors call the autoinit explicitly
Jean Privat [Mon, 13 Jul 2015 15:37:48 +0000 (11:37 -0400)]
lib/string: named constructors call the autoinit explicitly

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

8 years agolib/standard/bytes: Added pop method
Lucas Bajolet [Mon, 13 Jul 2015 14:45:18 +0000 (10:45 -0400)]
lib/standard/bytes: Added pop method

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

8 years agorosetta code: also add fibonacci_word
Jean Privat [Fri, 10 Jul 2015 15:59:29 +0000 (11:59 -0400)]
rosetta code: also add fibonacci_word

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

8 years agorosetta code: also add entropy_narcissist
Jean Privat [Fri, 10 Jul 2015 15:43:32 +0000 (11:43 -0400)]
rosetta code: also add entropy_narcissist

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

8 years agorosetta code: entropy
Jean Privat [Fri, 10 Jul 2015 15:24:15 +0000 (11:24 -0400)]
rosetta code: entropy

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

8 years agolib/counter: add `Counter::entropy` to shine in private dinners in town
Jean Privat [Fri, 10 Jul 2015 15:24:00 +0000 (11:24 -0400)]
lib/counter: add `Counter::entropy` to shine in private dinners in town

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

8 years agolib/counter: add `Collection::to_counter` to simplify the creation of counterss
Jean Privat [Fri, 10 Jul 2015 15:20:28 +0000 (11:20 -0400)]
lib/counter: add `Collection::to_counter` to simplify the creation of counterss

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

8 years agoMerge: Tweaks to the Android support
Jean Privat [Fri, 10 Jul 2015 13:55:31 +0000 (09:55 -0400)]
Merge: Tweaks to the Android support

Fixes multi-pointers support, intro `NativeActivity::finish`, landscape mode use the sensor and find the assets folder using the project location.

Pull-Request: #1559
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agolib/android: intro `NativeActivity::finish`
Alexis Laferrière [Sun, 5 Jul 2015 17:50:22 +0000 (13:50 -0400)]
lib/android: intro `NativeActivity::finish`

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

8 years agolib/android: support secondary pointers in motion events `pressed`
Alexis Laferrière [Wed, 8 Jul 2015 22:45:18 +0000 (18:45 -0400)]
lib/android: support secondary pointers in motion events `pressed`

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

8 years agolib/android: as alternative to motion events feed in only the acting pointer
Alexis Laferrière [Thu, 9 Jul 2015 20:19:39 +0000 (16:19 -0400)]
lib/android: as alternative to motion events feed in only the acting pointer

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

8 years agolib/android: intro: `acting_pointer` and fix warnings on `just_went_down`
Alexis Laferrière [Wed, 8 Jul 2015 22:41:45 +0000 (18:41 -0400)]
lib/android: intro: `acting_pointer` and fix warnings on `just_went_down`

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

8 years agolib/android: use latest language features for `AndroidMotionEvent::pointers`
Alexis Laferrière [Sat, 4 Jul 2015 20:41:30 +0000 (16:41 -0400)]
lib/android: use latest language features for `AndroidMotionEvent::pointers`

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

8 years agolib/android: intro the real `pointer_id`
Alexis Laferrière [Sat, 4 Jul 2015 20:40:42 +0000 (16:40 -0400)]
lib/android: intro the real `pointer_id`

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

8 years agolib/android: rename `pointer_id` to `pointer_index`
Alexis Laferrière [Sat, 4 Jul 2015 20:39:57 +0000 (16:39 -0400)]
lib/android: rename `pointer_id` to `pointer_index`

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

8 years agolib/android: landscape mode use sensor
Alexis Laferrière [Sat, 4 Jul 2015 20:39:16 +0000 (16:39 -0400)]
lib/android: landscape mode use sensor

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

8 years agosrc/android: use the project to find the assets, res and libs folders
Alexis Laferrière [Sat, 4 Jul 2015 20:38:43 +0000 (16:38 -0400)]
src/android: use the project to find the assets, res and libs folders

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

8 years agoMerge: Some bugfixes and small improvements for nitiwiki
Jean Privat [Thu, 9 Jul 2015 20:10:22 +0000 (16:10 -0400)]
Merge: Some bugfixes and small improvements for nitiwiki

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

8 years agotests: update sav for nitiwiki
Jean Privat [Thu, 9 Jul 2015 18:42:32 +0000 (14:42 -0400)]
tests: update sav for nitiwiki

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

8 years agoMerge: Bytes migration
Jean Privat [Thu, 9 Jul 2015 18:12:46 +0000 (14:12 -0400)]
Merge: Bytes migration

As a penultimate step to finish #1262, here are some byte-oriented operations on both `NativeString` and `Text`

Next to come in the infamous Unicode series, a reroll of #1277.

Pull-Request: #1551
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agonitiwiki: remove `-s` as short `--status` because it is already short `--rsync`
Jean Privat [Thu, 9 Jul 2015 17:51:53 +0000 (13:51 -0400)]
nitiwiki: remove `-s` as short `--status` because it is already short `--rsync`

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

8 years agonitiwiki: custom config messages are less verbose
Jean Privat [Thu, 9 Jul 2015 17:19:09 +0000 (13:19 -0400)]
nitiwiki: custom config messages are less verbose

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

8 years agonitiwiki: error on --rsync if wiki.rsync_dir is not configured
Jean Privat [Thu, 9 Jul 2015 17:16:21 +0000 (13:16 -0400)]
nitiwiki: error on --rsync if wiki.rsync_dir is not configured

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

8 years agonitiwiki: protect arguments of sys.system
Jean Privat [Thu, 9 Jul 2015 17:15:42 +0000 (13:15 -0400)]
nitiwiki: protect arguments of sys.system

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

8 years agonitiwiki: improve rendering messages with name and paths.
Jean Privat [Thu, 9 Jul 2015 15:57:09 +0000 (11:57 -0400)]
nitiwiki: improve rendering messages with name and paths.

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

8 years agonitiwiki: remove completely root_url as everything is now relative
Jean Privat [Thu, 9 Jul 2015 15:44:41 +0000 (11:44 -0400)]
nitiwiki: remove completely root_url as everything is now relative

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

8 years agonitiwiki: reintroduce `allow absolute wikilinks` (c2802e0b4) broken by 98a42459
Jean Privat [Thu, 9 Jul 2015 15:40:57 +0000 (11:40 -0400)]
nitiwiki: reintroduce `allow absolute wikilinks` (c2802e0b4) broken by 98a42459

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

8 years agonitiwiki: reintroduce `make wikilink relative` (d03b2d99f) broken by 98a42459
Jean Privat [Thu, 9 Jul 2015 15:40:15 +0000 (11:40 -0400)]
nitiwiki: reintroduce `make wikilink relative` (d03b2d99f) broken by 98a42459

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

8 years agotests: Update for new NativeString and Byte views
Lucas Bajolet [Wed, 8 Jul 2015 20:46:32 +0000 (16:46 -0400)]
tests: Update for new NativeString and Byte views

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

8 years agosrc: Compiler and interpreter updates for NativeString
Lucas Bajolet [Wed, 8 Jul 2015 20:46:06 +0000 (16:46 -0400)]
src: Compiler and interpreter updates for NativeString

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

8 years agobase64/websocket: Rewrite for clarity and compliance to Byte-oriented NativeString
Lucas Bajolet [Wed, 8 Jul 2015 20:45:43 +0000 (16:45 -0400)]
base64/websocket: Rewrite for clarity and compliance to Byte-oriented NativeString

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

8 years agolib/standard: NativeString operations are now Byte-oriented instead of Char
Lucas Bajolet [Wed, 8 Jul 2015 20:45:15 +0000 (16:45 -0400)]
lib/standard: NativeString operations are now Byte-oriented instead of Char

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

8 years agolib/binary: Update modules to work more with Bytes now
Lucas Bajolet [Wed, 8 Jul 2015 20:42:59 +0000 (16:42 -0400)]
lib/binary: Update modules to work more with Bytes now

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

8 years agolib/standard/text: Most chars operations are no longer working on NativeString
Lucas Bajolet [Wed, 8 Jul 2015 20:41:27 +0000 (16:41 -0400)]
lib/standard/text: Most chars operations are no longer working on NativeString

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

8 years agolib/io: Changed the semantics of read/write byte to use Byte instead of Int
Lucas Bajolet [Wed, 8 Jul 2015 20:38:25 +0000 (16:38 -0400)]
lib/io: Changed the semantics of read/write byte to use Byte instead of Int

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

8 years agolib/standard/ropes: Substrings now work with FlatStrings
Lucas Bajolet [Wed, 8 Jul 2015 19:57:07 +0000 (15:57 -0400)]
lib/standard/ropes: Substrings now work with FlatStrings

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

8 years agolib/standard/text: Intro bytes services on Text
Lucas Bajolet [Wed, 8 Jul 2015 19:56:27 +0000 (15:56 -0400)]
lib/standard/text: Intro bytes services on Text

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

8 years agolib/standard/text: Intro bytelen in abstract_text
Lucas Bajolet [Wed, 8 Jul 2015 19:52:44 +0000 (15:52 -0400)]
lib/standard/text: Intro bytelen in abstract_text

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

8 years agoMerge: Rosetta Code: S-Expressions
Jean Privat [Wed, 8 Jul 2015 19:04:13 +0000 (15:04 -0400)]
Merge: Rosetta Code: S-Expressions

Simple S-Expressions parser, take only the two last commits into account, as the rest belongs to #1448.

Pull-Request: #1471
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Istvan SZALAÏ <szalai972@gmail.com>

8 years agoMerge: lib/geometry: intro more services on points and for angles
Jean Privat [Wed, 8 Jul 2015 18:02:23 +0000 (14:02 -0400)]
Merge: lib/geometry: intro more services on points and for angles

Some useful services for games and other geometry heavy applications.

I must say that I'm getting tired of the points API. Dealing with both the numeric complexity and the 2/3D is unpleasant. I will probably remove/separate the 3D part in the near future.

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

8 years agoMerge: Intro HashMap23::has, Timespec::millisec|microsec and misc clean up
Jean Privat [Wed, 8 Jul 2015 18:02:21 +0000 (14:02 -0400)]
Merge: Intro HashMap23::has, Timespec::millisec|microsec and misc clean up

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

8 years agoMerge: Intro the performance_analysis module to gather perf stats by categories
Jean Privat [Wed, 8 Jul 2015 18:02:19 +0000 (14:02 -0400)]
Merge: Intro the performance_analysis module to gather perf stats by categories

This modules provides simple stats (avg, min, max, count) on the execution time of categories. I use this module in my games to detect performance bottlenecks.

If anyone has an idea for a better name, I'm open to suggestions.

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

8 years agoMerge: contrib/inkscape_tools: Report invalid files and cleaner Makefile
Jean Privat [Wed, 8 Jul 2015 18:02:18 +0000 (14:02 -0400)]
Merge: contrib/inkscape_tools: Report invalid files and cleaner Makefile

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

8 years agoMerge: Binary serialization
Jean Privat [Wed, 8 Jul 2015 18:02:15 +0000 (14:02 -0400)]
Merge: Binary serialization

Introducing the binary serialization services! (In use in both WBTW and Tinks!) Also fix a few bugs in the serialization phase...

The serialization format is somewhat similar to BSON. The main differences are the support for instances, the precise instance types (as in `Array[MyClass]`), different data types id because we don't have the same data types and that we don't start off with the length of the stream. But we use a similar grammar, null-terminated lists and objects, as well as both a null-terminated string and a block which support UTF8.

The errors system can still be improved. There is too much noise but one can only look at the first error and it is usually enough.

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

8 years agoexamples/rosettacode: Added s_expression task
Lucas Bajolet [Tue, 7 Jul 2015 14:27:17 +0000 (10:27 -0400)]
examples/rosettacode: Added s_expression task

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

8 years agolib/parsers: Added S-Expression parser
Lucas Bajolet [Wed, 10 Jun 2015 17:20:51 +0000 (13:20 -0400)]
lib/parsers: Added S-Expression parser

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

8 years agoMerge: nitdoc: Use wikilinks on README files
Jean Privat [Tue, 7 Jul 2015 23:14:14 +0000 (19:14 -0400)]
Merge: nitdoc: Use wikilinks on README files

This PR introduce the use of wikilinks in README files.

It's mainly a request for comments on what you want, what you need and what you like from Nitdoc and README writting.

0f6ff78 gives an example of README file written using wikilinks. The processed result by nitdoc is visible [here](http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/stdlib/group_github.html).

Supported commands for now:

* `[[doc:MEntity]]`: include the documentation article or an MEntity
* `[[list:MEntity]]`: list classes or methods from than MEntity

Old API pages still available, there are prefixed with `api_`.

Demos from [Jenkins::CI-nitdoc](http://gresil.org/jenkins/job/CI-nitdoc):
* [Standard library](http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/stdlib/index.html)
* [Nit compilers and tools](http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/nitc/index.html)

Some question still need to be answered:
* What to do with old API page (http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/stdlib/api_group_github.html)
* What comment to display in API page (http://gresil.org/jenkins/job/CI-nitdoc/ws/doc/stdlib/api_group_github.html)
* What commands should be supported by wikilinks directive?

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

8 years agolib/geometry: add few services for angles
Alexis Laferrière [Tue, 30 Jun 2015 21:18:43 +0000 (17:18 -0400)]
lib/geometry: add few services for angles

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

8 years agolib/geomerty: intro Point::dist, dist2, lerp and ==
Alexis Laferrière [Tue, 30 Jun 2015 21:18:33 +0000 (17:18 -0400)]
lib/geomerty: intro Point::dist, dist2, lerp and ==

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

8 years agolib/realtime: intro micro|millisec
Alexis Laferrière [Sat, 13 Jun 2015 22:58:54 +0000 (18:58 -0400)]
lib/realtime: intro micro|millisec

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

8 years agolib/serialization: do not abort when deserializing an unknown class
Alexis Laferrière [Tue, 7 Jul 2015 14:42:45 +0000 (10:42 -0400)]
lib/serialization: do not abort when deserializing an unknown class

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

8 years agotests: add test for `binary::serialization`
Alexis Laferrière [Tue, 19 May 2015 17:52:20 +0000 (13:52 -0400)]
tests: add test for `binary::serialization`

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

8 years agogithub: enhance Github documentation as example for Nitdoc README files
Alexandre Terrasa [Tue, 9 Jun 2015 20:34:17 +0000 (16:34 -0400)]
github: enhance Github documentation as example for Nitdoc README files

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agonitdoc: update tests
Alexandre Terrasa [Tue, 9 Jun 2015 20:36:31 +0000 (16:36 -0400)]
nitdoc: update tests

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agonitdoc: generate README file doc pages
Alexandre Terrasa [Thu, 4 Jun 2015 15:36:20 +0000 (11:36 -0400)]
nitdoc: generate README file doc pages

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agolib/binary: intro `BinarySerializer` and `BinaryDeserializer`
Alexis Laferrière [Tue, 19 May 2015 14:01:00 +0000 (10:01 -0400)]
lib/binary: intro `BinarySerializer` and `BinaryDeserializer`

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

8 years agolib/more_collections: intro `HashMap[2|3]::has`
Alexis Laferrière [Thu, 2 Jul 2015 02:09:37 +0000 (22:09 -0400)]
lib/more_collections: intro `HashMap[2|3]::has`

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

8 years agolib/pthreads: relay error on init from C to Nit
Alexis Laferrière [Tue, 7 Jul 2015 14:02:32 +0000 (10:02 -0400)]
lib/pthreads: relay error on init from C to Nit

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

8 years agolib/opengles1: clean up C warning
Alexis Laferrière [Thu, 2 Jul 2015 02:09:17 +0000 (22:09 -0400)]
lib/opengles1: clean up C warning

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

8 years agolib/geometry: points_and_lines are serializable
Alexis Laferrière [Thu, 2 Jul 2015 03:46:20 +0000 (23:46 -0400)]
lib/geometry: points_and_lines are serializable

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

8 years agolib: intro performance_analysis
Alexis Laferrière [Sat, 4 Jul 2015 02:24:46 +0000 (22:24 -0400)]
lib: intro performance_analysis

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

8 years agolib/mnit: fix `KeyEvent::is_up`
Alexis Laferrière [Thu, 2 Jul 2015 02:09:00 +0000 (22:09 -0400)]
lib/mnit: fix `KeyEvent::is_up`

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

8 years agosrc/serialization: use how_serialize to fix generation of call to constructor
Alexis Laferrière [Thu, 2 Jul 2015 03:56:39 +0000 (23:56 -0400)]
src/serialization: use how_serialize to fix generation of call to constructor

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

8 years agosrc/serialization: call constructor only on concrete classes
Alexis Laferrière [Thu, 2 Jul 2015 03:54:19 +0000 (23:54 -0400)]
src/serialization: call constructor only on concrete classes

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

8 years agosrc/serialization: extract annotation search logic to AClassDef::how_serialize
Alexis Laferrière [Thu, 2 Jul 2015 03:53:23 +0000 (23:53 -0400)]
src/serialization: extract annotation search logic to AClassDef::how_serialize

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