n *.KB H new U cA A this workspace contains information concerning recent changes to apl and the contents of the apl library. for available workspaces type ws, for available functions type fn. for differences between unix apl and ibm apl type aplx if you wish to add programs or workspaces to the library 'mail reeves' with the details. Llx new ws s.} } the following workspaces are currently available fftws: the fft algorithm in apl graphws: a graph plotting system (results are displayed on the terminal). see 'reeves' for documentation. plotws: a graph plotting system which uses a different format to graphws. anovaws: anova statistical analysis, accepts missing data gradesys: a system for maintaining and analysing the grades given in a course. type 'dgradesys' for details ngradesys: a newer more convenient version of gradesys aw: an alpha-omega notation form compiler. AW: alternate name for the 'aw' workspace iows: some io functions for dealing with interprocess communication. editws: a unix type editor for apl shapews: fnctions for changing a list of names into a 2 dimensional array to load a workspace type ')load workspace-name' further details for each workspace are contained within them fn K di7 7 the following general purpose functions are available in raw function form. time: finds the cpu time needed to execute a function ttime: prints the total amount of cpu time used vread: reads a unix file into a 1 dimensional apl character variable (use Lfloat as well to read numeric data) vwrite: write a variable into a unix file vrd: reads a unix file into a two dimensional apl character matrix vap: writes a two dimensional apl character matrix into a unix file.(padding spaces are also output) vrnum: reads a character file of numbers generated by a fortran/c/pascal program . a numeric vector containing all the numbers in the file is returned. dstat: computes some simple statistics on a vector of numbers. dft: a full dyadic format function eft: a format function for exponential output det: compute the determinant of a matrix edtxt: edit a variable using xed.(data format is with embeded newline characters like this variable.) to load any of these functions into the current workspace type')read fn/functionname' dgradesys Re apl score system A. P. Reeves fall 1978 An apl workspace is available which is designed to maintain an perform anaysis on a set of class grades. The system is interactive in nature alowing each user to select the set of functions suitable for his or her needs. To obtain a fresh copy of this system, type ')load gradesys' after entering apl. Setting up for a new set of grades: two functions are used to initialize the system for a new class, these are setup Type 'setup' then you will be prompted for a set of grade types, e.g. test ,quiz... .Enter each type on a new line and terminate with a null line. Then you will be promted for each weight to be assigned to each grade type,(these may be changed at a later date). readnames 'file' The names of the students must be input. Use the UNIX editor to create a list of names using a new line for each name (the system will only use the first 8 characters of each name). Then use 'readnames' to read this file in. Note, the name of the file should be enclosed in quotes. The system is now setup. save a copy of this setup workspace by typing ')save xxx' The workspace will be saved in the file xxx and may be loaded in the future with the load command. It is advisable to keep several backup copies of an active grade workspace. Entering a new set of grades: newscore Type 'newscore' and you will be prompted for the grade type and the maximum possible score. You will then be prompted for a grade for each student. Adding and dropping students: newname To add a new students to an existing system type 'newname' You will then be prompted for a list of names. Enter each on a new line and then terminate the list with a null line. Note, any old scores for these new students must be inserted with the 'update' function. drop To drop students from an existing system type 'drop'. You will the be prompted for a set of student id's .The scores to date for these students will be printed and confirmation will be requested before the deletion occurs. Summary and analysis: scoresummary This function prints out all the raw scores for all grades. statsummary the function 'statsummary' computes simple statistics on each set of scores and prints out the results. analysis The function 'analysis' prints two outputs. First the average percent grade for each grade type for each student is computed and also a total percentage grade based on the weights for the course is calculated and printed. Then a ranking printout is generated. Students are listed in order of their rank of the total and their ranking for each grade type is also listed. analstats This function prints simple statistics on the data generated by the first part of 'analysis'. The function 'analysis' must be run before this function can be used. printstat 'grades' Printstat will print simple statistics for a selected set of grades. The parameter 'grades' should be one of the grade names listed in the score summary headings, or if analysis has been run then one of the grade types may be selected. printhist 'grades' This function prints a histogram of the selected data. Its parameter is similar in range to the parameter for 'printstat'. printstat0 This function is similar to printstat except that all 0 scores are first discarded. printhist0 This function is similar to printhist except that all 0 scores are discarded. changing grades: 'name' change 'scoretype' The function change enables individual scores to be changed. Type the students name (within quotes) then change and then the score type (within quotes). You will then be prompted for a new grade. If no new grade is required give a negative grade and the change command will be ignored. limitations: 1) names are usually limited to 8 characters or less. 2) the histogram assumes a scale of up to 100 points. 3) Three digit scores and fractional scores upset the printing format of 'scoresummary'. edtxt edtxt;fd;name;vr;r L'{'variable name? ' name { L' fd { 390 Lcreat 'apltxt.tmp' }(fd < 0)/error r { fd Lwrite BJ name fd { Lclose fd Lrun 'xed apltxt.tmp' fd { 260 Lopen 'apltxt.tmp' }(fd<0)/error vr { '' more: vr { vr,r { fd Lread 256 } (0#Rr)/more fd { Lclose fd r { BJ name,' { vr' Lrun 'rm apltxt.tmp' }0 error: 'Can''t open file: apltxt.tmp' aplx esv v laminate is not supported inner product and outer product does not work with character data (convert args to numeric ) a local variable may not have the same name as a function Lio is not supported (but see dyadic i-beam 29) dyadic format does not accept a single element right arg dyadic format does not generate exponetial format output (but see fn/eft) dyadic format left arg rank must not exceed 2 many quad functions are implemented as i-beams ***extensions*** index origin may be set to any value catenation of mixed data types converts the type of the right argument. execute will accept a matrix right argument