Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: MLstate/opalang
...
head fork: MLstate/opalang
Checking mergeability… Don't worry, you can still create the pull request.
This comparison is big! We're only showing the most recent 250 commits
Commits on Feb 12, 2013
@nrs135 nrs135 [feature] apigenlib: Support for raw xmlns type. Additional external …
…support functions.
3e6f3cd
@nrs135 nrs135 [feature] apigenlib: rename_tag. 01bdb26
@nrs135 nrs135 [feature] apigenlib: Added List facility to make_simple_sequence. e1dbf12
@nrs135 nrs135 [feature] apigenlib: Added Nested simple_seq. e4e4e53
@nrs135 nrs135 [feature] wbxml: Make logger function configurable. a81f9b7
@nrs135 nrs135 [feature] apigenlib: Add log package to POST requests. Primitive XML …
…layout function.
31785bf
@nrs135 nrs135 [feature] apigenlib: Added timeout to POST XML functions. 3f3370e
@nrs135 nrs135 [fix] wbxml: missing import. 645e2b2
@Aqua-Ye Aqua-Ye [doc] DNS: document code 330a81c
@Aqua-Ye Aqua-Ye [enhance] Imap: changed Imap type names 004721b
Commits on Feb 13, 2013
@BourgerieQuentin BourgerieQuentin [fix] compiler, database, postgres: Take care that the traverser orde…
…r should be the same between prepared_statement and execute_statement
c2a2eb7
Commits on Feb 14, 2013
@Aqua-Ye Aqua-Ye [feature] Http: added gzip and deflate compression if accepted by the…
… client
ea05bee
@BourgerieQuentin BourgerieQuentin [fix] runtime, postgres: hex binary format a5b20f6
@BourgerieQuentin BourgerieQuentin [enhance] runtime, binary: Add a binary serializer e09bd84
@BourgerieQuentin BourgerieQuentin [cleanup] runtime, postgres: debug logs ca6559a
Commits on Feb 15, 2013
@nrs135 nrs135 [feature] apigenlib: Added another date format for JSON dates. 278c0cd
@nrs135 nrs135 [feature] postgres: Accessor functions. Whitespace change in generate…
…d code.
5fd16b0
@BourgerieQuentin BourgerieQuentin [fix] runtime, postgres: unserialize c3cc4ca
@BourgerieQuentin BourgerieQuentin [enhance] runtime, cps: Added return_exn 622ef4b
@BourgerieQuentin BourgerieQuentin [enhance] plugins, hashtbl: SimpleTable can have an initial value 92476ae
@BourgerieQuentin BourgerieQuentin [fix] runtime, postgres: Empty array unser cc2dac3
@BourgerieQuentin BourgerieQuentin [fix] runtime, postgres: Follow alias (array unser) a475c8e
@BourgerieQuentin BourgerieQuentin [fix] compiler, database, postgres: mapping of optionnal path access 6cd4f40
Commits on Feb 17, 2013
@ogunden ogunden [cleanup] Major house cleaning in Map.opa.
Rudy should be happy. I moved all implementation code into
Map_private, as per his comment ("all implementations should
go in Map_private").

I also normalized the indentation and made most of the
source code fit 80-columns as per CONTRIBUTING.md (I left
only one or two spots where readability would suffer a lot
from adding a newline).

I documented some functions which previously weren't
documented. There are quite a few more in here that could
use documenting still.

I tried very hard not to change any implementations. This is
intended to be a purely aesthetic and organizational patch.
The two cases I can think this would change functionality
are:

1. Many functions which used to be directly implemented in
Map_make are now implemented in Map_private, with a call
from Map_make. The only issue I can think of here would be
performance-related due to an additional function call.

2. I could have made a mistake.

I have done minimal testing (ran opatetris). Unit tests
would make me more comfortable but I didn't find any.
402e4d6
Commits on Feb 18, 2013
@BourgerieQuentin BourgerieQuentin [enhance] compiler, database, postgres: Handle queries options 778e653
Commits on Feb 19, 2013
@BourgerieQuentin BourgerieQuentin [fix] runtime, postgres: pg column name are case insensitive fc8faac
@Aqua-Ye Aqua-Ye [enhance] postgres: typo in error messages a52107e
Commits on Feb 20, 2013
@BourgerieQuentin BourgerieQuentin [fix] stdlib: non file part parsing of HttpRequest.get_multipart 55316f1
@BourgerieQuentin BourgerieQuentin [fix] stdlib: Do not returns quote in name of part 26e24ab
@BourgerieQuentin BourgerieQuentin [fix] build: opapro 2a3ce05
@BourgerieQuentin BourgerieQuentin [cleanup] stdlib, mail: Remove deprecated/non-implemented mail functi…
…ons (tmp)
3ed1990
@BourgerieQuentin BourgerieQuentin [fix] stdlib: quick fix for opapro aecb403
Commits on Feb 22, 2013
@nrs135 nrs135 [fix] postgres: Per-socket authentication via socket pool. 7752ae0
Commits on Feb 26, 2013
@BourgerieQuentin BourgerieQuentin [enhance] compiler, database, postgres: Just randomly tags function a…
…nd prepared statements to avoid conflicts
c5cb456
@BourgerieQuentin BourgerieQuentin [enhance] runtime, postgres: Added IntArray b47f51b
@BourgerieQuentin BourgerieQuentin [enhance] stdlib, runtime: Add a way to initialize PG sessions cb5d7ef
@BourgerieQuentin BourgerieQuentin [cleanup] stdlib, mail: partial revert 3ed1990, keep only smtp client b628657
Commits on Feb 27, 2013
@BourgerieQuentin BourgerieQuentin [enhance] runtime, postgres: Added --db-prefix command line option 51c6fa1
@Aqua-Ye Aqua-Ye [fix] smtp: missing require 23f32ec
Commits on Feb 28, 2013
@ogunden ogunden [feature] add Session.set_connection_lost_handler
Added a way to set a custom callback function to be called
when the client detects that it has been disconnected
from the server.

Prior to this patch, the behavior was always to print to
the jlog (browser page): "The connexion to the server seems
to have been lost." Now the programmer can customize this
behavior.

Here is a fully-functional and tested usage case:

  import stdlib.core.rpc.core;
  import stdlib.web.client;

  client function my_connection_lost_handler() {
    Client.alert("connection lost, press OK to reload");
    Client.reload();
  }

  function setup_handler() {
    Session.set_connection_lost_handler(my_connection_lost_handler);
  }

  function page() {
    <div onready={function(_) { setup_handler() }}>
     this is the <strong>custom connection handler
     test</strong> page. try killing the server and
     waiting a couple of minutes.
    </div>
  }

  Server.start(Server.http,
    {title:"connection handler test", page:page})

Caveats: like many functions in Opa, if you call
set_connection_lost_handler before the client has finished
loading the page, your app will hang. To avoid this, always
call it from within an `onready` or another type of event
handler.
14754de
Commits on Mar 01, 2013
@nrs135 nrs135 [feature] ansi: Improved Ansi library. 7468761
Commits on Mar 05, 2013
@BourgerieQuentin BourgerieQuentin [contrib] merge: pull request #107 from 'ogunden/map_cleanup' 4fc356f
@BourgerieQuentin BourgerieQuentin [cleanup] stdlib, map: Just privatize Map_private 87f840e
@BourgerieQuentin BourgerieQuentin [contrib] merge: pull request #108 from 'ogunden/connectmon' 51e00c0
@BourgerieQuentin BourgerieQuentin [refactor] runtime, ping: Just a quick refactor of the pull request #108
, no more set_connection_lost_handler but add_connection_lost_handler and move to PingClient
4e48661
Commits on Mar 06, 2013
@BourgerieQuentin BourgerieQuentin [fix] runtime, postgres: StringArray serialization bfde3ad
@BourgerieQuentin BourgerieQuentin [fix] compiler, database, postgres: Fix QIn 508cdb0
Commits on Mar 07, 2013
@nrs135 nrs135 [feature] ansi: Log functions. da23c4e
Commits on Mar 08, 2013
@BourgerieQuentin BourgerieQuentin [fix] runtime, postgres: blob list unserialize 3ffdf50
Commits on Mar 12, 2013
@hbbio hbbio Update README.md fe2eecd
Commits on Mar 15, 2013
@blutack blutack Fix Ubuntu package installation for nodejs >0.10.0
No longer attempt to install npm from the nodejs ppa
Nodejs now includes & conflicts with the npm package.
As the ppa now only contains 0.10.0, the npm package should no longer be installed.
f977983
@blutack blutack Fix version checking for nodejs 0.10.0
Version checking should now be a bit more future proof.
Could possibly do with some error handling in case process.versions.node
goes away in future.
07adb7d
Commits on Mar 16, 2013
@Aqua-Ye Aqua-Ye Merge pull request #115 from blutack/patch-1
[contrib] launch_helper: Fix version checking for nodejs 0.10.0
7b4a07e
@Aqua-Ye Aqua-Ye Merge pull request #102 from rdewaele/master
[contrib] configure,launch_helper: support both "node" and "nodejs" as nodejs executables
c50133c
@Aqua-Ye Aqua-Ye Merge pull request #97 from TuTu/patch-1
[contrib] List: doc typo in lib/stdlib/core/list.opa
fa07b3d
@Aqua-Ye Aqua-Ye [doc] AUTHORS: added latest contributors 49732b0
@Aqua-Ye Aqua-Ye [fix] configure: better node version checking 8a68376
@Aqua-Ye Aqua-Ye [doc] configure: use node correct version naming 67c6b58
@Aqua-Ye Aqua-Ye [enhance] launch_helper: better node versions compatibility test, min…
… and max
a0328e6
@Aqua-Ye Aqua-Ye [enhance] configure: limit the max node version also b78fbb2
@Aqua-Ye Aqua-Ye [enhance] launch_helper: bump to node 0.8.22 41441ac
Commits on Mar 17, 2013
@Aqua-Ye Aqua-Ye Merge pull request #114 from blutack/master
[contrib] launch_helper: Opa installation fails on Ubuntu with nodejs v0.10.0
4f5b5fa
Commits on Mar 27, 2013
@nrs135 nrs135 [fix] apigenlib: read_packet_prefixed bug fix. Heavy debug. 5d57564
Commits on Apr 03, 2013
@nrs135 nrs135 [fix] apigenlib: Response with no content type treated as empty. bf0c202
Commits on Apr 04, 2013
@nrs135 nrs135 [fix] apigenlib: Fixed read_packet again. adad9c5
Commits on Apr 09, 2013
@BourgerieQuentin BourgerieQuentin [fix] runtime: #116 + node version 0.10.3 54698c3
Commits on Apr 11, 2013
@BourgerieQuentin BourgerieQuentin [fix] runtime: Fix launch_helper.sh a9ac54c
@BourgerieQuentin BourgerieQuentin [enhance] configure: bump node to 10 906e928
Commits on Apr 12, 2013
@BourgerieQuentin BourgerieQuentin [enhance] tools: Add --pro for installation helper b2a8e8c
RG [fix] runtime: Crypto function since node 0.10.3 29948a3
RG [fix] runtime, logger: Since node 0.10.3 1824593
Commits on Apr 16, 2013
Rudy Sicard [fix] windows: remove_all_symlinks, compatiblity 6fcc383
Rudy Sicard [fix] windows: check_create_path, less useless calls 3cf7199
Rudy Sicard no upx for non binary 79ec904
Quentin Bourgerie [fix] release: Reenable the build before making the release de9d1b8
Quentin Bourgerie [fix] windows: typo license fa68d6b
Quentin Bourgerie [build] version: 1.1.1 a915db2
Commits on Apr 23, 2013
RG [fix] native: Fix for closure apply on native backend 1279e30
RG [fix] compiler: safer specializer 0812637
RG [fix] stdlib: fix map stringifier 388b07b
RG [fix] runtime: cps fix 41653c2
Commits on Apr 30, 2013
@BourgerieQuentin BourgerieQuentin [enhance] compiler: Added global sharing options (to unactivate for n…
…ative backend)
ed29448
Commits on May 22, 2013
@nrs135 nrs135 [feature] apigenlib: Upgraded GET and OPTIONS. Added handlers for jso…
…n and forms.
fa57a30
Commits on May 31, 2013
@nicoolas25 nicoolas25 Fix a date typo on the first line of the changelog ebc5471
@BourgerieQuentin BourgerieQuentin [fix] runtime: Downgrade to node v0.9.9 a4e5e85
Commits on Jun 13, 2013
@nrs135 nrs135 [feature] smtp: Send function with pre-serialized html. e71a2ab
Commits on Jun 18, 2013
@BourgerieQuentin BourgerieQuentin [enhance] worker: Added worker directive (opa + qml) 6bc7a64
@BourgerieQuentin BourgerieQuentin [enhance] compiler, database: Added options for sql queries 16180e4
@BourgerieQuentin BourgerieQuentin [fix] runtime, cps: Recursive nextTick + bump to nodejs 0.10.10 da7849b
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker: Added workable directive + first draft of…
… worker
12080f6
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker: auto propagation of workable directives 7b68cea
@BourgerieQuentin BourgerieQuentin [fix] compiler, worker: better propagation of workable b75cd82
@BourgerieQuentin BourgerieQuentin [fix] compiler, worker, js backend: update exported ident to handle w…
…orkable
c9a45f8
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker: Added an error when a cps bypass is used …
…by a worker
56f7a7f
@BourgerieQuentin BourgerieQuentin [cleanup] compiler, worker: Remove debug logs 2fcf489
@BourgerieQuentin BourgerieQuentin [fix] compiler, cps: handle workable on recursives groups 2e25e56
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker: Added no arrow values and skipped idents …
…of workable idents
2323746
@BourgerieQuentin BourgerieQuentin [feature] stdlib: Added Unicode.{lowercase, uppercase} b81bf61
@BourgerieQuentin BourgerieQuentin [fix] stdlib, parser: Simpliest insensitive comparison (previous one …
…was just a joke)
386ab3f
@BourgerieQuentin BourgerieQuentin [fix] compiler, worker: Better workable propagation 75cdcb1
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker: Separate workable recursive groups 292ea03
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker: Take care of local idents 8185f83
@BourgerieQuentin BourgerieQuentin [enhance] compiler, js: Take care of workable annot in recursive groups 916b477
@BourgerieQuentin BourgerieQuentin [enhance] compiler, undot: Traverse workable directives to enable und…
…ot optimization
a026009
@BourgerieQuentin BourgerieQuentin squash [enhance] compiler, worker: Take care of local idents 598bb91
@BourgerieQuentin BourgerieQuentin [fix] compiler, worker: Fix choose of worker functions 8ced143
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker, js: Take care of bsl projection for workers d0db6ff
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker, slicer: Slicer should take care of workab…
…le annotations
fb69e93
@BourgerieQuentin BourgerieQuentin [enhance] stdlib: Add some workable annotation (to speedup pg driver) 1e77fd0
Commits on Jun 19, 2013
@hbbio hbbio Update README.md ab2ce5f
Commits on Jun 20, 2013
@nrs135 nrs135 [fix] mail: Fix binary handling for mime parser. 68f56ea
@nrs135 nrs135 [fix] postgres: Added missing bool case. 0d85762
Commits on Jun 21, 2013
@BourgerieQuentin BourgerieQuentin [fix] stdlib, string: of_chars a04eae7
@BourgerieQuentin BourgerieQuentin [enhance] compiler, worker: Look the type scheme of ident (gamma) ins…
…tead of instantiated type of ident expression to choose if the skipped version can be selected as a workable version
7f81b8b
@BourgerieQuentin BourgerieQuentin [fix] compiler, worker: Fixed alias case abd8c06
@BourgerieQuentin BourgerieQuentin [feature] stdlib, binary: Added Binary.add_unicode af49f55
@BourgerieQuentin BourgerieQuentin [enhance] stdlib, pg: Rewrite string parser (no more use trx) afd2965
Commits on Jun 22, 2013
@samueltardieu samueltardieu [fix] mail: give required `-t` argument to sendmail
Previous versions of nodemailer.js used to add `-t` automatically to
sendmail command line, in order to fetch recipients from the `To:`,
`Cc:` and `Bcc:` fields. However, this has been recently removed so that
recipients can be specified on the command line instead. It is now
necessary for the caller to add `-t`, or sendmail will exit with error
75 because of the lack of recipients.

Compatibility with older sendmail versions are preserved as giving
multiple `-t` on the command line is similar to giving only one.
f09e413
@samueltardieu samueltardieu [fix] mail: do not use auth if no auth is requested
If the `auth` field in the email options is `{none}`, then no `auth`
should be added to the nodemailer.js options object. Otherwise,
authentication will be attempted with empty (and invalid) credentials.
d68365a
@samueltardieu samueltardieu [enhance] facebook: allow the use of a dispatcher
The Facebook token retriever function requires a raw unparsed query
string that it parses immediately. This prevents users from using a
dispatcher because the query string has been parsed already.

This change allows either a query string or a list of tuples to be used
when handling the answer coming from Facebook redirection.
8010342
Commits on Jun 23, 2013
@hbbio hbbio Merge pull request #128 from samueltardieu/fix-email
Fix email (by Samuel Tardieu)
9871a69
@hbbio hbbio Merge pull request #129 from samueltardieu/facebook-dispatcher
[enhance] facebook: allow the use of a dispatcher (by Samuel Tardieu)
2589a08
@hbbio hbbio Merge pull request #125 from nicoolas25/patch-1
Fix a date typo on the first line of the changelog
2332be5
Commits on Nov 13, 2013
@hbbio hbbio Update installation_helper.sh c59ffd6
Commits on Dec 04, 2013
@hbbio hbbio OCaml 4.01: update deprecated syntax 148f00f
Commits on Dec 05, 2013
@nrs135 nrs135 [feature] stdlib: Added SmtpServer 4a83961
@nrs135 nrs135 [feature] stdlib: Added AUTH to SmtpServer fad4bd0
@nrs135 nrs135 [feature] stdlib: Added (already deprecated) true binary encoding for…
… Binary.
0104c79
@nrs135 nrs135 [fix] stdlib: Converted Mime module to use true binary conversion 08e08a4
@nrs135 nrs135 [clean] stdlib: Tidied up SmtpServer. aa647b6
@nrs135 nrs135 [fix] compiler: Updated for ocaml 4.01.0 c0b8707
Commits on Dec 11, 2013
@nrs135 nrs135 [fix] bslNet: Protection from partially-filled binaries bacd725
Commits on Dec 20, 2013
@nrs135 nrs135 [feature] stdlib: Added primitive LDAP client based on ldapjs 5335b3f
@nrs135 nrs135 [fix] stdlib: Unused names 5d28666
Commits on Dec 27, 2013
@hbbio hbbio mongodb: version bump 35b5358
@hbbio hbbio bslPervasives.js: rewrite jlog, restyle 4791be7
@hbbio hbbio session.js: improved error messages 1a8ed83
@hbbio hbbio db.opa: improved error messages 48e282f
@hbbio hbbio Add displayMode options in gcharts for geo_chart 50dde60
Commits on Dec 31, 2013
@nrs135 nrs135 [feature] stdlib: Added slap password generation and checking to ldap. 2fccf87
Commits on Jan 14, 2014
@nrs135 nrs135 [fix] stdlib: Added catch around ldap connection. fe0e677
@hbbio hbbio Bootstrap 3.0.3 5aba583
@hbbio hbbio Merge branch 'master' of github.com:MLstate/opalang 32eea02
@hbbio hbbio Bootstrap 3 widgets: WIP 9125dc2
@hbbio hbbio Bootstrap 3: further changes 40662d6
Commits on Jan 15, 2014
@hbbio hbbio Bootstrap 3: fixes c1bfffb
Commits on Jan 17, 2014
@hbbio hbbio Parser: Accept 'default' as a field name d4b4eca
Commits on Jan 21, 2014
@hbbio hbbio [stdlib] Dom: Element at mouse position 569fd7e
Commits on Jan 22, 2014
@hbbio hbbio [parser] fix: 'default' as field name 73ea30a
@hbbio hbbio [feature] new Dom.tag_name function a171b98
Commits on Jan 23, 2014
@nrs135 nrs135 [feature] stdlib: Added bind tp ldap. 0042ce7
Commits on Jan 25, 2014
@hbbio hbbio Update README.md 0802728
Commits on Feb 05, 2014
@hbbio hbbio fix: remove unnecessary bslServer_event warning 14c42a4
Commits on Feb 06, 2014
@nrs135 nrs135 [fix] stdlib: Fix empty string returned for zero in Int.to_hex. 3726dad
Commits on Mar 06, 2014
@nrs135 nrs135 [feature] pervasives: Added char_code_at. 8ef610d
Commits on Mar 16, 2014
@hbbio hbbio [build] Preparing version bump 99fef72
Commits on Mar 19, 2014
Mehdi Bouaziz [feature] xml_parser: added case default 5992a2a
Mehdi Bouaziz [feature] xml_parser: more tag patterns
<tagname ... (like before)
<_ ... (any tag)
<(TrxParser) ... (parser)
<{parserExpr} ... (expression of a parser)
<x=... ... (with binding)
<...:... ... (a pattern for the namespace, and one for the name)
ac52d69
Mehdi Bouaziz [feature] xml_parser: added & and ! prefixes
TODO: do the same for classic_syntax/xml_parser.trx
1d8e02e
Mehdi Bouaziz [enhance] xml_parser: allow bindings for & prefixed patterns 320ed91
Mehdi Bouaziz [feature] xml_parser: allow | in tag patterns
e.g. <b | u | i ... >
64d7a3e
Mehdi Bouaziz [fix] @xml syntax: do not take care of xhtml specific things
e.g. allows to write @xml(<br>blah</br>)
3e9c8e8
Mehdi Bouaziz [fix] xml_parser: binding on a node pattern was not working
e.g. case a=<b />: <>{a}</>
was outputing "unbound a"
0d61110
Mehdi Bouaziz [enhance] xml_parser: allow "string {with_opa}" in tag patterns
e.g.
x = "br"
case <"{x}" ... />

/!\ since bindings are done before checking, you can actually do something like this:
case <"http://{x}.org":x=_ />
which will accept, e.g., <opalang xmlns="http://opalang.org" />
but not <opalang xmlns="http://br.org" />
1196bee
Mehdi Bouaziz [fix] js_syntax, xml_parser: fix parsing of embedded parsers
was not working: xml_parser { case (case <a />: "foo"): "bar" }
hope it doesn't break something else
f878bd8
Mehdi Bouaziz [fix] stdlib: List.split_between was missing a case
If [l] has between [min] and [max], we would return {none}
5be7473
Mehdi Bouaziz [feature] xml_parser: more patterns for attributes
Each xml tag has an attribute list.
An attribute is a triple (namespace, name, value), written namespace:name = value.
You can now match an (unordered) attribute list with a (ordered) list of attribute patterns.
An attribute pattern is either:
1. a normal attribute pattern namespace_pattern : name_pattern = value_pattern
namespace_pattern, name_pattern, and value_pattern are like newly introduced tag name patterns, i.e., an optional binding followed by _ (any) or a disjunction (separator |) of
some_name or "some string with {opa insertions}" or {an opa expression representing a parser}, or (a string parser)
Unlike tag name patterns, binding are made with := instead of =
= value_pattern is optional, as well as namespace_pattern :
If name_pattern is a simple name, the value is bound to this name (like it was done previously)
2. a prefixed attribute pattern
If not prefixed, a matched attribute pattern removes the attribute from the remaining attribute list
If prefixed with &, the pattern will not remove the matched attribute
If prefixed with !, !pattern will match only if pattern would not match (no binding is allowed)
3. a suffixed attribute pattern: a pattern followed by a suffix (?, +, *, {x}, or {x,y})
No binding is accepted except at the beginning to bind the whole list (or the option for ?)
4. any attribute: .

Complex examples:
We want to match an element <a ... /> with the following attributes:
- no attributes: <a !. />
- exactly one attribute: <a . !. />
- only attributes from namespace ns: <a "{ns}":_* !. />
- two attributes x and y having the same value: <a x y="{x}" />
- an attribute x, and bind y to the other attributes: <a x y:=.* />
- an attribute x, and bind y to all the attributes (x included): <a &x y:=.* />
- an attribute b starting with a and having a c in the third position: <a &b=("a" .*) &b=(.."c".*) />

/!\ This will break any weird xml_parser such as
<t a={x} a={y}>
because now, matched attributes are eaten

/!\ Greedy, no backtracking
<a x:=_ "{x}" /> can match <a b="c" c="d" /> only if you are lucky.
The order of the attributes is not guaranted, hence
x:=_ can match either b="c" (binding x to "b") or c="d" (binding x to "c")
{x} can only match the other attribute, since the first one has been eaten
00c0319
Mehdi Bouaziz [enhance] stdlib: Xmlns.to_string was not able to handle all (non-xht…
…ml) xml fragments
d201849
Mehdi Bouaziz [feature] stdlib: Rule.of_simple_sum_type 119b0c2
Mehdi Bouaziz [enhance] xml_parser: allow trx-parser-based attribute patterns to bi…
…nd variables

E.g. <a x=(y=some_parser) />: print(y)
would fail with "y is unbound", and now works

This is however limited to single patterns.
<a x=(y=some_parser)|(y=some_parser) />
will still give "y is unbound".

/!\ Since attributes are bound before matching its value, the following patterns are equivalent:
<a x="{x}" />
<a x=_ />
Indeed, "{x}" refers to the value of the attribute x.
Todo: we should produce a warning in such a case.
86de158
Mehdi Bouaziz [fix] xml_parser: previous commit was allowing to backtrack on attribute
matching, which was not the intented result.
If backtracking is wanted, it should probably be done differently.
07e2c23
Mehdi Bouaziz [feature] stdlib: OpaValue.default_with_hints 02b7a45
Mehdi Bouaziz [enhance] xml_parser: handles suffixes on attribute patterns
Examples:
<a x:=_="a"* />: x will be the list of all attributes having value "a"
<a x? />: x will be an option (some will contain the value of the attribute)

For +, *, and {}, only one binding is allowed, at the beginning, the result will be a list of attributes.
For ?, namespace, name, and value bindings are allowed and result to options
a3212ae
Mehdi Bouaziz [fix] xhtml syntax was not allowing attribute names starting with (bu…
…t different than) href

E.g. <a hreflang="fr" ...>, whereas in XHTML standard, was not allowed
bce581b
Mehdi Bouaziz [fix] to_xhtml: avoid stupid runtime errors like
Can't make an xml with {args : list(Xml.attribute); content : list(xml(xhtml_specific_attributes ,xhtml_specific_extensions)); namespace : string; specific_attributes : option(xhtml_specific_attributes); tag : string; xmlns : list(Xml.binding)} / {content_unsafe : string} / {fragment : list(xml(xhtml_specific_attributes ,xhtml_specific_extensions))} / {text : string} / {xml_dialect : option(xhtml_specific_extensions)}}
1713008
Commits on Mar 20, 2014
@hbbio hbbio Update CONTRIBUTING.md 63f1cda
Commits on May 06, 2014
@hbbio hbbio Merge pull request #148 from mbouaziz/master
Enhanced xml parsers
fe531a7
@hbbio hbbio Update README.md f477480
Commits on Jun 17, 2014
@nrs135 nrs135 [fix] stdlib: Respond Ok to empty command for SmtpServer. 875866f
Commits on Jul 04, 2014
@nrs135 nrs135 [fix] mongo: Arrange for authentication of fresh sockets from socket …
…pool
14c9b81
Commits on Jul 07, 2014
@HenriChataing HenriChataing [enhance] DbGen: add case insensitive regex operator =~
  * Mongo supported, not postgres
7695ba4
Commits on Jul 08, 2014
@nrs135 nrs135 [feature] DbGen: Export dbgen's mongo setup for use by backup code 5b89fa6
Commits on Jul 10, 2014
@nrs135 nrs135 [fix] mongo: Disable mongo socket pool authentication due to problems…
… with GridFS
c9358f8
Commits on Aug 22, 2014
@HenriChataing HenriChataing [update] SmtpClient: Update nodemailer to version 1.2 9ffe98e
Commits on Sep 02, 2014
@nrs135 nrs135 [enhance] OAuth: Minor mod to oauth error handling 7d6906d
Commits on Sep 03, 2014
Henri Binsztok [client] straight HTML5 history binding b57be78
@hbbio hbbio [fix] compilation for ocamlgraph 1.8.5 or newer 684229e
Commits on Sep 07, 2014
@planar planar fix invalid printf format dd799bf
Commits on Sep 08, 2014
@nrs135 nrs135 [update] installer: Update ocamlgraph to 1.8.5 2b26efe
@nrs135 nrs135 [fix] compiler: Added missing operator c21db11
@nrs135 nrs135 [fix] syntax: Fix opa syntax for file 51d72ec
Commits on Sep 10, 2014
@hbbio hbbio [update] font-awesome 3ac8a38
Commits on Sep 12, 2014
@nrs135 nrs135 [fix] i18n: Fix misread http request header 8151600
@nrs135 nrs135 [fix] i18n: Fix client-side language definition 812e13c
Commits on Sep 18, 2014
@HenriChataing HenriChataing [feature] Bind sessionStorage and localStorage 33a997e
Commits on Sep 23, 2014
@nrs135 nrs135 [enhance] tools: Added po2opa temporarily 4ec89b6
@nrs135 nrs135 [fix] tools: Remove opx dir from po2opa ccea032
@nrs135 nrs135 [enhance] tools: Added missing po2opa file 860c307
Commits on Sep 24, 2014
@nrs135 nrs135 [delete] tools: Remove po2opa 0a38647
Commits on Sep 25, 2014
@hbbio hbbio Bootstrap: upgrade to 3.2.0 88c313b
Commits on Oct 02, 2014
@nrs135 nrs135 [fix] oauth: Improved error handling 94e4e6d
Commits on Oct 13, 2014
@HenriChataing HenriChataing Date: Extend date parser with timezone abbreviations (%Z command) 60312e6
@hbbio hbbio Update README.md afb7be4
Commits on Oct 21, 2014
@nrs135 nrs135 [fix] oauth: Align with webmail implementation of oauth aa288a6
Commits on Nov 03, 2014
Henri Binsztok [fix] workaround for a bug in Internet Asshole Explorer 0dd073e
Henri Binsztok Merge branch 'master' of github.com:MLstate/opalang 08cf597
Commits on Nov 05, 2014
@twopoint718 twopoint718 Use alternate DDL statements to avoid error messages
- Attempting to run "CREATE TABLE" each time the app runs will cause error
  messages like:
  ...{f1 = 77; f2 = relation "_default" already exists}...
- Running "CREATE LANGUAGE" each app startup will cause:
  {f1 = 77; f2 = language "plpgsql" already exists}
5a40a17
@hbbio hbbio Merge pull request #163 from twopoint718/master
[fix] Postgres errors on app startup: use alternate DDL statements to avoid
24d7715
Commits on Nov 10, 2014
Henri Binsztok [version] bumped MongoDb to 2.6.5 047f58b
Commits on Nov 19, 2014
Mehdi Bouaziz [feature] System.execo: exec with options (timeout, maxBuffer, cwd, k…
…illSignal)
3356533
Mehdi Bouaziz [feature] Map.From.assoc_list_multi, Map.add_to_multi 5182c23
Mehdi Bouaziz [feature] List.split_n 7661d5a
Mehdi Bouaziz [fix] Uri decoder did not handle non-ASCII UTF-8 characters (e.g. enc…
…oded with Uri.encode_string)
b0d0324
@hbbio hbbio Merge pull request #164 from mbouaziz/pr_utf8_uri_escaped_chars
Fix: Uri decoder did not handle non-ASCII UTF-8 characters
72c0791
@hbbio hbbio Merge pull request #165 from mbouaziz/pr_multi_map
Feature: multimaps
8fa0826
@hbbio hbbio Merge pull request #167 from mbouaziz/pr_list_split_n
Feature: List.split_n
3e10a6e
@hbbio hbbio Merge pull request #168 from mbouaziz/pr_execo
Feature System.execo: exec with options
48073fa
Commits on Nov 20, 2014
@nrs135 nrs135 oauth: Added debug statements to help with oauth parameter debugging 9057d72
@nrs135 nrs135 [fix] oauth: Fix printing of signature key b1bc65c
Commits on Nov 24, 2014
@nrs135 nrs135 client: Couple of small functions for Client package 1541c08
Commits on Nov 25, 2014
Henri Binsztok [fix]: better localStorage exists binding df48896
Henri Binsztok [fix]: same update for sessionStorage 9604c9e
Henri Binsztok fix: inverted JS functions 2044546
Commits on Dec 18, 2014
@nrs135 nrs135 [fix] binary: Put in better checks for bad node values in string_of_b…
…inary
265c330
Commits on Jan 12, 2015
@HenriChataing HenriChataing list: Define additional functions
 * shift
 * last, last_opt
8815068
Commits on Jan 13, 2015
@HenriChataing HenriChataing [fix] bslNet: Fix error in function 'is_secured'
  -> check definition of 'getPeerCertificate' method
12f8134
Commits on Jan 19, 2015
@HenriChataing HenriChataing opalang: Switch to ocaml v4.02.1 f6cf971
Commits on Jan 28, 2015
@HenriChataing HenriChataing nodemailer: Pass callback to Transport.close b956489
Commits on Feb 11, 2015
@HenriChataing HenriChataing [fix] Client: Correct handling of _self and _blank in winopen d97bdac
@HenriChataing HenriChataing stdlib: Remove LDAP api 5114841
Commits on Feb 17, 2015
@hbbio hbbio Update README.md 8d53fd3
Commits on Feb 19, 2015
@mbarbin mbarbin use == d4acb3b
@hbbio hbbio Merge pull request #173 from mbarbin/fix-in-qmlAstWalk
use ==
09b573a
Commits on Feb 24, 2015
@HenriChataing HenriChataing [fix] mongo: Ensure that the query limit is respected f80aecc
Commits on Feb 27, 2015
@HenriChataing HenriChataing jsbsl: Upgrade jQuery to v1.11 3e48e18
Commits on Mar 02, 2015
@HenriChataing HenriChataing [fix] bslSmtp: Missing callback argument d841394
Commits on Mar 03, 2015
@HenriChataing HenriChataing client: Add _top target to Client.winopen 0edd8f0
@HenriChataing HenriChataing web_client: Add strictSSL option
 -> To avoid certificates being rejected with
  DEPTH_ZERO_SELF_SIGNED_CERT erros
 -> NB: the option has not been added to the API, strictSSL
  can be changed in Generic.try_request_with_options_async
dfb498c
Commits on Mar 04, 2015
@HenriChataing HenriChataing opaSerialize: Add test cases for list serialization (#157) a39667b
@HenriChataing HenriChataing ipv4: Implement hybrid IP notation 4b61424
@HenriChataing HenriChataing ipv4: Implement hybrid IP notation II
 + add '::1' rule for 127.0.0.1
c668609
Commits on Mar 12, 2015
@HenriChataing HenriChataing [fix] cookies: Fix server option --cookie-accept-client-values d61c9db
@HenriChataing HenriChataing oparpc: Better RPC error messages 2df2fc3
Commits on Mar 16, 2015
@HenriChataing HenriChataing [fix] oauth: Fix request signature db677e5
Commits on Mar 23, 2015
Henri Binsztok new feature: Dockerfile 6049be0
@hbbio hbbio Merge pull request #160 from planar/strict-formats
fix invalid printf format
19a28a4
Commits on Mar 26, 2015
@HenriChataing HenriChataing intl: Implement embedded string internationalisation
 Notes about this commit:
  - this feature comes in replacement of the previous i18n
   system, which made compiling Opa applications much harder
  - intl is based on Format.js' intl-messageformat library and its
   ICU message formatting options.
  - the syntax is extended with the new directives @intl and @locale
   which, respectively, build a new translated string, and return the
   client locale selection.
  - the syntax of strings inside @intl directives has been modified
   to be able to parse ICU message formats appropriatly.
  - Finally, IntlMessageFormat does not translate base strings.
   Translations files must be included in a predefined locale
   directory.
f37da72
@HenriChataing HenriChataing i18n: Remove @i18n directives and underlaying functions 40725f9
@HenriChataing HenriChataing i18n: Remove i18n options from opaEnv ad00eef
Commits on Mar 30, 2015
@HenriChataing HenriChataing intl: Cache the translation map client side 6930e19