factor/basis/locals/fry/fry.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