Differences between revisions 21 and 29 (spanning 8 versions)
Revision 21 as of 2008-08-20 18:57:20
Size: 1675
Editor: anonymous
Comment: converted to 1.6 markup
Revision 29 as of 2008-12-18 22:11:47
Size: 2276
Editor: KaiJaeger
Comment: New class "ShowChmFile" added
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
= APL Application Programming Library (APL) = = APL Application Programming Library (APLAPL) =
Line 4: Line 4:
At the time being, everything here refers to Dyalog APL. That might change sometime, but as long as no other stuff turns up here it keeps things simple. Note that this is a pure Dyalog project. Note also that by definition only scripts (either class- or namespace-scripts) can be part of APLAPL.
Line 6: Line 6:
All classes published here '''must''' be part of '''"The Open Source APL Project"''' in short '''[[OpenSourceAplProject|TOSAP]]'''. Yes, classes, so it has to be at least version 11 of Dyalog APL you are working with. Scripts in this category '''must''' contain a Copyright notice according to the [[http://en.wikipedia.org/wiki/Mit_license|MIT license]] conditions.
Line 8: Line 8:
The idea behind TOSAP is to provide classes ready for usage for every-day-problems programmers typically come across. The basic idea behind APLAPL is to provide classes for every-day-problems programmers typically come across.
Line 10: Line 10:
Many but not all classes do not use .NET at all. That might look strange: there are tons of useful .NET classes available, and they are free, so why not using them? Well, it all depends. Try to get a directory listing of a directory which contains 100,000 files and you know what I mean. To become part of the APLAPL project, one must ensure that proper test cases are written and executed before the class is published. Although that does not guarantee that the scripts are free of bugs, this certainly decreases the danger of bugs.

== Test cases: follow the standards! ==

<<SeeSaw(section="testcasestd", toshow="<<Show>> the details", tohide="<<Hide>> the details", bg="#FEE1A5", speed="Slow")>>

{{{{#!wiki seesaw/testcasestd/testcasestd-bg/hide

 * All test cases are supposed to be in a namespace {{{#.TestCases}}}.
 * At least there is one sub-namespace: "Test_001". Depending on the complexity of the tests, there may be up to 999 different test cases.
 * Every sub-namespace "Test_00n" is supposed to have a function "Run" which executes the test case.
 * There should be a function {{{#.TestCases.RunAll}}} which is supposed to run all test cases in one go.
 * When a test fails, let it stop.
}}}}
Line 15: Line 28:
||[[APLTeamsUtil]]||General utilities||Dyalog||APL Team||'''No'''|| ||[[APLTeamUtils]]||General utilities||Dyalog||APL Team||'''No'''||
Line 20: Line 33:
||ShowChmHelp||Display help files||Dyalog||'''No'''||
Line 25: Line 39:
CategoryAplApl CategoryOpenSourceApl CategoryOpenSourceApl

APL Application Programming Library (APLAPL)

Note that this is a pure Dyalog project. Note also that by definition only scripts (either class- or namespace-scripts) can be part of APLAPL.

Scripts in this category must contain a Copyright notice according to the MIT license conditions.

The basic idea behind APLAPL is to provide classes for every-day-problems programmers typically come across.

To become part of the APLAPL project, one must ensure that proper test cases are written and executed before the class is published. Although that does not guarantee that the scripts are free of bugs, this certainly decreases the danger of bugs.

Test cases: follow the standards!

Show the details

  • All test cases are supposed to be in a namespace #.TestCases.

  • At least there is one sub-namespace: "Test_001". Depending on the complexity of the tests, there may be up to 999 different test cases.
  • Every sub-namespace "Test_00n" is supposed to have a function "Run" which executes the test case.
  • There should be a function #.TestCases.RunAll which is supposed to run all test cases in one go.

  • When a test fails, let it stop.

Name

Description

Type

Originator

Needs .NET

APLTeamUtils

General utilities

Dyalog

APL Team

No

ADOC

Automated Documentation Generation

Dyalog

APL Team

No

Hash

Managing key/value-pairs

Dyalog

APL Team

No

IniFiles

Dealing with INI files

Dyalog

APL Team

No

Logger

Writing Log Files

Dyalog

APL Team

No

ShowChmHelp

Display help files

Dyalog

No

WindowsEventLog

Dealing with the Windows Event Log

Dyalog

APL Team

Yes

WinFile

Dealing with files and directories

Dyalog

APL Team

No

WinReg

Dealing with the Windows Registry

Dyalog

APL Team

No


CategoryOpenSourceApl

CategoryAplTree (last edited 2018-03-04 12:46:55 by KaiJaeger)