Juergen,
Here is a recreate
)load APL2_INTRO_sav
SAVED 2014-11-04 -2:02:18 (GMT-4)
V
HER HE
YOU ME
)wsid apl2_intro_save_after_error
WAS APL2_INTRO
)si
⋆
)wsid
IS apl2_intro_save_after_error
2 2⊃V
RANK ERROR
2 2⊃V
^ ^
)si
⋆
⋆
)siv
⋆
⋆
⎕em
RANK ERROR
2 2⊃V
^ ^
)save
====================================================
SEGMENTATION FAULT
thread: 0xb7789700
thread_contexts_count: 1
busy_worker_count: 0
active_core_count: 1
thread # 0: 0xb7789700 pool sema: 0 RUN job: 0 no-name
----------------------------------------
-- Stack trace at main.cc:165
----------------------------------------
0x43195865 __libc_start_main
0x8085ca8 main
0x81972f5 Workspace::immediate_execution(bool)
0x80ca008 Command::process_line()
0x80c9f28 Command::process_line(UCS_string&)
0x80c9972 Command::do_APL_command(std::ostream&, UCS_string&)
0x8199abe Workspace::save_WS(std::ostream&, std::vector<UCS_string,
std::allocator<UCS_string> >&)
0x80904b2 XML_Saving_Archive::save()
0x808cd34 XML_Saving_Archive::save_SI_entry(StateIndicator const&)
0x808ca96 XML_Saving_Archive::save_prefix(Prefix const&)
0x808c98b XML_Saving_Archive::save_token_loc(Token_loc const&)
0x808c3f9 XML_Saving_Archive::emit_token_val(Token const&)
0xffffffff @@@@
0x80ed96b
========================================
====================================================
Goodbye.
Process apl exited abnormally with code 3
On Wed, Nov 5, 2014 at 11:36 AM, Juergen Sauermann <
[email protected]> wrote:
> Hi,
>
> what I can see is that saving of an SI entry fails.
> The entry was caused by something like this in immediate execution:
>
> * V←(2 3⍴'HERYOU') (2 2⍴'HEME')*
> * 2 2⊃V*
> *RANK ERROR *
> * 2 2⊃V*
> * ^ ^*
>
> The problem is that if I *)**SAVE* that then it works fine and and I get
>
> * <Parser assign-pending="0" lookahead-high="2">*
> * <Token pc="2" tag="4107070F" vid="3"/>*
> * <Token pc="1" tag="50020907" fun-id="5002"/>*
> * <Token pc="0" tag="4105070F" vid="2"/>*
> * </Parser>*
>
> in my *.xml* file, which is almost the same as Colin's file except that
> *pc="2**"* in my case and *pc="0"* in Colin's file:
>
> * <Parser assign-pending="0" lookahead-high="2">*
> * <Token pc="0" tag="4105070F" vid="51"/>*
> *<end**-**of-file>*
>
> The output lines are written with *std::endl*, which is supposed to also
> do *std::flush*. Therefore output buffering
> should not matter. I rather suspect that the token at *pc="1" *was
> corrupt (also because *lookahead-high="**2"* does
> not quite fit to *pc**=**"0"* in the file).
>
> /// Jürgen
>
>
>
> On 11/05/2014 03:44 PM, Blake McBride wrote:
>
> Perhaps the truncation point of the xml file may point towards the )SAVE
> problem. Also, perhaps turning off IO buffering during a )SAVE will help
> make the resulting xml file more indicative of the error on early
> terminations.
>
> Just some ideas.
>
> Thanks.
>
> Blake
>
>
> On Wed, Nov 5, 2014 at 8:03 AM, Juergen Sauermann <
> [email protected]> wrote:
>
>> Hi Colin,
>>
>> thanks. The assertion on *)LOAD* was caused by the *.xml* file being
>> truncated.
>>
>> I have changed the *)LOAD *command to print a message when it detects a
>> truncated *.xml* file.
>> I also changed the *)COPY *command to deal with truncated *.xml* files,
>> provided that the truncation
>> happens late in the file (like in your case). You should now be able to
>> *)COPY* the broken *.xml* file, *SVN 503*.
>>
>> The root cause - the failed *)SAVE* - is not fixed yet. For that I would
>> need more information such as
>> the printout when the *)SAVE* failed.
>>
>> /// Jürgen
>>
>>
>> On 11/05/2014 03:07 AM, Colin Verrilli wrote:
>>
>> I'm getting this assertion failure on a workspace )load
>> I can't )copy it either
>> The previous )save crashed also
>>
>>
>> This program is free software, and you are welcome to redistribute it
>> according to the GNU Public License (GPL) version 3 or later.
>>
>> )load APL2_INTRO
>>
>>
>> ==============================================================================
>> Assertion failed: idx < items_valid
>> in Function: operator[]
>> in file: Simple_string.hh:136
>>
>> Call stack:
>>
>> ----------------------------------------
>> -- Stack trace at Simple_string.hh:136
>> ----------------------------------------
>> 0x43195865 __libc_start_main
>> 0x8085ca8 main
>> 0x81972f5 Workspace::immediate_execution(bool)
>> 0x80ca008 Command::process_line()
>> 0x80c9f28 Command::process_line(UCS_string&)
>> 0x80c979f Command::do_APL_command(std::ostream&, UCS_string&)
>> 0x819a759 Workspace::load_WS(std::ostream&, std::vector<UCS_string,
>> std::allocator<UCS_string> > const&, UCS_string&)
>> 0x8091dc8 XML_Loading_Archive::read_Workspace()
>> 0x808efcc XML_Loading_Archive::read_StateIndicator()
>> 0x808e9e8 XML_Loading_Archive::read_Parsers(StateIndicator&)
>> 0x80d297e throw_apl_error(ErrorCode, char const*)
>> 0x8151835 StateIndicator::update_error_info(Error&)
>> 0x80d3f96 Executable::set_error_info(Error&, Function_PC2)
>> const
>> 0x80837e5
>> 0x809434a do_Assert(char const*, char const*, char const*,
>> int)
>> ========================================
>>
>> SI stack:
>>
>> Depth: 0
>> Exec: 0x8b41a48
>> Safe ex: no
>> Pmode: ◊ 2 2⊃V
>> PC: 0
>>
>> ==============================================================================
>> Assertion failed: idx < items_valid
>> in Function: operator[]
>> in file: Simple_string.hh:136
>>
>> Call stack:
>> *** do_Assert() called recursively ***
>>
>> ==============================================================================
>> *** immediate_execution() caught other exception ***
>>
>>
>>
>
>
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<!DOCTYPE Workspace
[
<!ELEMENT Workspace (Value*,Ravel*,SymbolTable,Symbol*,StateIndicator)>
<!ATTLIST Workspace wsid CDATA #REQUIRED>
<!ATTLIST Workspace year CDATA #REQUIRED>
<!ATTLIST Workspace month CDATA #REQUIRED>
<!ATTLIST Workspace day CDATA #REQUIRED>
<!ATTLIST Workspace hour CDATA #REQUIRED>
<!ATTLIST Workspace minute CDATA #REQUIRED>
<!ATTLIST Workspace second CDATA #REQUIRED>
<!ATTLIST Workspace timezone CDATA #REQUIRED>
<!ELEMENT Value (#PCDATA)>
<!ATTLIST Value flg CDATA #REQUIRED>
<!ATTLIST Value vid CDATA #REQUIRED>
<!ATTLIST Value parent CDATA #IMPLIED>
<!ATTLIST Value rk CDATA #REQUIRED>
<!ATTLIST Value sh-0 CDATA #IMPLIED>
<!ATTLIST Value sh-1 CDATA #IMPLIED>
<!ATTLIST Value sh-2 CDATA #IMPLIED>
<!ATTLIST Value sh-3 CDATA #IMPLIED>
<!ATTLIST Value sh-4 CDATA #IMPLIED>
<!ATTLIST Value sh-5 CDATA #IMPLIED>
<!ATTLIST Value sh-6 CDATA #IMPLIED>
<!ATTLIST Value sh-7 CDATA #IMPLIED>
<!ELEMENT Ravel (#PCDATA)>
<!ATTLIST Ravel vid CDATA #REQUIRED>
<!ATTLIST Ravel cells CDATA #REQUIRED>
<!ELEMENT SymbolTable (Symbol*)>
<!ATTLIST SymbolTable size CDATA #REQUIRED>
<!ELEMENT Symbol (unused-name|Variable|Function|Label|Shared-Variable)*>
<!ATTLIST Symbol name CDATA #REQUIRED>
<!ATTLIST Symbol stack-size CDATA #REQUIRED>
<!ELEMENT unused-name EMPTY>
<!ELEMENT Variable (#PCDATA)>
<!ATTLIST Variable vid CDATA #REQUIRED>
<!ELEMENT Function (UCS)>
<!ELEMENT Label (#PCDATA)>
<!ATTLIST Label value CDATA #REQUIRED>
<!ELEMENT Shared-Variable (#PCDATA)>
<!ATTLIST Shared-Variable key CDATA #REQUIRED>
<!ELEMENT UCS (#PCDATA)>
<!ATTLIST UCS uni CDATA #REQUIRED>
<!ELEMENT StateIndicator (SI-entry*)>
<!ATTLIST StateIndicator levels CDATA #REQUIRED>
<!ELEMENT SI-entry ((Execute|Statements|UserFunction),Parser+)>
<!ATTLIST SI-entry level CDATA #REQUIRED>
<!ATTLIST SI-entry pc CDATA #REQUIRED>
<!ATTLIST SI-entry line CDATA #REQUIRED>
<!ELEMENT Statements (UCS)>
<!ELEMENT Execute (UCS)>
<!ELEMENT UserFunction (#PCDATA)>
<!ATTLIST UserFunction ufun-name CDATA #REQUIRED>
<!ATTLIST UserFunction symbol-level CDATA #REQUIRED>
<!ATTLIST UserFunction creation-time CDATA #IMPLIED>
<!ATTLIST UserFunction exec-properties CDATA #IMPLIED>
<!ELEMENT Parser (Token*)>
<!ATTLIST Parser assign-pending CDATA #REQUIRED>
<!ATTLIST Parser lookahead-high CDATA #REQUIRED>
<!ELEMENT Token (#PCDATA)>
<!ATTLIST Token pc CDATA #REQUIRED>
<!ATTLIST Token tag CDATA #REQUIRED>
<!ATTLIST Token char CDATA #IMPLIED>
<!ATTLIST Token int CDATA #IMPLIED>
<!ATTLIST Token float CDATA #IMPLIED>
<!ATTLIST Token real CDATA #IMPLIED>
<!ATTLIST Token imag CDATA #IMPLIED>
<!ATTLIST Token sym CDATA #IMPLIED>
<!ATTLIST Token line CDATA #IMPLIED>
<!ATTLIST Token vid CDATA #IMPLIED>
<!ATTLIST Token index CDATA #IMPLIED>
<!ATTLIST Token fun-id CDATA #IMPLIED>
<!ATTLIST Token ufun-name CDATA #IMPLIED>
<!ATTLIST Token symbol-level CDATA #IMPLIED>
<!ATTLIST Token comment CDATA #IMPLIED>
]>
<!-- hour/minute/second is )SAVE time in UTC (aka. GMT).
timezone is offset to UTC in seconds.
local time is UTC + offset -->
<Workspace wsid="apl2_intro_save_after_error" year="2014" month="11" day="6"
hour="2" minute="21" second="33" timezone="-14400"
saving_SVN="8798">
<Value flg="400" vid="0" parent="2" rk="2" sh-0="2" sh-1="2"/>
<Value flg="400" vid="1" parent="2" rk="2" sh-0="2" sh-1="3"/>
<Value flg="400" vid="2" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="3" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="4" parent="-1" rk="0"/>
<Value flg="400" vid="5" parent="-1" rk="0"/>
<Value flg="400" vid="6" parent="-1" rk="0"/>
<Value flg="400" vid="7" parent="-1" rk="0"/>
<Value flg="400" vid="8" parent="-1" rk="0"/>
<Value flg="400" vid="9" parent="-1" rk="0"/>
<Value flg="400" vid="10" parent="-1" rk="1" sh-0="0"/>
<Value flg="400" vid="11" parent="-1" rk="0"/>
<Value flg="400" vid="12" parent="-1" rk="1" sh-0="6"/>
<Value flg="400" vid="13" parent="-1" rk="0"/>
<Value flg="400" vid="14" parent="-1" rk="0"/>
<Value flg="400" vid="15" parent="-1" rk="1" sh-0="0"/>
<Value flg="400" vid="16" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="17" parent="16" rk="1" sh-0="2"/>
<Value flg="400" vid="18" parent="-1" rk="0"/>
<Value flg="400" vid="19" parent="-1" rk="1" sh-0="0"/>
<Value flg="400" vid="20" parent="-1" rk="0"/>
<Value flg="400" vid="21" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="22" parent="-1" rk="0"/>
<Value flg="400" vid="23" parent="-1" rk="0"/>
<Value flg="400" vid="24" parent="25" rk="1" sh-0="4"/>
<Value flg="400" vid="25" parent="-1" rk="2" sh-0="3" sh-1="3"/>
<Value flg="400" vid="26" parent="-1" rk="0"/>
<Value flg="400" vid="27" parent="-1" rk="1" sh-0="4"/>
<Value flg="400" vid="28" parent="27" rk="1" sh-0="5"/>
<Value flg="400" vid="29" parent="27" rk="1" sh-0="8"/>
<Value flg="400" vid="30" parent="27" rk="1" sh-0="7"/>
<Value flg="400" vid="31" parent="27" rk="1" sh-0="0"/>
<Value flg="400" vid="32" parent="-1" rk="0"/>
<Value flg="400" vid="33" parent="36" rk="1" sh-0="2"/>
<Value flg="400" vid="34" parent="36" rk="1" sh-0="2"/>
<Value flg="400" vid="35" parent="36" rk="1" sh-0="2"/>
<Value flg="400" vid="36" parent="-1" rk="1" sh-0="3"/>
<Value flg="400" vid="37" parent="-1" rk="2" sh-0="2" sh-1="3"/>
<Value flg="400" vid="38" parent="46" rk="1" sh-0="4"/>
<Value flg="400" vid="39" parent="46" rk="1" sh-0="14"/>
<Value flg="400" vid="40" parent="46" rk="1" sh-0="6"/>
<Value flg="400" vid="41" parent="46" rk="1" sh-0="5"/>
<Value flg="400" vid="42" parent="46" rk="1" sh-0="5"/>
<Value flg="400" vid="43" parent="46" rk="1" sh-0="8"/>
<Value flg="400" vid="44" parent="46" rk="1" sh-0="7"/>
<Value flg="400" vid="45" parent="46" rk="1" sh-0="0"/>
<Value flg="400" vid="46" parent="-1" rk="2" sh-0="4" sh-1="4"/>
<Value flg="400" vid="47" parent="49" rk="2" sh-0="2" sh-1="2"/>
<Value flg="400" vid="48" parent="49" rk="2" sh-0="2" sh-1="3"/>
<Value flg="400" vid="49" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="50" parent="-1" rk="0"/>
<Value flg="400" vid="51" parent="-1" rk="2" sh-0="3" sh-1="3"/>
<Value flg="400" vid="52" parent="-1" rk="0"/>
<Value flg="400" vid="53" parent="-1" rk="2" sh-0="3" sh-1="4"/>
<Value flg="400" vid="54" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="55" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="56" parent="55" rk="2" sh-0="2" sh-1="3"/>
<Value flg="400" vid="57" parent="55" rk="2" sh-0="2" sh-1="2"/>
<Value flg="400" vid="58" parent="-1" rk="0"/>
<Value flg="400" vid="59" parent="-1" rk="0"/>
<Value flg="400" vid="60" parent="-1" rk="0"/>
<Value flg="400" vid="61" parent="-1" rk="0"/>
<Value flg="400" vid="62" parent="-1" rk="0"/>
<Value flg="400" vid="63" parent="-1" rk="0"/>
<Value flg="400" vid="64" parent="-1" rk="0"/>
<Value flg="400" vid="65" parent="-1" rk="1" sh-0="3"/>
<Value flg="400" vid="66" parent="-1" rk="0"/>
<Value flg="400" vid="67" parent="-1" rk="0"/>
<Value flg="400" vid="68" parent="-1" rk="0"/>
<Value flg="400" vid="69" parent="-1" rk="1" sh-0="256"/>
<Value flg="400" vid="70" parent="-1" rk="1" sh-0="4"/>
<Value flg="400" vid="71" parent="-1" rk="1" sh-0="21"/>
<Ravel vid="0" cells="²HEME⁰"/>
<Ravel vid="1" cells="²HERYOU⁰"/>
<Ravel vid="2" cells="⁶1⁶0"/>
<Ravel vid="3" cells="³2³2"/>
<Ravel vid="4" cells="³-4"/>
<Ravel vid="5" cells="³2204737534984311008"/>
<Ravel vid="6" cells="³80"/>
<Ravel vid="7" cells="³0"/>
<Ravel vid="8" cells="² ⁰"/>
<Ravel vid="9" cells="³10"/>
<Ravel vid="10" cells="² ⁰"/>
<Ravel vid="11" cells="³1"/>
<Ravel vid="12" cells="².,⁰¹22C6²0_⁰¹AF"/>
<Ravel vid="13" cells="⁴1e-13"/>
<Ravel vid="14" cells="³0"/>
<Ravel vid="15" cells="² ⁰"/>
<Ravel vid="16" cells="⁶17²f⁰"/>
<Ravel vid="17" cells="¹2190¹2192"/>
<Ravel vid="18" cells="³0"/>
<Ravel vid="19" cells="² ⁰"/>
<Ravel vid="20" cells="²f⁰"/>
<Ravel vid="21" cells="¹2190¹2192"/>
<Ravel vid="22" cells="²l⁰"/>
<Ravel vid="23" cells="³0"/>
<Ravel vid="24" cells="²NONE⁰"/>
<Ravel vid="25" cells="³801³97³202³3³98³999³11³1089⁶24"/>
<Ravel vid="26" cells="³1"/>
<Ravel vid="27" cells="⁶31⁶30⁶29⁶28"/>
<Ravel vid="28" cells="²MARCH⁰"/>
<Ravel vid="29" cells="²FEBRUARY⁰"/>
<Ravel vid="30" cells="²JANUARY⁰"/>
<Ravel vid="31" cells="² ⁰"/>
<Ravel vid="32" cells="³0"/>
<Ravel vid="33" cells="³5³6"/>
<Ravel vid="34" cells="³3³4"/>
<Ravel vid="35" cells="³1³2"/>
<Ravel vid="36" cells="⁶35⁶34⁶33"/>
<Ravel vid="37" cells="³1³2³3³4³5³6"/>
<Ravel vid="38" cells="²NONE⁰"/>
<Ravel vid="39" cells="²VAN DER MUELEN⁰"/>
<Ravel vid="40" cells="²MCGREW⁰"/>
<Ravel vid="41" cells="²HIGGS⁰"/>
<Ravel vid="42" cells="²MARCH⁰"/>
<Ravel vid="43" cells="²FEBRUARY⁰"/>
<Ravel vid="44" cells="²JANUARY⁰"/>
<Ravel vid="45" cells="² ⁰"/>
<Ravel vid="46" cells="⁶45⁶44⁶43⁶42⁶41³801³97³202⁶40³3³98³999⁶39³11
³1089⁶38"/>
<Ravel vid="47" cells="²HEME⁰"/>
<Ravel vid="48" cells="²HERYOU⁰"/>
<Ravel vid="49" cells="⁶48⁶47"/>
<Ravel vid="50" cells="³0"/>
<Ravel vid="51" cells="³100³2³3³4³200³6³7³8³300"/>
<Ravel vid="52" cells="³4"/>
<Ravel vid="53" cells="³10³8³7³7³6³13²K⁰³16³20³12³21³24"/>
<Ravel vid="54" cells="³2³2"/>
<Ravel vid="55" cells="⁶56⁶57"/>
<Ravel vid="56" cells="²HERYOU⁰"/>
<Ravel vid="57" cells="²HEME⁰"/>
<Ravel vid="58" cells="³0"/>
<Ravel vid="59" cells="³0"/>
<Ravel vid="60" cells="³0"/>
<Ravel vid="61" cells="³0"/>
<Ravel vid="62" cells="³0"/>
<Ravel vid="63" cells="³1"/>
<Ravel vid="64" cells="³0"/>
<Ravel vid="65" cells="¹8¹D¹A
"/>
<Ravel vid="66" cells="³0"/>
<Ravel vid="67" cells="³0"/>
<Ravel vid="68" cells="³0"/>
<Ravel vid="69" cells="¹0¹1¹2¹3¹4¹5¹6¹7¹8¹9¹A
¹B¹C¹D¹E¹F¹10¹11¹12¹13¹14¹15¹16¹17¹18¹19¹1A¹1B¹1C¹1D¹1E¹1F² !⁰¹22²#$⁰
²%⁰¹26²'()*+,-./0123456789:;⁰¹3C²=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_⁰
²`abcdefghijklmnopqrstuvwxyz{|}~⁰¹7F¹A5¹20AC¹21C4¹2227¹223C¹226C
¹22C6¹22F8¹2338¹233A¹233C¹233E¹2341¹A1¹2363¹2345¹2395¹235E¹2339¹2346
¹2364¹2347¹2348¹234A¹22A4¹3BB¹234D¹234F¹A3¹22A5¹2376¹2336¹2350¹2351
¹3C7¹2262¹2356¹2357¹2358¹235A¹235B¹2308¹235C¹2362¹222A¹2368¹2355
¹234E¹236C¹236A¹2223¹2502¹2524¹235F¹2206¹2207¹2192¹2563¹2551¹2557
¹255D¹2190¹230A¹2510¹2514¹2534¹252C¹251C¹2500¹253C¹2191¹2193¹2554
¹255A¹2569¹2566¹2560¹2550¹256C¹2261¹2378¹2377¹2235¹2337¹2342¹233B
¹22A2¹22A3¹25CA¹2518¹250C¹2588¹2584¹258C¹2590¹2580¹237A¹2379¹2282
¹2283¹235D¹2372¹2374¹2371¹233D¹2296¹25CB¹2228¹2373¹2349¹2208¹2229
¹233F¹2340¹2265¹2264¹2260¹D7¹F7¹2359¹2218¹2375¹236B¹234B¹2352¹AF¹A8
¹A0"/>
<Ravel vid="70" cells="³-1³0³0³0"/>
<Ravel vid="71" cells="²SystemVariable.cc:692⁰"/>
<SymbolTable size="44">
<Symbol name="A" stack-size="1">
<Variable vid="53"/>
</Symbol>
<Symbol name="AND" stack-size="1">
<Function creation-time="1414631025424389" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²(f AND g) r⁰¹A
¹235D²From Intro to APL p72⁰¹A
²z⁰¹2190²(f r)(g r)⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="ARGUMENT" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="B" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="DISPLAY" stack-size="1">
<Function creation-time="1414459919917015" exec-properties="0,0,0,0">
<UCS uni="²Z⁰¹2190²DISPLAY a⁰¹A
²Z⁰¹2190²4 ⁰¹2395²CR a⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="DYNADIC" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="FUNCTION" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="G" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="M" stack-size="1">
<Variable vid="51"/>
</Symbol>
<Symbol name="MONADIC" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="N" stack-size="1">
<Variable vid="50"/>
</Symbol>
<Symbol name="PLUS" stack-size="1">
<Function creation-time="1414547572908944" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²a PLUS b⁰¹A
²z⁰¹2190²a+b⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="REDUCTION" stack-size="1">
<Function creation-time="1414547466348455" exec-properties="0,0,0,0">
<UCS uni="²RESULT⁰¹2190²(FUNCTION REDUCTION) ARGUMENT⁰¹A
²RESULT⁰¹2190²FUNCTION/ARGUMENT⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="RESULT" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="V" stack-size="1">
<Variable vid="49"/>
</Symbol>
<Symbol name="Z" stack-size="1">
<Variable vid="46"/>
</Symbol>
<Symbol name="a" stack-size="1">
<Variable vid="37"/>
</Symbol>
<Symbol name="and" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="b" stack-size="1">
<Variable vid="36"/>
</Symbol>
<Symbol name="d" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="data" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="f" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="g" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="glue" stack-size="1">
<Function creation-time="1414631045814047" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²(f glue l) r⁰¹A
¹235D²From Intro to APL2, p72⁰¹A
²z⁰¹2190²l f r⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="l" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="lambda_funct" stack-size="1">
<Function creation-time="1415066315369124" exec-properties="0,0,0,0">
<UCS uni="¹3BB¹2190¹237A² lambda_funct ⁰¹2375¹A
¹3BB¹2190¹237A²+⁰¹2375¹A
"/>
</Function>
</Symbol>
<Symbol name="lambda_plus" stack-size="1">
<Function creation-time="1415066373530305" exec-properties="0,0,0,0">
<UCS uni="¹3BB¹2190¹237A² lambda_plus ⁰¹2375¹A
¹3BB¹2190¹237A²+⁰¹2375¹A
"/>
</Function>
</Symbol>
<Symbol name="months" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="names" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="prototype" stack-size="1">
<Function creation-time="1414459718152217" exec-properties="0,0,0,0">
<UCS uni="²Z⁰¹2190²prototype a⁰¹A
²Z⁰¹2190¹2191²0⁰¹2374¹2282¹2191²a⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="r" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="report" stack-size="1">
<Function creation-time="1414032301698215" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²names report data;months⁰¹A
¹235D²From Intro to APL2, p53⁰¹A
²months⁰¹2190²'' 'JANUARY' 'FEBRUARY' 'MARCH'⁰¹A
²z⁰¹2190²months,[1] names,data⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="sales" stack-size="1">
<Variable vid="25"/>
</Symbol>
<Symbol name="see" stack-size="1">
<Function creation-time="1414257404123121" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²l (f see) r⁰¹A
¹235D²Displays arguments to and operation of any function spec⁰
²ified⁰¹A
¹235D²From An Introduction to APL2, p 51⁰¹A
¹2192²(0=⁰¹2395²NC 'l')/MONADIC⁰¹A
²DYNADIC:z⁰¹2190²l f r ⁰¹235D²function call is dynadic⁰¹A
¹2395¹2190²z '⁰¹2190¹2192²' l 'f' r⁰¹A
¹2395¹2190²''⁰¹A
¹2192²0⁰¹A
²MONADIC:z⁰¹2190²f r ⁰¹235D²function call is monadic⁰¹A
¹2395¹2190²z '⁰¹2190¹2192²' 'f' r⁰¹A
¹2395¹2190²''⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="si" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="type" stack-size="1">
<Function creation-time="1414459829292115" exec-properties="0,0,0,0">
<UCS uni="²Z⁰¹2190²type a⁰¹A
²Z⁰¹2190¹2191²0⁰¹2374¹2282²a⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="x" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="z" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="λ" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="χ" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍵" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍶" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍹" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍺" stack-size="1">
<unused-name/>
</Symbol>
</SymbolTable>
<Symbol name="⎕AI" stack-size="1">
<Variable vid="70"/>
</Symbol>
<Symbol name="⎕ARG" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⎕AV" stack-size="1">
<Variable vid="69"/>
</Symbol>
<Symbol name="⎕EM" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⎕ET" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⎕LC" stack-size="1">
<Variable vid="68"/>
</Symbol>
<Symbol name="⎕PT" stack-size="1">
<Variable vid="67"/>
</Symbol>
<Symbol name="⎕SVE" stack-size="1">
<Variable vid="66"/>
</Symbol>
<Symbol name="⎕TC" stack-size="1">
<Variable vid="65"/>
</Symbol>
<Symbol name="⎕TS" stack-size="1">
<Variable vid="64"/>
</Symbol>
<Symbol name="⎕UL" stack-size="1">
<Variable vid="63"/>
</Symbol>
<Symbol name="⎕WA" stack-size="1">
<Variable vid="62"/>
</Symbol>
<Symbol name="⎕CT" stack-size="1">
<Variable vid="13"/>
</Symbol>
<Symbol name="⎕FC" stack-size="1">
<Variable vid="12"/>
</Symbol>
<Symbol name="⎕IO" stack-size="1">
<Variable vid="11"/>
</Symbol>
<Symbol name="⎕L" stack-size="1">
<Variable vid="61"/>
</Symbol>
<Symbol name="⎕LX" stack-size="1">
<Variable vid="10"/>
</Symbol>
<Symbol name="⎕PP" stack-size="1">
<Variable vid="9"/>
</Symbol>
<Symbol name="⎕PR" stack-size="1">
<Variable vid="8"/>
</Symbol>
<Symbol name="⎕PS" stack-size="1">
<Variable vid="7"/>
</Symbol>
<Symbol name="⎕PW" stack-size="1">
<Variable vid="6"/>
</Symbol>
<Symbol name="⎕R" stack-size="1">
<Variable vid="60"/>
</Symbol>
<Symbol name="⎕RL" stack-size="1">
<Variable vid="5"/>
</Symbol>
<Symbol name="⎕SYL" stack-size="1">
<Variable vid="59"/>
</Symbol>
<Symbol name="⎕TZ" stack-size="1">
<Variable vid="4"/>
</Symbol>
<Symbol name="⎕X" stack-size="1">
<Variable vid="58"/>
</Symbol>
<Symbol name="⍺" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍶" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="χ" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="λ" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍵" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍹" stack-size="1">
<unused-name/>
</Symbol>
<StateIndicator levels="2">
<SI-entry level="0" pc="0" line="0">
<Statements>
<UCS uni="²2 2⁰¹2283²V⁰"/>
</Statements>
<Parser assign-pending="0" lookahead-high="2">
<Token pc="0" tag="4105070F" vid="55"/>
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<!DOCTYPE Workspace
[
<!ELEMENT Workspace (Value*,Ravel*,SymbolTable,Symbol*,StateIndicator)>
<!ATTLIST Workspace wsid CDATA #REQUIRED>
<!ATTLIST Workspace year CDATA #REQUIRED>
<!ATTLIST Workspace month CDATA #REQUIRED>
<!ATTLIST Workspace day CDATA #REQUIRED>
<!ATTLIST Workspace hour CDATA #REQUIRED>
<!ATTLIST Workspace minute CDATA #REQUIRED>
<!ATTLIST Workspace second CDATA #REQUIRED>
<!ATTLIST Workspace timezone CDATA #REQUIRED>
<!ELEMENT Value (#PCDATA)>
<!ATTLIST Value flg CDATA #REQUIRED>
<!ATTLIST Value vid CDATA #REQUIRED>
<!ATTLIST Value parent CDATA #IMPLIED>
<!ATTLIST Value rk CDATA #REQUIRED>
<!ATTLIST Value sh-0 CDATA #IMPLIED>
<!ATTLIST Value sh-1 CDATA #IMPLIED>
<!ATTLIST Value sh-2 CDATA #IMPLIED>
<!ATTLIST Value sh-3 CDATA #IMPLIED>
<!ATTLIST Value sh-4 CDATA #IMPLIED>
<!ATTLIST Value sh-5 CDATA #IMPLIED>
<!ATTLIST Value sh-6 CDATA #IMPLIED>
<!ATTLIST Value sh-7 CDATA #IMPLIED>
<!ELEMENT Ravel (#PCDATA)>
<!ATTLIST Ravel vid CDATA #REQUIRED>
<!ATTLIST Ravel cells CDATA #REQUIRED>
<!ELEMENT SymbolTable (Symbol*)>
<!ATTLIST SymbolTable size CDATA #REQUIRED>
<!ELEMENT Symbol (unused-name|Variable|Function|Label|Shared-Variable)*>
<!ATTLIST Symbol name CDATA #REQUIRED>
<!ATTLIST Symbol stack-size CDATA #REQUIRED>
<!ELEMENT unused-name EMPTY>
<!ELEMENT Variable (#PCDATA)>
<!ATTLIST Variable vid CDATA #REQUIRED>
<!ELEMENT Function (UCS)>
<!ELEMENT Label (#PCDATA)>
<!ATTLIST Label value CDATA #REQUIRED>
<!ELEMENT Shared-Variable (#PCDATA)>
<!ATTLIST Shared-Variable key CDATA #REQUIRED>
<!ELEMENT UCS (#PCDATA)>
<!ATTLIST UCS uni CDATA #REQUIRED>
<!ELEMENT StateIndicator (SI-entry*)>
<!ATTLIST StateIndicator levels CDATA #REQUIRED>
<!ELEMENT SI-entry ((Execute|Statements|UserFunction),Parser+)>
<!ATTLIST SI-entry level CDATA #REQUIRED>
<!ATTLIST SI-entry pc CDATA #REQUIRED>
<!ATTLIST SI-entry line CDATA #REQUIRED>
<!ELEMENT Statements (UCS)>
<!ELEMENT Execute (UCS)>
<!ELEMENT UserFunction (#PCDATA)>
<!ATTLIST UserFunction ufun-name CDATA #REQUIRED>
<!ATTLIST UserFunction symbol-level CDATA #REQUIRED>
<!ATTLIST UserFunction creation-time CDATA #IMPLIED>
<!ATTLIST UserFunction exec-properties CDATA #IMPLIED>
<!ELEMENT Parser (Token*)>
<!ATTLIST Parser assign-pending CDATA #REQUIRED>
<!ATTLIST Parser lookahead-high CDATA #REQUIRED>
<!ELEMENT Token (#PCDATA)>
<!ATTLIST Token pc CDATA #REQUIRED>
<!ATTLIST Token tag CDATA #REQUIRED>
<!ATTLIST Token char CDATA #IMPLIED>
<!ATTLIST Token int CDATA #IMPLIED>
<!ATTLIST Token float CDATA #IMPLIED>
<!ATTLIST Token real CDATA #IMPLIED>
<!ATTLIST Token imag CDATA #IMPLIED>
<!ATTLIST Token sym CDATA #IMPLIED>
<!ATTLIST Token line CDATA #IMPLIED>
<!ATTLIST Token vid CDATA #IMPLIED>
<!ATTLIST Token index CDATA #IMPLIED>
<!ATTLIST Token fun-id CDATA #IMPLIED>
<!ATTLIST Token ufun-name CDATA #IMPLIED>
<!ATTLIST Token symbol-level CDATA #IMPLIED>
<!ATTLIST Token comment CDATA #IMPLIED>
]>
<!-- hour/minute/second is )SAVE time in UTC (aka. GMT).
timezone is offset to UTC in seconds.
local time is UTC + offset -->
<Workspace wsid="APL2_INTRO" year="2014" month="11" day="4"
hour="2" minute="2" second="18" timezone="-14400"
saving_SVN="8798">
<Value flg="400" vid="0" parent="2" rk="2" sh-0="2" sh-1="2"/>
<Value flg="400" vid="1" parent="2" rk="2" sh-0="2" sh-1="3"/>
<Value flg="400" vid="2" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="3" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="4" parent="6" rk="2" sh-0="2" sh-1="2"/>
<Value flg="400" vid="5" parent="6" rk="2" sh-0="2" sh-1="3"/>
<Value flg="400" vid="6" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="7" parent="-1" rk="2" sh-0="3" sh-1="3"/>
<Value flg="400" vid="8" parent="-1" rk="0"/>
<Value flg="400" vid="9" parent="-1" rk="0"/>
<Value flg="400" vid="10" parent="-1" rk="0"/>
<Value flg="400" vid="11" parent="-1" rk="0"/>
<Value flg="400" vid="12" parent="-1" rk="0"/>
<Value flg="400" vid="13" parent="-1" rk="0"/>
<Value flg="400" vid="14" parent="-1" rk="1" sh-0="0"/>
<Value flg="400" vid="15" parent="-1" rk="0"/>
<Value flg="400" vid="16" parent="-1" rk="1" sh-0="6"/>
<Value flg="400" vid="17" parent="-1" rk="0"/>
<Value flg="400" vid="18" parent="-1" rk="0"/>
<Value flg="400" vid="19" parent="-1" rk="1" sh-0="0"/>
<Value flg="400" vid="20" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="21" parent="20" rk="1" sh-0="2"/>
<Value flg="400" vid="22" parent="-1" rk="0"/>
<Value flg="400" vid="23" parent="-1" rk="1" sh-0="0"/>
<Value flg="400" vid="24" parent="-1" rk="0"/>
<Value flg="400" vid="25" parent="-1" rk="1" sh-0="2"/>
<Value flg="400" vid="26" parent="-1" rk="0"/>
<Value flg="400" vid="27" parent="-1" rk="0"/>
<Value flg="400" vid="28" parent="29" rk="1" sh-0="4"/>
<Value flg="400" vid="29" parent="-1" rk="2" sh-0="3" sh-1="3"/>
<Value flg="400" vid="30" parent="-1" rk="0"/>
<Value flg="400" vid="31" parent="-1" rk="1" sh-0="4"/>
<Value flg="400" vid="32" parent="31" rk="1" sh-0="5"/>
<Value flg="400" vid="33" parent="31" rk="1" sh-0="8"/>
<Value flg="400" vid="34" parent="31" rk="1" sh-0="7"/>
<Value flg="400" vid="35" parent="31" rk="1" sh-0="0"/>
<Value flg="400" vid="36" parent="-1" rk="0"/>
<Value flg="400" vid="37" parent="40" rk="1" sh-0="2"/>
<Value flg="400" vid="38" parent="40" rk="1" sh-0="2"/>
<Value flg="400" vid="39" parent="40" rk="1" sh-0="2"/>
<Value flg="400" vid="40" parent="-1" rk="1" sh-0="3"/>
<Value flg="400" vid="41" parent="-1" rk="2" sh-0="2" sh-1="3"/>
<Value flg="400" vid="42" parent="50" rk="1" sh-0="4"/>
<Value flg="400" vid="43" parent="50" rk="1" sh-0="14"/>
<Value flg="400" vid="44" parent="50" rk="1" sh-0="6"/>
<Value flg="400" vid="45" parent="50" rk="1" sh-0="5"/>
<Value flg="400" vid="46" parent="50" rk="1" sh-0="5"/>
<Value flg="400" vid="47" parent="50" rk="1" sh-0="8"/>
<Value flg="400" vid="48" parent="50" rk="1" sh-0="7"/>
<Value flg="400" vid="49" parent="50" rk="1" sh-0="0"/>
<Value flg="400" vid="50" parent="-1" rk="2" sh-0="4" sh-1="4"/>
<Value flg="400" vid="51" parent="-1" rk="0"/>
<Value flg="400" vid="52" parent="-1" rk="0"/>
<Value flg="400" vid="53" parent="-1" rk="2" sh-0="3" sh-1="4"/>
<Value flg="400" vid="54" parent="-1" rk="0"/>
<Value flg="400" vid="55" parent="-1" rk="0"/>
<Value flg="400" vid="56" parent="-1" rk="0"/>
<Value flg="400" vid="57" parent="-1" rk="0"/>
<Value flg="400" vid="58" parent="-1" rk="0"/>
<Value flg="400" vid="59" parent="-1" rk="0"/>
<Value flg="400" vid="60" parent="-1" rk="0"/>
<Value flg="400" vid="61" parent="-1" rk="1" sh-0="3"/>
<Value flg="400" vid="62" parent="-1" rk="0"/>
<Value flg="400" vid="63" parent="-1" rk="0"/>
<Value flg="400" vid="64" parent="-1" rk="0"/>
<Value flg="400" vid="65" parent="-1" rk="1" sh-0="256"/>
<Value flg="400" vid="66" parent="-1" rk="1" sh-0="4"/>
<Value flg="400" vid="67" parent="-1" rk="1" sh-0="21"/>
<Ravel vid="0" cells="²HEME⁰"/>
<Ravel vid="1" cells="²HERYOU⁰"/>
<Ravel vid="2" cells="⁶1⁶0"/>
<Ravel vid="3" cells="³2³2"/>
<Ravel vid="4" cells="²HEME⁰"/>
<Ravel vid="5" cells="²HERYOU⁰"/>
<Ravel vid="6" cells="⁶5⁶4"/>
<Ravel vid="7" cells="³100³2³3³4³200³6³7³8³300"/>
<Ravel vid="8" cells="³-4"/>
<Ravel vid="9" cells="³2204737534984311008"/>
<Ravel vid="10" cells="³80"/>
<Ravel vid="11" cells="³0"/>
<Ravel vid="12" cells="² ⁰"/>
<Ravel vid="13" cells="³10"/>
<Ravel vid="14" cells="² ⁰"/>
<Ravel vid="15" cells="³1"/>
<Ravel vid="16" cells="².,⁰¹22C6²0_⁰¹AF"/>
<Ravel vid="17" cells="⁴1e-13"/>
<Ravel vid="18" cells="³0"/>
<Ravel vid="19" cells="² ⁰"/>
<Ravel vid="20" cells="⁶21²f⁰"/>
<Ravel vid="21" cells="¹2190¹2192"/>
<Ravel vid="22" cells="³0"/>
<Ravel vid="23" cells="² ⁰"/>
<Ravel vid="24" cells="²f⁰"/>
<Ravel vid="25" cells="¹2190¹2192"/>
<Ravel vid="26" cells="²l⁰"/>
<Ravel vid="27" cells="³0"/>
<Ravel vid="28" cells="²NONE⁰"/>
<Ravel vid="29" cells="³801³97³202³3³98³999³11³1089⁶28"/>
<Ravel vid="30" cells="³1"/>
<Ravel vid="31" cells="⁶35⁶34⁶33⁶32"/>
<Ravel vid="32" cells="²MARCH⁰"/>
<Ravel vid="33" cells="²FEBRUARY⁰"/>
<Ravel vid="34" cells="²JANUARY⁰"/>
<Ravel vid="35" cells="² ⁰"/>
<Ravel vid="36" cells="³0"/>
<Ravel vid="37" cells="³5³6"/>
<Ravel vid="38" cells="³3³4"/>
<Ravel vid="39" cells="³1³2"/>
<Ravel vid="40" cells="⁶39⁶38⁶37"/>
<Ravel vid="41" cells="³1³2³3³4³5³6"/>
<Ravel vid="42" cells="²NONE⁰"/>
<Ravel vid="43" cells="²VAN DER MUELEN⁰"/>
<Ravel vid="44" cells="²MCGREW⁰"/>
<Ravel vid="45" cells="²HIGGS⁰"/>
<Ravel vid="46" cells="²MARCH⁰"/>
<Ravel vid="47" cells="²FEBRUARY⁰"/>
<Ravel vid="48" cells="²JANUARY⁰"/>
<Ravel vid="49" cells="² ⁰"/>
<Ravel vid="50" cells="⁶49⁶48⁶47⁶46⁶45³801³97³202⁶44³3³98³999⁶43³11
³1089⁶42"/>
<Ravel vid="51" cells="³0"/>
<Ravel vid="52" cells="³4"/>
<Ravel vid="53" cells="³10³8³7³7³6³13²K⁰³16³20³12³21³24"/>
<Ravel vid="54" cells="³0"/>
<Ravel vid="55" cells="³0"/>
<Ravel vid="56" cells="³0"/>
<Ravel vid="57" cells="³0"/>
<Ravel vid="58" cells="³0"/>
<Ravel vid="59" cells="³1"/>
<Ravel vid="60" cells="³0"/>
<Ravel vid="61" cells="¹8¹D¹A
"/>
<Ravel vid="62" cells="³0"/>
<Ravel vid="63" cells="³0"/>
<Ravel vid="64" cells="³0"/>
<Ravel vid="65" cells="¹0¹1¹2¹3¹4¹5¹6¹7¹8¹9¹A
¹B¹C¹D¹E¹F¹10¹11¹12¹13¹14¹15¹16¹17¹18¹19¹1A¹1B¹1C¹1D¹1E¹1F² !⁰¹22²#$⁰
²%⁰¹26²'()*+,-./0123456789:;⁰¹3C²=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_⁰
²`abcdefghijklmnopqrstuvwxyz{|}~⁰¹7F¹A5¹20AC¹21C4¹2227¹223C¹226C
¹22C6¹22F8¹2338¹233A¹233C¹233E¹2341¹A1¹2363¹2345¹2395¹235E¹2339¹2346
¹2364¹2347¹2348¹234A¹22A4¹3BB¹234D¹234F¹A3¹22A5¹2376¹2336¹2350¹2351
¹3C7¹2262¹2356¹2357¹2358¹235A¹235B¹2308¹235C¹2362¹222A¹2368¹2355
¹234E¹236C¹236A¹2223¹2502¹2524¹235F¹2206¹2207¹2192¹2563¹2551¹2557
¹255D¹2190¹230A¹2510¹2514¹2534¹252C¹251C¹2500¹253C¹2191¹2193¹2554
¹255A¹2569¹2566¹2560¹2550¹256C¹2261¹2378¹2377¹2235¹2337¹2342¹233B
¹22A2¹22A3¹25CA¹2518¹250C¹2588¹2584¹258C¹2590¹2580¹237A¹2379¹2282
¹2283¹235D¹2372¹2374¹2371¹233D¹2296¹25CB¹2228¹2373¹2349¹2208¹2229
¹233F¹2340¹2265¹2264¹2260¹D7¹F7¹2359¹2218¹2375¹236B¹234B¹2352¹AF¹A8
¹A0"/>
<Ravel vid="66" cells="³-1³0³0³0"/>
<Ravel vid="67" cells="²SystemVariable.cc:692⁰"/>
<SymbolTable size="44">
<Symbol name="A" stack-size="1">
<Variable vid="53"/>
</Symbol>
<Symbol name="AND" stack-size="1">
<Function creation-time="1414631025424389" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²(f AND g) r⁰¹A
¹235D²From Intro to APL p72⁰¹A
²z⁰¹2190²(f r)(g r)⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="ARGUMENT" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="B" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="DISPLAY" stack-size="1">
<Function creation-time="1414459919917015" exec-properties="0,0,0,0">
<UCS uni="²Z⁰¹2190²DISPLAY a⁰¹A
²Z⁰¹2190²4 ⁰¹2395²CR a⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="DYNADIC" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="FUNCTION" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="G" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="M" stack-size="1">
<Variable vid="7"/>
</Symbol>
<Symbol name="MONADIC" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="N" stack-size="1">
<Variable vid="51"/>
</Symbol>
<Symbol name="PLUS" stack-size="1">
<Function creation-time="1414547572908944" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²a PLUS b⁰¹A
²z⁰¹2190²a+b⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="REDUCTION" stack-size="1">
<Function creation-time="1414547466348455" exec-properties="0,0,0,0">
<UCS uni="²RESULT⁰¹2190²(FUNCTION REDUCTION) ARGUMENT⁰¹A
²RESULT⁰¹2190²FUNCTION/ARGUMENT⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="RESULT" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="V" stack-size="1">
<Variable vid="6"/>
</Symbol>
<Symbol name="Z" stack-size="1">
<Variable vid="50"/>
</Symbol>
<Symbol name="a" stack-size="1">
<Variable vid="41"/>
</Symbol>
<Symbol name="and" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="b" stack-size="1">
<Variable vid="40"/>
</Symbol>
<Symbol name="d" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="data" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="f" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="g" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="glue" stack-size="1">
<Function creation-time="1414631045814047" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²(f glue l) r⁰¹A
¹235D²From Intro to APL2, p72⁰¹A
²z⁰¹2190²l f r⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="l" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="lambda_funct" stack-size="1">
<Function creation-time="1415066315369124" exec-properties="0,0,0,0">
<UCS uni="¹3BB¹2190¹237A² lambda_funct ⁰¹2375¹A
¹3BB¹2190¹237A²+⁰¹2375¹A
"/>
</Function>
</Symbol>
<Symbol name="lambda_plus" stack-size="1">
<Function creation-time="1415066373530305" exec-properties="0,0,0,0">
<UCS uni="¹3BB¹2190¹237A² lambda_plus ⁰¹2375¹A
¹3BB¹2190¹237A²+⁰¹2375¹A
"/>
</Function>
</Symbol>
<Symbol name="months" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="names" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="prototype" stack-size="1">
<Function creation-time="1414459718152217" exec-properties="0,0,0,0">
<UCS uni="²Z⁰¹2190²prototype a⁰¹A
²Z⁰¹2190¹2191²0⁰¹2374¹2282¹2191²a⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="r" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="report" stack-size="1">
<Function creation-time="1414032301698215" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²names report data;months⁰¹A
¹235D²From Intro to APL2, p53⁰¹A
²months⁰¹2190²'' 'JANUARY' 'FEBRUARY' 'MARCH'⁰¹A
²z⁰¹2190²months,[1] names,data⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="sales" stack-size="1">
<Variable vid="29"/>
</Symbol>
<Symbol name="see" stack-size="1">
<Function creation-time="1414257404123121" exec-properties="0,0,0,0">
<UCS uni="²z⁰¹2190²l (f see) r⁰¹A
¹235D²Displays arguments to and operation of any function spec⁰
²ified⁰¹A
¹235D²From An Introduction to APL2, p 51⁰¹A
¹2192²(0=⁰¹2395²NC 'l')/MONADIC⁰¹A
²DYNADIC:z⁰¹2190²l f r ⁰¹235D²function call is dynadic⁰¹A
¹2395¹2190²z '⁰¹2190¹2192²' l 'f' r⁰¹A
¹2395¹2190²''⁰¹A
¹2192²0⁰¹A
²MONADIC:z⁰¹2190²f r ⁰¹235D²function call is monadic⁰¹A
¹2395¹2190²z '⁰¹2190¹2192²' 'f' r⁰¹A
¹2395¹2190²''⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="si" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="type" stack-size="1">
<Function creation-time="1414459829292115" exec-properties="0,0,0,0">
<UCS uni="²Z⁰¹2190²type a⁰¹A
²Z⁰¹2190¹2191²0⁰¹2374¹2282²a⁰¹A
"/>
</Function>
</Symbol>
<Symbol name="x" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="z" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="λ" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="χ" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍵" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍶" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍹" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍺" stack-size="1">
<unused-name/>
</Symbol>
</SymbolTable>
<Symbol name="⎕AI" stack-size="1">
<Variable vid="66"/>
</Symbol>
<Symbol name="⎕ARG" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⎕AV" stack-size="1">
<Variable vid="65"/>
</Symbol>
<Symbol name="⎕EM" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⎕ET" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⎕LC" stack-size="1">
<Variable vid="64"/>
</Symbol>
<Symbol name="⎕PT" stack-size="1">
<Variable vid="63"/>
</Symbol>
<Symbol name="⎕SVE" stack-size="1">
<Variable vid="62"/>
</Symbol>
<Symbol name="⎕TC" stack-size="1">
<Variable vid="61"/>
</Symbol>
<Symbol name="⎕TS" stack-size="1">
<Variable vid="60"/>
</Symbol>
<Symbol name="⎕UL" stack-size="1">
<Variable vid="59"/>
</Symbol>
<Symbol name="⎕WA" stack-size="1">
<Variable vid="58"/>
</Symbol>
<Symbol name="⎕CT" stack-size="1">
<Variable vid="17"/>
</Symbol>
<Symbol name="⎕FC" stack-size="1">
<Variable vid="16"/>
</Symbol>
<Symbol name="⎕IO" stack-size="1">
<Variable vid="15"/>
</Symbol>
<Symbol name="⎕L" stack-size="1">
<Variable vid="57"/>
</Symbol>
<Symbol name="⎕LX" stack-size="1">
<Variable vid="14"/>
</Symbol>
<Symbol name="⎕PP" stack-size="1">
<Variable vid="13"/>
</Symbol>
<Symbol name="⎕PR" stack-size="1">
<Variable vid="12"/>
</Symbol>
<Symbol name="⎕PS" stack-size="1">
<Variable vid="11"/>
</Symbol>
<Symbol name="⎕PW" stack-size="1">
<Variable vid="10"/>
</Symbol>
<Symbol name="⎕R" stack-size="1">
<Variable vid="56"/>
</Symbol>
<Symbol name="⎕RL" stack-size="1">
<Variable vid="9"/>
</Symbol>
<Symbol name="⎕SYL" stack-size="1">
<Variable vid="55"/>
</Symbol>
<Symbol name="⎕TZ" stack-size="1">
<Variable vid="8"/>
</Symbol>
<Symbol name="⎕X" stack-size="1">
<Variable vid="54"/>
</Symbol>
<Symbol name="⍺" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍶" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="χ" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="λ" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍵" stack-size="1">
<unused-name/>
</Symbol>
<Symbol name="⍹" stack-size="1">
<unused-name/>
</Symbol>
<StateIndicator levels="1">
<SI-entry level="0" pc="3" line="0">
<Statements>
<UCS uni="²2 2⁰¹2283²V⁰"/>
</Statements>
<Parser assign-pending="0" lookahead-high="2">
<Token pc="2" tag="4107070F" vid="3"/>
<Token pc="1" tag="50020907" fun-id="5002"/>
<Token pc="0" tag="4105070F" vid="2"/>
</Parser>
</SI-entry>
</StateIndicator>
</Workspace>