Differences between revisions 22 and 30 (spanning 8 versions)
Revision 22 as of 2008-10-03 06:27:59
Size: 2110
Editor: KaiJaeger
Comment:
Revision 30 as of 2008-12-18 22:12:04
Size: 2286
Editor: KaiJaeger
Comment:
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:
Note that there is a significant difference between downloading a script from the wiki and checking out the associated project from !SubVersion: 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.
Line 12: Line 12:
 * The wiki download contains the script and maybe something else you need to run the script.
 * The subproject comes with more stuff, especially with a development workspace which '''must''' contain a test suite. Only fully tested scripts should offered to the public for download.
== Test cases: follow the standards! ==
Line 15: Line 14:
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. <<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 20: Line 28:
||[[APLTeamsUtil]]||General utilities||Dyalog||APL Team||'''No'''|| ||[[APLTeamUtils]]||General utilities||Dyalog||APL Team||'''No'''||
Line 25: Line 33:
||ShowChmHelp||Display help files||Dyalog||APL Team||'''No'''||
Line 30: 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

APL Team

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)