<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Lessons learned in class</title>
	<atom:link href="http://www.drmaciver.com/2008/06/lessons-learned-in-class/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.drmaciver.com/2008/06/lessons-learned-in-class/</link>
	<description></description>
	<lastBuildDate>Mon, 06 Feb 2012 22:56:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: david</title>
		<link>http://www.drmaciver.com/2008/06/lessons-learned-in-class/#comment-356</link>
		<dc:creator>david</dc:creator>
		<pubDate>Tue, 17 Jun 2008 21:56:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=169#comment-356</guid>
		<description>Indeed. The actual code format is a bit crufty, but the overall structure is very straightforward. 

And yes, the spec is full of instances of variant types. The constant pool is indeed a perfect example. :-)</description>
		<content:encoded><![CDATA[<p>Indeed. The actual code format is a bit crufty, but the overall structure is very straightforward. </p>
<p>And yes, the spec is full of instances of variant types. The constant pool is indeed a perfect example. :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DavidLG</title>
		<link>http://www.drmaciver.com/2008/06/lessons-learned-in-class/#comment-355</link>
		<dc:creator>DavidLG</dc:creator>
		<pubDate>Tue, 17 Jun 2008 21:55:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=169#comment-355</guid>
		<description>Fair enough.  It&#039;s a very nicely-documented format.

On a side note, the constant pool is a perfect example of something made much easier by Scala case classes.</description>
		<content:encoded><![CDATA[<p>Fair enough.  It&#8217;s a very nicely-documented format.</p>
<p>On a side note, the constant pool is a perfect example of something made much easier by Scala case classes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.drmaciver.com/2008/06/lessons-learned-in-class/#comment-352</link>
		<dc:creator>david</dc:creator>
		<pubDate>Tue, 17 Jun 2008 07:58:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=169#comment-352</guid>
		<description>I&#039;m sortof sick and tired of writing wrappers. :-) You end up spending huge amounts of time dealing with the impedance between what you have and what you want, and it costs you in both performance and usability. Also, I&#039;m interested enough in the details of this that I think I&#039;d like to do my own thing.</description>
		<content:encoded><![CDATA[<p>I&#8217;m sortof sick and tired of writing wrappers. :-) You end up spending huge amounts of time dealing with the impedance between what you have and what you want, and it costs you in both performance and usability. Also, I&#8217;m interested enough in the details of this that I think I&#8217;d like to do my own thing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DavidLG</title>
		<link>http://www.drmaciver.com/2008/06/lessons-learned-in-class/#comment-351</link>
		<dc:creator>DavidLG</dc:creator>
		<pubDate>Tue, 17 Jun 2008 07:26:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=169#comment-351</guid>
		<description>Hi David,

What I did for my own Scala bytecode library (for internal use) was to use ASM as a class-file reader/writer, but keep a nice Scala-like representation.  I&#039;ve written code to parse class-files a few times, back in my Java days, and didn&#039;t feel like doing it again.

ASM has some interesting design goals that I&#039;m not interested in at all; small library size (hence the six different jars totaling 200k so you don&#039;t include stuff you don&#039;t need), small RAM footprint (visitor pattern), and instrumentation speed (doesn&#039;t need to create lots of data structures on the heap, lets you easily leave parts of a class unchanged, doesn&#039;t assume maxStack and maxLocals need recalculation from scratch).  Once you get around that, it&#039;s a pretty nice library to have around; the API is the cleanest I&#039;ve found.</description>
		<content:encoded><![CDATA[<p>Hi David,</p>
<p>What I did for my own Scala bytecode library (for internal use) was to use ASM as a class-file reader/writer, but keep a nice Scala-like representation.  I&#8217;ve written code to parse class-files a few times, back in my Java days, and didn&#8217;t feel like doing it again.</p>
<p>ASM has some interesting design goals that I&#8217;m not interested in at all; small library size (hence the six different jars totaling 200k so you don&#8217;t include stuff you don&#8217;t need), small RAM footprint (visitor pattern), and instrumentation speed (doesn&#8217;t need to create lots of data structures on the heap, lets you easily leave parts of a class unchanged, doesn&#8217;t assume maxStack and maxLocals need recalculation from scratch).  Once you get around that, it&#8217;s a pretty nice library to have around; the API is the cleanest I&#8217;ve found.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.drmaciver.com/2008/06/lessons-learned-in-class/#comment-349</link>
		<dc:creator>david</dc:creator>
		<pubDate>Mon, 16 Jun 2008 19:44:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=169#comment-349</guid>
		<description>I&#039;ve actually read that. The thing is, along with everyone else he basically recommends ASM.

Thing about ASM, and most of the other bytecode libraries suitable for my purposes: The visitor pattern gives me hives, and the APIs are really verbose. 

Basically the objective here is to have a library which can take advantage of Scala&#039;s features as much as possible. As such I&#039;m probably better off building it from the ground up than using one of the existing ones.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve actually read that. The thing is, along with everyone else he basically recommends ASM.</p>
<p>Thing about ASM, and most of the other bytecode libraries suitable for my purposes: The visitor pattern gives me hives, and the APIs are really verbose. </p>
<p>Basically the objective here is to have a library which can take advantage of Scala&#8217;s features as much as possible. As such I&#8217;m probably better off building it from the ground up than using one of the existing ones.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

