30

web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

Embed Size (px)

Citation preview

Page 1: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

�������������� ������ � ��������������� �!�"�$#%�!&�' �(��)�#%��#%*+�,.-0/(13254768-

9;:=<?>A@CBEDF<HG�@JIKML�<?BMN8BO@CPQLR<TS?@C>VU:W>YX5:ZIQLRB\[^]%<A:Z_`>T@JSTacbOLedfBOgihZ<Tjk:=>A@C_kdml

nZoQpZoZq X5:ZIQLRB\[sr�L�<Tjk:ZB`tLR<?G�@JI`uvgiLR<TBxwyBy@{zfbM:=IQL�B\|~}yL

�5� <T@J���V�.[^� pZpQp

Page 2: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

������������� �

��������������

�������������� !

! "#����$%�'&�(*)+�%,-�.� /

/ "#�0&�(0)1�%,32.�546$87:9<;* =>@? � ACBEDGFIHKJLMF�N#O ?P?P?Q?P?P?R?Q?P?P?Q?P?P?R?Q?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R? S>@?T> UWV1X OZYZBE[:\]Y_^ Xa` A�BEDGFIH:O ?P?R?Q?P?P?Q?P?P?R?Q?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R? b>@?TS ced YZBfD+\]Y_^ Xa` A�BEDGF.Hhg X:i3V BEjkDGY_^ V1Xh?Q?P?P?R?Q?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R? l>@?mb ACBEDGFIHKn�N#\ V joF V O_^pY_^ V1X ?R?Q?P?P?Q?P?P?R?Q?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R? q

= rs7I �,-)t46$87:9�;vuw9e�@$87a�%,-�.�* o7I�*&yxs;0��,-$z"#{|9�}3��{|�@����7:�%,-�.� ~S@? � ACN X N�BED+�����[aB_F V OZNR��F�N�BEDGY_^ V1X O ?P?Q?P?P?R?Q?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R? ���S@?T> g�joFI��N#joN X Y_DGY_^ V1X�V+i ACBEDGFIH���F�N�BEDGY_^ V1X O ?Q?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R?P?P?Q?P?P?Q?R? �+�

� � �M9*�%;���,-$% ����'�@7:$%)G; !@/

� rs$8�@7:&0�8;'�E��,-$8 ����'�M7:$8)G; ! �

� �';*�I$%���@ ��k��7a�%;* !a�

� 46$87:9<;��P�I$8�.�*�., � ,-7:�.$%7.{ !a�

� � ,��<,�{t(*{��'9<7I�*�<,��0��x�$%�@� ! �

~ � 7:�0,-{t(<{ "#�*&*�@9e���0&<�����k¡¢�'&<�£�'�M�� !M~

¤ �M¥¦�M$8���0)1�@ /:§

¨69<9e�@�*&�,©�y¨¢ª«"#{|9<}-��{5������7a�8,3���¬¨6 #9e�@)+�� /I/

¨69<9e�@�*&�,©��rzª«�<(0$%�%;*�M$ ¤ �@7:&�,��0� / �

"#�*&*�M� /��

Page 3: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

> � � �o���P�����W��� � �W�

� ����'� �����<���_���

J�H:N�������������� ��!#"%$'&(!*),+ -.�0/1&(! &32#45�6$7-�4%^©O0D�\ V ���pN#\]Y_^ V1XRV+i Y�L@F�ND X98Ri [ X \]Y_^ V1X:8 N1; X ^pY_^ V1X O Y V D 898 BEN#O_O` BEDGF.H¬F:B V < ��N#jwO ?>= A@? F:B_N#OZN X Y_OwD X DGFIF:B V D+\EH�Y V Y_HaN i-V BEjs[:��DGY_^ V1X¬V+i�` BEDGFIH�D+� `+V BE^pY_H:jkO�Y_H:DGY8 ^BA�N�BEO�O_^ `1X ^B;.\�D X Y_�pL i B V j Y_HaN�YZBfD 8 ^pY_^ V1X D+�C41^�joF�N�BEDGY_^BD+NFEWD#L V+i Y_H:^ X9G ^ X:` D <�V [aYD X98 O V �BD�^ Xa`Q` BfDGFIHF:B V < �pN#jwO1H*Y_HaN < D+O_^�O V+i Y_HaN���^ < BEDGBEL�^�OeD X ^ X98 [I\]Y_^BD+N 8 N1; X ^�Y_^ V1X�V+i'` BEDGFIH:O�^ X Y_HaN�OZY�L��pN V+i D+� ` N < BED+^�\8 DGY_DRY�L@F�N#O«Y_H:DGY�N X \ V [aBED ` N#O�^ X98 [:\]Y_^BD+N 4 B_N#\�[aBEO_^ID+N 8 N1; X ^pY_^ V1X O V+i�` BfDGFIHwD+� `+V BE^�Y_H:jwOe^ X OZYZN#D 8�V+i Y_HaNYZBED 8 ^pY_^ V1X D+� XaV58 NkjwDGB G ^ Xa` OZY�L��pN ? g X D 898 ^pY_^ V1X 4<Y_HaNz�©^ < BEDGB_L \ V1X Y_D+^ X O i [ X \]Y_^ V1X O i-V BJEN#���p� G@XaV E X` BEDGF.H|FIB V < �pN#jwOK4�OE[:\EH�D+O14 8 N�F:Y_H��C;:BEO_YsOZN#DGBf\EH V Bo\ V joFI[aY_^ Xa` OEH V B_YZN#OZY�FIDGY_H:O ?ML YoFIB_N#OZN X Y14«Y_HaN��^ < BEDGB_Lk^©O i DGB i B V j < N#^ Xa` \ V joFI�pN�YZN 4 < [aYFENP^ X YZN X98 Y V N d F.D X98 ^pY ?

= A@? ^�O 8 N1D V YZN 8 ^ X Y_HaN6;:BfOZYeFI��D+\]N�Y V N X D < ��N�DR\ V1X \�^©OZN�D X98 \��pN#DGB i-V BEjs[:��DGY_^ V1XkV+i�` BEDGFIHwFIB V < ��pN#jkO ? J�H:^�O�joN#D X O�Y_H:DGYCL V [ O_H V [:� 8�XaV YCD+�BEWD#L�OCN d F�N#\]YCY_HaN�j V OZYCN1Nk\�^pN X YQ^�joFI��N#joN X Y_DGY_^ V1X O V+i` BEDGF.H6D+� `+V BE^pY_H:jwO ?�O N1D+N�B_Y_HaN#��N#O_O14aY_HaNC\ V joFI�pN d ^pY¦L V+i i [ X \]Y_^ V1X O�^�OWD X ^�joF V B_Y_D X Y^�OEO_[aN 4�D X98 D+� `+V �BE^�Y_H:jwO < D+OZN 8KV1X Y_HaN�^ X98 [:\]Y_^BD+N ` BEDGFIHPD�^pN1E \�D XQ< N 4�^ X F:BE^ X \�^pFI�pN 4:D+O�N1Nk\�^pN X Y�D+O�\ V B_B_N#O_F V1X,8 ^ Xa`^�jwF�N�BfDGY_^BD+NPD+� `+V BE^pY_HIjwO ?.R O_N�BEO�j V O_Y�\ V1X \]N�B X N 8 D <�V [:Y�N1Nk\�^pN X \]L�O_H V [:� 8 \ V1X O_[:�pY L F:F�N X98 ^ dSLR?

