<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE701%3AHTML_Browser</id>
	<title>SE701:HTML Browser - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE701%3AHTML_Browser"/>
	<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE701:HTML_Browser&amp;action=history"/>
	<updated>2026-04-28T23:22:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.kram.nz/index.php?title=SE701:HTML_Browser&amp;diff=124&amp;oldid=prev</id>
		<title>Mark: New page: pretty much write a parser and build an html tree structure.  The tree structure can then be used for any purpose.. in this case simply prints it out. Due to the flexibility of generic fun...</title>
		<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE701:HTML_Browser&amp;diff=124&amp;oldid=prev"/>
		<updated>2008-02-15T20:21:21Z</updated>

		<summary type="html">&lt;p&gt;New page: pretty much write a parser and build an html tree structure.  The tree structure can then be used for any purpose.. in this case simply prints it out. Due to the flexibility of generic fun...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;pretty much write a parser and build an html tree structure.  The tree structure can then be used for any purpose.. in this case simply prints it out. Due to the flexibility of generic functions, algorithm for walking through the tree can be separated from the structure - (i.e. no need for visitor patter for example).  &lt;br /&gt;
&lt;br /&gt;
two kind of parsers will be build. One simply scans the file char by char, while the other will modify the reader macro to read &amp;#039;&amp;lt;&amp;#039; as a command.&lt;br /&gt;
&lt;br /&gt;
should demonstrate the following: &lt;br /&gt;
&lt;br /&gt;
⋄ anonymous functions &lt;br /&gt;
⋄ arbitrary-precision integers&lt;br /&gt;
⋄ condition restarts &lt;br /&gt;
⋄ generic functions&lt;br /&gt;
⋄ higher-order functions &lt;br /&gt;
⋄ keyword arguments&lt;br /&gt;
⋄ list processing &lt;br /&gt;
⋄ macros&lt;br /&gt;
⋄ method combination &lt;br /&gt;
⋄ multiple inheritance &lt;br /&gt;
⋄ optional arguments &lt;br /&gt;
⋄ packages&lt;br /&gt;
⋄ reader macros &lt;br /&gt;
⋄ dynamically scoped variables&lt;br /&gt;
⋄ the LOOP macro &lt;br /&gt;
⋄ the FORMAT function&lt;br /&gt;
⋄ the meta-object protocol&lt;br /&gt;
&lt;br /&gt;
things left to do:&lt;br /&gt;
⋄ multiple dispatch&lt;br /&gt;
⋄ multiple inheritance&lt;br /&gt;
⋄ exact rational arithmetic&lt;br /&gt;
⋄ generalised references&lt;br /&gt;
and perhaps more on FORMAT&lt;/div&gt;</summary>
		<author><name>Mark</name></author>
	</entry>
</feed>