Download and Install the APL385.TTF Font
A number of pages of this site show sample APL code: to see APL characters correctly in your browser, please download and install the APL385.TTF font on your system.

Download the APL385.TTF Font

PivotChart v2.26 (May 22, 2016)
Interactive Pivot Tables coupled with 50 types of 2D and 3D charts
PivotChart is a C# ActiveX Control that you can use in any APL+Win application.

With PivotChart, you (or your users) can analyze any APL data set by simply dragging and dropping columns names in the user interface. You can build almost any imaginable pivot table you can think of: moreover your data is automatically coupled with charts and you can choose among 50 types of 2D and 3D charts to represent your data.

Learn more and download a 30-day Trial Version...

Download "Getting Started with LC.PivotChart.doc"

Here are some examples:

Analyzing radio audiences by Time of Day and by Day of Week
Analyzing radio audiences by Target and by Day of Week


LearnAPL (freeware) (May 22, 2016)
Rediscover the APL Language!
Explore and use APL+Win with Tutorials, powerful Utilities and Charts

LearnAPL is an initiative to let anyone rediscover and try using the APL language: the version of APL which is included is the latest version of APL+Win. LearnAPL includes easy to use powerful charts and includes the zObjects product (freeware) to let you easily create nice user interfaces and easily use parts of the .Net Framework.

Download "LearnAPL" (freeware) (21674 KB)
After downloading the LearnAPLSetup.exe file, right click it, select Properties and check the Unblock button if you see one.

The following example shows how you can compute a linear least square fit and then draw it in a chart, all with 4 APL instructions!



LC.Charts v2.5 (freeware for registered APL+Win Users) (Jul 5, 2015)
Easy and Powerful Charts and Graphics for APL+Win Users
With LC.Charts you can create 2D and 3D charts with a single instruction in your APL Session!

Version includes 4 new types of charts:

  • a new type of horizontal and/or vertical bar chart
  • a new type of curve chart
  • a new type of curve chart with trend lines
  • polar and radar charts

Here are some examples:

Customized 3D chart Customized 3D chart
Customized 3D chart Customized 3D chart

See What's New in v2.5.0.0...


LC.Charts (freeware) v2.4 (Mar 3, 2015)

This version brings a number of new properties and methods to customize 3D-charts.

Here is an example:

Customized 3D chart

See What's New in v2.4.0.0...


LC.Charts (freeware) v2.3 (Jan 31, 2015)

This new version allows you to fully customize 2D charts.

See What's New...


LC.Charts (freeware) v2.2 (Jan 25, 2015)

LC.Charts is 2D and now 3D! (discover the 10 types of 3D charts, new in v2.2)

APL is a fantastic, concise, beautiful and pure language that really deserves a much boarder exposure!

A single APL instruction often does the same job as a 20 or sometimes many more lines of code of a traditional language, and it is unique in the way it allows you to explore your data in the APL Session!

So it should also be possible to display your APL variables in a chart with a single instruction, right? This is what LC.Charts offers you.

But it goes much further as you can embed LC.Charts in your APL+Win forms and also create and customize them using ⎕wi.

And it's totally free: you can even include LC.Charts in your commercial products!

The following simple APL User Command creates a set of random data and produces the chart displayed below:

      ]chart3D ⎕split⍉?⌊.5+60 3⍴(⍳90)*.1×5+?5 /ti=3D-TrendSurface /zmaj=5 /ty=trendsurface

trendsurface chart

New LC.Charts Freeware (Jan 7, 2015)
Easy and Powerful Charts and Graphics for APL+Win Users

LC.Charts is a C# ActiveX DLL that allows you to visualize your data from any APL+Win workspace through various types of charts.
LC.Charts is free and you can even include it within your commercial applications or products.

Just use it as an ActiveX with ⎕wi or use the supplied ]chart User Command as follows:

      ]chart myAPLVector
      ]chart myAplMatrix

or use a few of the many ]chart options to customize your chart (Learn more and see examples...):

      ]chart SampleData1 /chc /ti=My Chart /xti=X-Axis Title /yti=Y-Axis Title /xa=30 /ya=30

Displaying APL variable SampleData1 with LC.Charts

APL+Win v14.2 Released (Aug 18, 2014)

