Logiweb(TM)

Logiweb aspects of tactic-Curry ( " ) in pyk

Up Help

The "pyk" aspect

Define pyk of tactic-Curry ( asterisk ) as "tactic-Curry ( "! )" end define

The "value" aspect

define value of tactic-Curry ( u ) as norm { u is val : LET u BE { asterisk IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime IN LET asterisk prime head BE { asterisk IN LET asterisk prime tail BE { asterisk prime IN LET asterisk BE { t IN LET asterisk prime head BE { asterisk IN LET asterisk prime tail BE { asterisk prime IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime prime IN LET asterisk prime prime head BE { asterisk IN LET asterisk prime prime tail BE { asterisk prime prime IN LET asterisk BE { s IN LET asterisk prime prime head BE { asterisk IN LET asterisk prime prime tail BE { asterisk prime prime IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime prime prime IN LET asterisk prime prime prime head BE { asterisk IN LET asterisk prime prime prime tail BE { asterisk prime prime prime IN LET asterisk BE { c IN LET asterisk prime prime prime head BE { asterisk IN LET asterisk prime prime prime tail BE { asterisk prime prime prime IN LET t BE { asterisk IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime IN LET asterisk prime head BE { asterisk IN LET asterisk prime tail BE { asterisk prime IN LET asterisk prime head BE { asterisk IN LET asterisk prime tail BE { asterisk prime IN LET { if asterisk atom then asterisk else { asterisk head } } :: { { if asterisk atom then asterisk else { asterisk tail } } :: true } BE { asterisk prime prime IN LET asterisk prime prime head BE { asterisk IN LET asterisk prime prime tail BE { asterisk prime prime IN LET asterisk BE { x IN LET asterisk prime prime head BE { asterisk IN LET asterisk prime prime tail BE { asterisk prime prime IN LET taceval ( x , s , c ) BE { asterisk IN LET asterisk BE { s IN LET make-root ( t , quote s [[ hook-arg ]] unquote Curry end quote ) :: { s [[ hook-arg ]] :: true } BE { asterisk IN LET asterisk BE { a IN LET s [[ hook-res ]] BE { asterisk IN LET asterisk BE { r IN if mismatch ( quote { x oplus y } infer z end quote , r , c ) then error ( t , diag ( "Curry tactic used on unfit argument:" ) disp ( r ) end diagnose ) else LET make-root ( r , quote r first first unquote infer { r first second unquote infer { r second unquote } } end quote ) :: { r first first :: { { make-root ( r , quote r first second unquote infer { r second unquote } end quote ) :: { r first second :: { r second :: true } } } :: true } } BE { asterisk IN LET asterisk BE { r IN { s [[ hook-arg -> a ]] [[ hook-res -> r ]] } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } end define

The pyk compiler, version 0.1.9 by Klaus Grue,
GRD-2007-07-12.UTC:20:11:58.175987 = MJD-54293.TAI:20:12:31.175987 = LGT-4690987951175987e-6