available toolkit emissio Haxe 4.0, quod multi-paradigma altum-gradum programmandi linguae eiusdem nominis cum validis typingibus, compilator crucis et bibliothecae functionum vexillum comprehendit. Project translationem ad C++, HashLink/C, JavaScript, C#, Java, PHP, Python et Luae sustinet, necnon compilationem ad JVM, HashLink/JIT, Flash et Neko bytecode, cum accessu ad facultates indigenas cuiusque scoporum suggestuum. Compiler codice per distribui sub GPLv2 licentia, et bibliotheca vexillum et apparatus virtualis in Haxe . exculta neko sub licentia MIT.
Lingua is expressio orientatur validis typing. Object-orientatur, notiones programmationis genericae et functionis fulciuntur.
Haxe syntaxin prope ECMAscript and expands eius lineamenta ut typing statice, autotypum illationis, exemplar congruens, generica, iterator-substructio loramenta, AST macros, GADT (Generaled Types Data Algebraica), genera abstracta, structurae anonymae, definitiones ordinatae simpliciores, expressiones compilation conditionales, metadata agris adnectuntur. , classes et locutiones, interpolationes chordae ('nomen meum nomen $'), parametri genus ("nova MainβΉStringβΊ('foo')"), et quanto magis.
class Test {
static munus principale () {
var people = [
"ELISABETHAM" => "Programma";
"Joel" => "Design"
];
nam (nomen in people.keys()) {
var job = people[nomen];
vestigium ('$nomen$ officium pro vivi!');
}
}
}
Nova syntaxis ad genus functionis specificandum "(nomen:String, age:Int)->Bool" vel "(String, Int)->Bool" pro "String->Int->Bool".
Sagitta munus syntaxis est" (a, b) -> a + b" loco "munus(a, b) reddere a + b".
Tutela contra problemata cum usu valorum Null (experimentalis pluma, optionally para pro certis agris, generibus vel fasciculis).
"ultimum" keyword est pro genere agrorum et variabilium localium quae incommutabiles sunt. "ultima" etiam ad functiones definiendas adhiberi possunt ne opprimantur hereditatibus et classibus/commodis quae hereditari non possunt.
Support Vexillum unicum pro basi generis "String" in omnibus compilatione scutorum praeter Neko.
Inaedificata interprete de integro rescripta, quae nunc sub nomine venit Censeo. Gratias ad novum interpretem, scripta et macros multo velocius currunt. Interactive debugging modus sustentatur.
Novum scopum systema compilation (scopum) Hashlink - summus perficientur runtime destinatus Haxe, compilationem bytecode pro JIT vel C sustinens, facilem integrationem habet cum C, ac accessus ad rationes numerorum et indices humili gradu.
Novum JVM scopum - sinit te bytecode generare jvm omissis Iava codice compilatione gradatim addendo "-D jvm" vexillum cum in Java nisl.
Facultas explicandi in puncto vocandi functiones vel constructores, etiamsi uti tales non declarantur.
Facultas inclusio Vestibulum extensiones cum declarans typum (ut "enum") utens "@:using (path.ToExtension)".
Typi abstracti nunc sustinent "statuam" versionem "@:op(a.b)" operator ad reload "obj.foo = bar" locutiones.
The "pro" ansa syntaxis nunc iterationem key-valorem sustinet: "pro (clave => valorem in collectione) {}".
Firmamentum est usus xml quasi markup in expressionibus: βvar a = βΉhi/βΊ;β. Nunc enim, haec factura tantum praesto est ut parsing cum macros et in theatro designatur.
Syntaxis ad libitum agrorum in "plena" notatione structurae anonymi typi est: "{ var ?f:Int; }" (jocus brevis "{ ?f:Int }").
Valores Enum nunc esse possunt valorum defectuum ad rationes functiones: "munus fooβΉTβΊ(option:OptionβΉTβΊ = None)".
Nomen "enum abstractum" {}" syntaxin "@:" praepositionem in "enum" non amplius requirit.
Dinumeratio auto- rum abstractorum:
enum abstract Foo (Int)
var A; // 0
var B; // 1
}
enum abstract Bar (String) {
var A; // "A"
var B; // "B"
}
Keyword "externus" usum "@:" non amplius requirit.
optio remota "fabros Dynamic" accedere classium per chordas agrorum. Praesto ad classes externas vel per exsecutionem generis abstracti.
Addidit "A & B" syntaxin pro sectionis speciei, quae nunc tantum in structuris anonymis ac parametris angustiis applicatur. Syntaxis coactus vetus detracta est.
Inanis "Map" instantiarum creans praesto est per syntaxin "var map:MapβΉInt, StringβΊ = []; similis est ordinata.
Data structura "haxe.ds.ReadOnlyArray" addidit.
Metadata nomina intervalla habere nunc potest ("@:praefix.nomen munus() {β¦}"). Similiter cum definitionibus: "#si".