22 lines
602 B
Factor
22 lines
602 B
Factor
! Copyright (C) 2007, 2008 Slava Pestov, Eduardo Cavazos.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: accessors fry fry.private generalizations kernel
|
|
locals.types sequences ;
|
|
IN: locals.fry
|
|
|
|
! Support for mixing locals with fry
|
|
|
|
M: let count-inputs body>> count-inputs ;
|
|
M: lambda count-inputs body>> count-inputs ;
|
|
|
|
M: lambda fry
|
|
clone [ [ count-inputs ] [ fry ] bi ] change-body
|
|
[ [ vars>> length ] keep '[ _ _ mnswap _ call ] ]
|
|
[ drop [ncurry] curry [ call ] compose ] 2bi ;
|
|
|
|
M: let fry
|
|
clone [ fry ] change-body ;
|
|
|
|
INSTANCE: lambda fried
|
|
INSTANCE: let fried
|