This new version includes several enhancements like allowing to XLOAD an MRU workspace from the File menu by Ctrl+clicking it.
It also includes a number of new methods and important enhancements to the C# ⎕CSE .Net interface.

Read more details...

APL+Win v14.1 Released (May 20, 2014)

This new version extends the new notation: variable {primitive} ← to all scalar dyadic primitives (examples: A+←5 or A⌈←12) and adds a new ⎕NFE system function. It also includes a number of important enhancements to the C# ⎕CSE .Net interface.

Read more details...

zObjects (April 1, 2014)

zObjects is a new software intended to be used by APL+Win developers to much more easily create and maintain Object Oriented APL+Win applications and make them much more attractive at the same time.

zObjects also allows you to use all kinds of .Net Framework and .Net 3rd party objects in your APL+Win applications.

Read more details...

Also, find out what zObjects is by reading:

Using .Net with cse Made Easy.pdf (5.4 MBytes)
(right click on the link and select Save target as... to save this .pdf file on your computer)

APL+Win v14.0 Released (Jan 21, 2014)

This new version includes many new enhancements to the CSE .Net Interface system as well as to the APL+Win Interpreter, including important speedups to the Enlist ( ) primitive and a few bug fixes

Read more details...

SSGear v1.37 Released (Dec 19, 2013)

The new SSGear 2012 v1.37.0.0 has been released: it includes a number of new properties and methods.
Reminder: SSGear is an Excel-compatible Grid object embeddable in your APL forms and 100 faster than Excel!

See the enhancements!

APL+Win v13.3 Released (Oct 23, 2013)

This new version includes many enhancements to the CSE .Net Interface system as well as a few bug fixes

Read more details...

APL+Win v13.2 Released: APL+Win is now directly interfaced with Microsoft .Net! (Sep 4, 2013)

APL+Win v13.2 includes a few bug fixes and includes a brand new direct interface between APL+Win and Microsoft .Net through the use of the new ⎕CSE system function. Although it is still possible to create C# ActiveX DLLs that you can use from APL using NetAccess, it is now possible to directly embed and execute C# statements or scripts on the fly in your APL programs. It is also possible to load and use existing C# DLLs directly from your APL programs. This new APL+Win version requires the latest .Net Framework v4.5 version and gives access to its thousands of classes, as well as to countless third party .Net tools and controls available on the market. It will require that you learn (at least a bit of) C#, something that I have recommended to all my customers for the last few years.

Contact me for ⎕CSE/C# Training or ⎕CSE/C# Development Help.

Read more details...

Learn how to use the new APL+Win .Net Interface

CSE Tutorial (1)...
CSE Tutorial (2)...
CSE Tutorial (3)...
CSE Tutorial (4)... (now includes an example with an APL event handler)
CSE Tutorial (5)...

APL+Win v13.1 Released (Jul 26, 2013)

APL+Win v13.1 includes new primitives and operators, a number of very interesting enhancements and some bug fixes.

Learn how the new Catenate primitive syntax can be from 50 to 134 times faster than previous existing syntax!

Read details...

APL+Win v13.0 Released (Apr 15, 2013)

APL+Win v13.0 includes a few bug fixes and enhancements

Read details...

APL+Win v12.3 Released (Dec 21, 2012)

APL+Win v12.3 includes several enhancements including a new Control Structure: :FOREACH ... :ENDFOREACH

Read details...

SQL v3.1 Released (Nov 19, 2012)

This new version includes full support for Stored Procedures.

See the enhancements!

SSGear v1.26 and 1.27 Released (Nov 19, 2012)

Two new versions of LC.Objects.SSGear.dll have been released: they include a number of new properties and methods.

See the enhancements!

APL+Win v12.2 Released (Sep 26, 2012)

Read details...

Using APL+Win from an ASP.Net Web Page

You can run C#+APL+Win ClickOnce applications as demonstrated on this Web Site, but you can also simply write ASP.Net Web Pages that run APL calculations in the background

See an Example!

APL+Win v12.1 Released (Jul 30, 2012)

Read details...

APL+Win v12.0 Released (May 10, 2012)

Read details...


New Product: SQL DLL©

