Jolie Interfaces

Interface definition roadmap

Cari, con questa mail apro un long term thread di discussione sulle interfacce jolie.E' un tema a cui tengo molto perché è un punto di forza importante che abbiamo e che dobbiamo rafforzare ancora di più per poter vantare un vantaggio competitivo sulle altre tecnologie. la regola per noi è: contract first! Cosa che noi facciamo normalmente ma che invece non è affatto scontata per gli altri. In generale io propongo di aggiungere delle keyword come segue al linguaggio di interfaccia: native enum MyEnum: string { // può anche essere int, long, double, ecc, se dovesse servire "pippo", "pluto" "paperino"} native regex MyRegex: string { max-lenght: 100, min-length: 0 regex: // una sintassi per le regex} native range MyRange: int { // può esserci anche double o long [0,10], ]12,13], ]15,24[, [30,32[} map MyMap { // questo modella le mappe chiave-valore dove la chiave è sempre una stringa mentre il valore può essere un tipo standard jolie. Min e max esprimono il minimo di chiavi ed il massimo di chiavi attese keytype: MyRegex, keytype: MyOrdinaryType, min: 1, max: 10,} un tipo potrebbe a questo punto diventare type MyType: void { .field1: MyEnum, .field2: MyRegex, .field3: MyRange, .field4: MyMap, .field4: string, ....} tra i native aggiungerei oltre a int, long e double, anche decimalper poter esprimere i BigDecimal cosa che al momento non riusciamo a trattare.

Last updated