I don't think I added it to the right sidebar. Go ahead and add it, if you like.
I added it to the list of "New ActionScript language features" on the AS3 page, though. -- Josh Tynjala Bowler Hat LLC https://bowlerhat.dev/ On Mon, Jan 26, 2026 at 11:58 AM Andrew Wetmore <[email protected]> wrote: > This is a great add. > > Did you include this new page in the index of site pages that appears on > the right? I don't see it. I can add it, if you like. > > And does this feature fall into the category of "New ActionScript language > features in Royale" on https://apache.github.io/royale-docs/features/as3 ? > These come with a caution not to use them if you want your app to be 100% > compiler-neutral. > > a > > > Andrew Wetmore > Assistant VP, Marketing and Publicity, The ASF <http://aparch.org> > Editor-Writer, Infra team, The ASF > > Editor, moosehousepress.com > > > < > https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail > > > Virus-free.www.avast.com > < > https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail > > > <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > On Tue, Jan 20, 2026 at 4:33 PM Harbs <[email protected]> wrote: > > > Thank you Josh!!! > > > > This is probably my #1 feature I’ve been missing in ActionScript. > > > > This will do a world of good for type safety and being able to express > > required types! > > > > I’m looking forward to making use of this! > > > > Harbs > > > > > On Jan 20, 2026, at 10:29 PM, Josh Tynjala <[email protected]> > > wrote: > > > > > > Hi folks, > > > > > > I just wanted to take a moment to highlight a new ActionScript language > > > feature that I recently implemented in Royale's compiler: Function type > > > expressions. Or perhaps you might call them strict function types. > > > > > > Basically, instead of using the Function type, like this: > > > > > > var validate:Function; > > > > > > You can define the function signature as a type, like this (The syntax > is > > > pretty similar to TypeScript's): > > > > > > var validate:(input:String)=>Boolean; > > > > > > And then, the compiler can check for mismatches. The following > assignment > > > will fail: > > > > > > var validate:(input:String)=>Boolean = > function(input:ByteArray):Boolean > > { > > > return false; } > > > > > > It should give the following error: > > > > > > Error: Implicit coercion of a value of type (input:ByteArray)=>Boolean > to > > > an unrelated type (input:String)=>Boolean. > > > > > > The syntax supports optional parameters and rest parameters. Optional > > > parameters would be equivalent to parameters that have a default value > > in a > > > regular function signature. However, you don't need to specify the > > default > > > value in the function type expression (assigned functions are allowed > to > > > have different default values or to use rest instead), and you may use > > the > > > ? token to indicate that a specific parameter is optional. > > > > > > var func:(s?:String, ...rest):void; > > > > > > You can even nest function type expressions. > > > > > > var action:(callback:(result:Object)=>void):void; > > > > > > I've created some documentation to help folks get started: > > > > > > > https://apache.github.io/royale-docs/features/as3/strict-function-types > > > > > > -- > > > Josh Tynjala > > > Bowler Hat LLC > > > https://bowlerhat.dev/ > > > > >
