Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Haxe 4 changes, part 2 #387

Merged
merged 31 commits into from
Apr 22, 2019
Merged

Haxe 4 changes, part 2 #387

merged 31 commits into from
Apr 22, 2019

Conversation

Aurel300
Copy link
Member

@Aurel300 Aurel300 commented Apr 17, 2019

Continuing #383 for an easier review process.

Syntax

  • XML Markup literals

Stdlib

  • implements Dynamic on externs only
  • sys.thread
  • haxe.iterators (I mentioned the Unicode iterator, the others are more or less part of other APIs anyway)

Compiler defines

Compiler features

  • null safety

Target changes

  • *.Syntax classes to replace untyped __{js,php,...}__
  • JS
    • ES6 generation via -D js-es=6 (already documented)
    • externs for Map, Set, Date ...
    • some externs moved to js.lib
  • PHP
    • minimum version supported is now PHP 7.0
    • --php-{prefix,front,lib} changed to -D php-*=
  • Lua
    • -D lua-vanilla
  • macro
    • eval target ?
    • debugger
    • @:persistent (replacing registerModuleReuseCall and onMacroContextReused)

External libraries

  • jQuery and swfobject
  • hx3compat
    • haxe.remoting
    • haxe.web.Request
    • haxe.unit
  • record-macros (not documented in the first place)

Other changes

HaxeManual/10-std.tex Outdated Show resolved Hide resolved

\paragraph{Default Static Extension}

It is also possible to always enable particular static extensions for a given type, by annotating the type with the \expr{@:using(args...)} metadata. The arguments are the full dot paths of static extension classes that will be applied on the type:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This implies that @:using works for every type, while it seems to basically only work for enums and classes at the moment...

HaxeFoundation/haxe#8022
HaxeFoundation/haxe#7930
HaxeFoundation/haxe#7859

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess we'll leave this as-is for now :)

HaxeManual/13-debugging.tex Outdated Show resolved Hide resolved
@Aurel300 Aurel300 marked this pull request as ready for review April 18, 2019 20:47
HaxeManual/03-type-system.tex Outdated Show resolved Hide resolved
HaxeManual/06-language-features.tex Outdated Show resolved Hide resolved
HaxeManual/06-language-features.tex Outdated Show resolved Hide resolved
HaxeManual/06-language-features.tex Outdated Show resolved Hide resolved
HaxeManual/09-macros.tex Outdated Show resolved Hide resolved
HaxeManual/10-std.tex Outdated Show resolved Hide resolved

A string in Haxe code represents a valid sequence of Unicode codepoints. Due to differing internal representations of strings across targets, only the basic multilingual plane (BMP) is supported consistently: every BMP Unicode codepoint corresponds to exactly one string character.

On some targets, the internal representation is UTF-16, which means that non-BMP Unicode codepoints are represented using surrogate pairs. It is still possible to work with strings on these targets without having to manually decode surrogate pairs by using the \href{https://api.haxe.org/v/development/haxe/iterators/StringIteratorUnicode.html}{Unicode iterators API} provided in the standard library.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought that we wanted to remove StringIteratorUnicode in favor of Utf8.iterate, but I'm not sure. Have to keep that in mind though.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HaxeManual/10-std.tex Outdated Show resolved Hide resolved
HaxeManual/10-std.tex Outdated Show resolved Hide resolved
HaxeManual/12-target-details.tex Show resolved Hide resolved
@Simn
Copy link
Member

Simn commented Apr 19, 2019

@RealyUniqueName: Can you check the null-safety section?

@Aurel300 Aurel300 mentioned this pull request Apr 22, 2019
4 tasks
@Aurel300 Aurel300 merged commit db64377 into master Apr 22, 2019
@Aurel300 Aurel300 mentioned this pull request May 24, 2019
@Aurel300 Aurel300 deleted the feature/haxe4-part2 branch June 11, 2019 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants