## Logiweb aspects of unitac-Uncurry ( " ) in pyk

### The "pyk" aspect

Define pyk of unitac-Uncurry ( asterisk ) as "unitac-Uncurry ( "! )" end define

### The "value" aspect

define value of unitac-Uncurry ( 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 unieval ( t first , s , c ) BE { asterisk IN LET asterisk BE { s IN LET unitac-adapt ( "infer" , s , c ) BE { asterisk IN LET asterisk BE { s IN LET s [[ hook-arg ]] BE { asterisk IN LET asterisk BE { a IN LET s [[ hook-res ]] BE { asterisk IN LET asterisk BE { r IN if .not. { r second r= quote x infer y end quote } then error ( r , diag ( "Unsuited for uncurrying:" ) disp ( r ) end diagnose ) else LET make-root ( r , quote { r first oplus { r second first } } infer { r second second } end quote ) :: { { make-root ( r , quote r first oplus { r second first } end quote ) :: { { make-root ( r , quote r first end quote ) :: { { make-root ( r , quote r end quote ) :: true } :: true } } :: { { make-root ( r , quote r second first end quote ) :: { { make-root ( r , quote r second end quote ) :: { { make-root ( r , quote r end quote ) :: true } :: true } } :: true } } :: true } } } :: { { make-root ( r , quote r second second end quote ) :: { { make-root ( r , quote r second end quote ) :: { { make-root ( r , quote r end quote ) :: true } :: true } } :: true } } :: true } } BE { asterisk IN LET asterisk BE { r IN { s [[ hook-arg -> make-root ( t , quote a unquote Uncurry end quote ) :: { a :: true } ]] [[ 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