For those who might have difficulties obtaining the package, here is the code defining ShowIFS:
Options[ShowIFS] = Union[{AspectRatio -> Automatic, Initiator -> Point[{0,0}], Colors -> False, PlotStyle -> {}}, Options[Graphics], SameTest -> (First[#1]===First[#2]&)]; ShowIFS[IFS_, depth_Integer?(# >= 0 &), opts___] := Module[ {initiator, plotStyle, colors, toFunc, funcs, F, attractor, at, x}, initiator = Initiator /. {opts} /. Options[ShowIFS]; plotStyle = PlotStyle /. {opts} /. Options[ShowIFS]; colors = Colors /. {opts} /. Options[ShowIFS]; Which[colors === Automatic || colors === True, colors = ColorData["Rainbow"] /@ Range[0., 1 - 1./Length[IFS], 1./Length[IFS]], Head[colors] === String, colors = ColorData[colors] /@ Range[0., 1 - 1./Length[IFS], 1./Length[IFS]], colors =!= None && colors =!= False && Head[colors] =!= List, colors = colors /@ Range[0., 1 - 1./Length[IFS], 1./Length[IFS]]]; toFunc[{A_, b_}] := Module[{cfOut, fOut}, cfOut = Compile[{{v, _Real, 1}}, A.v + b]; fOut[{x_?NumericQ, y_?NumericQ}] := cfOut[{x, y}]; fOut[x_List] := fOut /@ x; fOut[Point[pts_]] := Point[fOut[pts]]; fOut[Line[x_]] := Line[fOut[x]]; fOut[Arrow[x_]] := Arrow[fOut[x]]; fOut[Polygon[x_, pOpts___]] := Polygon[fOut[x], pOpts]; fOut[x_] := x; fOut]; funcs = toFunc /@ IFS; F[Point[pt : {_?NumericQ, _?NumericQ}]] := Point[Table[f[pt], {f, funcs}]]; F[Point[pts : {{_?NumericQ, _?NumericQ} ..}]] := Point[Flatten[Table[f /@ pts, {f, funcs}], 1]]; F[Line[pts : {{_?NumericQ, _?NumericQ} ..}]] := Line[Table[f /@ pts, {f, funcs}]]; F[Line[pts : {{{_?NumericQ, _?NumericQ} ..} ..}]] := Line[Flatten[Table[Map[f, pts, {2}], {f, funcs}], 1]]; F[Arrow[pts : {{_?NumericQ, _?NumericQ} ..}, s___]] := Table[Arrow[f /@ pts, s], {f, funcs}]; F[Polygon[pts : {{_?NumericQ, _?NumericQ} ..}]] := Polygon[Table[f /@ pts, {f, funcs}]]; F[Polygon[pts : {{{_?NumericQ, _?NumericQ} ..} ..}]] := Polygon[Flatten[Table[Map[f, pts, {2}], {f, funcs}], 1]]; F[Polygon[pts : {{_?NumericQ, _?NumericQ} ..}, VertexColors -> vc_]] := Polygon[Table[f /@ pts, {f, funcs}], VertexColors -> Table[vc, {Length[funcs]}]]; F[Polygon[pts : {{{_?NumericQ, _?NumericQ} ..} ..}, VertexColors -> vc_]] := Polygon[Flatten[Table[Map[f, pts, {2}], {f, funcs}], 1], VertexColors -> Flatten[Table[vc, {Length[funcs]}], 1]]; F[ll_List] := F /@ ll; F[x_] := x; If[colors =!= False && colors =!= None, attractor = Nest[F, initiator, depth - 1]; attractor = at /@ Table[f[attractor], {f, funcs}]; attractor = Inner[List, colors, attractor, List] /. at[x__] -> x, attractor = Nest[F, initiator, depth]]; Graphics[attractor, FilterRules[{opts}, Options[Graphics]], FilterRules[Options[ShowIFS], Options[Graphics]]] ]; 

