Mercurial > hg > jgplsrc
view test/gf.ijs @ 0:e0bbaa717f41 draft default tip
lol J
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Mon, 25 Nov 2013 11:56:30 -0500 |
parents | |
children |
line wrap: on
line source
NB. f. ------------------------------------------------------------------ ar =: 5!:1 mat =: ?3 4$1e5 mat -: 'mat' f. slash =: / plus =: + v =: plus slash f =: 'v' f. g =: +/ (ar<'f') -: ar<'g' (+/y) -: 'v' f. y=: _1e7+?12$2e7 each =: &.> f =: 'each' f. g =: &.> (ar<'f') -: ar<'g' (|.&.>y) -: |. 'each' f. y=: ;:'Cogito, ergo sum.' f=: undefined_no 'value error' -: ex 'f f.' t=: ~ s=: 't' f. (5!:1 <'s') -: 5!:1 <'t' s=: `:6 t=: ((&.>) (`<)) s f=: 't' f. g=: ((&.>)(`<))(`:6) (5!:1 <'f') -: 5!:1 <'g' NB. f. and $: ----------------------------------------------------------- lr =: 1 : '5!:5 <''x''' sgn =: * dec =: <: inc =: >: fact =: 1:`(* $:@<:)@.* fact1=: 1:`(* $:@dec)@.sgn '1:`(* $:@<:)@.*' -: fact f. lr '1:`(* $:@<:)@.*' -: fact1 f. lr '>:@(3 : ''1:`(* $:@<:)@.* y'' :(4 : ''x 1:`(* $:@<:)@.* y''))' -: inc@fact f. lr '3 : ''1:`(* $:@<:)@.* y'' :(4 : ''x 1:`(* $:@<:)@.* y'')&.<:' -: fact&.dec f. lr s =: $: cap =: [: monad=: 3 : '$: y' dyad =: 4 : 'x $: y' ambi =: (3 : '$: y') : (4 : 'x $: y') eq=: 2 : 0 f=: x f. g=: y f. assert. (5!:1 <'f') -: 5!:1 <'g' 1 ) >:@ s eq (>:@ ambi ) >:@:s eq (>:@:ambi ) >:@ s@ *: eq (>:@ monad@ *: ) >:@:s@:*: eq (>:@:monad@:*: ) s@ *: eq (monad@ *: ) s@:*: eq (monad@:*: ) s@ *:@ >: eq (monad@ *:@ >: ) s@:*:@:>: eq (monad@:*:@:>: ) s & *: eq (ambi & *: ) s &:*: eq (ambi &:*: ) s & *:@>: eq (monad& *:@>: ) *& s eq (* & monad ) *&.s eq (* &.monad ) *&:s eq (* &:monad ) s : + eq (monad : + ) * : s eq (* : dyad ) s~ eq (dyad ~ ) s ;.1 eq ( monad ;. 1 ) +&s;._3 eq (+&monad ;. _3 ) (+ s - ) eq (+ dyad - ) ([: + s ) eq ([: + ambi) ([: s - ) eq ([: monad - ) (cap s - ) eq (cap monad - ) (+ - s ) eq (+ - ambi) (* : (+ - s) ) eq (* : (+ - dyad) ) ((+ - s) : > ) eq ((+ - monad) : >) (+ s ) eq (+ monad ) (s >: ) eq (dyad >: ) (s/ ) eq (dyad / ) (s/. ) eq (monad/. ) (s\ ) eq (monad\ ) (s\. ) eq (monad\. ) ( s`!`+@.] ) eq ( ambi `!`+@.] ) ( ^`!`+@.s ) eq ( ^ `!`+@.ambi ) (%&(s`!`+@.])) eq (%&(monad`!`+@.] ) ) (%&(^`!`+@.s)) eq (%&(^ `!`+@.monad) ) (s`!`+@.]@* ) eq ( monad`!`+@.] @ *) (^`!`+@.s@* ) eq ( ^ `!`+@.monad@ *) s"2@*: eq (monad"2@*: ) s"2@*:@>: eq (monad"2@*:@>:) s"2~ eq (dyad"2~ ) (s"2 >: ) eq (dyad"2 >: ) C=: 0:`0:`1:`($:&<: + ($: <:)) @. ([: #. <:,0<[) f=: (C +:)"0 f. 4!:55 ;:'C' (f -: (!+:)) y=: 10 ?@$ 6 4!:55 ;:'a ambi ar b C cap dec dyad each f fact fact1 eq g inc lr ' 4!:55 ;:'mat monad plus s sgn slash t v y'