The following is a demonstration of a Unix implementation of FP, Backus's functional programming language. The examples should be reasonably self-explanatory, given the discussion in the text. The user's input is indented; the system output begins at the left margin. Notice the multiprecision arithmetic. The demo was run 8-10 years ago. ------- {ip (|+) @ (&*) @ trans} {ip} ip:<<1,2,3>,<4,5,6>> 32 {matprod (& & ip) @ (& distl) @ distr @ [1, trans @ 2]} {matprod} matprod:<<<1,2,3>,<4,5,6>>, <<7,8>,<9,10>,<1,2>>> <<28 34> <79 94>> {fac (|*) @ iota} {fac} fac:4 24 fac:20 2432902008176640000 fac:50 30414093201713378043612608166064768844377641568960512000000000000 fac:100 9332621544394415268169923885626670049071596826438162146859296389521759999322991 5608941463976156518286253697920827223758251185210916864000000000000000000000000 fac:200 7886578673647905035523632139321850622951359776871732632947425332443594499634033 4292030428401198462390417721213891963883025764279024263710506192662495282993111 3462857270763317237396988943922445621451664240254033291864131227428294853277524 2424075739032403212574055795686602260319041703240623517008587961789222227896237 03897374720000000000000000000000000000000000000000000000000 )timer on Timing applications turned on fac:100 9332621544394415268169923885626670049071596826438162146859296389521759999322991 5608941463976156518286253697920827223758251185210916864000000000000000000000000 cpu + gc [wc] = 0.55 + 0.0 [1.0]