APL+Win 14.0

The APL+Win v14.0 release is available and recommended for all current APL+Win subscribers.

To download this release, visit and and click "APL+Win v14.0 Update" or "APL+Win v14.0 installer".

The APL+Win 14.0 includes the following enhancements/bug fixes:


  1. Enhancement 1:
    The Inline Control Sequences (ICS) introduced in v10 is no longer deemed an experimental feature in APL+Win.
  2. Enhancement 2:
    Optimized the Enlist primitive functions for all types of simple vectors (CHAR, BOOL, INT, FLOAT, UCS) enclosed in a nested singleton (or empty) vector. In addition, there is a speedup to no-op enlist on simple vectors that are not nested.
  3. Enhancement 3:
    APL+Win now returns an exit code to the calling batch process when registered as an ActiveX server.
  4. Enhancement 4:
    New apldata property to the APL+Win ActiveX Server class that controls how character data is transmitted by APL+Win ActiveX Server class.

    The apldata property for the APL+Win ActiveX Server objects is a boolean singleton whose values control how character data is transmitted by APL+Win ActiveX Server objects.

    When apldata=0 (default), the APLW.WSEngine exhibits the existing character data behavior where character vectors are converted to ActiveX BSTR strings (unicode) and character matrix or higher rank data get their last axis removed and each row converted to a BSTR string (E.g., a shape (3 5) char matrix gets converted to a 3 element vector of length 5 BSTR strings.

    When apldata=1, character data gets passed to and from APLW.WSEngine and the new experimental APLW.WS server object without modification and scalar character data is passed as scalar data rather than being converted to one element vectors. Also, ⎕AV is passed as ⎕AV and matrix and higher rank character arrays are passed without being converted to a vector of vectors.

  5. Enhancement 5:
    New experimental APL+Win ActiveX Server class, APLW.WS, that allows the user to start any v14.0 APL+Win executable as the APL+Win ActiveX Server (APLW server) with any user-specified command line options.

    To start an instance of APLW.WS running with an explicit workspace and INI file specification, do the following:

          'ws' ⎕wi 'Create' 'APLW.WS' 'Load' 'MyPath\MyWorkspace.w3' 'MyPath\MyApp.ini'

    This will start the APLW server session with INI file MyPath\MyApp.ini and load workspace "MyPath\MyWorkspace.w3".

  6. Enhancement 6:
    New updates to the APL+Win C# Script Engine (CSE).

    This version of the APLNext C# Script Engine requires APL+Win v14.0.01(or above) and the APLNext C# Script Engine v1.0.102 (or above).

    • The CSE □cself property has been implemented.
    • The CSE System Object ('#') has been implemented.
    • The CSE Reset method of the CSE System Object has been implemented.
    • The CSE instances property of the CSE System Object has been implemented.
    • The CSE AddEventHandlerEx method has been implemented.
    • The CSE GetEvents, GetMethods and GetProperties methods are extended to static classes and private objects via additional option method arguments.
    • The CSE GetMethods and GetProperties methods are extended to objects in the scope of the CSE instance
    • The CSE GetMethods and GetProperties now provide hierarchical class information and argument and result type information.
    • The CSE GetSessionTypes method has been implemented.
    • The CSE GetVariables, GetValue and SetValue methods have been enhanced to support objects.
    • The CSE unicode property has been implemented.
    • The CSE transpose property has been implemented. Implicit transpose of APL+Win arrays of rank two or greater as arguments to the CSE GetValue and SetValue methods is provided by the default value of the CSE transpose property.
    • The initial values for applicable CSE properties are now located in the aplw.ini file section [CSE].
    • The APL+Win C# Script Engine Manual.pdf document has been extensively updated:
      • The CseHelpStrings.txt file provides 1-line information about the CSE object model.
      • Important new examples are provided in the documentation including:
      • - Creating custom .Net events to use in the CSE
      • - CSE and C# Events: Modifying EventArgs Property Values
      • - .Net GUI Events and APL+Win
      • - Extending the CSE
      • The CSE Code Samples folder has been significantly enhanced. All examples in the documentation are available as APL+Win workspaces, so that they can be duplicated by customers as well as used as a test base for future CSE versions.

Bug Fixes

  1. Bug Fix:
    APL+Win should no longer crash but report the appropriate error message like FILE DATA ERROR when reading data that is corrupted (invalid) in a component file.
  2. Bug Fix:
    The session manager editor windows now properly treat hard Tabs (⎕TCHT) like spaces when preceding the :case and :return control structure clauses.
  3. Bug Fix in v14.0.02:
    The optimization to the Enlist primitive function in v14.0.01 did not return correct results for empty nested arrays where the prototype was a simple vector.
  4. Bug Fix in v14.0.02:
    The crash logging mechanism can fail to produce its full output if it encounters an error while generating the crash dump file.

Please send any questions or comments to APL2000 Technical Support