J�H:^�O R OZN�BkAC[I^ 8 NzD+^©jwO�DGY�F:B V D�^ 8 ^ Xa` D XaV D@^©\]N6[:O_N�BJT@[:^�\ G �pLUE�^pY_H5Y_H:N6j V O_Ys^�jwF V BEY_D X Ys^ X �i-V BEjwDGY_^ V1X OhY V ` N�Y¢D X ^©joF:B_N#O_OE^ V1X�V+i�= A@? D X98 ��N#DGB X H V E Y V [:OZN Y_HaN5�©^ < BEDGB_L ?WV N|D+O_OE[:joNi D+jw^���^©DGBE^pY�LXE�^pY_HZY�D+O G N#���'D X,8ZG�XaV E��pN 8a` N V+i[< D+O_^�\ ` BEDGFIH6YZN�BEjw^ X:V � V+` L ?.V N\E�^���� V \�\�D+OE^ V1X D+���pLz[:OZNi [ X \]Y_^ V1X O 8 N1; X N 8 ^ X Y_HaNk�K] ] ^�_@Y_D X98 DGB 8hV+i Y�D+O G N#���a` > �#bC4 V Y_HaN�BcE�^©OZNQY_H:^�O R OZN�BQAC[:^ 8 NPOEH V [:� 8�< NOZN#� i ��\ V1X Y_D+^ X N 8'? J�HaN 8aV \�[IjoN X Y�^©O 8 ^BD@^ 8 N 8 ^ X Y V YdE V jwD+^ X F.DGB_Y_O ? J�HaN@;:BfOZYYeE V OZN#\]Y_^ V1X OWF:B V D�^ 8 N< D+OE^�\Q^ Xai-V BEjwDGY_^ V1X D <�V [aY�^ X98 [:\]Y_^BD+N ` BEDGF.H:O�D X98 H V E Y V E�BE^pYZNCB_N#\�[aBEOE^BD+N ` BEDGFIHKD+� `+V BE^pY_H:jwOKH

f g X _@N#\]Y_^ V1X�> E�NQN d F.��D+^ X Y_HaNQ^ X98 [:\]Y_^ID+N 8 N1; X ^pY_^ V1XzV+i ` BEDGFIH:OWY_HIDGYW[ X98 N�BE��^�N#O�D+����D+� `+V BE^�Y_H:jwO^ Xg= A@?h4ID X98 E�N 8 N#OE\]BE^ < NCN#�pN#joN X Y_DGB_L i [ X \]Y_^ V1X O�Y Vi< [I^�� 8 D X98 Y V ^ X OZF�N#\]Y ` BfDGFIH:O ?

f g X _@N#\]Y_^ V1X�S E�N�^ X YZB V�8 [:\]N�O V joN ` N X N�BED+��� FI[aBEF V O_N ` BEDGFIH V F�N�BfDGY_^ V1X O�D X,8Z8 N#j V1X OZYZBEDGYZN�Y_HaN8 ^�OZY_^ X \]Y_^BD+N�F:B V+` BED+jwjk^ Xa` OZY�L��pN V+i ^ X98 [:\]Y_^BD+N ` BEDGFIH:O < L 8 ^�O_\�[:OEO_^ Xa` Y_HaN#^pB�^�jwFI�pN#joN X Y_DGY_^ V1X'?

J�H:N X N d Y ` B V [aF V+i OZN#\]Y_^ V1X O 8 N#O_\]BE^ < N#O�OZN1D+N�BED+� ` BEDGF.H6D+� `+V BE^pY_H:jwOWD X98 DGF:FI�©^�\�DGY_^ V1X O ? J�H:N#OZN�O_N�BcD+NYeE V FI[aB_F V OZN#O1H�;:BfOZY14�Y_HaN�Lh\�D Xg< NP[:OZN 8 D+O�DoBEN i N�B_N X \]NQY Vwi [ X \]Y_^ V1X O X N�N 8 N 8hi3V B�FIDGB_Y_^�\�[:�©DGB�FIB V < ��pN#jkO14.D X98 OZN#\ V1X98 4.Y_HaN�LhF:B V D@^ 8 NPF:B V+` BfD+jwjw^ Xa` N d D+joFI��N#O�^ XP= A@?�Y_H:DGY�H:N#�pFKY_HaNs[:OZN�B�Y VZ< N�YZYZN�B[ X,8 N�BEOZY_D X98 Y_H:NP\ V1X \]N�F:Y V+i ^ X98 [:\]Y_^BD+N ` BEDGFIH:O�D X98 Y V DGF:F.�pLz^pY�Y VzX N1E F:B V < �pN#jwO ?

f _@N#\]Y_^ V1Xtb HX_@N1D+N�BED+�hD+N�BEO_^ V1X O V+i�8 N�F:Y_H��C;:BEO_YPOZN#DGBE\EH|D X98 D+��O Vj8 N�BE^BD+N 8£V F�N�BfDGY_^ V1X O14<O_[:\EH5D+OY V F V � V+` ^�\�D+� O V BEY_^ Xa` D X98 OZYZB V1Xa` �pL�\ V1X:X N#\]YZN 8 \ V jwF V1X N X Y_O ?

f _@N#\]Y_^ V1Xjk HalBEN#D 8 Y_H��C;:BEO_Y�OZN#DGBE\EH�D X98 O_H V B_YZN#OZY�FIDGY_HIO:m�joN#D+O_[aBEN 8 ^ XhX [:j < N�B V+i N 8a` N#O3n ?

f _@N#\]Y_^ V1X¢l H�_�H V B_YZN#OZY�F.DGY_H:O:moE�^pY_HKB_N#OZF�N#\]Y�Y V N 8a` NR�©D < N#�©O3n34aHaN�B_N H�nC^ p G O_YZBED�q O�D+� `+V BE^�Y_H:j ?

f _@N#\]Y_^ V1Xzq He��F�N�BEDGY_^ V1X O�Y V \ V1X OZYZBE[I\]Y�D X98 T@[aN�B_L ` BEDGFIHXr V B V1X:V ^:nC^�D ` BED+jwO ?.L�X DGF:FI�©^�\�DGY_^ V1X^�O14 i-V B�N d D+jwFI�pN 4I� V \�DGY_^ Xa`wX N#DGB_N#OZY i D+\�^���^pY_^�N#O ?

f _@N#\]Y_^ V1X ^5H's¢^ X ^�j�[Ij O_FID X:X ^ X:` YZB_N�N#OK4.HaN�B_N He��BE^�jgq O�D+� `+V BE^pY_H:j ?

f _@N#\]Y_^ V1X ]5H's¢D d ^�js[:j ^ X98 N�F�N X,8 N X Y XaV�8 NPOZN�Y_O ?

= ^ X D+�©�pL 4.^ XtL F:F�N X98 ^ dgL E�N 8 ^©O_\�[:O_O�Y_HaNs^©joFI�pN#joN X Y_DGY_^ V1X¢V+i Y_HaN ` BEDGFIH�Y�L@F�N 4'D X98 ^ XQL F:F�N X98 ^ dluE�NPF:B V D@^ 8 NQO V joN < ^ < ��^ V+` BEDGF.H:^�\ < D+\ G@` B V [ X98'?

Page 4: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

S

� �������<���������W������

J�H:N i3V ��� V E�^ X:`�8 N1; X ^pY_^ V1X O�DGBENw\ V1X Y_D+^ X N 8 ^ X Y_HaNwj V58 [I�pN� ������� ?JV N 8 N#O_\]BE^ < NsY_HaN = A@? ` BfDGFIH �������������! Y¦LMF�N#OeD X98 Y_HaN#^pB V F�N�BEDGY_^ V1X O«^ X OZN1D+N�BED+�:OZYZN�F.O1H._�N#\]Y_^ V1Xk>@? ��^ X YZB V�8 [:\]N#O�Y_HaN < D+O_^�\�Y�L@F�N#O ? g X _�N#\]Y_^ V1X>@?T> E�N 8 N#j V1X OZYZBEDGYZN�H V E ` BEDGFIH:O«\�D X�< N�\ V1X OZYZBE[I\]YZN 8 4 E�HaN�BEN#D+O«^ X _@N#\]Y_^ V1Xw>@?TS E�N�O_H V E i [ X \]Y_^ V1X OY V D+\�\]N#O_O^ Xai-V BEjwDGY_^ V1X OZY V B_N 8 ^ X D ` BfDGFIH ?�= ^ X D+���pL 4 _@N#\]Y_^ V1Xw>@?mb ^�O 8 N#O_\]BE^ < N#O*N#�pN#joN X Y_DGB_L i [ X \]Y_^ V1X OY_H:DGY�N X D < �pNQY_HaN�^ X98 [:\]Y_^ID+N 8 N#\ V joF V O_^pY_^ V1X�V+i<` BEDGFIH:O ?

"$#&% ')(+*-,/.10324,65�7V N 8 N1; X N V1X N�Y�L@F�N i-V B 8 ^pBEN#\]YZN 8kXaV�8 N]�*D X98 N 8a` N]����D < N#�pN 8 js[:�pY_^p� ` BEDGFIH:O ? J�H:^�OeY�L@F�N�\�DGF:Y_[aB_N#O�Y_HaNj V O_Y ` N X N�BED+�*\��©D+O_O V+ie` BEDGFIH:O ? Y V E�N1D+N�BK4 V Y_HaN�B ` BEDGFIH�Y�L@F�N#OC\�D XQ< N V < Y_D+^ X N 8 D+OCOZF�N#\�^�D+�0\�D+OZN#OKHi-V B�N d D+joFI�pN 4@[ X98 ^�B_N#\]YZN 8�` BEDGFIH:O�\�D X�< N E�N#���:O_^�js[:��DGYZN 8�< L 8 ^pB_N#\]YZN 8w` BEDGFIH:OeHIDKD�^ Xa` DPO_L@jwjwN�YZBE^�\N 8a` N�OZYZBE[:\]Y_[aBEN 4 E�HaN�B_N�E�N�O_D�L�Y_H:DGYD 8 ^pB_N#\]YZN 8�` BEDGF.H98@)�& �3);:1&3" 2X&<:e)�&<:>=�: �,�?=�D X [ X98 ^pBEN#\]YZN 8�` BfDGFIH^ iWi-V B�N#D+\fH N 8a` NA@<BDCFEGC<H�Itm-Y_HIDGYs^�OK4 i-V B�N#D+\fH|N 8:` N i B V j XaV�8 NJB Y V XaV�8 N9EUE�^pY_H5��D < N#�GH5nC^ X 8Y_HaN�BEN�^�OeD+�©O V D X N 8:` NK@�E/CLBDC�H�I�^ X 8 ? s V BEN V D+N�BK4a[ X �©D < N#��N 8�` BfDGFIH:O�OE^�joFI�pL�H:DKD+N�Y_HaN XaV�8 N�D X,8NM%V BN 8a` N���D < N#��Y�L@F�NO@�ISm�[ X ^pY M YZBE^ID@^�D+��Y¦LMF�N n ?

����D+^ X�XaV�8 N#O�DGBENPB_N�F:B_N#O_N X YZN 8g< Lh^ X YZN ` N�BEO14ID X98 DwFI��D+^ X N 8a` N�^�O ` ^BD+N XP< L�DoFID+^pB V+i«XaV�8 N#O ? g XY_HaN i-V ��� V E�^ Xa` E�NC[IOZNCY_HaNP\ V1X D+N X Y_^ V1X Y V�8 N XaV YZNQY_HaNCY�L@F�N V+i*XaV�8 NC��D < N#��O < LzY_HaNCY�L@F�N\DGDGBE^�D < �pNP�D X98 Y_HaNRY¦LMF�N V+i N 8a` N���D < N#��O < LhY_HaNRY�L@F�N D8DGBf^�D < �pNRQ ? g X D 898 ^pY_^ V1X Y V Y_HaN�Y�L@F�N#O i-V B�FI�©D+^ XhXaV�8 N#OD X98 N 8a` N#O\m?S;T UWV�D X98JX U�8WV5neD X98 �©D < N#��N 8kXaV�8 N#O�D X98 N 8:` N#O@m?Y�S;T UWV�D X98 Y X UZ8WV�n34 E�N�D+�©O V ^ X \���[ 8 Ni-V B�\ V1X D+N X ^pN X \]N�Y�L@F�N#O$[WS;T UWVPD X,8 [ X UZ8WV i-V B]\ T@[:D+O_^�^8��[ X ��D < N#�pN 8�XaV�8 N#O«D X98 N 8a` N#OK4 Y_H:DGY�^©O14 XaV�8 N#OD X98 N 8:` N#O�E�H:^�\fHzDGB_NQ��D < N#�pN 8 E�^pY_H6Y_HaNQ[ X ^pYhDGD+��[aN_@�I V+i Y�L@F�N`@�I ?.= ^ X D+���pL 45ENQ\�D+������^©OZY_O V+i<XaV�8 N#OD+��O V FIDGY_H:O ?

a�b�c d e+f!ghd ikj>lmaa�b�c dOn�e+f!ghdpo irq&ehf�ghd�sFo ta�b�c d`u+e+f!ghd ivn�ehf�ghdwq�t

a�b�c d xhg!y+d irq&ehf�ghd�szehf�ghdZta�b�c dOn�xhg!y+d|{ irq&ehf�ghd�szehf�ghd�s}{Wta�b�c d`u+xhg!y+d ivn�xmg�y+dwq�t

a�b�c dO~��+o�cm�vo){vi��m�����<�����&�!�<���?�F�+�a�b�c d`u ~��ho�cm� iv~��ho�cm��q�t�q�t

a�b�c d �+o�a�� i���ehf�ghd��a�b�c dOn��+o�a��vo i���n!e+f�ghd)o��a�b�c d`u+�+o�a�� i���uhe+f�ghd��

J�H:N�^ X98 [:\]Y_^BD+N D�^pN1E V+i�` BEDGFIH:O�^�O�\�DGF:Y_[:B_N 8 ^ X Y_HaN i3V ��� V E�^ X:`i8 N#O_\]BE^�F:Y_^ V1X H�D ` BEDGF.H¢^�O�N#^pY_HaN�B�Y_HaNN#joFIY�L ` BfDGFIH>m-Y_H:DGYQ\ V1X Y_D+^ X O XaV6X:V58 N#O*n V BQD ` BEDGFIH N d YZN X98 N 8t< L D X N1E X:V58 N3BKY V+` N�Y_HaN�B:E�^pY_H^pY_O���D < N#�'D X98 E�^pY_HhN 8a` N#O�Y V B�q O�O_[:\�\]N#OEO V BEO�D X98 F:B_N 8 N#\]N#O_O V BEO ?Wc D+\fH¢N 8:` N�^ Xai-V BEjwDGY_^ V1X \ V1X Y_D+^ X OY_HaN O_[:\�\]N#OEO V B M F:B_N 8 N#\]N#O_O V B XaV�8 N�^�Y_OZN#� i D X98 Y_HaN ��D < N#� V+i Y_HaN N 8a` N ? J�H:^©Ok^ Xai-V BEjwDGY_^ V1X D <�V [aYD V1X N]��OZYZN�F¬^ X98 [:\]Y_^BD+N ` BEDGFIH|N d YZN X O_^ V1X ^�O ` DGY_HaN�BEN 8 ^ X D X£V E X Y�L@F�N���Tm�;�WVZ�Z��4%E�H:^�\EH|^�OR\�D+�©�pN 8�3�#�,�z:<� � < N#\�D+[IOZN�Y_HaN X N1E XaV�8 N6^©O < B V [ ` HMYs^ X Y V O V joNK\ V1X YZN d Y V+i Y_HaN�N d ^�OZY_^ X:`�` BEDGF.H ? L ��^�OZYV+i m�O_[:\�\]N#OEO V B V B�F:B_N 8 N#\]N#OEO V B*n XaV�8 N#OQF.D+^pB_N 8 E�^pY_H5\ V B_B_N#OZF V1X98 ^ Xa` N 8:` Nz��D < N#��OQ^�ORD+��O V \�D+����N 8 D X

Page 5: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

b � � � ���W��� ��� ���������Q

!��� ! �>: ���K2 ?�U�V1X YZN d Y_O<DGB_N X:V Y V1X �pLC[:OZN 8 Y V < [:^�� 8�` BEDGF.H:O148Y_HaN�L�DGBEN 4G^ X FIDGB_Y_^�\�[:�©DGBK4�N#joF.� V L+N 8 E�HaN X8 N#\ V jwF V OE^ Xa`t` BEDGFIHIO ? _�^ X \]N 8 N#\ V joF V O_^pY_^ V1X \�D X�i D+^©� i3V BkO_N1D+N�BED+��B_N#D+O V1X O14WY_HaNK\ V B_B_N#O_F V1X,8 ^ Xa`i [ X \]Y_^ V1X O�D X98 Y_HaN#^�B�Y¦LMF�N#OCH:D�D+NoY V D+\�\ V [ X Y i-V BCY_H:^�O ? J�HaN�BEN i3V B_N 4�E�NoH:DKD+NoD6Y�L@F�N�D <,< B_N1D�^�DGY_^ V1Xi-V B������ Q�V+��\ V1X YZN d Y_O�D X98 D+�©O V DPY¦LMF�N���V��hT��W�o\�DGF:Y_[aBE^ Xa` Y_HaN�\ V jwFI�pN�YZN�B_N#OE[:�pY V+i D 8 N#\ V jwF V OE^pY_^ V1X HD�FID+^�B V+i D�F V O_O_^ < ��N�\ V1X YZN d Y¢D X,8 D|BEN#jwD+^ X ^ X:`|` BEDGF.H ? V N5D+��O V ^ X \���[ 8 N�Y�L@F�NO����V��+T��;� i-V B\ ` [:DGBfD X YZN�N 8 ^ 8 N#\ V joF V O_^pY_^ V1X O14�Y_H:DGYo^�O14 8 N#\ V joF V O_^pY_^ V1X ORY_HIDGY�DGBEN6N d F�N#\]YZN 8 Y V D+�BE�D�L@OoHIDKD+NhD\ V1X YZN d Y ? s V B_N V D+N�BK4W^pY�^�O�\ V1X D+N X ^pN X YoY V H:D�D+NgD8DGBf^�D X Y_O V+i O V joN V+i Y_HaN#O_N6Y¦LMF�N#O i-V Bo[ X ��D < N#�pN 8` BEDGF.H:O ? m�J�H:N 8 N�Y_D+^��©OiE�^©���WN d F.��D+^ X N 8 ^ X _@N#\]Y_^ V1Xy>@?mba? V Nip_[:OZYZE�D X YZN 8 Y V ^ X \���[ 8 NhY_H:N¢Y�L@F�N8 N1; X ^pY_^ V1X ^ X Y_HI^�O�OZN#\]Y_^ V1Xhi-V B�N#D+O_^�N�B���DGYZN�B�BEN i N�B_N X \]N ? n

a�b�c d��hg��O{ i ��q}{ sze+f�gmdZt �a�b�c d��hf�lma+d� ma oO{ i q!�mg��|{ sze+f�gmd�sFo�s"�mg��_{;ta�b�c d�#��hf�lha+d� ma oO{vi$#+o�b�{ d q%�hf�lma+d� mapoO{;ta�b�c d�&+d�'�f)( cvo){ i q!#*�hf�lha+d+ mapoO{ s&~��+o�cm� o){Wta�b�c dO~�&+d�'�f)( c oO{ i q%�mf�lha+d� �a o){ sz~��+o�cm�pop{;t

a�b�c d`u��hf�lha+d� ma i qZ�?e+f�ghd���sze+f�ghd-s ��e+f�g�d��Zta�b�c d`u�&+d�'�f)( c i q!#ho!b�{ d`u��mf�lha+d� �a s�u ~��ho�cm�;t

"$#?" ,.-0/D7�1h(�2341�5!/�6w')(+*-,/./7V NPH:D�D+NQYdE VX< D+O_^�\ i [ X \]Y_^ V1X O�Y V�< [:^©� 8 [aF ` BEDGF.H:OW^ X98 [:\]Y_^ID+N#�pL�H*Y_HaN i [ X \]Y_^ V1X V��;�;�7� 8 N X:V YZN#OWY_HaNN#joFIY�L ` BEDGFIH�4:D X,8 Y_HaN i [ X \]Y_^ V1X V��;Q�VZUwN d YZN X98 O�D ` BEDGFIH < L6Dk\ V1X YZN d Y1H

d8( chamb:9*93~��+o�cm� op{d8( { d�g;9*9<�hf�lma+d� ma oO{ ��=p~��ho�cm� oO{ �*=)~��+o�cm�vo){

g Ys^©ORD X N�B_B V BRY V YZB_LtY V ^ X OZN�BEYRD XaV�8 NzY_H:DGY�^�OsD+�pB_N#D 8 L \ V1X Y_D+^ X N 8 ^ X Y_HaN ` BfDGFIH V BsY V BEN i N�B�^ XF:BEN 8 N#\]N#O_O V B V BQO_[:\�\]N#OEO V BP��^�OZY_O�Y VhXaV�8 N#O�Y_H:DGYQDGB_N XaV YQ\ V1X Y_D+^ X N 8 ^ X Y_H:N ` BEDGF.H�Y V�< NsN d YZN X98 N 8'?V NsH:DKD+NsD+��O V ^ X \��©[ 8 N 8 D+N�BEO_^ V1X O V+i Y_H:N#OZNPYdE Vwi [ X \]Y_^ V1X O i3V B�[ X ��D < N#�pN 86` BEDGFIH:OKH

d8( chamb!u>9�9 u+~��+o�cm�d8( { d�g�u>9�9 u��hf�lha+d+ ma �*=`u ~��+o�cm�A�*=`u ~��+o�c��

_ V jwN�Y_^�joN#OC^pYC^�O�\ V1X D+N X ^pN X YQY V [:OZNV��;Q�V U�^ X ^ X ; d¢X:V Y_DGY_^ V1X'?@V NwH:DKD+N�Y_HaN�BEN i3V B_NoD+��O V ^ X \���[ 8 N 8Y_HaN i3V ��� V E�^ X:`si [ X \]Y_^ V1Xg8 N1; X ^pY_^ V1X H

? l�@ ? m�BA'CA yvi d)( { d!gD' y

V ^pY_H�Y_HaNhYeE Vti [ X \]Y_^ V1X O V��;�W�4�5D X98 V��WQ�VZU M�E E�NKDGB_NhD < �pN 8 N X:V YZN ` BEDGFIH:O < L5YZN�BEjkO ? ?0N�Yw[:O< N ` ^ XS< L ` ^BD�^ Xa` YZN�BEjwO i-V B�OZN1D+N�BED+��D+N�BEL6O_^©joFI�pL ` BEDGF.H:O ? J�HaN#O_N 8 N1; X ^pY_^ V1X O�\�D X D+��O VJ< N i-V [ X98 ^ XY_HaN�j V�8 [:�pN �Z�������4���+�;� ?aV NoDGB_Ns\ V1X OZYZBE[I\]Y_^ Xa`k` BfDGFIH:O V+i Y¦LMF�N � ���m�Z���h���+� @�I 4IY_HIDGY�^�O14 XaV�8 N#O���������)F��HG��W� �� DGB_N���D < N#�pN 8�< Lh\fH:DGBED+\]YZN�BEO�D X98 N 8a` N#O�DGB_N XaV Y���D < N#�pN 8 m-Y_H:DGY�^�OK4aY_HaN�LhDGB_NRD+���'��D < N#�pN 8�< L�Y_HaN X [:���DGD+��[aN @�I V+i Y_HaNP[ X ^pY V B�YZBE^BD�^�D+��Y¦LMF�N @�I#n ?

o irq ��� s8I;s�JFoKJms ���L9*9h��qmq�t�s}ehf�ghd+t �ZtMAAd)( chamb �m�N�+OQP a oOl f�ghdR fmf�c irq ��� s8I;s�JFoKJms � qmq�t�sSI!t �Zt AAd)( chamb �m� R fmf�cvf�lTP ? lmy R d l f�gmdd irq ��qmq�t�sHI!t � s%U-s*J}{LJ!s ���Zt AAo �m�N�+OQP a f�l+d d!g�y+dpoh�m�*= {o�{ irq ��qmq�t�sHI!t � s%U-s*J}{LJ!s ��q�q�t�s8I!t>��tVAAo �m�W' b4' R d f�@pa�X f)l+f�ghd�P o�Y��m�*=�{

Page 6: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� � � � ��������� ������� � � ��������� k

� ! /��

��

&*��� + �

"�:� ���) � �! .�

� ! /"�

��

&3�#�#+ �

" :��*�� ) � �! .�

� ! /��

��

&3�#�#+ �

" :��*�� ) � �$ .�

= ^ ` [aB_Nw�#H�nC^pBEN#\]YZN 8K` BEDGFIH�E�^pY_HhYdE V ^ X,8 [:\]Y_^BD+NQ\ V1X OZYZBf[:\]Y_^ V1X O ?

J V H:D�D+NRD�YZN d Y_[ID+�'B_N�F:B_N#O_N X Y_DGY_^ V1XKV+i*` BEDGF.H:O14 E�NPH:DKD+N 8 N1; X N 8 Y_HaN&%���T+E i [ X \]Y_^ V1X�i-V B ` BEDGF.H:OWY VF:Bf^ X Y�Y_HaN�D 8 pZD+\]N X \]Lz��^�OZYeBEN�F:B_N#OZN X Y_DGY_^ V1X'? J�HI^�OejoN#D X O�Y_H:DGYWD ` BfDGFIHz^©OO_H V E X D+O�Ds��^�O_Y V+i ��D < N#�pN 8XaV�8 N#O14*N#D+\EH i3V ��� V E�N 8U< L Y_HaNw�©^�OZY V+i ��D < N#�pN 8 V [aY `+V ^ Xa` N 8:` N#O ?Z=aV B�N d D+jwFI�pN 40Y_H:NwD <�V D+N ` BEDGF.H:ODGB_NRF:BE^ X YZN 8 D+O i-V ��� V E�O1H

~!�+o�cm��&ho!a+o�=`oI�9�JFoKJL��= ���~!�+o�cm��&ho!a+o�= R fmf�cI�9�JFoKJL��= ��qmq�t�s8I!t �~!�+o�cm��&ho!a+o�=`dI�9�JFoKJL��= ��qmq�t�s%UZt �U 9�J}{LJL��= ���~!�+o�cm��&ho!a+o�=`o�{I�9�JFoKJL��= ��qmq�t�s%UZt �U 9�J}{LJL��= ��qmq�t�s8I!t �

=aV BCDoO_��^ ` H Y_�pL6��DGB ` N�B�N d D+joFI��N 4:\ V1X O_^ 8 N�B�Y_HaN ` BEDGFIHKOEH V E X m V1X Y_HaNR�pN i Y3n�^ XP= ^ ` [:B_No� ?V N�\�D X < [:^�� 8 Y_HI^�O ` BfDGFIH V+i Y�L@F�NK�Z���������m�N�h��'+���)(!�;8�4 i3V B�N d D+joFI�pN 47E�^pY_H5Y_H:N i-V ��� V E�^ Xa`

N d F:B_N#O_OE^ V1X m�OZN�N = ^ ` [:B_Nw�#4:FI^�\]Y_[:B_NQ^ X Y_HaNRjw^ 898 �pN n3H

y!*pi qZ��q,+ R d�@�a-+;s%UZt�s!q.+SOmc-+;s/* t���s8I;s�JFo J�s+��q.+<� ? y!�ha-+;s"UZt � t AqZ��� s%U�s*J�{LJms ��q,+>ghf X�l)+Ws/*+t ��t AqZ��� s/*�s*J�' Jms ���Zt Avd)( cmamb

J�H:N�\fH V OZN XtV B 8 N�B V+i ^ X OZN�B_Y_^ X:`zXaV�8 No\ V1X YZN d Y_OR^©O XaV YCY_HaN V1X �pLKF V O_OE^ < �pN V1X N ?J=:V BRN d D+joFI�pN 4�E�N\�D X D+��O V B_N1D+N�BfOZN�Y_HaN V B 8 N�B ? J�HaN X 4 H V E�N1D+N�BK4MY_H:N�\ V1X YZN d Y_O�H:DKD+N�Y V < N�\EH:D Xa` N 8 D+\�\ V B 8 ^ X:` �pLsOE^ X \]NE�Nk\�D X B_N i N�BR^ X F:B_N 8 N#\]N#O_O V BRD X98 OE[:\�\]N#O_O V BR�©^�OZY_O V1X �pL�Y VKXaV58 N#OCY_H:DGYPDGB_NoF:B_N#O_N X YP^ X Y_HaN ` BfDGFIHY V�< NQN d YZN X98 N 8'?aO�V YZNPY_HIDGY�\ V1X O_^�O_YZN X \]L6\fHaN#\ G O i3V B ` BfDGFIHK\ V1X OZYZBf[:\]Y_^ V1X DGB_NR^ X YZN ` BEDGYZN 8 ^ X Y V Y_HaN8 N1; X ^pY_^ V1XzV+i V��;Q�VZUPm�D X98 E n ? g X6i D+\]Y14ID X N�B_B V B�^�O�B_N�F V B_YZN 8 E�H:N X Do\ V1X YZN d Y�^©O�D 8,8 N 86i3V B�D XaV�8 NY_H:DGYe^©O<D+��B_N#D 8 LPF:BEN#OZN X Y«^ X Y_HaN ` BEDGFIH V B.E�HaN X D X:V58 NWjoN X Y_^ V1X N 8 ^ X Y_HaN�O_[:\�\]N#OEO V B V B«F:B_N 8 N#\]N#OEO V B��^©OZY�^�O�jw^�O_O_^ Xa` ^ X Y_H:N ` BEDGFIH ?6O�V E Y_H:NsD+�pYZN�B X DGY_^BD+N�\ V1X OZYZBE[:\]Y_^ V1X�V+i Y_HaN ` BEDGFIH�^�O m�OZN�N = ^ ` [aB_N6�#4FI^©\]Y_[aB_N V1X Y_HaNRBE^ ` HMY3n3H

y!*KJ i qZ� q.+>ghf+X�l)+;s%UZt�� s0*-s*J ' Jms+��q.+SOmc�+;s8I!t � t AqZ� q.+�� ? y!�ha�+;s8I�t � s%U s*J}{0J�s+��q.+ R d�@!a-+;s8I�t �Zt A

qZ��� s8I;s*J&oKJms ���Zt Avd)( chamb

Page 7: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

l � � � ���W��� ��� ���������Q

L�` D+^ X 4�Y_H:^�OR^�O V1X �pL V1X N i [:B_Y_HaN�BPN d D+joFI�pN 4�D X98 4�^ Xti D+\]Y14�EN6\�D X \fH V@V OZN6D X DGB < ^pYZBfDGB_L V B 8 N�B V+iXaV�8 NP^ X OZN�B_Y_^ V1X�i-V B < [:^©� 8 ^ Xa` D ` BEDGFIH ? J�HaNQYZN d Y_[ID+� B_N�F:BEN#OZN X Y_DGY_^ V1XhV+i Y_HaN ` BEDGFIH_8 � m V B 8 ��� n^�O1H

~!�+o�cm��&ho!a+o�=�y *I�9�JFoKJL��= ��q.+�� ? y��ha +;s%U t��U 9�J}{LJL��= ��q.+ R d�@�a�+�s8I!t�s!q,+>g�f+Xml�+Ws *Zt �* 9�J ' JL��= ��q.+SO�c)+;s8I�t �

g X Y_HaNKj V�8 [:�pNK�Z�;�m�Z��4eY_HaN�BEN�DGBENKOZN1D+N�BED+��D 898 ^pY_^ V1X D+� i [ X \]Y_^ V1X O 8 N1; X N 8 Y_H:DGYkjwD G NhY_HaN ` BfDGFIH�>���<����� �! \ V1X O_YZBE[:\]Y_^ V1X j V B_N \ V1X D+N X ^�N X Y1HtY_HaN i [ X \]Y_^ V1X O (!� %!S;T UWV|D X98 (!� %�S;T UWV�% \�D X < N�[:OZN 8 Y V p_[:OZY^ X OZN�B_Y V1X N V Bwj V B_Nh��D < N#�pN 8 XaV58 N#Os^ X Y V D ` BEDGFIH ? J�HaN i [ X \]Y_^ V1X ��V+E�S;T UWV)%K\�D X < N�HaN#�pF i [:�^ X\�D+OZN#OsD ` BfDGFIH£H:D+ORY VP< NwN d YZN X,8 N 8 E�H V OZNk\ V1X OZYZBf[:\]Y_^ V1X ^�O XaV Y G�XaV E X 40Y_H:DGYs^�O14*^�YP^�O XaV YR\���N#DGBE�HI^�\EH XaV�8 N#OWDGB_NP\ V1X Y_D+^ X N 8 ^ X ^�Y ? J�HaN X Y_HaN i [ X \]Y_^ V1X ��VhEWS;T UWV�%P\�D XP< NQ[:O_N 8 Y Vk` N�Y�DoOZNKTM[:N X \]NV+i�XaV�8 N#OQY_H:DGY�DGB_NP��� �Q\ V1X Y_D+^ X N 8 ^ X D ` BfDGFIH ? J�H:N i [ X \]Y_^ V1X O (!� % X U�8WVKD X98 (!� % X UZ8WV)%k\�D X < N[:O_N 8 Y V N d YZN X,8 D ` BEDGFIH < L V1X N V B�j V BEN���D < N#�pN 8 N 8a` N#O14aD X98 ; X D+���pL 4MY_HaN i [ X \]Y_^ V1X O ���;� �������wD X98��� [��Z�;�m�Z�zDGBEN\D+N�B_Lz[:O_N i [:��^ XS< [:^©� 8 ^ Xa`Q` BfDGFIH:O�^ X Y_HaNQYZBED 8 ^�Y_^ V1X D+��E�D�L 4:Y_H:DGY�^�O14 < LzO_^�jwFI�pL ` ^BD�^ Xa`Do��^©OZY V+i�XaV�8 N#OWN X98 N 8a` N#O ? J�H:^�OK4@^ X FIDGBEY_^�\�[:��DGBK4�O_D�D+N#O i B V j ^ X D+N X Y_^ X:` DoO_NKTM[aN X \]N V+i \ V1X YZN d Y_O�Y V8 N X:V YZNRD ` BEDGFIH ?

? lQP e+f�gmd 9*9 n�ehf�ghdpo �*=)~��+o�cm�voO{ ��=p~��ho�cm� op{? lQP e+f�gmd�P 9*9 ��n�e+f!ghd)o�� �*=)~��+o�cm�voO{ ��=p~��ho�cm� op{? lQP xhg�yhd 9*9 n�xmg�y+d|{ �*=)~��+o�cm�voO{ ��=p~��ho�cm� op{? lQP xhg�yhd�P 9*9 ��n�xhg!y+d {+� �*=)~��+o�cm�voO{ ��=p~��ho�cm� op{l+d+Xhe+f�gmd�P 9*9Jj>lhav�*=)~��+o�c�� o){ �*= ��e+f�ghd!�(��h~��+o�c�� 9*9 ��n�e+f!ghd)o�� �*=r��n�xhg�yhd {+�A��=p~��ho�cm� op{(��!u ~��+o�cm�:9*9 ��e+f�gmd�� �*=r��xhg�y+d!� ��=|u ~!�+o�cm�

_@N1D+N�BfD+��N d D+joF.�pN#O i3V B�Y_HaNQ[:O_N V+i Y_HaN#OZN i [ X \]Y_^ V1X O�\�D Xg< N i-V [ X98 ^ X Y_HaNQj V�8 [:�pN � �������Q���+�;� ? J�HaNi [ X \]Y_^ V1X O���;�Z�;�m�Z�hD X98 ���Z[;�Z�;�m����\�D XP< NR[IOZN i [I� ^ Xg8 ^pBEN#\]Y_�pL6\ V1X OZYZBE[:\]Y_^ X:`w` BEDGFIH:O�D+O E�N#��� D+O�^ Xi [ X \]Y_^ V1X O�\ V1X OZYZBE[:\]Y_^ Xa` OZF�N#\�^B;I\ ` BEDGF.H:O14:O_[:\fHKD+O� ��� � H V,4�E�H:^�\fHh\ V1X OZYZBE[:\]Y_O�Dw\]L�\��pN V+i OZF�N#\�^B;:N 8�pN X:` Y_H�4:D X98 %��;�+��4 E�H:^�\fH < [:^�� 8 ODwO_Y_DGBZ��O_H:DGF�N 8�` BEDGFIH%H

O4' b4' R d 9�9Jj�lha���=|u ~!�+o�cm�O4' b4' R d lviC(�!u ~��ho�cm���4P q (Wo�crq� �� �*= q�� s���� (�f�g��]l���I�tmt��4Pht

Xm� d!�+d��4P i � I����?l+�P�a+o!�:9*9Jj>lhaA�*=`u ~��+o�cm�P�a+o!�Ol�iC(�!u+~��+o�cm�r� I�����lh� q (Wo�c q� ��+�*= q)I;s��Wtmt�� U�����l+�Zt

"$#�� "! 1h(+*K341�5"/�6w'O(+*-,G.$#�/&%%- (�'�* 1�5"-0/O�V E Y_H:DGY EN6\�D X < [I^�� 8 ` BEDGFIHIO14 E�N X N d Y 8 N#O_\]BE^ < NkH V E Y V N d YZBfD+\]Ys^ X:i3V BEjkDGY_^ V1Xti B V j ` BEDGF.H:O ?g X Y_H:^�OWO_[ < OZN#\]Y_^ V1X E�NQF:B_N#OZN X Y�O V joNRN#�pN#joN X Y_DGB_L ` BfDGFIHhD+\�\]N#O_O V F�N�BfDGY_^ V1X O14�E�HaN�BEN#D+O�^ X Y_HaN X N d YO_[ < OZN#\]Y_^ V1X E�NR^ X YZB V�8 [:\]N i [ X \]Y_^ V1X O i-V B�DwO_L@OZYZN#jkDGY_^�\ ` BEDGFIHKN d FI� V BEDGY_^ V1X'?

= ^�BEOZY14%E�NkH:D�D+N V F�N�BEDGY_^ V1X OPY_H:DGY 8 N#��^ID+N�B ` � V < D+�e^ Xai3V BfjwDGY_^ V1X D <�V [aYPD ` BEDGF.H ?i=aV BsN d D+jwFI�pN 4E�Ns\�D X YZN#OZY E�^pY_HhY_H:N i [ X \]Y_^ V1X ( % X �;�;�7�ZE�HaN�Y_HaN�BCD ` BEDGF.H¢^�O�N#joF:Y�L V B XaV Y ? s V B_N V D+N�B�4�ENs\�D X\ V [ X Y�Y_HaN X [:j < N�B V+i XaV58 N#O�^ X D ` BEDGFIHiE�^pY_H��T SWTZUWV�%541D X98 E�NC\�D X N d YZBED+\]Y�Y_HaN���^©OZY V+i FI��D+^ X D X98��D < N#�pN 8zXaV�8 N#O i B V j D ` BEDGFIHiE�^pY_HwY_H:N i [ X \]Y_^ V1X O$��TZU�V)%QD X98 H��mQWS;T UWV)% ? _�^�jw^��©DGBE�pL 4+Y_HaN i [ X \]Y_^ V1X OVZUZ8WV)%�D X98 H��mQ X UZ8WV)%R\ V joFI[aYZNRY_HaNP��^�OZY V+i FI��D+^ X D X,8 ��D < N#�pN 8 N 8a` N#O V+i D ` BfDGFIH ?

Page 8: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� � � � ����� � ��� �,���0� ��� � ��� ��� q

? P x (+chamb:9*93~��+o�c�� o){��*=�� fmf Rl f!e+f!ghd�P 9*93~��+o�c�� o){��*=Aj>lhal+f�ghd�P 9*93~��+o�c�� o){��*=r��e+f�ghd!�

R o�{he+f�gmd�P 9*93~��+o�c�� o){��*=r��n�e+f�gmd)o��d!g�y+d�P 9*93~��+o�c�� o){��*=r��xhg�y+d!�

R o�{hxhg�yhd�P 9*93~��+o�c�� o){��*=r��n�xhg�yhd {+�_@N#\ V1X,8 4 E�N�\�D X N d YZBED+\]Y<^ Xai-V BEjwDGY_^ V1X D <�V [aY0^ X98 ^BD�^ 8 [:D+� XaV58 N#O1H i3V B<D ` BEDGFIH 8�Y_H:DGY*\ V1X Y_D+^ X O D XaV�8 NB�4�E�N�\�D Xt8 N�YZN�BEjk^ X N B�q O�OE[:\�\]N#O_O V BEO�m/%�� � n34.FIB_N 8 N#\]N#O_O V BfO m �;�WV�n34 V BCD+��� X N#^ ` H <�V BfO:m ��V�(h8h��Q�T � % n34Y_HaN V [aY `+V ^ X:` m�T �W�9n V B�^ X \ V jk^ Xa` N 8a` N#O�m (!�Z��n34+D X98 ^�Y_O 8 ^BA�N�B_N X Y G ^ X98 O V+i98 N ` B_N�N#OFm�T �W�WU�VZ8�4 (!�;UWVZ8,4D X98 U�VZ8�n ?

P8OQ' 9�9 ~��ho�cm�vo){��*=Oe+f�ghd �*= ��ehf�ghd��cm�+d 9�9 ~��ho�cm�vo){��*=Oe+f�ghd �*= ��ehf�ghd��l+d ? y��m{+f!�4P 9�9 ~��ho�cm�vo){��*=Oe+f�ghd �*= ��ehf�ghd��f Oha 9�9 ~��ho�cm�vo){��*=Oe+f�ghd �*= ��n!xhg�y+d|{+�? lml 9�9 ~��ho�cm�vo){��*=Oe+f�ghd �*= ��n!xhg�y+d|{+�f Ohahghd!y 9�9 ~��ho�cm�vo){��*=Oe+f�ghd �*=vj>lma? l+ghd!y 9�9 ~��ho�cm�vo){��*=Oe+f�ghd �*=vj>lmagmd!y 9�9 ~��ho�cm�vo){��*=Oe+f�ghd �*=vj>lma

c OZF�N#\�^�D+���pLs^ X�` BEDGFIHkYZBEDKD+N�BEOED+��O V1X N i B_NKT@[aN X Y_�pL X N�N 8 OeY V D+\�\]N#O_O�Y_H:N�^ Xai-V BEjwDGY_^ V1X FIB V D�^ 8 N 8X< LsY_HaND <�V D+N i [ X \]Y_^ V1X O i-V B�DzFIDGB_Y_^�\�[I��DGBK4:Y_H:DGYC^�O14�D+�pB_N#D 8 L ` ^ID+N X 4�\ V1X YZN d Y ? J�H:N�B_N i3V BEN 4�E�NsD+�©O V F:B V D�^ 8 NY_HaNo\ V B_BEN#OZF V1X98 ^ Xa`ki [ X \]Y_^ V1X O 8 N1; X N 8�V1X \ V1X YZN d Y_O ? g X D 898 ^pY_^ V1X 4�E�No\�D X N d YZBED+\]YQY_HaN XaV�8 N�D X98^pY_O���D < N#�7m V B <�V Y_H�n i B V j Dw\ V1X YZN d Y ?

P8OQ' J 9*9 �mf�lha+d� �apop{��*=r��e+f�ghd!�cm�+dKJ 9*9 �mf�lha+d� �apop{��*=r��e+f�ghd!�l+d ? y��m{+f!�4P J�9*9 �mf�lha+d� �apop{��*=r��e+f�ghd!�f Oha0J 9*9 �mf�lha+d� �apop{��*=r��n�xhg�yhd {+�? lmlLJ 9*9 �mf�lha+d� �apop{��*=r��n�xhg�yhd {+�f Ohahghd!y J 9*9 �mf�lha+d� �apop{��*=Aj>lha? l+ghd!y0J 9*9 �mf�lha+d� �apop{��*=Aj>lhagmd!y0J 9*9 �mf�lha+d� �apop{��*=Aj>lhal+f�ghdKJ 9*9 �mf�lha+d� �apop{��*=Oe+f�ghdR o�{LJ 9*9 �mf�lha+d� �apop{��*=poR o�{he+f�gmdKJ 9*9 �mf�lha+d� �apop{��*=)n�e+f�ghd)o

"$#�� ')(+*-,/.p5 3Q-�'�,�- 7*5 1�5 -L/J�H:N i [ X98 D+joN X Y_D+� V F�N�BEDGY_^ V1Xki3V B 8 N#\ V joF V O_^ X:` ^ X98 [:\]Y_^ID+N ` BEDGFIH:O^�O ` ^BD+N XZ< L�Y_HaN i [ X \]Y_^ V1X �-�h� �!�Y_H:DGYRYZBE^pN#OCY V � V \�DGYZNwD XaV�8 N B�^ X D ` BEDGFIH)8�40D X98 L�^pN#� 8 O B�q OP\ V1X YZN d Y14*Y_H:DGYR^�O14'^pY_OCFIB_N 8 N#\]N#O_O V BfO14^pY_OCO_[I\�\]N#O_O V BEO14'D X98 ^pY_O���D < N#�04�D X98 Y_HaNsB_N#jwD+^ X ^ Xa`w` BEDGFIH%4�Y_HIDGYC^©O14 8PE�^pY_H V [aY B¢D X98 ^pY_OC^ X \�^ 8 N X YN 8a` N#O ? g i B|^�O XaV Yw\ V1X Y_D+^ X N 8 ^ X 8�4 XaV \ V1X YZN d Yz^�OsB_N�Y_[aB X N 8 m-B_N�FIB_N#OZN X YZN 8 < L Y_HaNh\ V1X OZYZBE[I\]Y V BS;T+� � (���8�n34aD X98 Y_HaNPB_N�Y_[aB X N 8�` BEDGFIHK^©O68z^pY_O_N#� i¦?

(�o!a4'���9*9 e+f�gmd ��=p~��ho�cm� oO{ �*=�&+d�'�f)( c oO{

Page 9: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

^ � � � ���W��� ��� ���������Q

� X N�\�D X B_N ` DGB 8 �-�+� �!��D+OwY_HaN m 8 N�YZN�BEjw^ X ^�OZY_^�\�n�^ X D+N�BEO_N V+i V��WQ�VZU ?uL�` D+^ X E�N�H:D�D+N D|OZF�N#\�^�D+�D+N�BEOE^ V1Xhi-V B�[ X ��D < N#�pN 86` BEDGF.H:O1H

(�o!a4'���u>9�9 ehf�ghd �*= u ~��+o�c��v�*=|u�&+d�'�f)(+c

?0N�Y�[:O�O_H V E O V jwNPN d D+jwFI�pN#O�^��©��[:OZYZBEDGY_^ Xa` Y_HaN�joN#D X ^ Xa`oV+i �-�+� �!� ?

~!�+o�cm��&ho!a+o�= (Wo!a4'�� I`oq � OQP a qZ��� s8I;s*J&oKJms ���Zt�s�t �m���&���P�������������&�F��� � � ��� �W���

~!�+o�cm��&ho!a+o�= (Wo!a4'�� I R fmf�cq � OQP a qZ��� s8I;s*J&oKJms ��q�q�t�s8I�t ��t�s<t �m���&���P�������������&�F��� � � ��� �W���

~!�+o�cm��&ho!a+o�= (Wo!a4'�� I`o�{q � OQP a qZ� qmq�t�s%U t � s8I;s�JFoKJmsh��qmq�t�s!UZt � t�sU 9�J}{LJL��= ����t

~!�+o�cm��&ho!a+o�= (Wo!a4'�� I`dq � OQP a qZ��� s8I;s*J&oKJms ��q�q�t�s%U+t ��t�sU 9�J}{LJL��= ����t

~!�+o�cm��&ho!a+o�= (Wo!a4'�� I�y *q � OQP a qZ� q.+ R d�@!a�+;s%UZt�s�q.+SO!c)+;s * t�� s8I�s*J&o J�s ��q�+�� ? y��ma�+�s%UZt>��t�sU 9�J}{LJL��= ��q.+>gmf+Xml)+�s/*Zt��* 9�J ' JL��= ����t

~!�+o�cm��&ho!a+o�= (Wo!a4'��WU oqze+f!a�� ? lhy sI�9�JFoKJL��= ����t

? VMV G DGYPY_HaNoB_N#OE[:�pY V+i � �+� ����� HZTZTh� ?JV N V < O_N�BcD+NwY_H:DGYQY_HaNw� VMV F V1XtXaV�8 N���E�D+OP^ X YZN�B_FIB_N�YZN 8< L��-�h� �!�tD+O�D X|V [aY `+V ^ Xa` N 8a` N < N#\�D+[:O_Nz^ X Y_HaNkB_N#OE[:�pY_^ Xa` \ V1X YZN d Y�Y_HaN XaV�8 N���DGFIF�N#DGBfOR^ X Y_HaNO_[I\�\]N#O_O V Be��^�O_Y ? J�H:^©O0^�O<D X DGB < ^pYZBEDGBEL 8 N#\�^�O_^ V1X ^ X Y_HaN�^©joFI�pN#joN X Y_DGY_^ V1X O V+i �-�+� �!��4GY_H:DGY�^�O14#E�N�\ V [I� 8D+O\E�N#���<H:DKD+NkFI[aYC� VMV F.O�^ X Y_HaN�F:BEN 8 N#\]N#O_O V BP��^©OZY ? Y V EN1D+N�B�4[E�N < N#�©^pN1D+Ns^�Y E V [:� 8t< NsD X N�BEB V BQY VFI[:Y�� VMV FIO«^ X Y V\<�V Y_Ho��^�O_Y_O<DGY«Y_H:N�O_D+joN�Y_^�joN < N#\�D+[:O_N�Y_HI^�O�E V [I� 8 O V joN1E�H:DGY^����pN ` D+����LPD+[ ` joN X Y«Y_HaN^ X:i3V BEjkDGY_^ V1XhV < Y_D+^ X N 8hi B V j Y_HaN ` BEDGF.H ? J�H:^©O�\�D XP< NROZN�N X D+O i3V �©� V E�OKH�O_[aF:F V OZN �-�h� �!� 8 N#�©^BD+N�B_N 8� V@V FIOQ^ X Y_HaNwOE[:\�\]N#O_O V BPD X98 Y_H:NoF:B_N 8 N#\]N#O_O V BP��^�OZY_O ? J�HaN X �-�h� ����� �gE V [I� 8 L@^pN#� 8 @�� � %��:� C�8 ID+O�DoB_N#O_[:��Y'E�HaN�B_N 86^�OWY_HaNPN#joFIY�L ` BEDGFIHKD X,8 ��^�O�Y_HaNP\ V1X YZN d Y

q ��qmq�t�sHI!t � s8IWs*JFoKJ!s ��q�q�t�s8I�t ��t ��� (Wo�a4'�� R fmf�cQP ? l cm�+dpo�l+g P)OQ' R ? P a

O�V E 4�B_N]��DGFIFI�pL�^ Xa` V��;Q�VZU,4IY_H:DGY�^©O14IY_HaN�N d FIB_N#O_O_^ V1X � E 8�4 8aV N#O ��� ��L�^pN#� 8 Y_HaN V BE^ ` ^ X D+� ` BfDGFIHO�94< [:Y�D ` BEDGFIHgE�^pY_HU� h�k� VMV FIO V1X Y_HaN XaV�8 N�� H

I�9�JFoKJL��= ��qmq�t�s8I!t�s�qmq�t�sHI�t � ��� 'CA y

Page 10: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

]

� X Y_HaN V Y_H:N�BH:D X98 E�^pY_HoY_HaN�\EH V O_N XZ8 N1; X ^pY_^ V1X�i-V B �-�h� �!��4 E�N�HIDKD+N�Y_HaN i-V ��� V E�^ Xa`PX ^�\]N�F:B V F�N�B_Y�L�H

�-�h� �!�wB�8 � @�� � %��;� C�8 � I � � E 8 � � 8

_�^ X \]NoO V joNwDGF:FI�©^�\�DGY_^ V1X OCjw^ ` HMYCF:B_N i N�BP� V@V FIO 8 N#��^BD+N�BEN 8 ^ X F:B_N 8 N#\]N#O_O V BP��^�OZY_O14�E�NwD+��O V ^ X \���[ 8 NsDi [ X \]Y_^ V1X �-�h� �!���wY_HIDGY 8aV N#OWN d D+\]Y_�pL6Y_H:^�OWD X98�< N#H:D�D+N#O V Y_HaN�BcE�^©OZN��©^ G N � �+� �!� ? g X D 898 ^pY_^ V1X 4MY_H:N�B_NDGB_NoD+��O Vzi [ X \]Y_^ V1X O�Y V jwDGY_\fHtD X DGB < ^pYZBEDGB_L X:V58 N V B XaV�8 N#O6E�^pY_H�D�OZF�N#\�^B;.\PF:B V F�N�B_Y¦L�H � �+� �!���h���jwDGY_\fHaN#OoD X DGB < ^pYZBEDGBEL XaV58 Nk^ X D XaV1X � N#jwF:Y�L ` BfDGFIH ?jL F:FI��^�N 8 Y V D X N#joFIY�L ` BEDGF.H�4 � �+� �!���h���F:B V58 [I\]N#O�D X N�B_B V B ? � �+� �����h����\�D XQ< N D@^pN1E�N 8 D+O�Y_HaN XaV1X � 8 N�YZN�BEjw^ X ^©OZY_^�\Q^ X D+N�BEOZN V+i V��WQ�VZU,4�D X98^pY�HID+O�Y_HaN i-V ��� V E�^ Xa` F:B V F�N�B_Y¦L�H

( % X �;�W�4�w8 ��� ��H-%hV � �Z� � �W���7� V��WQ�VZU @"�-�h� �!���+�Q� 8 I � 8

_�^©jw^���DGBE��L 4+� �+� �!� ' T��NVRjwDGY_\EH:N#OD X DGB < ^pYZBfDGB_L X:V58 N�Y_H:DGY i [:�B;I�©��O�DR\ V1X98 ^�Y_^ V1X'?�L�` D+^ X ^pY�^©OeD X N�BEB V BY V DGF:FI�pL �-�h� �!�)'ZT�� VQY V D X N#joFIY�L ` BEDGFIH%4MD X98 D X N�B_B V B^�OeD+�©O V F:B V58 [I\]N 8 E�HaN XkX:VRXaV�8 N�O_DGY_^�Oc;:N#OY_HaN ` ^BD+N X \ V1X98 ^pY_^ V1X ?Z= ^ X D+����L 4 �-�h� ���� ��V¢jwDGY_\EHaN#O�D�[ X ^IT@[aN XaV�8 N V+i DK\]N�B_Y_D+^ X F:B V F�N�BEY�L 4<Y_H:DGY^�OK4�^�Y�jwDGY_\fHaN#OJE�HaN X N1D+N�B � �+� ��� ' T�� VPE V [:� 8 jwDGY_\EH�D X98 Y_HaN���^�OZY V+i T@[:D+��^ i L�^ Xa`KXaV�8 N#O�\ V1X Y_D+^ X ON d D+\]Y_�pL V1X N XaV�8 N ?7V NsD+��O V H:D�D+NRYeE Vzi [ X \]Y_^ V1X O��+Tm�;�WVZ�Z�kD X98 �+Tm�;�;V �Z��kY_H:DGY�jwDGY_\fH�Dw\ V1X YZN d Y^ X D ` BfDGFIHKjs[:\EHK�©^ G N � �+� �!��D X,8 � �+� �!����4 < [aY�B_N�Y_[:B X�V1X �pLzY_HaNP\ V1X YZN d Y�D X,8hXaV Y�Y_HaNQB_N#jwD+^ X ^ Xa`` BEDGF.H ? nC[:D+����L 49EN�D+��O V H:D�D+N�D i [ X \]Y_^ V1X O6UWV�H+SWTZUWVwD X98 UWVWHhS;T UWV)%�jwDGY_\fHaN#O V1X N V B�j V BEN XaV�8 N#O^ X Y_H:N ` BEDGFIH D X98 ^ `1XaV B_NhY_HaNhB_N#OE[:�pY_^ Xa` \ V1X YZN d Y_O6D X98 p_[:OZY�L�^pN#� 8 Y_HaNhB_N#jkD+^ X ^ Xa` ` BEDGFIH ? J�H:^�OD+j V [ X Y_O14e^ Xti D+\]Y14«Y V B_N#j V D+N XaV58 N#O i B V j D ` BEDGFIH ?P=:V B�\ V jwFI�pN�YZN X N#O_O E�N6D+��O V H:D�D+N6^ X \���[ 8 N 8Y_HaNs\ V B_B_N#OZF V1X98 ^ Xa`oi [ X \]Y_^ V1X O U�VWH X U�8�VkD X98 UWV�H X UZ8WV�% i3V B�B_N#j V D@^ Xa`wV1X N V B�j V B_N�N 8a` N#O i B V j D` BEDGF.H ?

(�o!a4'��h� 9�93e+f!ghd �*=p~!�+o�cm� o){ �*=�&+d�'�f)( cvoO{(�o!a4'����!lhb 9�9 ~��ho�cm�vo){��*=)~�&+d�'�f)( c o){(�o!a4'�����f)(Wd 9�9)qF~!�+o�cm� oO{ �*=|e+f!ghd �*= �+fmf R t|�*=O~��+o�cm�vo){��*=)~�&+d�'�f8( c o){(�o!a4'��� !� d 9�9)qF~!�+o�cm� oO{ �*=|e+f!ghd �*= �+fmf R t|�*=O~��+o�cm�vo){��*=)~�&+d�'�f8( c o){'�f�lha+d� �a 9�9 ehf�ghd �*=)~��+o�cm�vo){��*=B�hf�lha+d+ mapop{'�f�lha+d� �am� 9�9 ehf�ghd �*=)~��+o�cm�vo){��*=B�hf�lha+d+ mapop{gmd R e+f�gmd 9�9 ehf�ghd �*=)~��+o�cm�vo){��*=)~��+o�cm� oO{gmd R e+f�gmd�P 9�9v��ehf�ghd�� �*=)~��+o�cm�vo){��*=)~��+o�cm� oO{gmd R xhg�yhd 9�9 xmg�y+d �*=)~��+o�cm�vo){��*=)~��+o�cm� oO{gmd R xhg�yhd�P 9�9v��xmg�y+d�� �*=)~��+o�cm�vo){��*=)~��+o�cm� oO{

� � ����� � �W������ �6�7������E�����r������� ��h�c �� ���_� � �����-�����_���

g X Y_H:^�O\_@N#\]Y_^ V1X EN 8 N#j V1X OZYZBEDGYZNsY_HaNo[:OZN V+i�` BEDGFIH 8 N#\ V joF V O_^�Y_^ V1X¢i [ X \]Y_^ V1X O�^ X Y_HaNsB_N#D+��^��#DGY_^ V1XV+i O V joN < D+O_^©\ ` BEDGF.H D+� `+V BE^pY_H:jwO ? J�HaN i [ X \]Y_^ V1X O 8 N1; X N 8 ^ X Y_HaN i3V �©� V E�^ Xa` DGBEN�^ X \���[ 8 N 8 ^ X Y_HaNj V�8 [:��N��;��% (4� ?hV N�OZY_DGB_Y�^ X _@N#\]Y_^ V1X S@? � < L < BE^pN��:L 8 N#O_\]BE^ < ^ Xa` DkO_N�Y V+i.< D+O_^©\ ` BEDGFIH V F�N�BEDGY_^ V1X O���� ! !"����! Y_H:DGY�\�D X < N [IOZN 8yi3V B¢jkD X LyN1D+N�B_L 8 D#L�q OKY_D+O G O V1X�` BEDGF.H:O ? g X _@N#\]Y_^ V1X S@?T> EN 8 N#O_\]BE^ < N Y_HaN^�jwFI�pN#joN X Y_DGY_^ V1XyV+i Y_HaN#O_N V F�N�BfDGY V BEO ? J�HI^�OzH:N#�pFIO6Y V [ X98 N�BEO_Y_D X98 Y_HaN V F�N�BfDGY_^ V1X O < N�YZYZN�BKD X98OZN�B D+N#O�DGY�Y_HaN�O_D+joNPY_^�jwNPD+O�Dw��^pYZY_��N�Y_[:Y V BE^�D+� V1X H V E Y V E�BE^pYZNCB_N#\�[aBfO_^BD+N ` BEDGFIH i [ X \]Y_^ V1X O ?

Page 11: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

��� � � �Q � � ��� � � � ��h� ��� � ���C.��� � � �� � � ��� ���*� � ���o����� � �W�

�$#&% ')5 /D5�(+*���� 2 ( ,�- 7�5 �_,65�( * 1�5"-0/D7J�H:N i [ X \]Y_^ V1X 8*� �m��DGF:FI��^�N#O�D i [ X \]Y_^ V1X Y V D+���<\ V1X YZN d Y_O V+i D ` BfDGFIH���YdE V OZF�N#\�^�D+��^ ��N 8 D+N�BEO_^ V1X O V+i8*� �m� DGB_NhY_H:N i [ X \]Y_^ V1X O]���-����D X98 V��-�m�|Y_H:DGYojwDGF i [ X \]Y_^ V1X OsY V£XaV�8 N�D X98 N 8a` NK��D < N#��O ? J�HaNi [ X \]Y_^ V1X 8Z�WV B�F�N�B i3V BEjkO ` BEDGFIH�B_N1D+N�BEOED+�04.Y_HIDGY�^�OK4N8Z�WV BhO E�DGF.O�Y_HaN 8 ^pBEN#\]Y_^ V1XKV+i D+�©� N 8a` N#OC^ X Y_HaN` BEDGF.H ? J�HaN i [ X \]Y_^ V1X �Z��U)(���\ V1X D+N�BEY_O6D 8 ^pB_N#\]YZN 8�` BEDGFIH�^ X Y V D X [ X98 ^pB_N#\]YZN 8 ` BEDGFIH�4WY_H:DGY6^�O14^pYPD 8,8 OQN 8a` N#ORY V Y_HaN ` BEDGF.H£O V Y_H:DGYR^�YQF:B V F�N�BE�pLKBEN�F:B_N#OZN X Y_OZm�OZN�N < N ` ^ X:X ^ Xa`6V+i _@N#\]Y_^ V1X|>@? ��nPD X[ X,8 ^pB_N#\]YZN 8�` BEDGFIH ? J�HaN i [ X \]Y_^ V1X ����H��mQ i3V B ` N�Y_ORD+���*�©D < N#�©O V+i D ` BEDGF.H D X,8 Y_H:N�B_N < L \ V1X D+N�BEY_OP^pY^ X Y V D X [ X ��D < N#�pN 86` BEDGFIH�4:D X,8 8)%hV�HkOZN#�pN#\]Y_O�Do��^�OZY V+i \ V1X YZN d Y_O�Y_H:DGY�O_DGY_^©O i L�D ` ^BD+N X F:B V F�N�B_Y�L ?

y (Wo�c 9*9Oq%�hf�lha+d� ma)o){��*=B�hf�lha+d+ ma 'OgZt)�*=)~��+o�cm� o){��*=)~��+o�c��T'|gl (Wo�c 9*9OqLo �*= 'htO�*=p~!�+o�cm� o){ �*=O~��ho�cm� ' {d8(Wo�c 9*9Oqz{��*= 'htO�*=p~!�+o�cm� o){ �*=O~��ho�cm�voD'y��+d � 9*93~��+o�cm� op{��*=O~��+o�c��AoO{O�l+g ? �:9*93~��+o�cm� op{��*=O~��+o�c��AoO{O�l R o�{�9*93~��+o�cm� op{��*=`u ~��+o�cm�y7P�d R 9*9Oq%�hf�lha+d� ma)o){��*=�� fmf R t|�*=O~��ho�cm�vo){��*=r� �hf�lma+d� mapo){+�

g X D 898 ^pY_^ V1X Y V Y_HaN#O_N�OZF�N#\�^B;I\ i [ X \]Y_^ V1X EN�H:D�D+N�D+��O V YdE V D+N�B_L ` N X N�BED+� i-V � 8sV F�N�BEDGY_^ V1X O V1X�` BEDGF.H:O1H����TWH U OE[:\�\]N#O_O_^BD+N#��L 8 N#\ V joF V OZN#OzD+�©��\ V1X YZN d Y_O i B V j D ` BEDGFIH�D X98 \ V j < ^ X N#OkY_HaN#j ^ X D|BE^ ` HMY��D+O_O V \�^�DGY_^ID+N E�D�L�E�^pY_HhD < ^ X DGB_L i [ X \]Y_^ V1X6V+i Y�L@F�N @���Th�W�;V �Z� � Q�I ��� ����� �sD X98 Do[ X ^pY�DGD+��[aNV+i Y�L@F�NC��^ X Y V V1X N�D8D+��[:N V+i Y¦LMF�NC� ? ����TWH U ^©O D+N�BEL5O_^�jw^©��DGBRY V Y_HaNSEN#�©��� G@X:V E X ��^�OZY i3V � 8 4 < [aYD X ^�joF V B_Y_D X Y 8 ^ A�N�BEN X \]NP^�OWY_H:DGY�Y_H:NP\ V1X YZN d Y_O�DGBEN 8 N#\ V joF V OZN 8hi B V j Y_H:N ` BEDGFIHK^ X D X DGB < ^pYZBEDGBELV B 8 N�B��:Y_HaN�B_N i-V B_NQY_HaN \ �;^w^ X Y_HaN X D+joNPY_HIDGY�OZY_D X98 O i3V B ����� & � :1&�:S� ?

O�@hf R g;9*9Oqmq%�mf�lha+d� �apo){Wt)�*= 'p�*= 'ht)��= ')�*=)~��+o�cm� oO{ ��=W'J�H:N�OZN#\ V1X98�i-V � 8Ki [ X \]Y_^ V1X 4�8��WTWH+U�4 8 N#\ V joF V OZN#O ` BEDGFIHIO�^ X DkOZF�N#\�^B;I\ V B 8 N�B ? g X FIDGBEY_^�\�[:��DGBK4.\ V1X �YZN d Y_OQDGB_N 8 N#\ V joF V OZN 8 DGY�OZF�N#\�^B;.\PF V O_^pY_^ V1X O14:Y_H:DGYC^�O14 XaV�8 N#O14.^ X Y_HaN ` BEDGFIH ? g¦Y�Y_D G N#OCN#O_OZN X Y_^�D+���pLY_HaBEN�N i [ X \]Y_^ V1X FIDGBED+jwN�YZN�BEO�Y V \ V1X YZB V �0Y_HaN 8 N#\ V joF V O_^pY_^ V1X'?

a�b�c d�& ? �voO{ i q%�mf�lha+d� �a o){;t|�*=r��e+f!ghd�� �m�)g ? �hd�' a ? f�l f�@N@hf R ga�b�c d�&+o!y�yvo){ '|g i q%�mf�lha+d� �a o){;t|�*=W')�*=pg �m�)ghd�cma�� o!ymym�hd!y+o!a ? f�la�b�c d � o!y�y g ' i q!#ho!b�{ dOgA�*= 'p�*=W'Ns 'mt �m�|{h�+d�o�g�a���� R d �+d R o!ymy��+d!y+o!a ? f�l

y*@hf R g;9*9Oq!& ? �voO{;tO�*=wq!&+o!y�yvoO{T'Og�tO�*= q � o!y�y gD'ht|�*=r��e+f�gmd�� �*=)~��+o�cm�voO{ ��= 'L O_O_[:jwN6E�N�H:D�D+N�N d FI� V BEN 8 D ` BfDGFIHkY V O V joN�FIDGB_Y14@Y_H:DGYW^�O14 E�N�DGBEN�\�[aB_BEN X Y_�pLXD�^�O_^�Y_^ Xa` D�\ V1X YZN d Y �� @L� CFB/C<H4C.%�I 4MD X98 E�NPH:D�D+NPY V N d F.� V B_NCY_HaNQB_N#jwD+^ X ^ Xa`�` BEDGFIH�8 ? J�HaN X 8���TWH+U�E V B G O�D+O i-V ��� V E�O1H

f J�HaN ;:BEOZY i [ X \]Y_^ V1X 4MO_D�L���4 V+i Y�L@F�N�@���Th�W�;V �Z� � Q�I �����zSWTZU�V���^�O�DGFIFI��^pN 8 Y V �RD X98 L@^�N#� 8 OD���^�OZY V+i*XaV�8 N#OY_H:DGY�DGB_NCY VX< N D�^�O_^pYZN 86X N d Y ?7L Y�L@FI^�\�D+��N d D+joFI�pNC^�O�Y_HaN i [ X \]Y_^ V1X % � � � Y_H:DGYL@^�N#� 8 O�Y_HaNRO_[I\�\]N#O_O V BEO %��:Y_H:^©O�OZF�N#\�^B;:N#O�D 8 N�FIY_H��C;:BEOZYWYZBED�D+N�BEO_D+� ?

f J�HaN ` BEDGFIH 8�^�O i-V � 8 N 8 BEN#\�[aBEO_^BD+N#��L¢DGYPY_H V OZN XaV58 N#O 8 N#��^BD+N�B_N 8M< L�� ? J�H:^�O�L@^�N#� 8 OCDK��^�O_Y V+iB_N#O_[:��Y_OR� %SE�H:^�\fHUE�^��©� < NwD `+` B_N ` DGYZN 8 < L Y_HaNwY_H:^pB 8 FIDGBED+joN�YZN�Bs^ X Y V DgD8D+�©[aN9� V+i Y¦LMF�N � ?O�V E Y_HaNQOZN#\ V1X98 F.DGBED+joN�YZN�B i [ X \]Y_^ V1X \ V j < ^ X N#OWY_HaNQ\�[aBEB_N X Y�\ V1X YZN d Y�D X98 �k^ X Y V DJD8D+��[:N��V+i Y�L@F�N U ? _�^ X \]N D8D+�©[aN#OW\ V joFI[aYZN 8zV1X�8 N�N�F�N�B��pN1D+N#�©O�DGBEN�\ V j < ^ X N 8 E�^pY_HzY_HaNC\�[aB_B_N X YW�pN1D+N#�04Y_H:^�OWF:B V \]N#O_O�^�O�D+��O V \�D+�©�pN 8 � :e)��o+Q!���� &�: � ! ���0�#� ?

Page 12: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� � � � �0� � � � � � � � ��� ��� ��� � ����� � � � � �,� ��� ����� �+�

f c D+\fH¢N#�pN#jwN X Y V+i Y_HaN���^©OZY6� %o^�O�D ����� Q�V U �CDGD+��[aNPB_N#OE[:�pY_^ Xa`oi B V j Y_HaNPB_N#\�[aBfO_^BD+N ` BEDGF.H i-V � 8V+i D XaV�8 N 8 N#��^ID+N�B_N 8�< L��,H E�HaN X Y_H:N�jwDGY_\EHI^ Xa`PV+i Y_HaN XaV58 N�^�OeO_[:\�\]N#OEO i [I�04 ^pY7E�^���� < N�D\DGD+��[aN��� %�� ��4 V Y_HaN�BcE�^�O_N�^pY E�^���� < N�Y_HaN DGD+��[aN SWT � � (!�;8 ?6O�V E1� %w^�O���^�OZY�� i-V � 8 N 8g< L¢D i [ X \]Y_^ V1X 8D X98 DK[ X ^pY@D8D+�©[aN"� m V+i Y¦LMF�N � nC^ X Y V DgDGD+��[aN V+i Y�L@F�N � ? _�^ X \]N�DGD+��[aN#OP\ V jwFI[aYZN 8£V1X Y_HaNO_D+joN��pN1D+N#��DGB_No\ V j < ^ X N 8 4�E�N�\�D+�©�0Y_H:^©O�F:B V \]N#O_OCD+��O V /1&�: !�� �o+ !���� &�: � ! ���0�#� ? O�V YZN�Y_H:DGYCY_HaNY_H:^pB 8 FIDGBfD+joN�YZN�B�^�O ` ^ID+N XP< LzY_HaNRFID+^pBJ@�8 C ��I ?

� X Y_H:N�Y V Fw��N1D+N#�04+8��WTWH+UP^©O<DGFIFI��^pN 8 Y V DQ��^�OZY V+i.XaV�8 N#O«D X98 L�^pN#� 8 O<DQ��^�OZY V+i �����+Q�V U �CD8D+��[:N#O ? J�HaN#OZNDGB_N:; X D+���pL < B_N#D 8 Y_H���D `+` BEN ` DGYZN 8 ^ X Y V DwOE^ Xa` �pN@DGD+��[aN V+i Y�L@F�NM� ?

L O*D X N d D+jwFI�pN i-V B0Y_HaNDGF:FI��^�\�DGY_^ V1XQV+i 8��WT�H U�\ V1X O_^ 8 N�B Y_H:N�\ V joFI[aY_DGY_^ V1XPV+i D 8 N�FIY_H��C;:BEOZY O_FID X �X ^ Xa` YZB_N�N ? J�HaN 8 ^�B_N#\]Y_^ V1X�V+i 8���TWH+U�^�O ` ^BD+N XX< L % � � � 4 D X98 Y_H:N 8 N�F:Y_HoD `+` B_N ` DGY_^ V1X ^�O ����� ��T UWV �E�HI^�\EH OZN#�pN#\]Y_O�Y_HaN XaV�8 N V+i Y_H:Ns\�[aBEB_N X Y�\ V1X YZN d YPD X98 FI[aY_O�^pY�DGY�Y_HaNsB V@V Y V+i DzYZB_N�N�Y_H:DGYCH:D+O�Y_HaNB_N#\�[:BEO_^BD+N#�pL \ V joFI[:YZN 8 YZB_N�N#ORD+O�O_[ < YZBEN�N#O ? m�J�HaNw\ V1X OZYZBE[:\]Y V B �Z� ^�OQN d FI��D+^ X N 8M< N#� V E ^ X _�N#\]Y_^ V1Xba? nwJ�HaN < B_N#D 8 Y_HhD `+` B_N ` DGY_^ V1X ^�O ` ^BD+N Xg< L�Y_HaNQFID+^pBJ@ � �h�7����� Q�V)% C�� �NI H

g�@*@:9*9v�?e+f�ghd�� ��=p~��ho�cm� oO{ �*=r� m�hdmdOe+f�ghd��g�@*@pi y�@mf R g P)OQ' J)q �m� �]l f�gmdKJ�t qS'�o�a*#+o!b�{+d�PNs ���Zt

�$#?" # '�, �}5 'k5 /01h* 1�5 -0/ -�% ')(+*-,/. �_,65�(+* 1�5 -L/D7g X Y_H:^�O<OZN#\]Y_^ V1X EN 8 ^©O_\�[:O_O0Y_HaN�^�joFI�pN#jwN X Y_DGY_^ V1X�V+i O V jwN V F�N�BEDGY_^ V1X O*^ X YZB V�8 [:\]N 8 D <�V D+N ?�V N < N ` ^ XE�^�Y_HhY_HaN 8 N1; X ^pY_^ V1X�V+i 8*� �m��H^ i Y_H:N ` BEDGFIH¢^�O�N#joF:Y¦L 4.Y_H:NPN#joF:Y¦L ` BfDGFIH¢^�O�Y_HaNPB_N#O_[I�pY14 V Y_HaN�BcE�^�OZN 4E�N�B_N�YZBE^pN1D+NoD�\ V1X YZN d Y140DGF:F.�pL �hY V ^pYCD X98 N#j < N 8 Y_HaN X N1E \ V1X YZN d YP^ X Y V Y_HaNsB_N#O_[:�pY V+i jwDGFIFI^ Xa`��Y V Y_HaNoB_N#jwD+^ X ^ Xa`6` BEDGFIH ?XO�V YZNwY_H:DGY < L�[IO_^ Xa` �-�h� �����+�Q�hY V BEN�YZBE^pN1D+NwDh\ V1X YZN d Y�Y_HaN V B 8 N�B V+iN X \ V [ X YZN�BE^ Xa` Y_HaNP\ V1X YZN d Y_O�^�O�DGB < ^pYZBEDGB_L ?

y (Wo�c�9*9Oq%�hf�lma+d� ma oO{ ��=N�hf�lha+d� ma ' {;tO�*=)~��+o�c��AoO{��*=p~!�+o�cm�D'`{y (Wo�c$@ y�� ? P x ( cmamb)yvi d)( cmamb

�]f!a�� d!��X ? P�d|i$@D'�A y (Wo�c$@ y0JXm� d��+dwqS'Nszy J�t_i�(Wo�a4'�����lmbOy

L�X N d D+joF.�pN i-V B�Y_HaNsDGFIFI��^�\�DGY_^ V1X�V+i 8��-����^©O�OZN�YZY_^ Xa` D+�©� XaV�8 N���D < N#��O�Y V D�\EH:DGBED+\]YZN�BQY_HIDGYC\ V BEB_N]�OZF V1X98 OWY V Y_HaN XaV�8 N@DGD+��[aN H

y (Wo�c�q� q}c s�� s�� s Pht��*=Nqzc s���s '��m��q�� ���Wt�s�PmtmtL�XaV Y_HaN�B<N d D+jwFI�pN i-V B*D�O_^�joFI��N<BEN#\�[aBEO_^BD+N ` BEDGFIH i [ X \]Y_^ V1X ^�O'Y_HaN 8 N1; X ^�Y_^ V1XCV+i 8 �;V+B ? J�HaN�OZYZBE[I\]Y_[aB_NV+i Y_H:^©O 8 N1; X ^pY_^ V1X ^�OhD+N�B_LwO_^�jw^©��DGB«Y V Y_HIDGY V+i 8*�-����H<^ X Y_HaN < D+OZN�\�D+OZN E�N�B_N�Y_[aB X Y_HaN�N#joF:Y�L ` BfDGFIH�4D X98 ^ i Y_HaN�B_N ^�OzD|\ V1X YZN d YhD�D8D+^��©D < �pN 4FE�N O EWDGF�O_[:\�\]N#O_O V BfOzD X98 F:B_N 8 N#\]N#O_O V BEO6D X98 N#j < N 8 Y_H:^�O\fH:D Xa` N 8 \ V1X YZN d YR^ X Y_HaNsB_N1D+N�BEOED+� V+i Y_HaNsB_N#jwD+^ X ^ Xa`k` BEDGF.H ?\L�` D+^ X Y_HaN�\EH V OZN X V B 8 N�B V+i \ V1X YZN d Y8 N#\ V jwF V OE^pY_^ V1Xg8aV N#O XaV Y�jkDGYZYZN�B ?

y��+d � 9*93~��+o�cm� op{��*=O~��+o�c��AoO{y��+d �)y � ? P x ( chamb)y ivd8( chamb

�]f!a��+d!��X ? P�d|i q PNs�� s R s}c;t A ym�+d �py0JX�� d!�+dwqmq}c s�� s R s Pht�szy J�t iC(Wo!a7'�����lhb|y

g Y�^�O XaV Y 8 ^BNk\�[:��YY V O_N�NPY_H:DGY 8Z�WV B�\�D X 4:^ Xhi D+\]Y14 < NQN d FIB_N#O_OZN 8 D+O�D X ^ X OZY_D X \]N V+i 8��-�m��H

Page 13: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� > � ��� ��� � � �C � �� � �P�

y��+d �pi y (Wo�c q� qzc s�� s R s�Pht��*= q P�s�� s R s�cWt�t

c D+N X 8*� �m��\�D X < N ` N X N�BED+��^ ��N 8 � E�N�\�D X 8 N1; X N¢^�YkD+OzD X ^ X O_Y_D X \]N V+i ����TWH U ? s V BEN V D+N�BK4�Y_HaNi [ X \]Y_^ V1X O68)%hV�H94���T UWV�%54�Z��U)(��6D X98 ����H���Qh\�D X D+��O Vi< NCB_N#D+�©^ ��N 8 Y_HaB V [ ` H � �WTWH+UzD X98 8��-�m� ?

y (Wo�c$@viBO�@hf R g q� �'!��= q%@W' AWt�t|d8( chamby7P�d R c�iBO�@hf R g q� �'$'*P!�*= ? @|c ' a�� d�lT' 9 '*P|d R P�dW'*Pmt ���l+f�ghd�P iBO�@hf R g q� qzc s�� s R s�Pht��*= q�� 9�t�t ���O�l+g ? � ipy (Wo�crq� qzc s�� s R s Pht��*= R d!a�cQP i!l*Om{ �mb q� + pb �*=�P�l+g� himi�P�l+g)bWtkqzc�����Pht ? lrqzcQPNs�� s R s}cQPmtmtO�l R o�{ ipy (Wo�crq� qzc s�� s��-s Pht��*= q"Oml R o�{*�mg�� c s�� s�q�t�s O�l R o�{��mg��BPmtmt

Xm� d��+dCOml R o�{��hg��OiC(Wo�c q� q��-s��Wt���= qmq�t�s��Wtmt

� � �D������ �c'�I���R� �F��

n�N�F:Y_H��C;IBEOZY�OZN#DGBE\EH¬^©O V1X N V+i Y_HaN6j V OZY < D+O_^�\6D X98 j V OZYo^�joF V B_Y_D X Y ` BfDGFIH|D+� `+V BE^pY_H:jwO ? g Y�\�D XB_N1D+N#D+��D � V Y�D <�V [aYsY_HaNh^ X YZN�B X D+�WOZYZBE[I\]Y_[aB_N V+i D ` BEDGFIH%4eD X98 Y_H:^�O�^ Xai-V BEjwDGY_^ V1X \�D X < Nh[:OZN 8 Y V^�jwFI�pN#joN X Y�OZN1D+N�BED+� V Y_HaN�BQD+� `+V Bf^pY_H:jwO14�O_[:\fH�D+O�Y V F V � V+` ^�\�D+�<O V B_Y_^ Xa`zV BQ\ V joFI[aY_^ X:` OZYZB V1Xa` ��LK\ V1X �X N#\]YZN 8 \ V joF V1X N X Y_O ? J�HaN i [ X \]Y_^ V1X O�F:B_N#OZN X YZN 8 ^ X Y_H:^©Oh_@N#\]Y_^ V1X \�D Xi< N i-V [ X98 ^ X Y_HaN�j V�8 [:�pN � � ' ?F��W� �! J�H:N 8 N1; X ^pY_^ V1XzV+i Y_HaNQYZBEN�N 8 DGY_DwY¦LMF�NP^�O ` ^BD+N X ^ X Y_HaN�j V58 [:�pN��;T)%mV���WV�V ? �� ����>�����;� ��

L 8 N�FIY_H��C;:BEOZY�EWD+� G Y_HaB V [ ` HoD ` BfDGFIHoN#O_OZN X Y_^�D+����L�joN#D X OeY V D@^©O_^pY�N#D+\EH XaV58 N�^ X Y_HaN ` BEDGFIH V1X \]N< L�D@^�OE^pY_^ Xa` O_[:\�\]N#O_O V BEO < N i-V B_N�O_^ < �©^ Xa` O ? J�HaN�FIDGBED+jwN�YZN�BEO V+i�8 N�F:Y_H��C;IBEOZYeOZN#DGBE\fHkDGB_N 4 V+i \ V [aBEOZN 4MY_HaN` BEDGF.HoY V < N�OZN#DGBE\fHaN 8 4 < [aYe^ X D 898 ^�Y_^ V1X 41DQ��^�O_Y V+i'XaV�8 N#O«^�O�[:OZN 8 O_D�L@^ X:` E�H:^�\fH XaV�8 N#O«DGB_N��pN i Y«Y V < ND�^�O_^pYZN 8 ? J�HI^�O���^�O_Y�^�O X N�N 8 N 8¢i3V BC[ X \ V1XIX N#\]YZN 8K` BEDGF.H:O E�H:N�B_N 4ID i YZN�B�H:D�D@^ Xa` \ V joFI��N�YZN#�pL�N d FI� V B_N 8V1X Ns\ V joF V1X N X Y14�D XaV58 N V+i D XaV Y_HaN�BC\ V joF V1X N X Y�^�O X N�N 8 N 8 Y V \ V1X Y_^ X [aN�Y_HaN�OZN#DGBf\EH ? n�N�F:Y_H��C;IBEOZYOZN#DGBf\EHt\�D XM8 N#��^BD+N�B 8 ^ A�N�B_N X Y G ^ X98 O V+i B_N#O_[:��Y_O1HWY_HaN i [ X \]Y_^ V1X U��)%�L�^pN#� 8 O�Y_HaNs�©^�OZY V+i�X:V58 N#O�^ X Y_HaNV B 8 N�B.D@^�OE^pYZN 8 m-Y_H:^�O«��^�O_Y<O_D+^ 8 Y V\< N�^ X�8 N�FIY_H��C;:BEOZY V B 8 N�B n ? g X \ V1X YZBED+OZY14 Y_H:N i [ X \]Y_^ V1X U����P\ V joFI[:YZN#OD 8 N�F:Y_H��C;:BfOZY�OZFID X:X ^ Xa` YZB_N�N 4,E�H:^�\EH G N�N�FIO�Y_HaN�N 8a` N#O�Y_HIDGY�H:D�D+N < N�N X YZBED�D+N�BEOZN 8 Y V B_N#D+\fH�D+��� Y_HaNXaV�8 N#O ? g Xki D+\]Y14�Y_HaN�B_N#O_[:�pYjw^ ` HMY XaV Y < N�DRFIB V F�N�B�YZB_N�NCDGY�D+�©�04 E�HI^�\EHz^�OeY_HaNC\�D+OZN E�HaN X Y_HaN ` BfDGFIH^�O XaV Y�\ V1X:X N#\]YZN 8'? J�HaN�BEN i3V B_N 4�U����wD+\]Y_[:D+���pL 8 N#��^BD+N�BEOWD���^�O_Y V+i YZBEN�N#O14 E�H:^�\fH�^�OWD+��O V \�D+���pN 8 D � � &�:�=*�m-Y_H:^©O�D+��O V N d FI��D+^ X OWY_HaNP[:OZN V+i DoYZBED+^©��^ Xa` �6^ X OZYZN#D 8�V+i D ��^ X Y_HaN X D+joN V+i Y_HaN i [ X \]Y_^ V1X n ?

J�HaN 8 DGY_D Y�L@F�N ��;VZVtD X,8|i [ X \]Y_^ V1X O i3V Bw\ V joF.[aY_^ Xa` F:B_N]�QD X98 F V OZY V B 8 N�Bo��^©OZY V+i�XaV�8 N#O�DGB_N8 N1; X N 8 ^ X Y_HaNPj V58 [I�pN��;T)%mV���WV�V9H

gmo!a+o m�+d�d o i �m�Ao1� m�+d�d)o��

cm�+dmf!�hgmd!� 9*9 ��+dmdpov��=1�}o!�c+f�P a+f!�mghd!� 9*9 ��+dmdpov��=1�}o!�cm�+dmf!�hgmd!��� 9*9v� m�+dmd)o��v�*=r�}o��c+f�P a+f!�mghd!��� 9*9v� m�+dmd)o��v�*=r�}o��

J�H:NK=*��&*� ������&�: V+i Y_HaNoB_N�Y_[aB X N 8 B_N#O_[:�pY_OXm���^©OZY V BPYZB_N�N nC^�O X:V YQY_HaN V1X �pL�F V OEO_^ < �pN D8DGBf^�DGY_^ V1X V+i Y_HaN8 N�FIY_H��C;:BEOZY*OZN#DGBE\EH i [ X \]Y_^ V1X'? g XRi D+\]Y14GY_HaN�BENDGB_N�Y_HaB_N�N�D 8,8 ^pY_^ V1X D+� 8 ^�joN X OE^ V1X O V+i F V O_O_^ < �pN�D8DGBE^©DGY_^ V1XD X985` N X N�BED+��^��#DGY_^ V1X HZm�^ nM�#� &<:c������� � HJEN6\�D X D+��O VKi3V �©� V E FIB_N 8 N#\]N#O_O V BfOR^ X D 898 ^pY_^ V1X V B�^ X OZYZN#D 8tV+iO_[I\�\]N#O_O V BEO147m�^�^on@&<:>=3��" �*HFENo\�D X B_N�Y_[aB X�V Y_HaN�B 8 DGY_DzY_H:D X pZ[:O_Y�Y_HaN D@^�OE^pYZN 8�X:V58 N#OK4.D X98 m�^�^�^ n =*�C!#& �*HE�Ns\�D X ; d Y_HaNs^ X ^pY_^©D+�'��^�OZY V+ieX:V58 N#O�Y Vi< N�Y_HaN XaV�8 N#O V+i Y_HaN ` BfDGFIHKY VS< NRYZBED�D+N�BEOZN 8'? L �pY V+` N�Y_H:N�B

Page 14: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� S

E�N V < Y_D+^ X�S+> D8DGBE^©DGY_^ V1X O V+i78 N�F:Y_H��C;:BEO_Y�OZN#DGBE\fH ? J�HaN X D+joN#O V+i D+�©�'Y_HaN#OZN i [ X \]Y_^ V1X O�DGBEN ` ^BD+N XQ< LY_HaN i3V ��� V E�^ X:` OEjwD+��� ` BED+jwjkDGBKH

� ��= � �*��� � ` �#� & b U��;= ��&3�9�K�e` � (m�+�5be` � b�#� & � ���������=*��&*� ��� � %����

J�H:NPjoN#D X ^ Xa`oV+i D X L�OE[:\EH i [ X \]Y_^ V1X \�D XP< N 8 N�BE^BD+N 8�i B V j Y_H:NPN A�N#\]Y V+i Y_H:N ` ^BD+N X FIDGBfD+joN�YZN�BEO1H

� � &� J�HaN i [ X \]Y_^ V1X O DGB_N�F.DGBED+joN�YZN�BE^ ��N 8 < L D i [ X \]Y_^ V1X V+i Y�L@F�Nw��Tm�;�WVZ�Z� �kQ

�����zS;T UWV �|Y_H:DGY 8 N�YZN�BEjw^ X N#Ow^ X N#D+\fHyO_YZN�F�Y_HaN���^�OZY V+iPXaV�8 N#OkY V < NPD�^�O_^pYZN 8X N d Y ?h=aV B�F.��D+^ X U�� %sY_H:^�O�^�O p_[:OZY�Y_HaN i [ X \]Y_^ V1X % � � � ?

� J�HaN XaV�8 N#O�Y VX< N D@^©O_^pYZN 86X N d YWDGB_NQO_[:\�\]N#OEO V BEO�D X98 F:B_N 8 N#\]N#O_O V BEO ? J�H:^�O�jwN#D X OY_H:DGYCY_HaN#OZN�D+N�BEO_^ V1X O V+ia8 N�F:Y_Ha�C;:BEOZY�OZN#DGBE\EH5^ `1XaV B_NsY_HaN 8 ^pB_N#\]Y_^ V1X¢V+i Y_HaN�N 8a` N#OD X98 DGB_N�Y_HaN�B_N i-V B_NKD+��O V \�D+����N 8 ����� & � :1&�:S� 8 N�FIY_H��C;:BEOZY�OZN#DGBE\fH ? ��U��)%¢\�D X < NN d FIB_N#O_OZN 8 D+O*D X ^ X OZY_D X \]N V+i ��U��)%aE�^pY_HQY_HaN 8 ^pB_N#\]Y_^ V1X F.DGBED+joN�YZN�B ��V�(m8+��Q�T � % � ?

� J�HaN XaV�8 N#O<Y V\< N'D�^�O_^pYZN 8�X N d Y«DGB_NWY_HaN�F:B_N 8 N#\]N#OEO V BEO�^ X OZYZN#D 8�V+i Y_HaN�O_[:\�\]N#O_O V BEO ?J�H@[:O14«Y_HaN#OZN 8 N�F:Y_H��C;:BEO_YsOZN#DGBf\EH i [ X \]Y_^ V1X Osj V D+NK^ X Y_HaN V F:F V O_^�YZN 8 ^�B_N#\]Y_^ V1X 4E�H:^�\fH|HID+ORY_HaNhO_D+jwNzN A�N#\]YwD+OsF�N�B i3V BEjk^ Xa` \ XaV BfjwD+��^ 8 N�F:Y_H��C;:BfOZY�OZN#DGBf\EH V1XY_HaNhB_N1D+N�BEO_N 8 ` BEDGFIH ?>V N�\�D+���WY_H:^©O V F:Y_^ V1X &<:��h: &�= : 8 N�F:Y_Ha�C;:BEOZYoOZN#DGBE\fH�4�D X98��U�� %�\�D X�< N�N d F:B_N#OEOZN 8 D+O«D X ^ X OZY_D X \]N V+i ��U�� %6E�^pY_HRY_H:N 8 ^pB_N#\]Y_^ V1X FIDGBfD+joN�YZN�B�W�;V � ?

m O�V �eB_N1; d n�J�HI^�Oo^�O�Y_HaN 8 N i D+[:��Yw\�D+OZN�^ X E�H:^�\EH i [ X \]Y_^ V1X O p_[:OZY i-V ��� V E O_[:\ �\]N#O_O V BEO ? U��)%6\�D X < NoN d FIB_N#O_OZN 8 D+O�D X ^ X OZY_D X \]N V+i ��U�� %iE�^pY_HtY_HaN 8 ^pB_N#\]Y_^ V1XFIDGBED+joN�YZN�B % � � � ?

= ��&3�9�K�% J�HaNKBEN#O_[:�pY V+i Y_HaN#OZN i [ X \]Y_^ V1X OwDGBEN���^�O_Y_O1H i-V BkY_HaN \� (m�+��^UD+N�BEO_^ V1X OwY_HaN ��^�OZY

N#�pN#joN X Y_O�DGB_Nh\ V joFI[aYZN 8|i B V j Y_H:N6\ V1X YZN d Y_O < L5D�FIDGBED+jwN�YZN�B i [ X \]Y_^ V1X 4«D X98i3V BCY_HaN)\ XaV BfjwD+��^SD+N�BEO_^ V1X O14�Y_HaN#OZNoDGB_N pZ[IOZY XaV58 N#O ? g X V Y_HaN�B\E V B 8 OK4-U�� %k\�D X< NQN d F:BEN#O_OZN 8 D+O U�� %�� (�� � ��TZUWV�% � ?

� J�HaN�B_N#O_[:�pY V+i Y_HaN#OZN i [ X \]Y_^ V1X ODGB_N�YZBEN�N#O@m V B�4�j V B_N�F:BEN#\�^�OZN#�pL 4 i3V BEN#OZY_O3n ?7L�` D+^ X 4Y_HaN \� (�� ��^ i [ X \]Y_^ V1X OeN d YZBED+\]Y�Y_HaN�N#��N#joN X Y_OFI[aY^ X Y V Y_HaN�YZB_N�N#O i B V j Y_HaN�\ V1X �YZN d Y_O < LRD�FIDGBED+joN�YZN�B i [ X \]Y_^ V1X 4 E�HaN�BEN#D+O0Y_HaN \ XaV BEjkD+��^ i [ X \]Y_^ V1X O0O_^�jwFI�pLCY_D G NY_HaNP\�[aB_BEN X Y X:V58 N ? J�H:^�O�joN#D X OK4�U����z\�D XP< NQN d F:B_N#OEOZN 8 D+O U������ (�� � ��TZUWV�% � ?

� (m�+� J�HaN V < pZN#\]Y_OoY VU< NzFI[:Y�^ X Y V ��^�O_Y_O V BoYZB_N�N#OkDGB_Nh\ V joFI[aYZN 8�i B V j Y_HaNgD�^�O_^pYZN 8\ V1X YZN d Y_O < L�DQFIDGBED+jwN�YZN�B i [ X \]Y_^ V1X�V+i Y�L@F�N �ZTh�;�WVZ� � � Q ��� �Xm�D <,< B_N1D�^�DGYZN 8D+O«Y_HaN�Y¦LMF�N � � ����n ?�= [ X \]Y_^ V1XwX D+joN#O.E�^pY_H V [aY�Y_HaN \� (�� �;^QOE[ N d p_[:OZY«Y_D G N�Y_HaNXaV�8 N#O i B V j Y_HaNR\ V1X YZN d Y ?

� J V N X O_[aB_NQY_HIDGY�D ` BfDGFIHK^�O�D+�IE�D�L@O�\ V joFI�pN�YZN#��LzN d FI� V B_N 8 moE�^pY_H V [aY�\�DGBE^ Xa`oi-V B^pY_OP\ V1X:X N#\]YZN 8:X N#O_O3n\EN6\�D X \�D+��� i [ X \]Y_^ V1X OP��^ G N9U�� % p_[:OZY:E�^pY_H Y_HaNk�©^�OZY V+i D+���XaV�8 N#O V+i Y_HaN ` BfDGFIH ? J�HaN�B_N i-V B_N ENCH:D�D+NC^ X \���[ 8 N 8 F:BE^�jwN 8 D+N�BEO_^ V1X O V+i 8 N�F:Y_H��;:BEOZYzOZN#DGBE\EH i [ X \]Y_^ V1X OoY_H:DGY 8aV5XaV Y�H:DKD+N D X:V58 N���^�OZYkD+O6D£F.DGBED+joN�YZN�BhD X98^ X OZYZN#D 8 Y_D G N�Y_H:N���^�O_Y V+i XaV58 N#O V+i Y_HaN#^pB ` BEDGFIHkDGB ` [:joN X Y ? g X Y_HaN 8 N i D+[:�pY\�D+OZN 4XaV�8 NQ��^�OZY_O�H:D�D+NRY V�< NQF:B V D�^ 8 N 8 N d FI��^�\�^pY_��L ?

Page 15: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� b � ��� ��� � � �C � �� � �P�

V NPH:D�D+N XaV YW^ X \���[ 8 N 8 D+��� S+>�i [ X \]Y_^ V1X O�^ X Y_H:NC�©^ < BEDGB_L 4 < [aY V1X �pLwY_HaN V1X N#OWY_H:DGY�OZN�N#j Y V�< N�j V OZY[:O_N i [:� ?

a�b�c d�� ��O�lAo){ '|i$�hf�lha+d+ ma o){��*=W'

mg*@7P � ? a�� 9�9 � ��Omlvo){���e+f�gmd�� �*=�� ��OmlvoO{ ')�*=1�?e+f�ghd�� ��=)~!�+o�cm�voO{ �*=r�%'�� mg*@*@ � ? a�� 9�9 � ��Omlvo){���e+f�gmd�� �*=�� ��OmlvoO{ ')�*=1�?e+f�ghd�� ��=)~!�+o�cm�voO{ �*=r� m�hdmdW'��g*@7P � ? a�� 9�9 � ��Omlvo){T' �*= ��ehf�ghd�� �*=)~��+o�cm�vo){��*=r�%'��g*@*@ � ? a�� 9�9 � ��Omlvo){T' �*= ��ehf�ghd�� �*=)~��+o�cm�vo){��*=r� m�+dmd ' �g*@7P � ? a��LJN9�9 � ��Omlvo){T' �*=O~��ho�cm�vo){��*=r�%'��g*@*@ � ? a��LJN9�9 � ��Omlvo){T' �*=O~��ho�cm�vo){��*=r� m�+d�d ' �g*@7P 9�9v��ehf�ghd�� �*=)~��+o�cm�vo){��*=r��e+f�ghd!�g*@*@ 9�9v��ehf�ghd�� �*=)~��+o�cm�vo){��*=r� m�+dmd|ehf�ghd��g*@7P J 9�9 ~��ho�cm�vo){��*=r��e+f�gmd��g*@*@ J 9�9 ~��ho�cm�vo){��*=r� m�+d�d|e+f�ghd��

Ohg*@7P 9�9v��ehf�ghd�� �*=)~��+o�cm�vo){��*=r��e+f�ghd!�Ohg*@*@ 9�9v��ehf�ghd�� �*=)~��+o�cm�vo){��*=r� m�+dmd|ehf�ghd���mg*@7P 9�9v��ehf�ghd�� �*=)~��+o�cm�vo){��*=r��e+f�ghd!��mg*@*@ 9�9v��ehf�ghd�� �*=)~��+o�cm�vo){��*=r� m�+dmd|ehf�ghd��Ohg*@7P J 9�9 ~��ho�cm�vo){��*=r��e+f�gmd��Ohg*@*@ J 9�9 ~��ho�cm�vo){��*=r� m�+d�d|e+f�ghd���mg*@7P J 9�9 ~��ho�cm�vo){��*=r��e+f�gmd���mg*@*@ J 9�9 ~��ho�cm�vo){��*=r� m�+d�d|e+f�ghd��

J�H:N�B_NoDGB_N�YdE V E�D�L@O V+i�` N X N�BED+�©^ �#^ Xa` ��U�� %�� (m�+��D X98 ��U���� � (m�+� i [aB_Y_H:N�BKH ;:BEO_Y14�ENo\�D X D < O_YZBED+\]Yi B V j Y_HaN�Y¦LMF�Ns\ V1X OZYZBE[:\]Y V B�m���^©OZY V B i3V B_N#O_Y3n�Y_H:DGYC\�DGF:Y_[aBENRY_HaNsB_N#O_[:��Y_^ Xa` DGD+��[aN#O14�D X98 O_N#\ V1X98 4�Y_HaN^ X YZN�BEjoN 8 ^�DGYZNzBEN#O_[:�pY_O�\ V joFI[aYZN 8 i-V BsD+���C4�OED#L 4eO_[:\�\]N#OEO V BEO14 V+i D XaV�8 NzDGBEN6\�[aBEB_N X Y_��L£\ V ���pN#\]YZN 8 ^ XD���^�OZY140D X,8 Y_H:^�OP\�D X < N ` N X N�BED+��^���N 8 ^ X Y V D X DGB < ^pYZBEDGB_L i [ X \]Y_^ V1X Y V \ V j < ^ X NwY_HaN�DGD+��[aN#O ? l V Y_HV+i Y_HaN#OZN ` N X N�BED+�©^ �#DGY_^ V1X OC�pN#D 8M8 ^pBEN#\]Y_�pLKY V Y_HaN 8 N1; X ^�Y_^ V1X¢V+i Y_HaN i [ X \]Y_^ V1X 8��WT�H U�4�O_N�N�_�N#\]Y_^ V1X£S@?Y�N X \]N 4�D+���aY_HaN�O_H V E X�8 N�F:Y_H��C;IBEOZYeOZN#DGBE\fH i [ X \]Y_^ V1X O6m�D X98 j V B_N n«\�D Xi< N�N d F:BEN#O_OZN 8 D+O�D X ^ X OZY_D X \]NV+i 8��WT�H U ?

= ^ X D+���pL 4.Y_HaN�B_N�DGBEN�O_N1D+N�BED+� ` BEDGFIH�F:B V < �pN#jkO�Y_H:DGYC\�D Xt< NsO V �BD+N 8 E�^pY_H¢Y_HaN�HaN#�pF V+i Y_HaNsD <�V D+N8 N�FIY_H��C;:BEOZYPO_N#DGBE\EH i [ X \]Y_^ V1X O1HM�hT��W��Th��Vh�W� %z\ V jwFI[aYZN#OPY_H:NQm�O_^�joF.�pL n�\ V1XIX N#\]YZN 8 \ V jwF V1X N X Y_O�D+OD���^�OZY V+i�XaV�8 Nk��^©OZY_O14-��TZ��T��W��Tm��Vh�W� %kO_D�L@OsH V E jwD X L \ V jwF V1X N X Y_OsD ` BEDGFIH|\ V1X O_^�O_Y_O V+i¦? g i Y_H:^�OX [:j < N�B�^�O��#4 ( %h��Tm����V��m�WVZU£L�^pN#� 8 O Z����V ? J�HaN i [ X \]Y_^ V1X �WTh� %mT �Z��\ V joFI[:YZN#O6D5Y V F V � V+` ^�\�D+���pLO V BEYZN 8 �©^�OZY V+ieX:V58 N#O�m i-V BCD+\]L�\���^�\ ` BEDGFIHIO3n34 %7�4�k\ V joFI[aYZN#O�Y_HaNsOZYZB V1Xa` �pL�\ V1X:X N#\]YZN 8 \ V joF V1X N X Y_O14D X98 Y_HaN i [ X \]Y_^ V1X �WVW�Q�!�N��QNH V 8 N�YZN�BEjk^ X N#O<D+��� XaV�8 N#O*Y_H:DGY�DGB_NWB_N#D+\EH:D < �pN�^ X D ` BEDGFIH i B V j D�OZF�N#\�^B;I\XaV�8 N ?

'�f)( c f�l+d�lha4P 9*93~��+o�cm� op{��*=r�m��e+f�gmd��m�l+f��hf)( c+f�l d�lha7P 9*93~��+o�cm� op{��*=Aj>lha? P �hf�lml+d�' a+d�g 9*93~��+o�cm� op{��*=�� fmf Rahf�cQP�f!��a 9*93~��+o�cm� op{��*=r��e+f�ghd!�P�'*' 9*93~��+o�cm� op{��*=r�m��e+f�gmd��m��hdmo�'�� o�{ R d 9*9 e+f�gmd ��=p~��ho�cm� oO{ �*=r��e+f!ghd��

Page 16: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� k

� � '� �F�s�-�� � � '�:� �R� �F��

l�B_N#D 8 Y_Ha�C;:BEOZY�OZN#DGBf\EHKN#OEOZN X Y_^©D+���pLzjwN#D X OFD�^�O_^pY_^ X:` O_^ < ��^ Xa` O < N i3V BENPO_[:\�\]N#O_O V BfO ? J�H:^�O�HID+O�Y_HaNQN A�N#\]YY V ;:BfOZY D�^�O_^�Y*D+��� XaV�8 N#O V+i DC\]N�B_Y_D+^ XX8 ^�OZY_D X \]N\m�joN#D+O_[aBEN 8 ^ X�X [:j < N�B V+i N 8a` N#O3n i B V j Y_HaN�OZY_DGB_Y XaV�8 N< N i-V B_N D�^�O_^pY_^ X:`�X:V58 N#O�Y_H:DGY�DGB_N i [:B_Y_HaN�B�DKEWD#L ? J�H:^�OWF:B V F�N�BEY�Lh^�O�N d FI� V ^pYZN 8P< L�Y_HaNROEH V B_YZN#OZY�FIDGY_Hi [ X \]Y_^ V1X V�%�� ` ^BD+N Xj< N#� V E Y_HIDGY�^�O < D+O_N 8hV1Xg< B_N#D 8 Y_H��C;:BEOZY�O_N#DGBE\EH ? J�H:^�O�D X,8 D+��� V Y_HaN�B i [ X \]Y_^ V1X O\�D Xj< N i-V [ X98 ^ X Y_HaNPj V�8 [:�pN � � ' ? ���W� �!

_�^�jw^��©DGBsY V 8 N�F:Y_H��C;IBEOZYwOZN#DGBE\fH E�N�H:D�D+NjDGDGBE^�DGY_^ V1X O V+i@< B_N#D 8 Y_Ha�C;:BEOZYwOZN#DGBf\EHyD+� V1Xa` 8 ^BA�N�B_N X Y8 ^©joN X O_^ V1X O ? R OE[:D+���pL 4eD < B_N#D 8 Y_H��C;:BEOZY�OZN#DGBE\fH¬Y_D G N#OkD O_^ Xa` �pN XaV58 N6D+OwD FIDGBfD+joN�YZN�BK4D X,8 Y_HaN XN d FI� V B_N#OCY_H:N ` BEDGFIH ? g X O V joNwDGFIFI��^�\�DGY_^ V1X O14�H V E�N1D+N�BK4'm i-V BQN d D+jwFI�pN 40� V \�DGY_^ Xa`�X N#DGB_N#O_Y i D+\�^��©^pY_^pN#O`���� bon0^�Y<^�O<B_NKT@[:^pBEN 8 Y_H:DGY«Y_HaN�OZN#DGBf\EHoOZY_DGB_Y_O i B V j OZN1D+N�BED+� X:V58 N#OK4GO V Y V OED#L \Z^ X F.DGBED+���pN#��^ ? = [ X \]Y_^ V1X OY_H:DGYsH:DKD+N6DKO_[ N d \&��^¢D+\�\ V [ X Y i-V BPY_H:^�ORD X98 Y_D G NzD+O�DhFIDGBED+jwN�YZN�BsDK�©^�OZY V+i OZY_DGB_Y XaV�8 N#O ? J�HaNOZN#\ V1X,8S8 ^�joN X O_^ V1X ^�O14@D ` D+^ X 4�Y_HaNC[:OZN V+i \� (m�+��^ROE[ N d N#O�Y V N X D < �pN�Y V�i N�N 8 DRF.DGBED+joN�YZN�B i [ X \]Y_^ V1XY_H:DGY�N d YZBED+\]Y_O�Y_HaNR^ X YZN�B_N#O_Y_^ Xa` ^ Xai-V BEjwDGY_^ V1X�i B V j Y_H:N D@^©O_^pYZN 8 \ V1X YZN d Y_O ?

O�V E E�NCH:DKD+N i3V [:BaD+N�BEOE^ V1X O V+i�< B_N#D 8 Y_H��C;IBEOZYO_N#DGBE\EH i-V B�\ V joF.[aY_^ Xa` p_[:OZY XaV�8 N#O m i-V BWN d D+jwFI�pN 4Q��)% n V B V Y_HaN�B�^ X:i3V BEjkDGY_^ V1X m i3V B�N d D+joFI��N 4 Q�� %�� (�� ��neD X98 O_Y_DGB_Y_^ Xa`�i B V j DoO_^ Xa` ��N XaV�8 N V B i B V j D��^©OZY V+i�XaV�8 N#OFm i3V B«N d D+joFI�pN 4�Q�� %���n ? J�HaN i [ X \]Y_^ V1X O4H V BWVWHCD X98 HZV+B;VWH���\ V joF.[aYZNWY_HaN < B_N#D 8 Y_Ha�C;:BEOZY��^©OZYQ^ X E�H:^�\fH Y_HaN XaV�8 N#OQDGB_NoFID+^pBEN 8 E�^pY_H Y_HaN#^pBQ�pN1D+N#�C4 Y_H:DGYR^�OK4�E�^pY_H Y_HaN#^pB 8 ^�OZY_D X \]N�Y V Y_HaNwO_Y_DGB_YXaV�8 N m�O3n ? J�HaN i [ X \]Y_^ V1X O]Q �WV D X98 Q �WVh�5B_N�Y_[aB X Y_HaNh��^�O_Y V+i YZBED�D+N�BEOZN 8 N 8:` N#O V+i D < B_N#D 8 Y_Ha�C;:BEOZYOZN#DGBf\EH ?tO�V YZN�Y_H:DGY Q �WVm�£B_NKT@[:^pBEN#ORD ��^�OZY V+i N 8:` N#O:E�H:N�B_N#D+OPQ��WVipZ[:O_YPY_D G N#O V1X N X:V58 N ?Q= ^ X D+���pL 4Y_HaN i [ X \]Y_^ V1X Q �Z�o\ V joFI[aYZN#OWD < B_N#D 8 Y_Ha�C;:BEOZY�OZFID X:X ^ Xa` YZB_N�N 4aD X98 Y_HaN i [ X \]Y_^ V1X V)%��k\ V joF.[aYZN#O�Y_HaNO_H V B_YZN#OZY�FIDGY_H < N�YeEN�N X YdE VkXaV�8 N#O�E�HaN�BENQY_HaNP�pN Xa` Y_H V+i DoFIDGY_H¢^�O ` ^BD+N Xg< LzY_H:N X [Ij < N�B V+i N 8a` N^ X ^�Y ?

{�@7P 9*9 e+f!ghd �*=O~��+o�c��AoO{��*=1�?e+f�ghd��{�@7P�l 9*9 ��e+f�gmd�� �*=O~��+o�c��AoO{��*=1�?e+f�ghd��{�@7P � ? a!� 9*9Oq%�hf�lma+d� mapoO{��*= 'mt)�*= ehf�ghd �*=O~��+o�cm�vo){��*=r�%'��{�@7P�l � ? a��:9*9Oq%�hf�lma+d� mapoO{��*= 'mt)�*= ��ehf�ghd�� �*=O~��+o�cm�vo){��*=r�%'��

R d �+d R 9*9 e+f!ghd �*=O~��+o�c��AoO{��*=1� q&e+f�ghd-s�j>lhaWt��R d �+d R l 9*9 ��q&e+f!ghd�s�j>lmaWt �|�*=p~!�+o�cm� o){ �*=r��q&ehf�ghd�s�j�lhaWt �{�@hd 9*9 e+f!ghd �*=O~��+o�c��AoO{��*=1�?xhg�y+d��{�@hd�l 9*9 ��xhg�yhd�� �*=O~��+o�c��AoO{��*=1�?xhg�y+d��

{�@�a 9*9 e+f�ghd �*=O~��ho�cm�vo){��*=�� m�+d�dd�P�c 9*9 e+f�ghd �*=|e+f!ghd �*=p~!�+o�cm� o){ �*=O�+o!a!�

g Y�BEN#jwD+^ X O�Y V N d FI��D+^ X N 8 H V E Y_H:N�Y¦LMF�N � ��WV�V6^�O 8 N1; X N 8'? _a^ X \]NRY_H:N 8 N1; X ^pY_^ V1XhV+i V�%��¢^�O < D+OZN 8V1X OE[:\EH¬D YZB_N�N m�\ V jwFI[aYZN 8>< L Q �Z� n:E�NK\ V1X O_^ 8 N�B�^ X O V joN 8 N�Y_D+^���H V E O_H V B_YZN#O_YoFIDGY_H:Oo\�D X>< N\ V joF.[aYZN 8 Y V j V Y_^BD8DGYZNRY_HaN 8 N1; X ^pY_^ V1X6V+i � ��;VZV ?

J Vg< [I^�� 8 D < B_N#D 8 Y_Ha�C;:BEOZYQOZFID XIX ^ Xa` YZB_N�N�E�NkH:D�D+NwY VPG N�N�F|j V B_Nw^ Xai-V BEjwDGY_^ V1X Y_HID X pZ[IOZYCY_HaNV B 8 N�B V+i0X:V58 N#O ? l�N i-V B_N EN�F:B_N#OZN X YWD X D+� `+V Bf^pY_H:j i-V BWY_H:^�OhENCjwD G N�YdE VsV < OZN�BcDGDGY_^ V1X O1H�;:BEO_Y14M^pY�^�OT@[:^pYZN 8 ^BNz\�[:�pY�Y V N1Nz\�^pN X Y_��L < [:^©� 8 D < BEN#D 8 Y_H��C;:BEO_Y�OZF.D X:X ^ Xa` YZB_N�NoB_N�FIB_N#OZN X YZN 8 4 i3V BQN d D+joFI��N 4 D+OD ��WV�VkSWTZUWV�D8D+�©[aNsD+O@EWD+O 8aV1X N 4 i-V BCN d D+jwFI�pN 4 < L`U���� ? J�HaN�F:B V < ��N#j ^�O�Y_H:DGYCY_HaN�N d F:B_N#O_OE^ V1X O8 N X:V Y_^ Xa` O_[I\EHhYZB_N�N#O�H:D�D+NRY Vi< N < [I^��pY <�V YZY V j���[aFPE�H:N�B_N#D+O�Y_HaNRB_N#\�[aBEO_^ V1X ^ X Q��)% 8 N#��^ID+N�BEO XaV�8 N#O^ X D�E�D�LtY_H:DGYR^�OCF�N�BROZNzO_[:^pYZN 8 i-V BPY V Fa� 8aV E X \ V1X OZYZBE[:\]Y_^ V1X ? _@N#\ V1X98 4<O_[:\EH5DhB_N�F:B_N#O_N X Y_DGY_^ V1X ^�O

Page 17: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� l � � ��� � �w� �� � � �C ���� � �P�

XaV Y�O V ^�joF V B_Y_D X Y�D X L@H V E < N#\�D+[:OZNS; X98 ^ X:` D�O_H V B_YZN#OZYsFIDGY_H E�^pY_H5Y_H:N6HaN#��F V+i D < B_N#D 8 Y_Ha�C;:BEOZYOZF.D X:X ^ Xa` YZB_N�Nw^©OPO_[aF:F V B_YZN 8t< L �o�� h!#&�� 8 ^pB_N#\]YZN 8 YZB_N�N#OK40Y_H:DGYR^©O14'YZB_N�N#O E�H V OZNoN 8a` N#ORF V ^ X Y i B V jY_HaN�O_[:\�\]N#OEO V BEO�Y V EWDGB 8 F:B_N 8 N#\]N#O_O V BEO1H�; X98 ^ Xa` D�O_H V B_YZN#OZYRF.DGY_H i B V j XaV58 N��6Y V X:V58 N��P\�D X < ND+\fH:^pN1D+N 8 < L m�^ nC\ V jwFI[aY_^ Xa` Y_H:N < B_N#D 8 Y_H��C;:BEOZYQOZF.D X:X ^ Xa` YZB_N�NzB V@V YZN 8 DGY�� 4Fm�^�^ n�� V \�DGY_^ Xa`KXaV�8 N��^ X ^�Y14�D X98 m�^�^�^ n i-V ��� V E�^ Xa` Y_HaNhN 8a` N#O i B V j��Y V Y_H:NKB V@V Y ? J�HaN X Y_HaN¢B_N1D+N�BEOZN¢�©^�OZY V+i YZBfDKD+N�BEOZN 8XaV�8 N#O M N 8:` N#O ` ^BD+N#O�Y_HaNPO_H V B_YZN#O_Y�FIDGY_H ?

O�V E D X ^ X EWDGB 8Q8 ^pB_N#\]YZN 8 YZB_N�No\�D XQ< NsB_N�F:B_N#O_N X YZN 8 O_^�jwFI�pL�D+OQDzjwDGFIFI^ Xa` E�^pY_H 8:V jwD+^ X D X98BED X:` N V+i Y¦LMF�N`S;TZU�V jwDGF:F.^ Xa`£XaV�8 N#OwY V Y_HaN#^pBzF:B_N 8 N#\]N#OEO V BEO ? _�^ X \]N¢O_[:\fH�D|jwDGF:FI^ Xa` ^�O < [:^��pY^ X \]B_N#joN X Y_D+���pLwN#^pY_H:N�B 8 [aBE^ Xa` < B_N#D 8 Y_Ha�C;:BEOZY�OZN#DGBE\EH V B�D i YZN�B�^pYW[:O_^ Xa` D���^©OZY V+i YZBEDKD+N�BEO_N 8 N 8a` N#O14 E�N\�D X:X:V Y�[:OZN�Dkj V1XaV �©^pY_H:^�\QDGB_BfD#L i-V B�^�joF.�pN#joN X Y_^ Xa` ^pY ? g X¢i D+\]Y14.Y_HaN�DGB_BfD#LK\ V1X OZYZBf[:\]Y�F:B V F V O_N 8 ^ X`�� S b\ V [:� 8 < Nz[:OZN 8 Y VQ< [:^�� 8 [aF5O_[:\fH5D¢YZB_N�N 4 < [aYPY_H:^©OPB_NKT@[:^pB_N#OPY V E�BE^�YZNwY_HaNiE�H V �pNwD+� `+V BE^�Y_H:jOZN�B D@^ X:` Y_HaN�DGBEBED#Ls\ V1X OZYZBE[:\]Y_^ V1X 41D X98 Y_H:^�O 8 N#O_YZB V L�O�Y_HaN�O_^�jwFI��^�\�^pY¦LQD X98 N#�pN ` D X \]N V+i Y_HaN i [ X \]Y_^ V1X D+�Q��)%CD+� `+V BE^�Y_H:j ? g X O_YZN#D 8 E�N�\�D X [:O_N�D < ^ X DGBEL�OZN#DGBE\fHwYZB_N�N 4 < [aY�Y_H:^©OeD 898 OeDR� V+` DGBE^pY_H:jk^�\ i D+\]Y V B V1XN#D+\fH V F�N�BfDGY_^ V1XKi-V B�m�^on < [:^©� 8 ^ Xa` [aF�Y_HaN�OZF.D X:X ^ Xa` YZBEN�NsD X98 m�^�^ n i-V B�B_N#\ V1X OZYZBE[I\]Y_^ Xa` Y_H:N�O_H V BEYZN#OZYFIDGY_H�D i YZN�B�Y_H:DGY ?

J�HaN���DGYZYZN�BF:B V < �pN#j \�D X�< N�D 898 B_N#OEOZN 8X< L X:V Y�pZ[IOZY�jwDGF:F.^ Xa`QXaV�8 N#O«Y V Y_H:N#^pBeF:B_N 8 N#\]N#O_O V BK4 < [aYY V Y_HaN E�H V �pN�FIDGY_HzY V Y_H:N�B V@V Y ? J�H:^©O 8aV N#O X:V YB_N#D+�©�pLwjwD G N�Y_HaN�^©joFI�pN#joN X Y_DGY_^ V1X j V B_NC\ V joFI�pN d HY V ^ X OZN�B_Y� D+O�DoFIB_N 8 N#\]N#O_O V B V+i � ^ X O_YZN#D 8hV+i p_[:OZY�^ X OZN�B_Y_^ X:` tE�^pY_H G N�L � ^ X Y V Y_HaNPYZB_N�N 4,EN ;IBEOZY� V \�DGYZN�Y_HaN�B V@V Y0F.DGY_H�D+�pBEN#D 8 LPOZY V B_N 8 DGY� 4GOED#L��[4GD X98 Y_HaN X ^ X OZN�B_Y�����JE�^pY_H G N�L � ^ X Y V Y_HaNYZBEN�N ? g XY_H:^©OhEWD#L�E�N V1X �pL X N�N 8 Y V � V \�DGYZN���^ X Y_HaNC^ X E�DGB 8Z8 ^pB_N#\]YZN 8 YZB_N�N 4aD X98 EN�\�D X p_[:OZYB_N1D+N�BEOZN�Y_HaNC��^�OZYV+i OZY V B_N 8�XaV�8 N#O�Y VsV < Y_D+^ X Y_HaN�OEH V B_YZN#OZYWFIDGY_H i B V j��CY V � ?7O�V YZNCY_H:DGYWY_H:^�O�B_N�F:B_N#O_N X Y_DGY_^ V1X \�D+[:O_N#OV1X ��L�jk^ X ^�jwD+��OZF.D+\]N V D+N�BfHaN#D 8 HeO_^ X \]N�\ V jwj V1X F:B_N1; d N#O V+i FIDGY_H:ODGB_N�OEH:DGB_N 8 41Y_HI^�O«B_N�F:BEN#OZN X Y_DGY_^ V1X^�Ok��^ X N#DGBk^ X Y_HaN X [:j < N�B V+i OZY V BEN 8�XaV�8 N#O ? Y V E�N1D+N�BK4�O_Y_^����WY_HaN¢\ V jwFI�pN d ^pY�L V+i \ V joFI[aY_^ X:` Y_HaN< BEN#D 8 Y_H��C;:BEO_Y�OZFID X:X ^ Xa` YZBEN�NRD X98 Y_H@[:O�D+��O Voi3V B�\ V jwFI[aY_^ Xa` OEH V B_YZN#OZY�F.DGY_H:O�^�O��im��P� V+` ����� n ?

O�V E�D i [aB_Y_HaN�Be^©joF:B V D+N#joN X Y^�O�Y V B_N�F:BEN#OZN X YD < B_N#D 8 Y_Ha�C;:BEOZY«OZFID XIX ^ Xa` YZB_N�N < L�DP��^�OZY m�^ X OZYZN#D 8V+i D�YZB_N�N n V+i FIDGY_H:O i B V j N#D+\EH XaV�8 N�Y V Y_HaNoB V@V Y ?JV Nz\�D+���<Y_HaN#OZN G ^ X98�V+i YZBEN�N#OX&(��� �h)�! �o+ ��&�:�:>= ?L�` D+^ X 4@Y V H:D�D+N�D���^ X N#DGBOZFID+\]N�BENKTM[:^�B_N#joN X Y«Y_HaN�FIDGY_HIO�O_H V [I� 8 O_H:DGBEN�\ V jwj V1X F:B_N1; d N#O ? J�H:^�O�\�D X< NPD+\EHI^pN1D+N 8 T@[:^pYZNQN#D+O_^©�pL < L G N�N�FI^ Xa` Y_HaN#O_NPFIDGY_H:O�^ X Y_HaN:T@[aN#[aNP[:OZN 8�< L < B_N#D 8 Y_Ha�C;:BEOZY�OZN#DGBE\fH ?

O�V E Y_HaN�D+� `+V BE^�Y_H:j i3V B.; X98 ^ Xa` Y_HaN�O_H V BEYZN#OZYeFIDGY_H < N�YdE�N�N X YeE VRX:V58 N#O���D X98 � ;:BEOZY«\ V joFI[:YZN#OY_HaN < B_N#D 8 Y_Ha�C;:BEOZY«OZFID XIX ^ Xa` YZB_N�N�B VMV YZN 8 DGY�� ? J�H:^�O«OZF.D X:X ^ Xa` YZB_N�N�^�O«B_N�FIB_N#OZN X YZN 8 D+O�DR��^�OZY V+i B V@V YFIDGY_HIO14:D X98�i B V j Y_HaN#OZNPY_H:N\;:BEOZY V1X NQY_H:DGY�HID+O���D+O�D�;IBEOZYWN#�pN#joN X Y�^�OWN d YZBED+\]YZN 8'? J�H:^�O�B V@V Y�FIDGY_HH:D+O�Y_HaN XhV1X ��LkY V�< NQB_N1D+N�BEO_N 8 Y VkV < Y_D+^ X Y_HaNRO_H V BEYZN#OZY�FIDGY_H ?

Y�N X \]N 4�E�NoH:DKD+NoY_H V6i-V ��� V E�^ Xa`S8 N1; X ^�Y_^ V1X O i-V BQB V@V YCFIDGY_H YZB_N�N#O14�E�H:^©\EH \�D XM< N i-V [ X98 ^ X Y_HaNj V�8 [:��N �;T�T+� ���h� � ? J�HaN�Y�L@F�N Y ��Z�;V�VR^�O�Y_HaN�Y¦LMF�N V+i "B! /�: "�: �X& �K� ��)�! �o+S��&<:�:�=34�Y_HaN#OZN�DGB_N�B VMV YFIDGY_H ���� G ���HG>��� �� YZB_N�N#O�^ X E�HI^�\EHKD+�©� XaV58 N#O V+i D+���'B V@V Y�FIDGY_H:O�DGB_NR��D < N#�pN 8'? J�HaN#OZN G ^ X98 O V+i YZB_N�N#O6E�^���� < N X N�N 8 N 8 ^ X_@N#\]Y_^ V1X£l@? J�H:N i [ X \]Y_^ V1X 8WV ����h� �j; X98 O�D�FIDGY_H i B V j Y_HaN�B V@V Y V+i Y_H:NsYZBEN�NoY V Y_HaN ` ^BD+N XtXaV�8 N 4D X98 Y_HaN i [ X \]Y_^ V1X 8�V �ZY ���h� �t; X,8 OQDK��D < N#�pN 8 F.DGY_H£^ X DK�©D < N#��N 8 B V@V YPFIDGY_H£YZBEN�N ? J�H:N i [ X \]Y_^ V1X8WV+��Y���Q�V�HRL�^pN#� 8 O�Y_HaN 8 ^�OZY_D X \]N V+i D XaV�8 NJm�joN#D+OE[aB_N 8 ^ X D+\�\�[Ij�[:�©DGYZN 8 N 8a` N�\ V O_Y_O3n i B V j Y_HaN�B V@V Y ?

a�b�c d � m�hdmd i ���+o�a��+�a�b�c dOn � ��+dmdpo i ��n��ho!a�� o��

yhd!am�+o!a!� 9*9]e+f�ghd �*= � ��+dmd �*=)�ho!a��yhd!ahn��+o�a�� 9*9]e+f�ghd �*=)n � ��+dmd)o �*=pn!�+o!a��voyhd!a*& ? P�a+o�lQ'�d 9*9]e+f�ghd �*=)n � ��+dmd)o �*= o

Page 18: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� q

� � ��6������:��� ������

r«N�B_L�\�� V OZN#�pL�B_N#��DGYZN 8 Y V Y_H:N�O_H V BEYZN#OZYkFIDGY_H�D+� `+V BE^pY_HIj V+i Y_HaNKFIB_N#\]N 8 ^ Xa` OZN#\]Y_^ V1X ^�OknC^ p G O_YZBED5q OD+� `+V Bf^pY_H:j i3V B�\ V joFI[aY_^ X:` O_H V BEYZN#OZY�FIDGY_HIO�^ XK` BEDGFIH:O E�^pY_H¢F V OE^pY_^BD+NPN 8a` N���D < N#��O ? g Y�^�O 8 N1; X N 8 ^ XY_HaN�j V�8 [:�pN ' � ? J�HaN�jkD+^ Xi8 ^BA�N�B_N X \]N�^�OeY_HIDGYY_HaN��pN Xa` Y_H V+i DPFIDGY_Hz^�O XaV E 8 N1; X N 8 Y V < N�Y_HaN�OE[:j ��� �! V+i ^pY_O�N 8a` N��©D < N#�©O�D X98 Y_HIDGY�DkOEH V B_YZN#OZY�FIDGY_H < N�YdE�N�N X YdE V6X:V58 N#O�^�O�D+\�\ V B 8 ^ Xa` �pL V1X N�Y_H:DGY�H:D+O�Djw^ X ^�js[:j FIDGY_Hk��N Xa` Y_H ? J�HaN i [ X \]Y_^ V1X %���Z�;V�VP\ V joFI[:YZN#O�DROEH V B_YZN#OZYeF.DGY_HwYZB_N�N 4�D X98 Y_HaN i [ X \]Y_^ V1X%�� 8 N�YZN�BEjw^ X N#O�DoOEH V B_YZN#OZY�F.DGY_H < N�YdE�N�N X YdE VzXaV�8 N#O ? J�H:^�OW^�O�D X [ X ��D < N#�pN 8 FIDGY_H�4:D X98 Y VwV < Y_D+^ XY_HaN��pN Xa` Y_H V+i DwO_H V BEYZN#OZY�FIDGY_HhY_H:N i [ X \]Y_^ V1X %��WY;Vm��8Z�+�6\�D XP< NP[IOZN 8'?

P>c� m�+dmd 9*9 �+dmo R {vi�=|e+f�ghd �*=)~��+o�cm�vo){��*=)n � m�+d�d {P>c+nhd�lhy�a��:9*9 �+dmo R {vi�=|e+f�ghd �*=Oe+f�gmd ��=p~��ho�cm� op{��*= {P>c 9*9 �+dmo R {vi�=|e+f�ghd �*=Oe+f�gmd ��=p~��ho�cm� op{��*=|�+o!a!�

V NsH:DKD+N X:V Y�^ X \���[ 8 N 8 D�F V O_O_^ < �pN ` N X N�BED+��^ �#DGY_^ V1XhV+i Y_H:N#OZN i [ X \]Y_^ V1X O�Y_H:DGY�Y_D G NsD+O�D X D 898 ^pY_^ V1X D+�FIDGBfD+joN�YZN�B�D i [ X \]Y_^ V1X 4�OED#L 4 ��4 V1X N 8a` NP��D < N#��O�Y_H:DGY 8 N#��^BD+N�BEO'DGD+��[aN#O�D+\�\ V B 8 ^ Xa` Y V E�HI^�\EH�O_H V BEYZN#OZYFIDGY_HIOQDGB_N�Y VS< N 8 N�YZN�BEjw^ X N 8j< N#\�D+[:O_NsY_H:NsO_D+jwN < N#H:D�D@^ V BC\�D XM< N�D+\EH:^�N1D+N 8M< LQ;:BEOZYCjwDGF:FI^ Xa` �Y V D+����N 8a` N#O moE�^pY_H_V��-�m�,n�D X98 Y_H:N X [:O_^ Xa` Y_H:NRD <�V D+N i [ X \]Y_^ V1X O ?

� �W��������6'����� � � �<��� �� �J�H:N�9� &(�#���#�� �0!�� &(! � E�^pY_H5BEN#OZF�N#\]Y�Y V D OZN�Y V+i F V ^ X Y_O�� ��� ������������� ����� m�^ X Y_HaN c [:\��©^ 8 N#D XFI�©D X N n34«\�D+���pN 8 �9�#& �#���#�h)��#�o�,�?= 4^�O�D�OE[ <�8 ^BD�^�O_^ V1X V+i Y_HaN6FI��D X N6^ X Y V B_N ` ^ V1X O�� ����������� � � 4�\�D+�©�pN 8�9� &(�#���#��&�: � �0�#�;= 4'O_[:\EH¢Y_H:DGY i-V B�D X LhF V ^ X Y � �!�#"«Y_HaN 8 ^©OZY_D X \]NRY V�� "e^�O XaV Y���DGB ` N�B�Y_HID X Y V D X LV Y_HaN�B � �$� ? J�HaN�\ V1X \]N�F:Y V+i r V B V1XaV ^In�^©D ` BED+j N d YZN X98 O«OZYZBED+^ ` H Y i-V BcEWDGB 8 �pL�Y VQ` BEDGFIH:O«D+O i-V ��� V E�O`���� bCH%� ^�O ` ^BD+N X < L DhOZN�Y V+i�X:V58 N#OQD X,8U8 N�YZN�BEjw^ X N#OQDhOZN�Y V+i �,�#&(� ���#�6=�:1�?= ��&�' �������(� & ��� O_[:\fHY_H:DGYPm�^ nQY_HaN�O_H V B_YZN#OZYsFIDGY_H i B V j D XaV�8 N � � & "�Y V � ")�*� ^�O X:V Ys� V1X:` N�B�Y_H:D X Y V D X L V Y_H:N�BXaV�8 Ns^ X � D X98 m�^�^ n &�' \ V1X Y_D+^ X O�D+��� XaV�8 N#O i-V B E�H:^�\EH�D+��� X:V58 N#O+� DGB_Ns[ X B_N#D+\fH:D < �pN ? J�HaN XaV�8 NFIDGBEY_^pY_^ V1X ��& ' ��������� & ��� ^�O�\�D+���pN 8 Y_HaN-,d� �) h!#& �/. � &(!*),+�9� &(�#���#�0 �0!�� &(! � ? J�H:^�O�joN#D X O�Y_H:DGY�Y_HaN�o�� h!#&�� r V B V1XaV ^ 8 ^�D ` BED+j ^�O < D+OZN 8£V1X Y_HaNkF.DGY_H:O E�HI^�\EH|�pN#D 8 �C�$ h! & � Y_HaNZr V B V1XaV ^ XaV�8 N#O14�D X98Y_HaN�BENk^�OQD 8 [ID+� 8 N1; X ^pY_^ V1X�V+i Y_HaNQ� ��� h! & � ` BEDGFIHUr V B V1XaV ^enC^�D ` BED+j Y_H:DGYR^�O < D+O_N 8tV1X O_H V BEYZN#OZYFIDGY_HIO �3& � � r V B V1XaV ^ XaV58 N#OWY VkXaV�8 N#O V+i Y_HaN r V B V1XaV ^*OZN�Y_O ?

� X N�^�jwF V BEY_D X Y�DGFIFI��^�\�DGY_^ V1XwV+i'` BEDGFIHZr V B V1XaV ^ 8 ^�D ` BED+jwO^�OeY_H:N�� V \�DGY_^ V1XzV+i X N#DGB_N#OZY i D+\�^��©^pY_^pN#O ?L O_O_[:jwN�Y_HIDGY�Y_H:N ` BfDGFIH�j V58 N#��OWD�YZBfD X OZF V B_Y_DGY_^ V1X�X N�YeE V B G D X98 Y_H:DGY1� ^©O�D�OZN�Y V+i<XaV58 N#OaE�HaN�B_Ni D+\�^���^pY_^�N#O14'O_[:\EHtD+OK4�;:B_NoOZY_DGY_^ V1X OK4 H V OZFI^pY_D+�©O14�F V O_Y V Nk\]N#OK4 V BPO_H V F:F.^ Xa` jkD+����O14'DGB_Nw� V \�DGYZN 8'?JO�V EY_HaNi� :c!#&<:>= � � ! �1�o" ����2 V+i D�T@[aN�B_L6F V ^ X Y � ^�OWY_HIDGY6r V B V1XaV ^ XaV�8 NQY V E�H:^©\EHhY_HaNPOEH V B_YZN#OZY�F.DGY_H i B V j� H:D+O�jw^ X ^�jkD+��\ V O_Y ? J�HaN i-V ��� V E�^ Xa` ^ Xai-V BEjwDGY_^ V1X jwD#L < N V+i ^ X YZN�B_N#OZY1H3\ V H:^©\EHPr V B V1XaV ^ X:V58 N � "^�O X N#DGB_N#O_Y�Y V �-2 ^�4 \ Y V E i DGB�^�O � " i B V j �-2 ^�4 V B�\ V H:DGYC^�O�Y_H:N�O_H V BEYZN#OZY�F.DGY_H i B V j � Y V�� " 2 ^ ?L OCD X N d D+joFI��N�O_[aFIF V O_NRD X D+\�\�^ 8 N X Y�H:DGFIF�N X O�DGY XaV58 N �I? J�HaN X E�NsOZN�N G Y_HaNsOEH V B_YZN#OZY�FIDGY_H Y VY_HaN X N#DGB_N#OZY�H V OZFI^pY_D+� ?

V NC\�D X BEN#[:OZN�Y_HaNCY�L@F�N Y � ��WV�VsY V B_N�F:B_N#O_N X Y ` BEDGFIHSr V B V1XaV ^'nC^�D ` BfD+jwO ? J�HaN 8 ^ A�N�B_N X \]N�Y V DO_H V B_YZN#OZY�FIDGY_HwYZB_N�NC^�O«Y_HIDGY�^pYH:D+O14�^ Xo` N X N�BED+�C4@j V BEN�Y_H:D XzV1X N�B VMV Y14�^ XoV Y_HaN�B'E V B 8 O14�^pY�^�OD+\]Y_[:D+���pLD G ^ X98oV+i = +��#&*�z:�=*��) ! �o+ �1�#&<:>=*� ? J�H:N V F�N�BEDGY_^ V1X O�F:B V D@^ 8 N 8�< L�j V58 [I�pN �43��oDGB_N�Y_HaN i-V ��� V E�^ Xa` H*Y_HaN �65)F�� �! i [ X \]Y_^ V1X 8 BWU87��¢\ V joFI[:YZN#O�Y_H:N�^ X E�DGB 8K` BEDGFIHQr V B V1XaV ^<nC^�D ` BED+jg4�E�H:N�B_N#D+O�Y_H:N i [ X \]Y_^ V1X 8 BWU:9��;�\ V joF.[aYZN#O�Y_HaN V [aYdEWDGB 8�` BEDGFIH r V B V1X:V ^�nC^�D ` BfD+j ? J�HaN i [ X \]Y_^ V1X ��VW�h�;V)%!��SWTZUWV¢\ V joF.[aYZN#OsY_HaN

Page 19: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

�K^ � �P� � ��� � � Q� ����� � � � ������

� ! � / � �

� � �

��

�: �

S

S

S b

>

k l

k lS

>S

S= ^ ` [aB_N > Hn�^�B_N#\]YZN 8K` BEDGF.HgE�^pY_H�r V B V1X:V ^ XaV�8 N#O 8 ^�O_FI��D#L+N 8 ^ X�` B_N�N X'?

X N#DGBEN#OZY\r V B V1XaV ^ X:V58 N i-V BPD ` ^BD+N XtXaV�8 N 4'Y_HaN i [ X \]Y_^ V1X ��V��+�WV)%���� ( %������ �hVkL�^pN#� 8 O�Y_HaNw�pN Xa` Y_H V+iY_HaNCO_H V BEYZN#OZY�FIDGY_HzY V Y_HaN X N#DGBEN#OZYar V B V1XaV ^ X:V58 NJm i3V BW^ X E�DGB 8 r V B V1XaV ^�nC^�D ` BED+jwO*n«D X98 Y_HaN���N Xa` Y_HV+i Y_H:N�OEH V B_YZN#OZYsFIDGY_H i B V j Y_HaN X N#DGB_N#O_Y r V B V1X:V ^ XaV58 Ntm i-V B V [:YdEWDGB 8 r V B V1XaV ^WnC^�D ` BED+jwO3n34D X98Y_HaN i [ X \]Y_^ V1X ��VW�+�WV)%!� ���h� �sB_N�Y_[:B X OY_HaN�OEH V B_YZN#OZY�FIDGY_HzY V Y_H:N X N#DGBEN#OZYar V B V1XaV ^ XaV58 NJm i-V BW^ X EWDGB 8r V B V1X:V ^@nC^�D ` BfD+jwO3n'D X,8 Y_HaNWO_H V B_YZN#O_Y0FIDGY_H i B V j Y_HaN X N#DGB_N#OZY r V B V1XaV ^ XaV�8 N m i-V B V [aYeE�DGB 8 r V B V1X:V ^nC^�D ` BED+jkO3n ?

a�b�c d��+f!�hf�l f ? opivn � m�+dmd)o

y �hg�j>l 9*9��+dmo R {vi�=r��e+f�ghd!� �*=p~!�+o�cm�voO{ �*=��+f!�hf�l f ? {y �hg Oha 9*9��+dmo R {vi�=r��e+f�ghd!� �*=p~!�+o�cm�voO{ �*=��+f!�hf�l f ? {�hf!�+f�l f ? �md!a 9*9��+dmo R {vi�=Oe+f�ghd �*=��+f!�+f�l f ? {��*=1�?e+f�ghd��l+dmo!�+d�P�ame+f�ghd 9*9��+dmo R {vi�=Oe+f�ghd �*=��+f!�+f�l f ? {��*=B#ho!b�{ d|e+f!ghdl+dmo!�+d�P�a*& ? P a 9*9��+dmo R {vi�=Oe+f�ghd �*=��+f!�+f�l f ? {��*=B#ho!b�{ d {l+dmo!�+d�P�am�+o!a�� 9*9��+dmo R {vi�=Oe+f�ghd �*=��+f!�+f�l f ? {��*=B#ho!b�{ d|�+o�a��

L OD X N d D+joFI�pN�\ V1X O_^ 8 N�BY_HaN ` BEDGF.H B;T+�oO_H V E X ^ X�= ^ ` [aB_N >@? V HaN X \ V joFI[aY_^ Xa` Y_HaN�^ X EWDGB 8 D X98V [aYeE�DGB 8K` BEDGFIHPr V B V1XaV ^0nC^�D ` BfD+j i3V B�Y_HaN\r V B V1XaV ^ XaV�8 N#O b D X98jk 4,EN ` N�Y14 i3V B�N d D+joF.�pN H

~��*&�= �+f!�hf�l f ? ��d!a�� q&y��hg�j�l � � s������+f��Wt��� s8I;s%U!�

~��*&�= �+f!�hf�l f ? ��d!a�� q&y��hg�j�l � � s������+f��Wt����s���~��*&�= �+f!�hf�l f ? ��d!a�� q&y��hg Oha1� � s��!���+f!�Wt��� s��s��-s%U��

� � �f�X� � � � � � ���o�X�E� � �j'���

L jw^ X ^�j�[Ij OZF.D X:X ^ Xa` YZB_N�NR^©O�DwOZFID X:X ^ Xa` YZB_N�N V+i Dw��D < N#�pN 8 [ X98 ^�B_N#\]YZN 86` BEDGFIH V+i jw^ X ^©jwD+��Y V Y_D+�N 8a` N£��N Xa` Y_H ? Y�N X \]N 4Q^ X�V [aBK\ V1X YZN d Y V+iJ8 ^pB_N#\]YZN 8y` BEDGFIHIOzY_H:NtF:B_N#OZN X YZN 8yi [ X \]Y_^ V1X OSE V B G 4C^ X

Page 20: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

�K]

` N X N�BfD+�04 V1X �pL i3V B 8 ^pBEN#\]YZN 8k` BEDGF.H:OeY_H:DGY�F:B V F�N�BE��L�B_N�FIB_N#OZN X Y[ X98 ^pB_N#\]YZN 8w` BfDGFIH:O ? � N#jwN#j < N�B�Y_H:DGYE�Nw\�D X N#D+O_^��pL \ V1X D+N�BEYPD X L 8 ^pB_N#\]YZN 8 ` BEDGF.Ht^ X Y V�V1X N�B_N�FIB_N#OZN X Y_^ Xa` D X [ X98 ^�B_N#\]YZN 8¢V1X NJE�^pY_H Y_HaNi [ X \]Y_^ V1X ����U�(m� 8 N#OE\]BE^ < N 8 ^ X _@N#\]Y_^ V1X�S@? � ?

V NkH:DKD+NkY VP8 N#\�^ 8 NwD <�V [aYCY_HaNwBEN�F:B_N#OZN X Y_DGY_^ V1XtV+i Y_HaNwOZFID XIX ^ Xa` YZB_N�N 4*D X,8 Y_H:^�O 8 N#\�^�OE^ V1XM8 N]�F�N X98 O V1X Y_HaN¢\ V1X YZN d Y�^ X E�HI^�\EH�Y_HaN�OZFID X:X ^ Xa` YZB_N�N�^�Oo[IOZN 8'? � X N¢DGF:FI��^©\�DGY_^ V1X \�D X < N i-V [ X98^ X YZN#��N#\ V jwj�[ X ^�\�DGY_^ V1X H�O V joNwYZN#�pN�F.H V1X Nw\ V joFID X ^pN#OP\�D+��\�[:�©DGYZNwY_HaNw\ V OZY_O V+i F.H V1X Nw\�D+����O < L Y_HaN�pN X:` Y_H V+i D�F.DGY_H < N�YdE�N�N X YdE VzXaV�8 N#O�^ X DoFIB_N#\ V joFI[aYZN 8 jk^ X ^�js[:j OZFID X:X ^ Xa` YZBEN�N ? J�H:^�OW^�O�OE[aFa�F V B_YZN 8 D ` D+^ X�< LPB V@V Y«FIDGY_HsYZB_N�N#O ?.O�V E Y_H:N i-V ��� V E�^ Xa`�i [ X \]Y_^ V1X O�DGB_N�DKDGD+^���D < �pN�^ X Y_H:NWj V58 [I�pN��)'��H������ �! Y_HaN i [ X \]Y_^ V1X ��% ��WV�V��Z� i-V B\ V joF.[aY_^ Xa` DPjw^ X ^�js[:j O_FID X:X ^ X:` YZBEN�N�Y_H:DGY�^�O�B VMV YZN 8 DGY�DQFIDGB_Y_^©\�[:��DGBXaV�8 N6D X98 Y_H:N i [ X \]Y_^ V1X � % ��WV�V¢Y_H:DGYo\ V joFI[aYZN#O�D jw^ X ^�js[:j OZF.D X:X ^ Xa` YZB_N�N i-V BoD X DGB < ^pYZBEDGBE^©�pL\fH V OZN X B V@V Y ?U= ^ X D+���pL 4<Y_HaN i [ X \]Y_^ V1X � % �;�+�+� ; X98 ORD�FIDGY_H < N�YdE�N�N X YdE VtXaV58 N#O�^ X D jw^ X ^�js[:jOZF.D X:X ^ Xa` YZB_N�N ?

(�P� m�+dmd+�ma;9*9 �+dmo R {vi�=|e+f�ghd �*=)~��+o�cm�vo){��*=)n � m�+d�d {(�P� m�+dmd 9*9 �+dmo R {vi�=O~��+o�c��AoO{��*=pn � m�+dmd {(�P �+o!a�� 9*9 �+dmo R {vi�=On � m�hdmd|{ �*=|e+f!ghd �*=)ehf�ghd �*=O�+o!a��

� � ���J� � � � ���o�D�6�����o������� � �o� �R�����

L�X ^ X,8 N�F�N X98 N X Y X:V58 NPO_N�Y�^�O�DkO_[ < OZN�Y V+i Y_H:N XaV�8 N#O V+i D ` BEDGF.H¢O_[:\fHhY_H:DGY XaV YdE VzX:V58 N#O V+i Y_H:^�OOZN�Y�DGB_NC\ V1X:X N#\]YZN 8�< LkD X N 8a` N ?hL jwD d ^©j�[:j ^ X98 N�F�N X,8 N X Y XaV58 N�OZN�Y�^�O�D X ^ X98 N�F�N X98 N X Y XaV�8 N�OZN�YV+i jwD d ^©j�[:j \�DGB 8 ^ X D+��^pY¦L ? J�H:NsjwD d ^�js[:j ^ X98 N�F�N X98 N X Y X:V58 NsOZN�YQ^�O�^ X D�OZN X OZN�Y_H:N 8 [:D+� V+i Y_HaNjwD d ^�js[:j \��©^ITM[:N�F:B V < �pN#j E�H:^�\fHkD+O G O i-V B�D�jwD d ^�jwD+�:OZN�Y V+i XaV�8 N#O�O_[I\EHwY_HIDGY�N#D+\EH6FID+^�B V+i XaV�8 N#O^�O\ V1X:X N#\]YZN 8Z< LoD X N 8a` N ? J�H:^©O�F:B V < �pN#j E�D+O�^ X \���[ 8 N 8 HaN�B_N < N#\�D+[:O_N�Y_HaN�^©joFI�pN#joN X Y_DGY_^ V1X jkD G N#O[:O_N V+i Y_HIDGY i D+\]Y�Y_H:DGY�^ X98 [:\]Y_^BD+N ` BEDGFIH:O�DGB_NPF�N�BEO_^�O_YZN X Y 8 DGY_DwO_YZBE[:\]Y_[aB_N#O `��K^ b ?

g X Y_HaN�j V�8 [:��N+7��;UWVh� EN�HIDKD+N p_[:OZY V1X N i [ X \]Y_^ V1X (!�;UWVm�sY V \ V joFI[aYZN i-V BeD ` BEDGFIHoDQjwD d ^�js[:j �����������! ^ X,8 N�F�N X98 N X Y X:V58 NQOZN�Y ?

? l+ghd�c�9*93~��+o�cm� op{��*= ��e+f�gmd��

Page 21: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

> � ��� � �h������«��

� �����7'�����«�e�

`��*b LR?�L D+O_D�4[_ ? Y V ��O_YZB��V jg4�D X98 U�?�O ^��©O_O V1X'?FL�X¢c Nz\�^pN X \]L U�V joFIDGBf^�O V1XKV+i _ V jwN � N�FIB_N#OZN X Y_D8�Y_^ V1X O V+i ��[:B_N#�pL = [ X \]Y_^ V1X D+� L B_BED�L@O ?���� 4 > ^ m S n3H b ]G��� k � S 4��K] ^ ^ ?

` > bs� ? l�BE^ `+` OPD X98 ? ? J V BE\!� V1X'?XL�Xtc Nk\�^pN X Y � N�FIB_N#OZN X Y_DGY_^ V1XU=aV B�_�FIDGBEOZN�_@N�Y_O ? ����� - :1�0�z:1&�=�#����& � � & ! � ��� � ��-%! � � �9!���:>=34 > m b n3H k ]�� l ]54e�K] ] S@?

` S b =? V ? lW[aB_Y V1X D X98 Y ? ��� ?�� D Xa`a? s�D X ^pFI[:�©DGY_^ Xa` s�[:�pY_^���^ X G N 8 nCDGY_D _@YZBE[:\]Y_[aBEN#OR^ X D��[aB_N= [ X \]Y_^ V1X D+�%?0D Xa` [ID ` N ?�� � � � h!#&<:�� ��& ! �K���0��:�! � � � � );: &*��:1����:14 > �9m��+��n3H��+� l1q �.�+�K^ k 4��K] ]G� ?

` b bs� ?�=�? nC^pN�Y � ?'= [:���pL��<N�BEO_^�OZYZN X Y L B_BED�L@O ? g X�� �#&! �=3+5�3) �#� � " � � &3���o+��3=J!#� � ! �C! � ��&3�9�K����&<:>=*4? OQU _ S ^ > 4IF.D ` N#O l1q � q%b 4*�K] ^ ] ?

` k b�s ?�c BcE�^ `a? A�BEDGF.H L � `+V BE^pY_H:jkO � g YZN�BEDGY_^ V1X � nCDGY_D�_�YZBE[:\]Y_[aB_N#O 2 J�HaNJ_@YZBf[:\]Y_[aB_N V+i A�BfDGFIHL � `+V Bf^pY_H:jwO6D X98 D U�V B_B_N#OZF V1X98 ^ Xa` _@Y¦L@��N V+i ��B V+` BED+jwjk^ Xa`a? g X#"$ �o+ � �,�&% � �#&! �= +��3) � �$'&(!3)�+ � +;:c�#&<:1���0� � � ����: )��?=:�o� � ���6)����z:1& � �K��:1����:149? OQU _ l k1q 4:F.D ` N#O >1q+q � > ] > 4«�K] ] >@?

` l b�s ?�c BcE�^ `a?F= [:���pL��<N�BEO_^�O_YZN X YQA�BEDGFIH:O'� V H:^�\fH � X NPY VhU H VMV O_N 2 g X)( �o+ � �,�&% � �#&! �=3+5�3)>� �� �6)�" :��9:1�,�C! ���0�#� � �@�������K���0�#��! "�-%! � � �9!���:>=34�? OQU _ � b l1q 4IF.D ` N#OR� >+S �.� b ��4«�K] ] qM?

` q b�s ?1c BcE�^ `a? = [ X \]Y_^ V1X D+�a�eB V+` BED+jwjw^ X:` E�^�Y_HoACBEDGFIH:O ? g X+* � � �����,� �,�&% � �#���-%%�#��������������� ��!#"��& � � & ! � ��� � � 4.F.D ` N#O k+> � l k 4��K] ] qM?

` ^ b�s ?Ic BcE�^ `a?.L = [ X \]Y_^ V1X D+��Y V jkD ` NRY V A�BfDGFIH � N 8 [I\]Y_^ V1X'? J*N#\EH X ^©\�D+� � N�F V B_Y >+S ]54 = N�B X9R�X ^��D+N�BEO_^pY��DGY6Y�D ` N X 4<�K] ] ^ ?

` ] b�s ?Wc BcE�^ `a? L6< O_YZBED+\]Yg_�L X Y_D d D X98 _�N#jwD X Y_^©\�O V+i rC^�O_[ID+� ?0D Xa` [ID ` N#O ?/. �#��&3��! "@� � �%��=3�9!#"-%!#� � �9!��Z:�=J!#� � � � � )�� ���o� � 4�] m k n3H b l �!� b ^ S 4e�K] ] ^ ?

`���� bXs ?ac B E�^ `a? J�HaNPA�BEDGF.Hir V B V1X:V ^�nC^�D ` BfD+jWE�^pY_H L F:FI�©^�\�DGY_^ V1X O ?10 :1� h� &2 !=34 > �+�+� ? J V DGF:F�N#DGB ?`��+�*b�? ?�= N ` DGBED+OPD X,8 J ? _�H:N#DGB 8'? � N1D�^�O_^pY_^ Xa`�U DGY_D+j V B_FIH:^�OEjwO V D+N�BRnCDGY_DGY�L@F�N#O\E�^pY_H c j < N 898 N 8

= [ X \]Y_^ V1X O ? g X3*54 & � �����6� 2 �6)7%F�#�8�F&3�o���1� )�"�:>=�� �9��& � � & ! � ��� � �j-%!#� � �9!��Z:�=34'FID ` N#O > ^ b �> ] b 4*�K] ] l@?

`�� > b�: ? AC^ <9<�V1X O ?hL�X g X ^pY_^�D+� L � ` N < BfD L FIF:B V D+\EH¢Y V nC^pB_N#\]YZN 8tL \]L@\���^©\�A�BEDGFIHIO ? g X;� ! �o+W:/��! ���0��=� �<��& � � &(! � � �#��=*��&*� ������� �94�? OCU _P] bMq 4IFID ` N#O > ^ > � S � S 4<�K] ] k@?

`�� S b�J ? : V H X OEO V1X'?£c Nz\�^pN X YkA�BfDGFIH L � `+V BE^pY_H:jwO R O_^ Xa` ?0D ��L s V1X:V ��^pY_H:^�\ L B_BED#L�O ?=. �#��&*��!#" � ��������K���0�#��! ">��& � � &(! � ���o� � 4�^ m b n3H S+>+S � S+S+S 4��K] ] ^ ?

`�� b b �s? �PD+OEH:^BEWD ` ^�D X,8 n ?FV ^�OZN ? A�BEDGFIH L � `+V BE^pY_HIjwO�^ X D>?0D ��L = [ X \]Y_^ V1X D+����B V+` BED+jwjk^ Xa`?0D Xa` [:D ` N ? g X�? �o+ � �,�&% � 2 � )>%7�#�Q-.�9�1� �Z!#� � � �,�z: �;=*��� ��!#">�F&(� � & ! ��� � � 4.F.D ` N#O S k � b l 4*�K] ]�� ?

`�� k b�n ? : ? �R^ Xa`a? ���5���K���0�#��!#"7��& � � & ! � ��� � �t!#� �U$'& !3),+ � " � �#&*�o�o+��3= ? �H:n Y_HaN#O_^�OK4 R�X ^ID+N�BEO_^pY¦L V+iAC��D+O `+V E 4*�K] ] l@?

`�� l b�n ? : ? �P^ X:` D X98 : ? ?0D+[ X \EH < [aB_L ? _@YZBE[:\]Y_[aBf^ Xa` n�N�F:Y_H�� = ^pBfOZY@_@N#DGBf\EH L � `+V BE^pY_H:jkO�^ X Y�D+O G N#�©� ?g X@*A* � � �����B� 2 � )>%h�#���F&3�o���1� )�"�:>= � �C��& � � & ! � ��� � �S-%!#� � �9!��Z:�=34:F.D ` N#O S8b+b � S k8b 4«�K] ] k@?

Page 22: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

��� � �h�����o���� > �

`�� q b�: ? ?*D+[ X \fH < [:B_L ? A�BEDGF.H L � `+V BE^pY_HIjwOFE�^pY_H�D = [ X \]Y_^ V1X D+� = ��DKD V [:B ? g X � � � ! ����:S�Z������������� ��!#"��& � � & ! � ��� � � 4�? OCU _g] > k 4IFID ` N#O S � ^�� S+S �#4«�K] ] k@?

`��K^ b U�? � G D+O_D G ^ ? ����&�:1" 2 ������������� ��!#" ! �C! � ��&3�9�����5&<:>= ?MU D+j < BE^ 8a` N R�X ^BD+N�BfO_^pY�LC�eBEN#O_O14 U D+j < Bf^ 8a` N 4R �X4*�K] ] ^ ?

`��K] bXs ?�c�? �Jq O N#^�����D X,8 =�? V ? lW[aB_Y V1X'?tL O N1E s¢N�Y_H V�85i-V B = [ X \]Y_^ V1X D+� L B_BED�L@O ?3. � �5&*��!#"F� ��������K���0�#��! ">��& � � &(! � ���o� � 4 q m k n3H b ^ q � k � S 4��K] ] qM?

` > � b�_ ? ? ? �<N�LMY V1X : V1X N#O14 : ? Y�[ ` HaN#O]:K�a!#" % � N�F V B_Y V1X Y_HaNQ�eB V+` BED+jkjw^ Xa` ?0D Xa` [ID ` N Y�D+O G N#�©�%] ^ ?�K] ] ] ?

Page 23: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

>+> � � ���� � � � �

� ��z������ � ��� �� ���E� � ���C� �����E��� � �-�z�h�<���

J�H:NK^�joFI�pN#jwN X Y_DGY_^ V1X�V+i ^ X98 [:\]Y_^BD+N ` BEDGFIH:OoHID+OoY V O_[aFIF V BEYsY_H:N i3V ��� V E�^ X:`�V F�N�BEDGY_^ V1X O i3V Bz\ V1X �OZYZBf[:\]Y_^ Xa` D X98j8 N#\ V joF V O_^ Xa`�` BEDGF.H:O1H

�����0 #��$8(*)+�%,-��� � �M) �.{|9e�I �,3�%,-���c joF:Y�L ` BEDGFIH m�V��;�W�4� n J*N#OZY i-V B�N#joF:Y¦L ` BfDGFIH m ( % X �;�W�4�9nL 898 \ V1X YZN d Y m�V��;Q�VZU�n c«d YZBED+\]Y�DGB < ^pYZBEDGBELz\ V1X YZN d Y m �-�+� �!���+��� n

c«d YZBED+\]Y�OZF�N#\�^B;I\C\ V1X YZN d Y m �-�+� �!�,n

g X FIDGB_Y_^©\�[:��DGBK4 ` BEDGFIH:OzH:DKD+N�Y V < N i [:�©�pL5F�N�BEO_^©OZYZN X Y14Y_H:DGYz^©O14[aF 8 DGYZN#O V1X D ` BEDGF.H j�[IOZYk�pN#D�D+NF:BEN1D@^ V [IO�D+N�BEO_^ V1X O�^ X Y_D+\]Y ?

')(+*-,/.��O5�,/(+5�7�5 /L1h* 1�5"-0/D7_* /�� 5�( 7*5z7�1h5 /3W5� X N�^ 8 N#DQ^�OeY V [:OZN�DPFI��D+^ X YZN�BEj B_N�F:B_N#O_N X Y_DGY_^ V1X ? J�H:^�O«^�OeDGYZYZBfD+\]Y_^BD+N < N#\�D+[:O_N�^pY V A�N�BEOeF�N�BEO_^©OZYZN X \]Ni-V B i BEN�N ? Y V EN1D+N�BK4<D�\�� V OZN�BP� V@V G BE[:��N#O V [aYCY_H:^©O V F:Y_^ V1XQ< N#\�D+[:O_NsY_H:N�^©joFI�pN#joN X Y_DGY_^ V1X�V+i �-�h� �!�^�OQH V F�N#��N#O_O_�pL¢^ X N1Nk\�^pN X Y14 D X98 N1D+N X Y_H:Nw^�joFI�pN#jwN X Y_DGY_^ V1X V+i V��;Q�V U�^�OQ^ X N1Nk\�^�N X YQO_^ X \]N�^�YCHID+OQY VN X OE[aB_N�Y_HaN�N d ^©OZYZN X \]N V+i Y_H:NsFIB_N 8 N#\]N#O_O V BfOQD X98 O_[:\�\]N#O_O V BEOQD X98 Y_HaN XaV1X � N d ^�OZYZN X \]N V+i Y_HaN X N1E���L^ X OZN�B_YZN 8oXaV�8 N 4 D X98 YZN#OZY_^ Xa` Y_H:^©O�Y_D G N#ODGY���N#D+OZY���^ X N#DGB<Y_^©joNFE�^pY_H�B_N#O_F�N#\]Y«Y V Y_HaN�O_^ ��N V+i Y_HaN ` BfDGFIH ?

U�V1X O_^ 8 N�BE^ Xa` Y_HaN¢^�joF�N�BEDGY_^ID+NSE V BE� 8 4�Y_HaN�B_N�DGB_NhYdE V jwD+^ X B_N�F:B_N#OZN X Y_DGY_^ V1X OkY_H:DGY <�V Y_H¬H:D�D+NY_HaN#^�B�OZYZB_N X:` Y_H:ORD X98 8 BED�E < D+\ G O1HoD 8 p_D+\]N X \]L£��^�O_Y_OPD X98 ^ X \�^ 8 N X \]NwjkDGYZBE^�\]N#O ?Kced \]N�F:Y i3V BsOZF�N#\�^�D+�DGF:F.��^�\�DGY_^ V1X OK4MY_HaNQD 8 p_D+\]N X \]L���^�OZY_O ` BEDGF.HzBEN�F:B_N#OZN X Y_DGY_^ V1X ^�O ` N X N�BED+�©�pL i DKD V B_N 8hV D+N�B�Y_HaNQ^ X \�^ 8 N X \]NjwDGYZBf^ di< N#\�D+[:OZN�m�^ n^pY_OWOZFID+\]NCB_NKT@[:^pBEN#joN X YW^�O���^ X N#DGBW^ X Y_HaN ` BEDGFIH�O_^ ��NQ\ V joF.DGB_N 8 Y V� m���Kn�O_FID+\]Ni-V BY_H:N�jwDGYZBE^ d D X98 m�^�^ n<D 8 p_D+\]N X \]Lk�©^�OZY_O V A�N�B��im���neD+\�\]N#O_OY_^�joN�Y V Y_HaN�O_[:\�\]N#O_O V BfO V+i D X DGB < ^pYZBEDGBELXaV�8 NP^ X \ V1X YZBED+OZY�Y V�� m�� nY_^�jwN X N�N 8 N 8 Y V O_\�D X Dw\ V joF.�pN�YZNPB V E ^ X D X ^ X \�^ 8 N X \]NQjwDGYZBE^ d�?

V N�H:D�D+N�Y_HaN�B_N i-V B_N�\ V1X \]N X YZBEDGYZN 8zV1X YeE V D+�pYZN�B X DGY_^ID+N#O i-V BjwD G ^ Xa` D 8 p_D+\]N X \]Lw��^©OZY_O�F�N�BEO_^�OZYZN X Y1HY_HaNa;:BEOZY*B_N�F:B_N#O_N X Y_DGY_^ V1X [:OZN#O<D DGDGBE^�D X Y V+i Y_HaNaD+N�BEO_^ V1X YZB_N�NW^�joFI�pN#jwN X Y_DGY_^ V1XPV+iai [ X \]Y_^ V1X D+�1DGB_BfD#L�O14 �D X98 Y_H:NKOZN#\ V1X98 B_N�FIB_N#OZN X Y_DGY_^ V1X OZY V B_N#OzO_[:\�\]N#O_O V BwD X,8 F:B_N 8 N#\]N#O_O V Bk��^�OZY_O�^ X D < D+�©D X \]N 8 < ^ X DGBELOZN#DGBf\EH�YZB_N�N ? J�HaN'D+N�BEO_^ V1X YZBEN�NW^©joFI�pN#joN X Y_DGY_^ V1X ^�O < D+OZN 8sV1X Y_HaNWF:B V F V O_D+��`��*baD X,8 B_N#\ V B 8 O�\EH:D Xa` N#OY V Y_HaN V BE^ ` ^ X D+�0DGB_BED#L�^ X D X ^ X E�DGB 8t8 ^pBEN#\]YZN 8 YZB_N�N V+i m�^ X98 N d 4�D8D+��[:N nWFID+^pBfO�Y_H:DGYCH:D+O�Y_HaN V BE^ ` ^ X D+�DGB_BfD#L¢DGYC^pY_O�B VMV Y ? c D+\EH 8 ^BA�N�B_N X Y�DGBEBED#LPD+N�BfO_^ V1X ^�O�B_N�FIB_N#OZN X YZN 8Q< LKDwF V ^ X YZN�B�Y V D XaV�8 NR^ X Y_HaND+N�BEOE^ V1X YZB_N�N 4�D X98 Y_HaN XaV�8 N#O�D+� V1Xa` Y_HaNPFIDGY_HKY V Y_HaNPB V@V Y�jwD+O GzV � 8 N�B 8 N1; X ^�Y_^ V1X OW^ X Y_HaN V BE^ ` ^ X D+�DGB_BfD#L m�D X98 Y_HaN�YZB_N�N n ?@L 898 ^ Xa` D X N1E XaV58 NRY V Y_HaN D+N�BfO_^ V1X YZB_N�Ns\�D XQ< N 8aV1X Ns^ X \ V1X OZY_D X YCY_^�joN 4< [:YR^ X98 N d D+\�\]N#O_O�jw^ ` H YPY_D G Nh[aF5Y V ¬OZYZN�FIO:E�HaN�B_N� 8 N XaV YZN#OsY_HaN X [:j < N�B V+i [aF 8 DGYZN#OPY V Y_HaNDGB_BfD#L ? V NKH:DKD+NhN d YZN X98 N 8 Y_H:^©O < D+O_^�\6OZYZBE[:\]Y_[aBEN < L5D X D 898 ^pY_^ V1X D+��\�D+\EHaN�DGB_BED#L D X98 D i [:B_Y_HaN�BDGB_BfD#L \�DGB_B_L�^ Xa` Y_^©joNKOZY_D+joFIO i3V B XaV58 N#O ? s V B_N V D+N�BK4�Y V O_[aF:F V B_YoO V jwN¢OZF�N#\�^�D+��^ ��N 8�V F�N�BEDGY_^ V1X ON1Nk\�^�N X Y_�pL 4�Y_H:^�O�OZYZBE[:\]Y_[:B_NR^�O�O_[aF:FI��N#joN X YZN 8P< LhDzYdE V ��DGB_BED#L ^�joFI��N#joN X Y_DGY_^ V1XhV+ieXaV�8 NPFIDGB_Y_^�Y_^ V1X OY VZG N�N�F¢YZBED+\ G6V+i ^ X OZN�B_YZN 8 D X98P8 N#�pN�YZN 8KXaV�8 N#O ?

��������������������������� ! ��#"$��%&�' �(!)*�+",�+-/.10�243�5��+(!67��8984:��;�#(<"��+�<���7";�=�+)9">������%&�# �(!)9�7",�! ��#��)*?A@�89��?A��";�=����)9�7"CBD���E���F(!�)G�<"����E:H(<:H��(I�! ��F�'��)*%7���� ! =��JC�F@K:F������(�LNMO"C���7";�! =��(I�EPD.40�2137Q,2R:H�;��(����7";�=��)*",�S%&�# �(!)9�7"C�! �����)9?A@F89��?A��";�=����)9�+"TL

U MO"V-W���#�EP;���F�# ����� ���?A�+ ��X(!�7@��F)9(I��)9�E������:A-Y�F"��#��)9�7"���8��� ! =�EJS)9?A@F89��?A��";�=����)9�+"F(N�E%7��)98Z��BF89�7P;-Y�+ [�#\��+?A@F89�7PF] ^7_D��"�:>]G`Ea�_bL5��Ecd�#%&�# EP$���F�<)*?A@�89��?A��";�=����)9�7"A ��Ee;��)9 ��#(d���7"�(!)*:��# =��BF89���#fK�� !�EPF��"�:gBD��"F�=�F?g�� �6$(h���E%&��(!�F�Ec�"i�������h��%&��"g���F�<(!)9?A@F89�# %&�# �(!)9�7"C�! �����)9?A@F89��?A��";�=����)9�+">:H�;��(<"��+�����78*:>)9">@H =�+�#��)9����c�������)9��(���(IJ�?A@H���+��)9�����+?A@F89�#\H)G�OJg@H ��7?A)9(!��(j] k+_lL

Page 24: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� � ��� � � � ���-� ��� � � � � � � ��� � � � � � � ����� � � � � � � � � � � ��� ��� >+S

�_,�1�5 ' 5���5"/6D1+. 5�� 5�( 7*5 -L/�0 (+5�5��O(+(+*�2 �O5�,D(+5N7!5 /01h* 1�5 -0/g X Y_HaNaD+N�BfO_^ V1X YZB_N�NWB_N�F:B_N#O_N X Y_DGY_^ V1X Y_HaN�^�jwFI�pN#joN X Y_DGY_^ V1XPV+i � �+� ��� < N#\ V joN#O�T@[:^pYZNW^ X N1Nk\�^pN X Y*OE^ X \]NY_HaN 8 N#�pN�Y_^ V1X6V+i Do\ V1X YZN d YK@L� CFB/C<H4C.%�ICB_NKT@[:^pBEN#OY_H:NPB_N#j V D8D+� V+i B i B V j N#D+\EH V+i ^pY_OWFIB_N 8 N#\]N#O_O V B�q OO_[I\�\]N#O_O V BW��^�OZY«D X98oi B V j N#D+\EH V+i ^�Y_OeO_[:\�\]N#O_O V BKq O�FIB_N 8 N#\]N#O_O V B��^�OZY ? V H:N XF8 N XaV YZN#O�Y_HaN�O_^���N V+i Y_HaN\ V1X YZN d YJm �� H Vh��8 � � � �vHZVm��8 � � % n34�Y_H:^©O�jwN#D X OWD�Bf[ X Y_^©joN V+i ��m� n m-B_N#\�D+����Y_H:DGY� ` ^ID+N#OWY_HaNY V Y_D+� X [Ij < N�B V+i F:B_N1D�^ V [:O�[aF 8 DGYZN#O�Y V Y_H:N ` BEDGFIH�n ? l�L G N�N�FI^ Xa` Y_H:NPF:B_N 8 N#\]N#OEO V BEO�D X,8 O_[:\�\]N#O_O V B^ X�< D+��D X \]N 8g< ^ X DGB_LzO_N#DGBE\EH¢YZB_N�N#O�Y_HaNQN A V B_Y�\�D Xg< NQB_N 8 [:\]N 8 Y V ��m� � V+` n ?

¨z2.��,-&<,��*��¡��'&*� � �@}-�M�%,-�.��� J V D�D V ^ 8 Y_HaN#OZNw\ V O_Y_�pL 8 N#�pN�Y_^ V1X D+\]Y_^BD�^pY_^pN#O@E�NoNKTM[:^�F N#D+\fH XaV�8 N^ X Y_HaN ` BEDGFIH E�^pY_H5D�F V O_^pY_^BD+Nk^ X YZN ` N�BK4«D X98 Y_H:^�O�^ X YZN ` N�Bs^�O X N ` DGYZN 8�V1X \]NzY_HaN X:V58 Nz^�O 8 N#��N�YZN 8'?� V O_^pY_^ID+N XaV�8 N�OZY_D+joF.OeDGB_N�D+��O V FI[aYe^ X Y V O_[I\�\]N#O_O V B M F:BEN 8 N#\]N#O_O V B���^�OZY_O ?�O�V E E�HaN X D XaV�8 N�\ V1X YZN d Y^�O 8 N#��N�YZN 8 4 E�N X N�N 8�XaV Y�B_N#j V D+NPB i B V j D+���.B_N i N�B_N X \�^ X:` O_[:\�\]N#OEO V B�D X98 F:B_N 8 N#\]N#OEO V B���^�OZY_O < N#\�D+[IOZNE�H:N X D£O_[:\�\]N#OEO V Bz��^©OZYJH m V+i D XaV58 NKE9n�^©OoD+\�\]N#O_OZN 8 Y_H:DGYz\ V1X Y_D+^ X O B�4WD+����N#�pN#jwN X Y_OkY_H:DGYkH:D�D+NXaV1X ��jwDGY_\EH:^ Xa` OZY_D+joFIOQDGBENk^ `1XaV B_N 8 4'Y_H:DGYP^�O14�BtE�^���� XaV Y < N�B_N�Y_[aB X N 8 D+ORDhO_[:\�\]N#O_O V B < N#\�D+[IOZNw^pYH:D+O�D X N ` DGY_^BD+N XaV�8 N�OZY_D+joFiE�HaN�B_N#D+ODHR\ V1X Y_D+^ X O4B:E�^pY_HoDCF V O_^pY_^BD+N�OZY_D+joF ? V HaN X Bs^�O�B_N]��^ X O_N�B_YZN 8^ X Y V Y_H:N ` BEDGFIHz��DGYZN�BK4 E�N�jwD G N�Y_HaN�O_Y_D+joF V+i B�F V O_^pY_^ID+N�D ` D+^ X D X,8 ^ X \]B_N#D+O_N�^pY < Lh�#4@D X98 EN�Y_D G NY_H:^©O X N1E OZY_D+joF V D+N�B�Y V D+��� X N1E���LzD 898 N 8 F:B_N 8 N#\]N#O_O V BEO�D X98 OE[:\�\]N#O_O V BEO ?hO�V E ^ i Eh^�O XaV Y�D+j V1Xa`Y_HaN X N1EvF:B_N 8 N#\]N#O_O V BEO14aY_HaN V � 8 N X YZB_L�^ X Ho^�O�OZY_^©���.\ V BEB_N#\]Y_�pL�^ `1XaV B_N 8 E�H:N X Hw^�O�D+\�\]N#O_OZN 8P< N#\�D+[IOZN^pY_O D8D+��[:NPO_jwD+���pN�B�Y_HID X B�q O�\�[aB_B_N X Y�OZY_D+joF ?

� X N�jk^ ` H Y'E V1X98 N�B�E�HaN�Y_HaN�BWY_HaN ` DGB < D ` N X:V58 N#OW^ X O_[:\�\]N#OEO V B�D X98 F:B_N 8 N#\]N#O_O V BW�©^�OZY_O@m-Y_H:DGY�^�O14^ X DGD+��^ 8 D X98 [ X [:OZN 8 BEN i N�B_N X \]N#O�Y Vi8 N#��N�YZN 8KXaV�8 N#O3n�DGB_NRDkO V [aBE\]N V+i ^ X N1Nz\�^pN X \]L ? g X F:BED+\]Y_^�\]N 4IY_H:^�O8aV N#O XaV Y�O_N�N#j Y VS< N�DzF:B V < ��N#j ? =aV BCN d D+jwFI�pN 4�^ X Y_HaNs\�D+OZN V+i«` BEDGFIH�B_N 8 [:\]Y_^ V1X 4,E�H:N�B_N ` BEDGF.H:ODGB_NPH:N#DKD�^��pLz[:F 8 DGYZN 8 4 V1X �pL > k � S ��� V+i<X:V58 N#OW^ X O_[I\�\]N#O_O V B�D X98 FIB_N 8 N#\]N#O_O V B���^�OZY_OWDGB_N\;I��YZN�B_N 86V [aY8 [:NQY V ^ X D8D+��^ 8 O_Y_D+joFIO ?

¨z2.��,-&<,��*� �P�@$% %,3��� x$8�@�����'��� (*9* �� V NKD 898 D X ^�joF�N�BEDGY_^BD+N�\�D+\EHaNKDGBEBED#L Y V Y_HaNh�pN i Y_j V OZYXaV�8 N V+i Y_HaNSD+N�BEO_^ V1X YZB_N�N ? J�H:^©ORjoN#D X OsY_H:DGYsY_HaN�DGB_BED�L5B_N�F:BEN#OZN X YZN 8 < L£Y_H:DGY XaV�8 Nz^�OK4�^ X£i D+\]Y148 [:FI��^�\�DGYZN 8'? _�^ X \]NK^ X98 N d D+\�\]N#O_OSE�^pY_H:^ X Y_HI^�OwDGB_BED�L ^�OoF V O_O_^ < �pNh^ X \ V1X O_Y_D X Y6Y_^�joN 4�D+� `+V BE^�Y_H:jwOY_H:DGY�[:OZNoY_HaN i [ X \]Y_^ V1X D+�<DGBEBED#Lt^ X DhO_^ Xa` �pN]� Y_HaB_N#D 8 N 8 E�D�L HIDKD+NwY_HaNwOED+joNk\ V joFI��N d ^pY¦L�D+O�^ X Y_HaN^�jwF�N�BfDGY_^BD+Nk\�D+OZN 4eO_^ X \]NwY_HaNZD+N�BEO_^ V1X YZB_N�N 8 N ` N X N�BEDGYZN#OsY V D��pN i Y�OZFI^ X NoFIDGY_H E�^pY_HtY_HaN6�pN#D i�XaV�8 NV A�N�BE^ Xa` \ V1X OZY_D X Y�Y_^�joNPD+\�\]N#O_O 8 [aBf^ Xa` Y_HaN E�H V ��NCD+� `+V BE^pY_H:j ?

J�HaN�B_Nw^�OQD¢O_[ < Y_�pN�Y¦L ^ X Y_H:^�OP^�jwFI�pN#joN X Y_DGY_^ V1X H:D�D@^ X:` pZ[:O_Y V1X Nk\�D+\EH:NzDGB_BED�L�Hs^ i D i [ X \]Y_^ V1X D+�DGB_BfD#L�^©O�[:OZN 8 D6OZN#\ V1X98 Y_^�joN 4�Y_HaN�\�D+\EHaNoH:D+OCD+�pB_N#D 8 L < N�N X \ V1X O_[IjoN 8¢i-V BCY_HaNRFIB_N1D@^ V [:O�\ V jwFI[��Y_DGY_^ V1X D X98 \�D X:XaV Y < NQ[:O_N 8 D ` D+^ X'? J�HI^�O ` ^BD+N#O�DwO_[:B_F:BE^�OE^ Xa` Y_^�jwN < N#HIDKD�^ V BKH�Y_HaNR[:O_N�B�N d N#\�[aYZN#O�DF:B V+` BED+j V1X D i [ X \]Y_^ V1X D+�*DGB_BED#L 4'D X98 ^pY�BE[ X O TM[:^�YZN i D+OZY ? Y V E�N1D+N�BK4'BE[ X:X ^ Xa` Y_H:NsO_D+jwN�F:B V+` BED+jD ` D+^ X B_N#O_[:�pY_OK4G^ X�` N X N�BED+�041^ X js[:\EHo��DGB ` N�B«N d N#\�[aY_^ V1X Y_^�joN#O«O_^ X \]NWD+�©�@D+\�\]N#OEO XaV E `+V N#O«Y_HaB V [ ` HsY_HaND+N�BEOE^ V1X YZB_N�N ? J�HaN�B_N i-V B_N 4�ENo\]B_N#DGYZNw^ XKV [aBQ^�joF.�pN#joN X Y_DGY_^ V1X D X N1E \�D+\EH:N i-V BCN#D+\EH X N1E D+N�BEOE^ V1X8 N�Bf^BD+N 8hi B V j Y_HaN V BE^ ` ^ X D+�'DGB_BED�L ?

� (09<9e�.$�� ¥��I$ �'9e�@) ,-7I}�uw9e�@$%7a�8,3���0 �� J�HaNXD+N�BEO_^ V1X YZB_N�Nz^�jwFI�pN#joN X Y_DGY_^ V1XU8 N#O_\]Bf^ < N 8 O VKi DGB�^�OO_[:B_F:BE^�OE^ Xa` �pL5^ X N1Nk\�^pN X Y i3V B6Y_HaN V F�N�BfDGY_^ V1X O ( % X �;�W�4�|D X,8 �-�h� �����+�Q� ? J*N#OZY_^ Xa`|i3V BzY_HaN¢N#jwF:Y�L` BEDGF.Hh\�D X�< NCN#D+O_^©�pLkO_[aFIF V BEYZN 8i< LkN d YZN X98 ^ X:` Y_H:N ` BfDGFIH�B_N�F:B_N#O_N X Y_DGY_^ V1X Y V ^ X \���[ 8 N�Y_HaN X [Ij < N�BV+i�XaV�8 N#O�^ X Y_HaN ` BEDGF.H ? s V BEN 8 ^BNk\�[I�pY_^pN#OF:B_N#OZN X Y_O�Y_HaN V F�N�BEDGY_^ V1X �-�+� �!���+��� i3V BFE�H:^�\EH�E�NPH:D�D+N 4^ X ` N X N�BfD+�04 Y V O_\�D X Y_HaN�E�H V �pNoOZY_D+joF£DGB_BED�L�Y V ; X,8 D�DGD+��^ 8 4.Y_H:DGYP^©O14 XaV1X � 8 N#��N�YZN 8 4 XaV�8 N ?:O�V YZN

Page 25: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

>8b � � ���� � � � �

Y_H:DGY�N1D+N X D�O_^�jwFI�pN¢^�jwF�N�BfDGY_^BD+N�DGB_BfD#L�^©joFI�pN#joN X Y_DGY_^ V1X B_NKTM[I^pB_N#O14�^ X�` N X N�BfD+�04���^ X N#DGBzY_^�jwN i-V BY_H:^©O V F�N�BEDGY_^ V1X O < L5O_\�D X:X ^ Xa` Y_HaNZE�H V �pN6DGB_BED#L ? m�J�H:^©OR^�O XaV YsOE[aB_F:BE^©O_^ Xa` O_^ X \]NzY_HaN�TM[aN#O_Y_^ V1X£V+i` BEDGF.H [:F 8 DGYZN#O�^©O�\ V joF.�pN�YZN#�pL¢^ `1X:V B_N 8 D X L5E�D�L�^ X D+��j V O_YCD+�©� 8 N#OE\]BE^pF:Y_^ V1X O V+i ^©joF�N�BEDGY_^BD+N ` BfDGFIHB_N�FIB_N#OZN X Y_DGY_^ V1X O ? n

J V D+\�\ V [ X Y i-V B � �+� �����h���gE�N G N�N�F i3V BQN#D+\fH ` BEDGF.HtD�FIDGB_Y_^pY_^ V1X V+i ^ X OZN�BEYZN 8 X:V58 N#O�m-Y_HIDGYP^�O14XaV�8 N#O�N d ^�O_YZN X Y�^ X Y_HaN ` BEDGFIH�nWD X,8j8 N#�pN�YZN 8 XaV�8 N#O1HaE�HaN X D XaV58 NR^�O 8 N#�pN�YZN 8 m 8 N#\ V jwF V O_N 8 n34.^pY�^�Oj V D+N 86i B V j Y_HaN�^ X OZN�B_YZN 8 ��OZN�Y^ X Y V Y_HaN 8 N#�pN�YZN 8 ��OZN�Y14 E�HaN X D X:V58 N�^©Oe^ X OZN�BEYZN 8 ^ X Y V Y_HaN ` BfDGFIH�4M^�Ye^�Oj V D+N 8 Y_H:N V Y_HaN�B6EWD#L ? J�HaN XaV58 NQFIDGB_Y_^pY_^ V1X ^©O�B_N#D+��^ ��N 8P< L6YdE V DGBEBED#L�O14%�o� � :���D X,8 : "�:/��4ID X98 D X^ X YZN ` N�B � ` ^BD�^ Xa` Y_HaN X [Ij < N�B V+i N d ^�OZYZN X Y XaV�8 N#O14 V BK4INKT@[:^BDGD+�pN X Y_�pL 4:F V ^ X Y_^ Xa` Y V Y_H:N���D+OZY�N d ^�O_Y_^ Xa`XaV�8 N ? J�HaNwDGB_BED�L : "�:/� O_Y V B_N#ORD+���eN d ^�O_YZN X Y X:V58 N#OR^ X ^pY_OP�pN i YPFIDGBEYPD X98 D+��� 8 N#�pN�YZN 85XaV�8 N#OP^ X ^pY_OBE^ ` H YWFIDGB_Y14aD X98 �o� � :�� ` ^BD+N#O i-V BWN#D+\EH XaV�8 NC^pY_O�F V O_^pY_^ V1X ^ X Y_HaN : "�:/� DGB_BED�L ?hL X:V58 N � ^�O�N d ^�OZYZN X Y^ i �o� � :<� ` � b�� � 4I��^ G N1E�^�OZN 4a^pY�^�O 8 N#�pN�YZN 8 ^ i �o� � :<�5` � b�� � ? g X OZN�B_Y_^ Xa` D X N1E X:V58 N � joN#D X O�Y V j V D+N^pY i B V j Y_HaN 8 N#�pN�YZN 8 ��O_N�Y�^ X Y V Y_HaNQ^ X OZN�B_YZN 8 ��OZN�Y ? J�H:^�O�^�O 8aV1X N < LkN d \fH:D Xa` ^ Xa` � q OWF V O_^pY_^ V1X ^ X : "�:/�E�^�Y_H�Y_HaN XaV�8 NPOZY V B_N 8 DGY :1" :��i` � ���*bam-Y_H:DGY�^�OK4@Y_H:N ;:BEOZY 8 N#��N�YZN 8KXaV�8 N n i3V ��� V E�N 8g< L�^ X \]BEN#D+O_^ Xa` �< Lt� ? J�HaNQN X YZBE^pN#O�^ X � � �Z:<��j�[:O_Y < NC[:F 8 DGYZN 8 D+\�\ V B 8 ^ Xa` ��L ? J VZ8 N#�pN�YZN XaV�8 N � 4,;:BEOZY�O EWDGF � D X98:1" :��i` � bC4ID X98 Y_HaN Xj8 N#\]B_N#D+OZN � < L � ?hL ����Y_H:^�O�^�O�F V OEO_^ < �pNC^ X \ V1X O_Y_D X Y�Y_^©joN ?

O�V E D+���'Y_H:NRD <�V D+N�jwN X Y_^ V1X N 8K` BEDGFIH V F�N�BfDGY_^ V1X O�\�D Xj< NP^�joFI�pN#jwN X YZN 8 Y V E V B G ^ X \ V1X OZY_D X YY_^�jwN HL� �+� �����h���w\�D Xg< NCB_N#D+��^ ��N 8�< L�\�D+����^ Xa` �-�h� ����E�^pY_Hp: "�:/��`��*bC4ID X,8 ( % X �;�;�7�k^©OWYZBE[aNP^ i � � � ?s V B_N V D+N�B�4@O V jwN V Y_HaN�Be[:OZN i [:� ` BEDGFIH V F�N�BEDGY_^ V1X O«DGBEN�N1Nz\�^pN X Y_��L�O_[aFIF V BEYZN 8 < LRY_H:N X:V58 NWFIDGBEY_^pY_^ V1X HDh��^©OZY V+i���i B_N#O_H XaV�8 N#O14'Y_H:DGYP^�OK4 X:V58 N#OCY_HIDGYPDGB_N XaV YP\ V1X Y_D+^ X N 8 ^ X D ` BEDGFIH�4 ^©O�OE^�joFI�pL ` ^ID+N XU< L`�:1" :��i` � �¬�*b �������(� : "�:/�i` � � � bBbhm-Y_H:^�O V F�N�BfDGY_^ V1X ^�O X N�N 8 N 8 4 i3V BWN d D+joFI�pN 4@Y V N d YZN X,8 D ` BEDGF.HZE�H V OZN\ V1X O_YZBE[:\]Y_^ V1X HI^�OZY V B_Lk^©O XaV Y G@X:V E X n34 � ` ^ID+N#O�Y_HaN X [:j < N�B V+i�XaV�8 N#OW^ X Y_HaN ` BEDGFIH%4�D X,8 D+��� XaV�8 N#O\�D X>< N�B_N�F V B_YZN 8 ^ X Y_^�jwN �im � n E�H:^�\fH�jw^ ` HMY < N�js[:\EH ��N#O_O�Y_H:D X Y_HaNhO_^ ��N V+i Y_HaNKDGB_BED�L ? J�HaN8 N#OE\]BE^ < N 8 ^�joFI��N#joN X Y_DGY_^ V1X�V+isXaV�8 NtFIDGBEY_^pY_^ V1X O�^�OKD X N d YZN X OE^ V1XvV+i Y_HaN5OZFIDGBfOZN£OZN�YKYZN#\fH X ^IT@[aNF:B V F V O_N 8 ^ X ` > b ? J�H:N 8 BfDKE < D+\ G�V+i Y_HaN 8 N#O_\]Bf^ < N 8 N d YZN X O_^ V1X ^©OzY_HIDGY G N�N�FI^ Xa` Y_HaNtFIDGBEY_^pY_^ V1X^ X:i3V BEjkDGY_^ V1X B_NKT@[:^pB_N#ORD 898 ^pY_^ V1X D+�«OZFID+\]NzD X,8 \�D+[:OZN#OsO V joN V D+N�BEH:N#D 8'? s V BEN V D+N�BK4eDGB_BfD#L�O 8aV�XaV Y< N#\ V joNPYZBf[:�pL 8 L X D+jk^�\CO_^ X \]NQY_HaN�Lh\�D XKX N#^pY_HaN�B ` B V E XaV B�OEHaBE^ X G�?

� 5!/ *-(h2�$5�*-(�3 .10 (+5�5 �O5�,D( 5�7�5 /L1m* 1�5 -L/L < ^ X DGB_L�OZN#DGBE\fH�YZBEN�Ns\�D XQ< N:E�N#���0[:O_N 8 D+O�D i [ X \]Y_^ V1X D+� DGB_BED�L¢^�joF.�pN#joN X Y_DGY_^ V1X 4ID X98 Y_H:^�O V A�N�BfOD X ^©jwjoN 8 ^�DGYZNWB_N#D+�©^ �#DGY_^ V1XoV+i�i [ X \]Y_^ V1X D+� ` BEDGFIHIO1H*D ` BfDGFIHo^�O�B_N�F:BEN#OZN X YZN 8�< L�DCFID+^pB6m�� �� n E�HaN�B_N��^�ODPYZB_N�N V+i FID+^pBfO6m XaV�8 N 4�m-F:BEN 8 N#\]N#O_O V BEOK4@��D < N#�04MO_[:\�\]N#O_O V BfO3n neD X,8� ^�O�Y_HaN��©DGB ` N#OZY X:V58 N V \�\�[aBEBE^ Xa`^ X � ? O�V YZNwY_H:DGY ^�OQ[IOZN 8 Y V O_[aF:F V B_Y�Y_HaNw\]B_N#DGY_^ V1X£V+iX N1E XaV�8 N#O ? �QN�N�FI^ X:` Y_H:N��©DGB ` N#OZY XaV�8 NDGD+��[aNP[:O_N 8 ^ X Y_HaN ` BEDGF.H�4:Y_H:^�O�^©OWF V OEO_^ < �pNC^ X �im���nWY_^�joN ?

Y V EN1D+N�BK4�^ X O_N�B_Y_^ Xa` D X98U8 N#�pN�Y_^ X:` D X:V58 No\ V1X YZN d Y)@F� CLBDC�H$C.%WI�B_NKTM[I^pB_N#OC\ V1X O_^ 8 N�BED < �pNsN A V BEY1H\ V1X \]N�B X ^ Xa` ^ X OZN�B_Y_^ V1X E�NRH:DKD+NRY V ^ X OZN�BEY�Y_H:NR\ V1X YZN d Y�^�Y_OZN#� i moE�H:^�\EH�Y_D G N#O ��m�� V+` � n�OZYZN�FIO E�HaN X �XaV�8 N#O�DGB_N�^ X Y_HaN ` BEDGFIH�n34�D X98 E�N�H:DKD+NsY V ^ X OZN�B_Y�BhD+OCDkOE[:\�\]N#O_O V BXm-F:B_N 8 N#\]N#OEO V B*n i3V B�N#D+\EH XaV�8 N^ X �Qm/% n6moE�H:^�\fHwY_D G N#O ��m � V+` � n«OZYZN�FIO*n ? Y�N X \]N 4�^ X O_N�B_Y_^ V1X BE[ X Oe^ X �im � V+` � n�Y_^�joN6E�H:^�\EHk\�D Xi< ND+O���DGB ` N�D+O��im��P� V+` � n i3V B 8 N X OZN ` BEDGFIH:O ?�U�V1X YZN d Y 8 N#��N�Y_^ V1X Y_D G N#OWN1D+N X j V B_N�Y_^©joN�O_^ X \]N E�N�H:D�D+NY V BEN#j V D+N9B i B V j Y_HaNwO_[:\�\]N#O_O V Bim-F:B_N 8 N#\]N#O_O V B*nC��^�O_Y i-V BQN#D+\EH5N#�pN#joN X Y V+i � m/% n34%E�H:^�\fH B_NKTM[I^pB_N#OOZN#DGBf\EH:^ X:` Y_HaN#O_N��©^�OZY_O i3V B B ?\L �pY V+` N�Y_HaN�B 8 N#��N�Y_^ V1X Bf[ X O�^ X �im � V+` � n�Y_^�joN V B �im � V+` � V+` � n�^ iF:BEN 8 N#\]N#O_O V BEO M O_[:\�\]N#O_O V BfO�DGBENsOZY V BEN 8 D+OCOZN#DGBf\EH YZB_N�N#O ? g Xt8 N X OZN ` BEDGFIH:OK4.Y_H:^©O ` ^BD+N#OCD6\ V joFI�pN d ^pY�LV+i ��m�� � V+` � n�D X98 �im��P� V+` � n ?

L �pY_H V [ ` H Y_HaNoD+OZL@jwF:Y V Y_^�\ < N#H:DKD�^ V B V+i Y_HaNoOZN#DGBf\EHtYZB_N�NoBEN�F:B_N#OZN X Y_DGY_^ V1X ^�OC\��pN#DGBE��LPE V BfOZNPm�DGY

Page 26: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

������� � � � � > k

�pN#D+O_Y i-V B�OE^ Xa` �pN]� Y_HaBEN#D 8 N 8w` BEDGF.Hz[:O_N#O3n�Y_H:D X Y_HaN�DGB_BED�Lk^�joFI��N#joN X Y_DGY_^ V1X 4M^pYF�N�B i3V BfjwO7D+N�B_LXE�N#����^ XF:BfD+\]Y_^�\]N�m�O_N�Ng` l bon34'jwD�L < N < N#\�D+[:OZN�^�Y�^�O�j�[I\EH O_^�joFI��N�B�D X98t8aV N#O XaV Y�B_NKT@[:^pB_NRO V jwD X LKY_[ X ^ Xa` O ?g YD+��O V H:D+OeY_H:N ` B_N#DGYD 8 D8D X Y_D ` N�Y_HIDGY^pY�^©OeDPYZBE[I�pL 8 L X D+jw^©\�OZYZBE[:\]Y_[aBEN�Y_H:DGYOE[aF:F V B_Y_O«[ X <�V [ X98 N 8` B V E�Y_H V+i` BEDGFIH:O ? L i [:B_Y_HaN�BCF:B V < ��N#j E�^�Y_H¢Y_HaNoDGB_BfD#L ^�joFI�pN#jwN X Y_DGY_^ V1X ^�O�Y_H:DGYP^ X�V B 8 N�BQY V�< N^�jwFI�pN#joN X YZN 8 ^ X Y�D+O G N#����^pY X N�N 8 O�Y V N d FI� V ^pY�[ X O_D i N i N#DGY_[aB_N#O < N#\�D+[:OZN V F�N�BEDGY_^ V1X O���^ G Ns\ V1X OZY_D X YY_^�jwN�DGB_BED�L�[:F 8 DGYZN#OeH:DKD+N�Y V < N�N X \�DGF.O_[:��DGYZN 8 ^ X DPj V1X D 8 4MD X98 Y_HI^�Oej V1X D 8 H:D+OeY V N d YZN X98 D+O i DGBD+O«D+\�\]N#O_O�Y V Y_HaN�DGB_BED#L�^�O<jwD 8 N 41Y_HIDGY�^©O14+Y_HaN�j V1X D 8 E V [:� 8 N1D+N X Y_[ID+���pL�OEH V E¬[aFo^ X Y_HaN�D+� `+V BE^�Y_H:jwOD X98 \�D XIXaV Y < NQH:^ 898 N X ^ X Y_H:N ` BfDGFIHh^�joFI��N#joN X Y_DGY_^ V1X E�HI^�\EH�^�O'D+N�B_L < D 8 D X98 E V [I� 8 \ V joFI�pN�YZN#�pL8 N#O_YZB V L�Y_HaN i [ X \]Y_^ V1X D+� �ID�D V B V+i Y_HaN D+� `+V BE^pY_H:jkOk[:O_^ Xa` ^ X98 [:\]Y_^BD+N ` BfDGFIH:O ? J�HaNQD+N�BfO_^ V1X YZB_N�N^�jwFI�pN#joN X Y_DGY_^ V1X ^�OPY_HaN�B_N i-V B_N V1X �pL \ V1X Y_D+^ X N 8 ^ X Y_HaNZsQ? D+N�BfO_^ V1X£V+iF= A\?740Y_H:NiY�D+O G N#���7D+N�BEOE^ V1X\�[aBEB_N X Y_��LzF:B V D�^ 8 N#O V1X �pL6Y_HaNPOZN#DGBf\EHKYZBEN�NPB_N�F:B_N#O_N X Y_DGY_^ V1X ?

� ��z������ � � � ���������7 � � �F���E� �

J�H:N�B_N�N d ^�OZY TM[I^pYZN 8 ^ A�N�BEN X Y�F:B V F V O_D+��O i3V BQH V E Y V ^�jwFI�pN#joN X Y ` BEDGFIHIO�D X98 ` BEDGF.H�D+� `+V Bf^pY_H:jwO�^ Xi [ X \]Y_^ V1X D+�aF:B V+` BED+jkjw^ Xa` �©D Xa` [:D ` N#O ? Y�N�B_N6E�N�\ V ����N#\]YO V joN���^ X G O i-V B i [aB_Y_HaN�BOZY_[ 8 L V+i Y_HaN�Y V F.^�\ ?

L OZYZBED+^ ` HMY i3V B E�DGB 8 DGF:FIB V D+\EHzF:B V F V OZN 8 ^ X ` S b�^�O�Y V F.D+O_O�Y_HaN�OZY_DGYZNQ[:O_N 8i< L ` BEDGFIH6D+� `+V BE^�Y_H:jwOY_HaB V [ ` H i [ X \]Y_^ V1X \�D+����OJE�HaN�BEN6Y_H:N�O_Y_DGYZN¢^pY_OZN#� i ^�OsB_N�F:B_N#OZN X YZN 8 < L|D i [ X \]Y_^ V1X D+�WDGB_BED�L ? J�H:^�Os^�O\]N�B_Y_D+^ X �pL�DROZY_D X98 DGB 8 EWD#L V+i ^�joFI��N#joN X Y_^ Xa` D X L�^�joF�N�BEDGY_^BD+N�D+� `+V BE^�Y_H:j ^ X D i [ X \]Y_^ V1X D+�a��D X:` [:D ` N ?lW[aB_Y V1X D X98 � D X:` O_H V E H V E \��©D+O_O_^�\�D+��D+� `+V BE^pY_H:jwOk\�D X < NhYZBED X OE��DGYZN 8 ^ X Y V D|��D ��L i [ X \]Y_^ V1X D+���D X:` [:D ` N 4 < [aY XaV FIDGB_Y_^�\�[I��DGB0[:OZN V+iai [ X \]Y_^ V1X D+�1��D X:` [:D ` N#O0^�O*jwD 8 N�^ X Y_HaN 8 N#O_^ `1XQV+i Y_H:ND+� `+V BE^�Y_H:jwOY_HaN#jkOZN#�BD+N#O ?

g X \ V1X YZBED+OZY14�^ X `�� b b0D+� `+V BE^pY_H:jwO�DGB_N 8 N#O_\]Bf^ < N 8 D+O ; d N 8 F V ^ X Y_O V+i BEN#\�[aBEO_^BD+NQNKT@[:DGY_^ V1X O E�H:^©\EHN#O_O_N X Y_^�D+�©�pLtB_N#��^pN#O V1X ��D ��L£N1DGD+��[:DGY_^ V1X'? J�H:^�O�DGF:F:B V D+\fH N d FI� V ^pY_O�D X,8 B_N#�©^pN#O V1X|i N#DGY_[aB_N#O V+i ��D ��Li [ X \]Y_^ V1X D+�e��D Xa` [:D ` N#O ? Y V E�N1D+N�BK4«Y_HaNkD+� `+V Bf^pY_H:jwO < N#\ V joNSTM[:^�YZNw\ V joFI�pN d D X98 DGBENwBEDGY_HaN�B 8 ^BNo�\�[:��Y�Y V \ V joF:BEN#HaN X98'?\L O E�^pY_H ` S b<Y_H:^©O�DGF:FIB V D+\EH 8aV N#O XaV YQD+\EH:^�N1D+NsY_H:N�D+O_L@joFIY V Y_^�\RBf[ X Y_^©joN V+i^�jwF�N�BfDGY_^BD+NPD+� `+V BE^pY_HIjwO ?

L G ^ X98¢V+i \ V j < ^ X DGY V BPDGF:F:B V D+\fHME�D+OCFIB_N#OZN X YZN 8 ^ X ` k bCH ENoH:D�D+No^ 8 N X Y_^B;:N 8 O V joNo\���D+O_OZN#O V+i` BEDGF.H£D+� `+V BE^pY_HIjwOPD X98 HIDKD+Nk^ X YZB V�8 [:\]N 8 D i N1E \ V B_BEN#OZF V1X98 ^ Xa` F:BEN 8 N1; X N 8 V F�N�BEDGY V BEO ?ZL ` BfDGFIHD+� `+V Bf^pY_H:j ^�O�B_N#D+��^ ��N 8t< L�OZN#��N#\]Y_^ Xa` D X V F�N�BfDGY V BPD X98 F:B V D@^ 8 ^ Xa` ^pY@E�^�Y_H�DGF:FIB V F:BE^�DGYZNsFIDGBED+jwN�YZN�Bi [ X \]Y_^ V1X O�D X98P8 DGY_DzOZYZBf[:\]Y_[aB_N#O ?'V N < N#�©^pN1D+NPY_H:DGY�Y_HaN�DGF:FIB V D+\EH¢B_N��:N#\]Y_O�Y_HaN�OZYZBf[:\]Y_[aB_N V+i«` BfDGFIHD+� `+V Bf^pY_H:jwO�D+N�BEL E�N#��� ? Y V EN1D+N�BK41�©^ G N«^ X Y_HaNeF:BEN1D@^ V [IO�YdE V DGF:F:B V D+\EHaN#O0Y_HaN�B_Ne^�O X:V Y0j�[I\EHQF V YZN X Y_^�D+�i-V B i-V BEjwD+�WF:B V+` BfD+j jwD X ^pF.[:��DGY_^ V1X'? L�X:V Y_HaN�B 8 BED�E < D+\ G ^�O�Y_HIDGYwY_HaNK\ V j < ^ X DGY V BkDGFIF:B V D+\EH�^�O��^©jw^pYZN 8 ^ X N d F:B_N#O_OE^BD+N X N#O_O ?

J�HaNKF:B V F V OED+� V+i `�� l b�^©Ok\ V1X \]N�B X N 8�V1X ��L E�^pY_H 8 N�FIY_H��C;:BEOZYwO_N#DGBE\EH�4�D X98 Y_HaN i3V \�[:Oz^�O V1X D` N X N�BfDGYZN 8 8 DGY_D OZYZBE[:\]Y_[:B_N 4«Y_HaN 8 N�F:Y_H��C;:BfOZY�OZF.D X:X ^ Xa`�i3V BEN#OZY14e^ X OZYZN#D 8 V+i Y_H:N�[ X98 N�BE�pL�^ Xa`h` BfDGFIHD+� `+V Bf^pY_H:j ? J�H:^©O i D+\�^©��^pY_DGYZN#O i-V BEjwD+�0B_N#D+O V1X ^ Xa` 4I^ X FIDGB_Y_^�\�[:�©DGBK4aY_HaN i-V BEjwD+� 8 N1D+N#� V FIjwN X Y V+i jkD X LD+� `+V Bf^pY_H:jwO < D+OZN 8¬V1X 8 N�FIY_H��C;:BEOZYoOZN#DGBf\EH < N#\ V joN#OkF V O_O_^ < ��N ? J�H:N 8 N�F:Y_H��C;:BfOZYoOZN#DGBE\EH i [ X \]Y_^ V1X^pY_O_N#� i ^©O�B_N#D+��^ ��N 8¢X ^�\]N#�pL�^ X D ` N X N�BEDGYZN]��D X98 � F:Bf[ X NRjwD XIX N�B ? s V1X D 8 O�DGB_NR[:O_N 8 Y V ^�jwFI�pN#joN X YWY_HaNOZY_DGYZN�jwD+^ X Y_D+^ X N 8 8 [aBE^ X:` Y_H:NzOZN#DGBE\fH m-Y_HIDGY�^�O14*Y_HaNiD+N�BEY_^�\]N#O:D�^�O_^�YZN 8 n�Y V D+\fH:^pN1D+Nz�©^ X N#DGBPBE[ X:X ^ Xa`Y_^�jwN ?7L Y�Y_H:^�O�F V ^ X YY_HaNQDGF:F:B V D+\fHh^�OWOZY_[:\ G E�^pY_H6Y_HaNQ^�jwF�N�BfDGY_^BD+N�F:B V+` BED+jwjw^ X:` OZY¦L@��N ?7L �pY_H V [ ` HN X \�DGF.O_[:��DGYZN 8 D X98 B_N#OZYZBf^�\]YZN 8 Y V D�O_^ Xa` �pNRF V ^ X Y14�^pY�\ V jwN#OQ[aF ^ X Y_HaN�F:B V \]N#O_O V+i FIB V+` BED+j i [IO_^ V1XE�H:N�B_NRYZBED X O i3V BfjwDGY_^ V1X O < N#\ V joNJT@[:^pYZN�\ V joFI�pN d E�H:N X¢i [ X \]Y_^ V1X O�DGB_Nsj V D+N 8 D+\]B V OEO�O_Y_DGYZN�YZBED X O��i-V BEjoN�BEOK4�OZN�N `�� q b E�HaN�BEN¢^pYk^�O 8 N#j V1X O_YZBEDGYZN 8 H V E FIH:D+OZN i [:OE^ V1X \�D X < N DGF:FI��^�N 8 Y V N#��^©jw^ X DGYZN^ X YZN�BEjoN 8 ^�DGYZN�BEN#O_[:�pY_O V+i O V joN V+i Y_HaN#OZN�D+� `+V BE^pY_HIjwO ? �P^ Xa` `�� k b 8 N1; X N#O�^ X H:^�O�Y_H:N#O_^�O�jwD X LKj V B_N

Page 27: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

>+l ������� � � � �

D+� `+V Bf^pY_H:jwO14 < [aY�D+OaE�^pY_H 8 N�FIY_H��C;:BEOZYOZN#DGBE\EH%4MY_HaN 8 N1; X N 8wi [ X \]Y_^ V1X ODGB_NCjwD+^ X �pL�^�joF.�pN#joN X Y_DGY_^ V1X OV+i ^�joF�N�BEDGY_^ID+NCD+� `+V BE^pY_H:jwO ?

= N ` DGBED+OWD X98 _aHaN#DGB 8 `��+� b�^ X D+N#OZY_^ ` DGYZNCD ` N X N�BED+�©^ �#DGY_^ V1XwV+i'i-V � 8oV F�N�BEDGY_^ V1X OeY VJ8 DGY_DPY¦LMF�N#OaE�^pY_HN#j < N 898 N 86i [ X \]Y_^ V1X O ?.L O V1X NQj V Y_^BDGDGY_^ Xa` N d D+jwFI�pN�Y_HaN�LzO_H V EvH V EvY V j V�8 N#� ` BEDGFIHIO ? Y V EN1D+N�BK4Y_H:DGYoDGF:FIB V D+\EH¬^�OsO V joN1E�H:DGYo��^�jw^pYZN 8 m�^pY�^�O XaV Ys\���N#DGBwH V E Y VU8 N1; X N 4 i-V B�N d D+jwFI�pN 4eD i [ X \]Y_^ V1Xi-V B�BEN1D+N�BEO_^ Xa` D+���«N 8a` N#Os^ X D ` BEDGFIH�nCD X,8 ^pYR^©ORH:^ ` HI�pL�^ X N1Nk\�^pN X YRO_^ X \]N 8 ^pB_N#\]YRD+\�\]N#O_OsY V D XaV�8 NB_NKT@[:^pBEN#O14:^ X�` N X N�BED+�C4aYZBEDKD+N�BEOED+� V+i Y_HaN E�H V �pN ` BEDGFIH ?

L ��O V B_N#��DGYZN 8 ^�OPY_HaNXE V B G V+i AC^ <,<�V1X O�`�� > b7E�H V \ V1X OE^ 8 N�BEOQY_H:N 8 N1; X ^pY_^ V1X�V+iW` BEDGF.H i3V � 8 V Fa�N�BEDGY_^ V1X O�E�^pY_H:^ X D X D+� ` N < BED+^©\ i BED+joN1E V B G�? l�[:Y�H:N 8 N#D+�©O V1X �pL E�^pY_HyD+\]L�\���^�\ ` BEDGFIH:O14�D X98 D X^�jwFI�pN#joN X Y_DGY_^ V1X ^�O X:V Y 8 ^�O_\�[:OEOZN 8 4aO V Y_H:DGY�H:^�O�DGF:F:B V D+\EHK^�O�D+\]Y_[:D+���pL XaV Y�[:O_D < �pN ?

g X \ V1X YZBED+OZYKY V Y_H:N£j V1XaV ��^pY_HI^�\PD�^pN1E V+is` BEDGFIH:O�E�HI^�\EH�^�OhO V 8:V jw^ X DGY_^ X:` Y_H:DGYK^�Y�^©O�N1D+N XD 8aV FIYZN 8 < L5j V OZY i [ X \]Y_^ V1X D+��DGF:F:B V D+\fHaN#O147E�NhO_[ `+` N#OZYoY V D�^pN1E ` BfDGFIH:O�^ X98 [I\]Y_^BD+N#�pL 4«D+OoD 8 DGY_DY¦LMF�N 8 N1; X N 8>< L|YeE V \ V1X OZYZBE[:\]Y V BfO14�j�[:\fH���^ G NK��^�OZY_O V BzYZB_N�N#O ? J�H:^�O�D�^pN1E EWD+O�;:BEO_YoF:B_N#OZN X YZN 8^ X ` q baE�H:N�B_NwY_HaN i3V \�[:O EWD+O�Y VQ8 N1; X NkOZN1D+N�BED+� G ^ X98 O V+iW` BEDGFIH i3V � 8£V F�N�BEDGY_^ V1X O�D X98 Y V ^ 8 N X Y_^ i L��D�E�O i-V BoY_HaN#j Y_H:DGYw\�D X < Nh[:OZN 8 i3V BoFIB V+` BED+j YZBED X O i3V BEjkDGY_^ V1X'? L ��O V Dt;:BEOZYo^�jwFI�pN#joN X Y_DGY_^ V1XV+i�i [ X \]Y_^ V1X D+� ` BEDGFIH:O\EWD+O�F:B V D�^ 8 N 8 ? g X ` l baE�NkH:D�D+NkN d YZN X98 N 8 Y_H:Nz^�joF.�pN#joN X Y_DGY_^ V1X ^ X OZN1D+N�BfD+�EWD#L�O�D X,8 H:DKD+Ns\ V joFIDGB_N 8Q8 ^ A�N�B_N X Y�B_N�F:B_N#OZN X Y_DGY_^ V1X O_\EHaN#jwN#O < LzF�N�B i-V BEjw^ Xa` O V joN < N X \fH:jwDGB G O ?J�H:NR^ X98 [I\]Y_^BD+N ` BEDGFIHgD�^pN1E H:D+O�D+��O V DGF:FI��^©\�DGY_^ V1X OWY_H:DGY `+Vi< N�L V1X98 Y_HaNRB_N#D+��^ �#DGY_^ V1X¢V+i�i [ X \]Y_^ V1X D+�` BEDGF.HKD+� `+V BE^pY_HIjwO14 i-V B�N d D+jwFI�pN 4I^ X,8 [:\]Y_^BD+N ` BEDGFIHIO�H:DKD+N i D+\�^��©^pY_DGYZN 8 Y_HaN 8 N XaV Y_DGY_^ V1X D+� O_N#jwD X Y_^©\�O8 N1; X ^pY_^ V1XkV+i D�^�O_[:D+�.��D Xa` [:D ` N#O ` ] b ?7L�XaV Y_HaN�B�DGF:F.��^�\�DGY_^ V1X 4 E�H:^�\fHzHID+O�D X N 8 [:\�DGY_^ V1X D+�.F:B_N�YZN X OE^ V1X 4^�O�Y_HaNQFI[aB_N#��L i [ X \]Y_^ V1X D+� 8 N#O_\]BE^pF:Y_^ V1XzV+i�` BEDGF.H�B_N 8 [:\]Y_^ V1X ` ^ b ?

Page 28: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

���o� �

E m i [ X \]Y_^ V1X n34 b

��U � m-Y�L@F�N n34 bD 8 p_D+\]N X \]L 4 b

���-% (4��m�j V�8 [:�pN n34,]Q���Vtm i [ X \]Y_^ V1X n34 � kQ���Vh� m i [ X \]Y_^ V1X n34 � k� � 'Qm�j V�8 [:�pN n34 � kQ��)%gm i [ X \]Y_^ V1X n34 � kQ��)%�� m i [ X \]Y_^ V1X n34 � kQ��)% � (�� �Um i [ X \]Y_^ V1X n34 � kQ�� �Um i [ X \]Y_^ V1X n34 � k< ^ X DGB_LzO_N#DGBE\EH¢YZB_N�N 4 >8b���Mm�\ V1X OZYZBE[:\]Y V B*n34<�+�#40� >< BEN#D 8 Y_HKD `+` B_N ` DGY_^ V1X 4*�+�< BEN#D 8 Y_H��C;:BEO_Y�OZN#DGBE\EH%40� k �.� l< BEN#D 8 Y_H��C;:BEO_Y�OZFID X:X ^ Xa` YZBEN�N 40� k

� � ��� m-Y�L@F�N n34*� S 4*� b\ V joF V1X N X Y

\ V1XIX N#\]YZN 8 4*� bO_YZB V1Xa` �pL�\ V1X:X N#\]YZN 8 4<� b

�+T��;��Tm��Vm�;� %Zm i [ X \]Y_^ V1X n34 � b��Tm�;�;V �Z�tm-Y¦LMF�N n34 S\ V1X YZN d Y14 S�+Tm�;�;V �Z�tm i [ X \]Y_^ V1X n34,]�+Tm�;�;V �Z��Mm i [ X \]Y_^ V1X n34,]

��V��+T��W� m-Y�L@F�N n34 bUWV 8Mm i [ X \]Y_^ V1X n34 qUWV 8 � m i [ X \]Y_^ V1X n34 qUWV�H X UZ8WVjm i [ X \]Y_^ V1X n34,]UWV�H X UZ8WV�%�m i [ X \]Y_^ V1X n34,]UWV�H+S;T UWVjm i [ X \]Y_^ V1X n34,]UWV�H+S;T UWV�%�m i [ X \]Y_^ V1X n34,]8 N�FIY_HKD `+` B_N ` DGY_^ V1X 4<���8 N�FIY_H��C;:BEOZY i-V B_N#OZY14*� >8 N�FIY_H��C;:BEOZY V B 8 N�BK4 � >8 N�FIY_H��C;:BEOZY�O_N#DGBE\EH�4*� > �.� b

BEN1D+N�BEOZN 4*� S[ XaV B 8 N�B_N 8 4 � S

8 N�FIY_H��C;:BEOZY�O_FID X:X ^ X:` YZB_N�N 4*�+�#4*� >U����Mm i [ X \]Y_^ V1X n34 �+�!�.� k

U���� � m i [ X \]Y_^ V1X n34 � bU���� � (m�+� m i [ X \]Y_^ V1X n34 � S 40� bU���� � (m�+� � m i [ X \]Y_^ V1X n34 � b� � 'Qm�j V58 [:�pN n34 � >U�� %gm i [ X \]Y_^ V1X n34 � > �.� bU�� % � m i [ X \]Y_^ V1X n34 � bU�� % � (m�+� m i [ X \]Y_^ V1X n34 � S 40� bU�� % � (m�+� � m i [ X \]Y_^ V1X n34 � b8 ^pB_N#\]YZN 8K` BEDGFIH�4 S

X U�8WVQm-Y¦LMF�N n34 SN 8a` N 4 SV U�8WV�%�m i [ X \]Y_^ V1X n34 lV��-�m� m i [ X \]Y_^ V1X n34 � qV��;Q�V Utm i [ X \]Y_^ V1X n34 b 4 >+>V��;�;�7�Mm i [ X \]Y_^ V1X n34 b 4 >+>V�%�� m i [ X \]Y_^ V1X n34 � k

i3V BEN#OZY140� > 4*� S8 N�FIY_H��C;:BEOZY14'� >O_H V B_YZN#OZY�FIDGY_H�4*� q

����V��hT��W� m-Y�L@F�N n34 b8�V ��Y;�mQ�VWHPm i [ X \]Y_^ V1X n34 � l8�V ��Y���h� �Um i [ X \]Y_^ V1X n34 � l8�V � �;�+�+� m i [ X \]Y_^ V1X n34 � l8��WTWH+Utm i [ X \]Y_^ V1X n34 ����4*�+�#4*� b8��-�m� m i [ X \]Y_^ V1X n34 �����.� >� ���m�Z� m�j V58 [:�pN n34 S 4 l` BEDGFIH

8 ^�B_N#\]YZN 8 4 S��D < N#�pN 8 4 S[ X,8 ^pB_N#\]YZN 8 4 S 40�K^[ X ��D < N#�pN 8 4 S

` BEDGFIHgr V B V1XaV ^0nC^�D ` BED+jP40� q^ X EWDGB 8 4'� qV [aYeE�DGB 8 40� q

� ���m�Z�Q���+���gm�j V�8 [:�pN n34 b 4 l8 �;V BMm i [ X \]Y_^ V1X n34 ����40�+�8)%hVWHjm i [ X \]Y_^ V1X n34 ����40� >��37� m�j V58 [:�pN n34 � q8 BWU87�� m i [ X \]Y_^ V1X n34 � q8 BWU 9 �;�tm i [ X \]Y_^ V1X n34 � q

>1q

Page 29: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

> ^ � � �C� �

(!�;UWVZ8Qm i [ X \]Y_^ V1X n34 q(!�;UWVZ8 � m i [ X \]Y_^ V1X n34 q7��;UWVh�Um�j V�8 [:�pN n34 �K](!�;UWVh�Um i [ X \]Y_^ V1X n34 �K]^ X,8 N�F�N X98 N X Y X:V58 NQOZN�Y14*�K](!�Z� m i [ X \]Y_^ V1X n34 q(!�Z� � m i [ X \]Y_^ V1X n34 q(!� % X UZ8WVjm i [ X \]Y_^ V1X n34 l(!� % X UZ8WV�%�m i [ X \]Y_^ V1X n34 l(!� %�S;T UWVjm i [ X \]Y_^ V1X n34 l(!� %�S;T UWV�%�m i [ X \]Y_^ V1X n34 l^ X EWDGB 8P8 ^pBEN#\]YZN 8 YZB_N�N 4*� l^ X EWDGB 8h` BEDGFIH�r V B V1XaV ^0nC^�D ` BED+jP40� q( %m��Th�Z��V��m�;V Ujm i [ X \]Y_^ V1X n34 � b( % X �;�W�4�tm i [ X \]Y_^ V1X n34 l 4 >+> � >8b

H���Q � m i [ X \]Y_^ V1X n34 qH���Q X UZ8WV�%�m i [ X \]Y_^ V1X n34 l��D < N#�pN 8�` BfDGFIH�4 S��D < N#�pN 8 B VMV Y�F.DGY_HhYZB_N�N 40� lH���Q;S;T UWV � m i [ X \]Y_^ V1X n34 qH���Q;S;T UWV�%�m i [ X \]Y_^ V1X n34 lY X U�8WVjm-Y�L@F�N n34 SHZV+B;VWHPm i [ X \]Y_^ V1X n34 � kHZV+B;VWH�� m i [ X \]Y_^ V1X n34 � kY�SWTZUWVjm-Y�L@F�N n34 S� V@V F%4,^Y �;�+� �Um-Y�L@F�N n34 S 40� lY � ��;VZVQm-Y�L@F�N n34<� l 40� q

�-�h� �!�Um i [ X \]Y_^ V1X n34 q 4 >+> � >8b�-�h� �!���+�Q�Mm i [ X \]Y_^ V1X n34,]540�+�#4*� > 4 >+> � >8b�-�h� �!���Mm i [ X \]Y_^ V1X n34,]�-�h� �!�)'ZT�� VPm i [ X \]Y_^ V1X n34,]�-�h� �!�� ��VQm i [ X \]Y_^ V1X n34,]jwD d ^�js[:j ^ X,8 N�F�N X98 N X Y XaV�8 NPOZN�Y14*�K]���ZTh�;�WVZ� �Mm-Y�L@F�N n34 bjw^ X ^�js[:j OZFID X:X ^ Xa` YZBEN�N 4*�K^���W�Z�������Um i [ X \]Y_^ V1X n34 l��� [��Z�;�m�Z� m i [ X \]Y_^ V1X n34 l� % ���+�+� m i [ X \]Y_^ V1X n34 �K]�)'�Um�j V�8 [:�pN n34 �K]� % ��;VZVQm i [ X \]Y_^ V1X n34 �K]� % ��;VZV� �Mm i [ X \]Y_^ V1X n34 �K]js[:�pY_^�� ` BfDGFIH�4 S

X N#DGB_N#OZY i D+\�^��©^pY�L 40� q��VW�+�WV)%!�7� ( %��;�m� �hVgm i [ X \]Y_^ V1X n34 �K^��VW�+�WV)%!��S;T UWVPm i [ X \]Y_^ V1X n34 � q��VW�+�WV)%!� ���h� �Mm i [ X \]Y_^ V1X n34 �K^��V�(h8h��Q�T � %Zm i [ X \]Y_^ V1X n34 q��V�(h8h��Q�T � % � m i [ X \]Y_^ V1X n34 q 40� S��V+EWSWTZU�V)%Sm i [ X \]Y_^ V1X n34 l��T���T��;��Th��Vm�;� %Sm i [ X \]Y_^ V1X n34 � bSWTZUWVQm-Y¦LMF�N n34 SXaV�8 N 4 SXaV�8 NQFIDGB_Y_^pY_^ V1X 4'� qXaV�8 N qB40�+���TZUWV � m i [ X \]Y_^ V1X n34 q��TZUWV�%�m i [ X \]Y_^ V1X n34 l 40� >��TZUWV�% � m i [ X \]Y_^ V1X n34 � S��T S;T UWV�%�m i [ X \]Y_^ V1X n34 l

T��;�Um i [ X \]Y_^ V1X n34 qT��;� � m i [ X \]Y_^ V1X n34 qT��;�WU�VZ8Qm i [ X \]Y_^ V1X n34 qT��;�WU�VZ8 � m i [ X \]Y_^ V1X n34 qV [aYdEWDGB 8¢` BEDGFIHgr V B V1X:V ^0nC^�D ` BED+jg4*� q

�;�+� � m-Y¦LMF�N n34 S 40� lFIDGY_H�4 S

B V@V Y14 � lO_H V B_YZN#OZY14 � q

F�N�BEO_^�OZYZN X \]N 4 �K]54 >+>F V OZY V B 8 N�BK4 � >��T)%��WT ��UWV �Qm i [ X \]Y_^ V1X n34 � >��T)%��WT ��UWV � � m i [ X \]Y_^ V1X n34 � >�W�;Vtm i [ X \]Y_^ V1X n34 q�W�;V � m i [ X \]Y_^ V1X n34 q 40� SF:B_N V B 8 N�BK4 � >�W�;V�T+�WU�V �tm i [ X \]Y_^ V1X n34 � >�W�;V�T+�WU�V � � m i [ X \]Y_^ V1X n34 � >

��U����tm i [ X \]Y_^ V1X n34 � b��U���� � m i [ X \]Y_^ V1X n34 � b��U�� %�m i [ X \]Y_^ V1X n34 � S 40� b��U�� % � m i [ X \]Y_^ V1X n34 � b�WVW�����N��QNHZVPm i [ X \]Y_^ V1X n34 � bB V@V Y�FIDGY_HhYZB_N�N 4<� l�;T�T ����h� �Um�j V58 [I�pN n34'� l�;T)%hV ��WV�Vjm�j V58 [I�pN n34'� >� ��;VZVQm-Y�L@F�N n34<� k 40� l

Page 30: web.engr.oregonstate.eduerwig/fgl/haskell/old/fgl0103.pdfs < w jh:n i3v v e ^ x:` 8 n 1; x ^py_^ v1x o dgbenw\ y_d+^ ^ y_hanwj 58 [i pn ? jv n#o_\]be^ < nsy_han = a @? ` bfdgfih !

� � �C� � > ]

%7�7�Pm i [ X \]Y_^ V1X n34 � bO_H V B_YZN#OZY�FIDGY_H%4 � k 4*� qO_H V B_YZN#OZY�FIDGY_H i3V B_N#O_Y140� qO_H V B_YZN#OZY�FIDGY_HKYZB_N�N 4*� q' �Mm�j V58 [I�pN n34 � q%�� m i [ X \]Y_^ V1X n34 � qOZF.D X:X ^ Xa` YZB_N�N

< B_N#D 8 Y_H��C;:BfOZY14 � k8 N�F:Y_H��C;:BEO_Y14 �+�#40� >

%��WY;Vh�;8Z�+� m i [ X \]Y_^ V1X n34 � q%�����;VZVQm i [ X \]Y_^ V1X n34 � q%��;�+�Um i [ X \]Y_^ V1X n34 lOZYZB V1Xa` �pL�\ V1X:X N#\]YZN 8 \ V jwF V1X N X Y_O14*� >%�� �Pm i [ X \]Y_^ V1X n34 q%�� � � m i [ X \]Y_^ V1X n34 q 40����40�+�#4<� S

Y V F V � V+` ^�\�D+�*O V B_Y_^ X:` 4 � >�;Tm� %hT+���tm i [ X \]Y_^ V1X n34 � b��WV�Vtm 8 DGY_DoY�L@F�N n340� > 4*� kYZB_N�N

^ X EWDGB 8P8 ^�B_N#\]YZN 8 4 � l�©D < N#��N 8 B VMV Y�FIDGY_H�4 � ljk^ X ^�js[:j OZFID X:X ^ Xa` 4'�K^B VMV Y�F.DGY_H�40� lOEH V B_YZN#OZY�F.DGY_H�40� qO_FID X:X ^ X:`< B_N#D 8 Y_H��C;:BEOZY14 � k8 N�F:Y_Ha�C;:BEOZY14 �+�#40� >jw^ X ^�j�[Ijg4��K^

� ��� � H VQm i [ X \]Y_^ V1X n34 l��U����Mm i [ X \]Y_^ V1X n34 � b��U���� � m i [ X \]Y_^ V1X n34 � b��U�� %gm i [ X \]Y_^ V1X n34 � S 40� b��U�� % � m i [ X \]Y_^ V1X n34 � b[ X U�8WVjm-Y�L@F�N n34 S����TWH UQm i [ X \]Y_^ V1X n34 ����4<� >���;U)(m�tm i [ X \]Y_^ V1X n34 ����4<� > 40�K][ X,8 ^pB_N#\]YZN 8�` BEDGF.H�4 S 40�K^����H��mQUm i [ X \]Y_^ V1X n34 ����4<� >[ X ��D < N#�pN 86` BEDGFIH�4 S[;SWTZUWVjm-Y�L@F�N n34 S[��;�+� �Um-Y�L@F�N n34 S

D+N�BEOE^ V1X YZB_N�N 4 >+> 4 >+Sr V B V1X:V ^0nC^�D ` BED+jg4*� q

r V B V1XaV ^0F V ^ X Y_O14 � qr V B V1XaV ^0B_N ` ^ V1X O14 � qr V B V1XaV ^*OZN�Y140� q

�ZU������ (�� �Um i [ X \]Y_^ V1X n34 � b�ZU�� %�� (�� �Um i [ X \]Y_^ V1X n34 � b