Source file apply.icn
############################################################################
#
#	File:     apply.icn
#
#	Subject:  Procedure to apply a list of functions to an argument
#
#	Author:   Ralph E. Griswold
#
#	Date:     March 4, 1995
#
############################################################################
#
#   This file is in the public domain.
#
############################################################################
#
#  This procedure applies a list of functions to an argument.  An example is
#
#	apply([integer, log], 10)
#
#  which is equivalent to integer(log(10)).
#
#
############################################################################

procedure apply(plist, arg)
   local p

   plist := copy(plist)

   p := get(plist) | fail

   if *plist = 0 then
      suspend p(arg)
   else
      suspend p(apply(plist, arg))

end

This page produced by UniDoc on 2021/04/15 @ 23:59:45.