INGENIERIA INGENIERIA EN SISTEMAS COMPUTACIONALES
PROGRAMACION LOGICA Y FUNCIONAL
PROYECTO INTEGRADOR: EVALUACION PEREZOSA.
Docente: LIC. ANTONIO CAB BALAM
8° SEMESTRE GRUPO “B”
FECHA: 11/05/2015
Conceptos básicos de la evaluación perezosa. Evaluación e!e"o#a
El !"#$# $% %&'l(')*+, -l' .#' %, (% % )'l)(l', l' %3%*#,%4 % ll'' %&'l(')*+, 3%%#' -l'6%&'l('"*#,47 C#, l' %&'l(')*+, 3%%#' % )'l)(l' (,' %3%*+, -3')*'l4 #l'%,"% * %'l%,"% % ,%)%*"' %l &'l# 3'' )'l)(l' %l %(l"'$#7 El #3(%"# % l' %&'l(')*+, ' -%'%%&'l('"*#,47 C#, l' %&'l(')*+, ' % )'l)(l' $*%)"'%,"% %l %(l"'$#$% l' .(,)*+,9 * % )#,#)% %l 3'%"# ')"('l7 D'$' l' %&'l(')*+, 3%%#' $%l l%,(';% % 3#*
L# <%,%.*)*# $% l' %&'l(')*+, 3%%#' #,: •
El *,)%%,"# %, %l %,$**%,"# 'l %&*"' )l)(l# *,,%)%'*#9 6 %, "'"'
•
)#,$*)*#,% $% %# 'l %&'l(' %3%*#,% )#3(%"'7 L' )'3')*$'$ $% )#,"(* %"()"(' $% $'"# 3#"%,)*'l%,"% *,.*,*"'7 L' )'3')*$'$ $% $%.*,* %"()"(' $% )#,"#l )## '<"'))*#,%9 %, l('
•
$% #3%')*#,% 3**"*&'7 L' %&'l(')*+, 3%%#' 3(%$% "'<*!, %$()* %l )#,(# $% %#*' $% (,' '3l*)')*+,9 6' (% l# &'l#% % )%', #l# )(',$# % ,%)%*"',7 S*, %<'#9 % $*.=)*l $% )#<*,' )#, l' #3%')*#,% "=3*)' $% 3#'')*+, *3%'"*&'9 )## %l ',%;# $% %)%3)*#,% # l' #3%')*#,% $% %,"'$'/'l*$'9 3#(% %l #$%, $% l' #3%')*#,% 3(%$% (%$' *,$%"%*,'$#7
Estrategia de la evaluación perezosa U,' %"'"%*' $% %&'l(')*+, % (, )#,;(,"# $% %l' 3'' %&'l(' %3%*#,% %, (, l%,(';% $% 3#'')*+,7 U,' %"'"%*' $% %&'l(')*+, $%.*,% )(',$# 6 %, (! #$%, l# '(%,"# ' (,' .(,)*+, #, %&'l('$#9 )(',$# % ("*"(6%, %, l' .(,)*+,9 6 l# (% l' ("*"()*+, % .#',7 L' %"'"%*' $% %&'l(')*+, % $*&*$%, %, $# (3# <*)#9 %"*)"# 6 ,# %"*)"#9 <''$# %, )+# % ',%;', l# '(%,"# $% (,' .(,)*+,7 E#t!ate$ia# %ica#
U,' %3%*+, (% )#,"' $% (,' .(,)*+, '3l*)'$' ' (,# # 3'%"# 6 (% 3(%$% % %$()*$'9 '3l*)',$# $*)>' .(,)*+, % l% $%,#*,' %$% # %3%*+, %$()*
D% '$%,"# >')*' '.(%' # )'ll?<6?&'l(% D% '.(%' >')*' $%,"# # )'ll?<6?,'%7 E&'l(')*#,% (% ,# "%*,',
De a'ent!o (acia a)ue!a
E"'"%*' (% %l*% %l %$% (% %" '$%,"#9 %,"%,$*%,$# 3# %"# 'l %$% (% ,# )#,"*%,% #"# %$%7 S* %*"% $% (, %$% (% )(3l% $*)>' )#,$*)*+,9 % %l*% %l (% %" ' l' *(*%$'7
De a)ue!a (acia a'ent!o
E"% %l*% %l %$% (% %" '.(%'9 %,"%,$*%,$# 3# %"# 'l %$% (% ,# %" )#,"%,*$# %, #"# %$%7 S* %*"% $% (, %$% (% )(3l% $*)>' )#,$*)*+,9 % %l*% %l (% %" ' l' *(*%$'7 Evaluacione# *ue no te!+inan.
T%,' %, )(%,"' (% l' %3%)*+,: in), - in)
I,"%,"' %$()* l' %3%)*+,*,. ,# &' $' )## %(l"'$# (,' %3%)*+, 6 ',$% -*,$%3%,$*%,"%%,"% $% l' %"'"%*' (% (%#4 *,.7 T!),*)' $% 3#'')*+, .(,)*#,'l 3%%#' L' %,"*)' '$#3"'$' 3'' %l ,# $%"%*,*# % l' $% %l%))*+, %, l' *,)')*+,9 3# %(l"' ,'"('l 3'' l' 3#'')*+, 6 %.*)' %, l' %;%)()*+, 'l)#%3#,$%% )#, %l %)',*# $% )#3'"*)*+,7 E, %l ,# $%"%*,*# %*"%, &'*' "!),*)' )##: •
T!),*)' $% BAC@TRA@ING: * (,' 'l"%,'"*&' .'ll'9 %l .l(;# %"#,' >'"' l'
•
l"*' $%)**+, % *,"%,"' #"'7 T!),*)' $% GUARDS: * $% (,' % )*%"'9 % %)#% )('l(*%'
%$•
%ll'7 T!),*)' $% '3%,$*';% %.#'$#: %)#$' $%)**#,% %*"#' 6 '(%,"' ( 3*#*$'$ '= )## )#,*$%' l' $%)**#,% %, %l )#,"%"# $%l %"'$# ("'
Investigar y demostrar, al menos, una técnica de programación funcional perezosa.
E, %"' % %,%' (,' l*"' )#, "#$' l' 3#*
6
%,%'# (,' l*"' &')='9 %, %l )('l )(',$# % %,)(%,"% &')=' %,"#,)% % "#' l' )'<%' 3'' #<"%,% (,' %3(%"'7 E"% )'# l' %&'l(')*+, 3%%#' % %, )'' $% #3"**' %l 3#)%$**%,"#7
M'3' )#,)%3"('l:
C#,)l(*#,%: #! D#,')*',# M'"*, P##l:E, )#,)l(*+, )## 6' >%# &*"# %*"%,$*.%%,"% 3''$*' $% 3#'')*+,9 *' (% #, $% ', ("*l*$'$ %,$*&%' %'9 %, $#,$% % 3(%$%, '3l*)'7 E, )(%"*+, 'l 3''$*' .(,)*#,'l%9)## 6' >%# ','l*'$# %*"%, $*&%# l%,(';% $% 3#'')*+, .(,)*#,'l9)## l# #, L*39 H'%ll9 l9 %,"% #"'7 E,"% 'l(,' )'')"%="*)' %", l' (,' ll''$' l' %&'l(')*+, 3%%#' *'9 (% )#,*"% %, (,' %"'"%*' $% %&'l(')*+,(% %"'' %l )l)(l# $% (,' %3%*+, >'"' (% ( &'l# %' ,%)%'*#9 6 (%"'<*!,
%&*"'
%3%"*
l'
%&'l(')*+,
%,
)'#
%$% ,%)%'*'
%,
3#"%*#%#)'*#,%7 E"' )#3'"*)*+, $%l )l)(l# 3(%$% %$()* %l "*%3# $% %;%)()*+,$% )*%"' .(,)*#,% $% .#' %3#,%,)*'l9 )#3''$# )#, #"# "*3# $%%&'l(')*+,9 % $%)*9 l' #3"**')*+, $% )+$*#7 E, %"% "'<';# >%# ','l*'$# )'$' )#,)%3"# *3#"',"% #<% l' %&'l(')*+, 3%%#'9 *# (% ,# >', '6($'$# ' 3#$% %,"%,$% %;# %"' "!),*)'7 A$% $% ','l*' )*%"# <%,%.*)*# (% ,# #.%)% %"' "!),*)'9 "'l% )##: l' #3"**')*+, $% )+$*#9 )#,"(* %"()"(' $% $'"# 3#"%,)*'l%,"% *,.*,*"' 6 l' )'3')*$'$ $% $%.*,* %"()"(' $% )#,"#l )## '<"'))*#,%7 P# (l"*# ','l*'# 'l(,' $% l' "!),*)' (% ("*l*' l' %&'l(')*+, 3%%#'9 %,"% %"' 3#$%# *$%,"*.*)' l' *(*%,"%: $% '$%,"# >')*' '.(%' # )'ll?<6?&'l(%9 $% '.(%' >')*' $%,"# # )'ll? <6?,'%9 %&'l(')*#,% (% ,# "%*,',9 "#$# %"# (6 *3#"',"% 3'' 3#$% )#3%,$% %;# l' ',%' $% )+# "'<';' l' %&'l(')*+, 3%%#'7
L#%,# E$('$# M'6 M%:L' %&'l(')*+, 3%%#' >' *,)%%,"# %, %l %,$**%,"# 'l %&*"' )l)(l# *,,%)%'*#9 6 %, "'"' )#,$*)*#,% $% %# 'l %&'l(' %3%*#,% )#3(%"'7 L' )'3')*$'$ $% )#,"(* %"()"(' $% $'"# 3#"%,)*'l%,"% *,.*,*"'7 L' )'3')*$'$ $% $%.*,* %"()"(' $% )#,"#l )## '<"'))*#,%9 %, l(' $% #3%')*#,% 3**"*&'7 L' %&'l(')*+, 3%%#' 3(%$% "'<*!, %$()* %l )#,(# $% %#*' $% (,' '3l*)')*+,9 6' (% l# &'l#% % )%', #l# )(',$# % ,%)%*"',7 S*, %<'#9 % $*.=)*l $% )#<*,' )#, l' #3%')*#,% "=3*)' $% 3#'')*+, *3%'"*&'9 )## %l ',%;# $% %)%3)*#,% # l' #3%')*#,% $% %,"'$'/'l*$'9 3#(% %l #$%, $% l' #3%')*#,% 3(%$% (%$' *,$%"%*,'$#7 A$%9 l' %&'l(')*+, 3%%#' 3(%$% )#,$()* '
.'%,"' l' %#*'9 l# )#,"'*# $% l' %&'l(')*+, 3%%#' %=' l' %&'l(')*+, ')'3''$#'9 # %&'l(')*+, %"*)"'9 (% % %l #$# $% %&'l(')*+, 3# $%.%)"# %, l' '6#=' $% l# l%,(';% $% 3#'')*+,7 L# l%,(';% .(,)*#,'l% #, (,' .'*l*' $% l%,(';% (% l' '6#=' $% l# 3#''$#% )#,#)% $% #=$'9 3%# $%')*'$'%,"% ,# ()># )#,#)%, (.*)*%,"%%,"% <*%, 6' (% ,# % (, l%,(';% 3'' '3l*)')*#,% $% %)*"#*#7 A3%,$% (, l%,(';% .(,)*#,'l l# (.*)*%,"% )## 3'' "%,% (,' ,#)*#,% % *,3*'%9 ,# "*%,% 3# (! ll%&' ()># "*%3#7 A$%9 ,# +l# $*3#,%# $% I,"%,%"9 *,# "'<*!, $% %)%l%,"% l*<# (% %", 3%,'$# 3%)*'%,"% 3'' 3#''$#% (% &*%,%, $% #"# l%,(';%7 El %"# $% %"% '"=)(l# %3l#' 'l(,' "!),*)'9 <(%,' )#"(<% % *$%' )#(,% %, l%,(';% .(,)*#,'l%9 (% 3#$%# '3l*)' .)*l%,"% %, #"# l%,(';%7 P# (3(%"#9 'l(,' $% %"' l%))*#,% % 3(%$%, '3%,$% *3l%%,"% 3# %3%*%,)*'9 6 ,# #, ,%)%'*'%,"% %)l(*&' $% l# l%,(';% .(,)*#,'l%7
R%.%%,)*':
Bibliografía Introducción a la Programación Funcional. (s.f.). Obtei!o !e "tt#$%%&&&.'"'.es%iees.#ao%##rograa*io%f'*ioal%tea+f."tl
,'a Carlos G'-a. (s.f.). Evaluacion perezosa. Obtei!o !e "tt#$%%l!*.'sb.e%s'are-%#a#ers%la-/O#t.#!f U!#ar. (0 !e Ma/o !e 12+3). Estrategias de evaluacion perezosa . Obtei!o !e "tt#$%%'4bar5&i6i.org%i!e7.#"#8title9Estrategias:!e:Eal'a*i;C<;B<