SQL DLL© is a C# ActiveX DLL which gives any APL+Win (or Dyalog APL, VB6 or C#) developer direct and full easy access to MS Access and SQL Server databases.

The SQL DLL allows you to programmatically create, open and drop databases, perform any SQL query or nonquery on your database, create/remove primary keys and relations, etc.
It especially allows you to:

  • work with SQL Server local and remote databases
  • easily perform very fast bulk inserts to populate your tables with large amounts of data efficiently
  • easily perform very fast bulk updates to to change large amounts of records efficiently

New Product: Ribbon©

Ribbon© is a new product designed for APL+Win (and Dyalog APL) users to allow them create and use Office-like ribbons in their APL forms.

With the Ribbon© you can easily, at reduced cost, modernize your APL applications and greatly enhance their look and feel by replacing your application menus and toolbars by a Ribbon!

Ribbon© is delivered as a self-contained C# ActiveX DLL, as a workspace showing various Ribbon examples, including a Tutorial and as a User Command file. Ribbon© requires the .Net Framework 4 and APL+Win v3.0+ (or Dyalog APL v10+). Being a C# ActiveX DLL, Ribbon© can also be used from VB6 or any other product supporting ActiveX.

Here is a sample APL+Win form with a Ribbon:

APL form with a Ribbon control

New Product: SSGear©

SSGear© is a new product designed for APL+Win (and Dyalog APL) users which can also be used by any software supporting ActiveX.

It is a C# ActiveX DLL which allows you to work with Excel, but offers dramatic improvements over using Excel or Excel.Application directly from an APL+Win (or Dyalog APL) application:

  1. it is about 100 times faster than Excel and Excel.Application (or my TExcel5 object which is based on Excel.Application)
  2. it is more than 15 times faster than the APL+Win Grid which is known to be a pretty fast grid object
  3. it is compatible with Excel 2003, 2007, 2010 (including formatting, formulae, charts, printing engine, etc.)
  4. it can create/read/write .xls and .xlsx files
  5. it does not require Excel to be present on the computer
  6. it uses much less memory than Excel
  7. it can be embedded as a user control in an APL+Win (or Dyalog APL) form and be fully functional
  8. unlike Excel.Application, it is always cleanly erased from memory when the object is closed
  9. it can be used as a stand alone object (i.e. not child of a form), for example as a super printing engine to produce high quality APL reports
  10. it provides a much simpler API interface with only one object instead of the hundreds contained in Excel.Application you can easily use it with ⎕WI from APL+win (and you can use it as well directly from C#)
  11. it can load enormous amounts of APL data in very little time (780 milliseconds to display a 100000 by 5 APL matrix and 4.125 seconds to diplay a 500000 by 5 APL matrix for example)

APL+Win v11.1 Released (Dec 27, 2011)

APL+Win v11.1 includes:

  • A new Virtual APL Keyboard GUI Control
  • A new APL Idioms Manager Control

APL+Win v11.0 Released (Nov 8, 2011)

APL+Win v11.0 includes enhancements to the APL+Win Installer, Interpreter, Documentation, Help Files and Session. Read more...

Consulting Proposal

If you have an APL+Win (or Dyalog APL) application and would like to:

I'd be glad to help and develop for you a C# ActiveX DLL that you will then be able to use with ⎕wi from APL+Win.

As an example, I have recently written a C# ActiveX DLL for a customer; it allowed to speed-up an APL process on a large file so that it now runs more than 20 times faster! This DLL also allowed to process very large files (1.8 GBytes) without any memory problems.

Free C# ActiveX DLL

The LC.Goodies.dll is a free ActiveX C# DLL, developed with NetAccess 4.0 which includes all the properties and methods of the .Net Framework System.Environment class. Anyone can download it: it's free and can be used without any restriction even in product you sell. Being an ActiveX it can be used from APL+Win, Dyalog APL, VB6 and any other product supporting ActiveX. Download and read the accompanying LC.Goodies.chm Help File for details.

APL+Win v10.3 Released (Dec 29, 2010)

APL+Win v10.3 includes 3 important enhancements among which the major one is "unlimited Undo/Redo" in the Editor! Read more...

MACfns 4.0 for APL+Win

Do you need to speed up your APL+Win applications?
Do you need to process very large amounts of data as fast as it can be done?
Do you like the Assembler functions of the ASMFNS.W3 workspace?

If you answer yes to at least 2 of these questions, MACfns 4.0, a rich collection of 257 ultra-fast Assembler functions, may be the product you've been waiting for!
Download a sample trial APL+Win workspace with 5 free MACfns!

APL+Win v10.2 Released (Dec 3, 2010)

APL+Win v10.2 includes a new system function (⎕DTR) allowing to perform deep transpose on nested arrays, a new event (onComAction) useful to debug and trace errors in ActiveX Server sessions, a new syntax for passing more types of arguments to an ActiveX method, and many more enhancements and bug fixes. Read more...

APL+Win v10.0 Released (Sep 13, 2010)

APL+Win v10.0 is a major APL+Win Release containing a lot of enhancements which will be of benefit to all APL+Win users.

  • APL+Win v10.0 is very significantly faster, some applications running twice as fast as before!
  • APL+Win v10.0 allows to use larger workspaces (up to 2.6 Gb or even 3.6 Gb while it was previously limited to 1.6 Gb)
  • You can create 10 times larger arrays (up to 2,147,483,647 elements)
  • It includes a large number of new Control Structures (:AND, :ASSERT, :CHOOSE, :CONTINUEIF, :DEBUG, :EX, :FAIL, :FINALLY, :IFDEBUG, :IFTEST, :LEAVEIF, :LIKE, :NEXTCASE, :OR, :PASS, :RES, :RETURN, :RETURNIF, :SELECT, :TEST, :THEN, :TRACE and :VERIFY) allowing you to build more robust appplications more rapidly.
  • It includes new system variables and functions: ⎕DYADIC, ⎕EM, ⎕LOG, ⎕MONADIC, ⎕NOVALUE, ⎕TEST, ⎕THROW and ⎕VALENCE
  • It also includes new system commands: )DEBUG, )TEST
  • The following system variables and functions have been extended: ⎕AT, ⎕DM, ⎕IT, ⎕SIZE and ⎕WGIVE

