Differences between revisions 20 and 31 (spanning 11 versions)
Revision 20 as of 2008-08-14 16:07:23
Size: 1712
Editor: KaiJaeger
Comment:
Revision 31 as of 2008-12-19 07:27:58
Size: 2201
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:
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 14: Line 27:
||'''Name'''||'''Description'''||'''Type'''||'''Originator'''||'''Needs .NET'''||
||[:APLTeamsUtil:APLTeamsUtil]||General utilities||Dyalog||APL Team||'''No'''||
||[:ADOC:ADOC]||Automated Documentation Generation||Dyalog||APL Team||'''No'''||
||[:Hash:Hash]||Managing key/value-pairs||Dyalog ||APL Team||'''No'''||
||IniFiles||Dealing with INI files||Dyalog||APL Team||'''No'''||
||[:Logger:Logger]||Writing Log Files||Dyalog||APL Team||'''No'''||
||[:WindowsEventLog]||Dealing with the Windows Event Log||Dyalog||APL Team||'''Yes'''||
||[:WinFile:WinFile]||Dealing with files and directories||Dyalog||APL Team||'''No'''||
||[:WinReg:WinReg]||Dealing with the Windows Registry||Dyalog||APL Team||'''No'''||
||'''Name'''||'''Description'''||'''Originator'''||'''Needs .NET'''||
||[[APLTeamUtils]]||General utilities||APL Team||'''No'''||
||[[ADOC]]||Automated Documentation Generation||APL Team||'''No'''||
||[[Hash]]||Managing key/value-pairs||APL Team||'''No'''||
||IniFiles||Dealing with INI files||APL Team||'''No'''||
||[[Logger]]||Writing Log Files||APL Team||'''No'''||
||ShowChmHelp||Display help files||APL Team||'''No'''||
||[[WindowsEventLog]]||Dealing with the Windows Event Log||APL Team||'''Yes'''||
||[[WinFile]]||Dealing with files and directories||APL Team||'''No'''||
||[[WinReg]]||Dealing with the Windows Registry||APL Team||'''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

Originator

Needs .NET

APLTeamUtils

General utilities

APL Team

No

ADOC

Automated Documentation Generation

APL Team

No

Hash

Managing key/value-pairs

APL Team

No

IniFiles

Dealing with INI files

APL Team

No

Logger

Writing Log Files

APL Team

No

ShowChmHelp

Display help files

APL Team

No

WindowsEventLog

Dealing with the Windows Event Log

APL Team

Yes

WinFile

Dealing with files and directories

APL Team

No

WinReg

Dealing with the Windows Registry

APL Team

No


CategoryOpenSourceApl

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