41 lines
795 B
Text
41 lines
795 B
Text
$ENTRY Go {
|
|
, <BellNumbers 50>: e.Bell (e.B50)
|
|
, <First 15 e.Bell>: (e.F15) e.Rest
|
|
= <Each (Show) e.F15>
|
|
<Show e.B50>
|
|
<Each (Prout) <BellTriangle 10>>;
|
|
}
|
|
|
|
Show {
|
|
(e.X) = <Prout <Symb e.X>>;
|
|
};
|
|
|
|
BellNumbers {
|
|
s.N, <BellTriangle s.N>: e.Rows = <Each (Head) e.Rows>;
|
|
};
|
|
|
|
BellTriangle {
|
|
s.N = <BellTriangle <Sub s.N 1> ((1))>;
|
|
0 e.T = e.T;
|
|
s.N e.Rs (e.R) = <BellTriangle <Sub s.N 1> e.Rs (e.R) (<BellStep e.R>)>;
|
|
};
|
|
|
|
BellStep {
|
|
e.Row, e.Row: e.X (e.Last) = <Rsum (e.Last) e.Row>;
|
|
};
|
|
|
|
Rsum {
|
|
(Acc e.Acc) = ;
|
|
(Acc e.Acc) (e.N) e.Ns, <Add (e.N) e.Acc>: e.N2 =
|
|
(e.N2) <Rsum (Acc e.N2) e.Ns>;
|
|
e.Ns = <Rsum (Acc 0) e.Ns>;
|
|
};
|
|
|
|
Each {
|
|
(e.F) = ;
|
|
(e.F) (e.X) e.Xs = (<Mu e.F e.X>) <Each (e.F) e.Xs>;
|
|
};
|
|
|
|
Head {
|
|
t.X e.Y = t.X;
|
|
};
|