>>
APLDN Home

>>
Events

>>
Trainings

>>
APL Books

>>
APLDN Links

>>
Discussion Groups

>>
Downloads

>>
Articles

>>
Library

>>
Learning Tools

>>
APLDN User IO

>>
APL2000.com




Features

Author Thread: []IT 'SymbolTable'
brent.hildebrand
[]IT 'SymbolTable'
Posted: Saturday, July 03, 2004 4:15 PM (EST)
From document, ATN601.DOC ŒIT 'SymbolTable' returns a matrix of information about the symbol table. The number of rows is one more than the number of symbols in the table, which contains all the names of variables, functions and labels that have been defined since the beginning of the workspace. There are five columns. For the individual rows: [;1] A character vector with the name. [;2] A Boolean which is true if the name has a value or function definition associated with it. [;3] Flags [;4] "Valence" A coded form of the type of value. [;5] Chaining number: An internal number associated with the hashing for finding names. For those interested in using this function, columns three and four can be induced by experimentation; column five is for unregenerate geeks with too much time on their hands. For the summary row, (row 0), the numbers are related to those provided by the system command: )symbols OK - [;4], "Valence", assume column[;2] is 1 0 = variable 1 = Niladic Function 2 = Monadic Function 4 = Diadic Function [;3], "Flags". 3 = []NA function. [;5] Chaining number - I don't think I have enought time or maybe I'm not unregenerate enough.


Comments:

Author Thread:
brent.hildebrand
[]IT 'SymbolTable'
Posted: Saturday, July 03, 2004 4:18 PM (EST)
Huh - formatting problem. IE6 formats OK, Moxilla/Firefox does not.

     

brent.hildebrand
[]IT 'SymbolTable'
Posted: Saturday, July 03, 2004 4:20 PM (EST)
Moxilla? Can I trademark that term? Will we be able to edit, and/or delete our own posts someday?

     

brent.hildebrand
[]IT 'SymbolTable'
Posted: Saturday, July 03, 2004 4:52 PM (EST)
One more - Flags, 1 = Locked function. 3 = []NA.

     

brent.hildebrand
[]IT 'SymbolTable'
Posted: Monday, July 05, 2004 2:26 AM (EST)
Another, if Flags=1, and valence=0, then the item is a Label. This occurs while a function is running that contains Labels. The function goes to completion, the label no longer "exsists" as a valid variable.

     

davin.church
[]IT 'SymbolTable'
Posted: Tuesday, July 06, 2004 2:28 AM (EST)
<hehe> So that means if we can poke a 1 in the right flag in the symbol table, we can create our own read-only global variables?  (I know... I'm evil)

     

brent.hildebrand
[]IT 'SymbolTable'
Posted: Tuesday, July 06, 2004 3:00 AM (EST)
Hey, the challenge was in the article: "For those interested in using this function, columns three and four can be induced by experimentation". So I experimented a little.

     



APL2000 Official Web Site

The influence of each human being on others in this life is a kind of immortality.
--- John Quincy Adams

APLDN Home   |    |  Events   |  Trainings   |  APL Books   |  APLDN Links   |    |  Discussion Groups   |    |  Downloads   |  Articles   |  Library   |  Learning Tools   |  APLDN User IO   |  APL2000.com   |