To learn more, read the APL+Win v10 documentation. See pricing information.

Carl House Bob Goodrich Yi Wang Jeff Carter Jeff Koloseus Steve Brooks
Dick Bruno Pablo Cuadra Duncan McArthur Andrea Cuadra Tom Atkins Joe Blaze
William Duxler Jacky Simon J. Merrill Jim Goff Enrique Loyola Cesar Gonzalez

C# & APL+Win Class Attendees

The C# & APL+Win April 24-25 Class in Bethesda has gathered 19 attendees demonstrating the raising interest that APL+Win Users have in interfacing their APL applications with C#.

Click here (or on any attendee photo on the left) to see larger attendees photos as well as their comments. You'll then be able to scroll thru all attendees by clicking the < or > little icons to the left and right of the photo pane.

Attendees all received a 200 pages printed Manual (a list of errata is now available here)

Convert your APL Applications to .Net!

This Web Site is about interfacing APL+Win and .Net C# as well as converting your APL+Win applications to .Net C#

There are numerous ways by which you can interface APL and C#.

This Web Site explains all the possibilities you have to use the full power of C# and of the .Net Framework with APL: all of them involve learning a bit of .Net and of C#. This Web Site will help you do that.

Among all these possibilities, the best one is to convert your APL application to C#: this does not mean rewriting your entire APL application in C#: it means rewriting your application User Interface in C# and use APL in the background for the remaining part of your application that can basically stay unchanged.

Reading this Web Site you'll learn:

  • how you can write C# DLLs which you can then use as ActiveX from APL+Win (see Use C# From APL)
  • how you can write C# applications which use your APL+Win workspace in the background (see Use APL From C#)
  • how you can convert your APL applications to .Net C#
  • how you can run your C# & APL+Win applications as ClickOnce applications from the browser

Learning C#

If you want to convert your APL application to .Net, you'll need to learn a bit of C# and a bit of the .Net Framework.

Learning C#, Visual Studio and the .Net Framework is easy and in any case much easier than learning APL.

Learning a bit of C# will allow you to move your APL application to .Net. while still keeping a large part of it in APL.

Read more ...