<?xml version="1.0"?>
<!-- name="generator" content="gyre/0.0.1" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
  <channel>
    <title>eighty-twenty news</title>
    <link>http://www.eighty-twenty.org/index.cgi</link>
    <description></description>
    <language>en</language>

        <item>
      <title>FIB in PowerPC assembly and in JONESFORTH</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/shootout-20071010.html</link>
      <description>&lt;p&gt;Recently I've been teaching myself PowerPC assembly through &lt;a
href="http://www.lshift.net/blog/2007/10/04/jonesforth-ported-to-powerpc-and-mac-os-x"&gt;porting
JONESFORTH to PowerPC on Mac OS X&lt;/a&gt;. It struck me to run the same
little fibonacci-sequence microbenchmark that I ran &lt;a
href="http://www.eighty-twenty.org/index.cgi/_STORY_/tech/shootout-20041030.html"&gt;lo
these many years past&lt;/a&gt;. The results were interesting:&lt;/p&gt;

&lt;p&gt;
&lt;table class="columnar" cellspacing="5" cellpadding="0" border="0...</description>
    </item>
    <item>
      <title>Reflection on floats</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/reflection-on-floats.html</link>
      <description>&lt;a
href="http://www.agileprogrammer.com/eightytwenty/archive/2007/04/30/22652.aspx"&gt;Gordon
Weakliem writes&lt;/a&gt; about literal hash-table syntax, and touches on
some of the problems that programmers run in to with floating-point
numbers. He writes:

&lt;blockquote&gt;12 years ago, I spent half a day in the debugger trying to
figure out why the computer would not believe that 0.0 == 0.0
[...]&lt;/blockquote&gt;

&lt;p&gt;
This triggered two thoughts:
&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;floating-point numbers in GUIs should be represent...</description>
    </item>
    <item>
      <title>Submatches vs. Recursion in ThiNG Patterns</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/submatch-vs-recpattern-20060522.html</link>
      <description>&lt;p&gt;Submatching in a pattern, &lt;code&gt;+var@pattern&lt;/code&gt;, looks
suspiciously similar to recursion in a
value, &lt;code&gt;var=value&lt;/code&gt;. In each case, we expect a value which
is both named and processed, and in each case, a binding is introduced
into code. The processing in the submatch case is a further
pattern-match operation, and in the recursion case it is a nested
evaluation.&lt;p&gt;

&lt;p&gt;The main difference, besides the overall context, between the two
forms is the scope of the introduced binding: in...</description>
    </item>
    <item>
      <title>Partial-evaluation of Monads in Scheme - A New Hope?</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/monads-in-scheme-20060521.html</link>
      <description>&lt;p&gt;The other day, I &lt;a
href="http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/monads-in-scheme-20060519.html"&gt;noted&lt;/a&gt;
that my generic-monad-in-Scheme implementation suffered from the flaw
of not being able to type-check monad assemblies before any actions
had been executed, and that in general such ahead-of-time checking is
not possible without abstract interpretation of some kind, because the
&lt;em&gt;functional&lt;/em&gt; code in the right-hand-side of the bind operator
can decide &lt;e...</description>
    </item>
    <item>
      <title>Monads in Scheme - A Retraction</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/monads-in-scheme-20060519.html</link>
      <description>&lt;p&gt;I don't know what crack I was smoking the other day, but my &lt;a
href="http://www.eighty-twenty.org/repos/smalltalk-tng/experiments/monad/general-monad.scm"&gt;implementation
of general monads&lt;/a&gt; not only does not have the property I &lt;a
href="http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/spikes-20060508.html#monads-in-scheme"&gt;claimed&lt;/a&gt;
for it, viz. that it provides the same level of type-checking as
Haskell &lt;em&gt;ahead of execution-time&lt;/em&gt;, but it &lt;em&gt;cannot&lt;/em&gt;
provide s...</description>
    </item>
    <item>
      <title>Monads in Scheme - Update</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/monads-in-scheme-20060511.html</link>
      <description>&lt;p&gt;Just quickly revisiting the article the other day on &lt;a
href="http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/spikes-20060508.html"&gt;monads
in Scheme&lt;/a&gt;: I've just updated my experimental &lt;a
href="http://www.eighty-twenty.org/repos/smalltalk-tng/experiments/monad/general-monad.scm"&gt;implementation&lt;/a&gt;
to propagate monad type information both forward from the arguments to
the result of the bind operation and backward from the expected result
type to the required argument typ...</description>
    </item>
    <item>
      <title>Trait Composition in ThiNG</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/trait-composition-20060511.html</link>
      <description>&lt;p&gt;Trait composition is one of the fundamental ideas in ThiNG
r3/r4. It's used to assemble pattern-matching clauses in functions, to
assemble definitions into a module, to (functionally-) update
data-structure, to augment generic functions with new definitions, and
to assemble modules into programs.&lt;/p&gt;

&lt;pre class="code"&gt;
define cons [+car: [+cdr: [First: car Rest: cdr]]]
define map [+f: loop=[(cons +a +d): (cons (f a) (loop d)) Nil:Nil]]
&lt;/pre&gt;

&lt;p&gt;Both these definitions use objects with more ...</description>
    </item>
    <item>
      <title>Recent spikes in ThiNG</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/spikes-20060508.html</link>
      <description>&lt;p&gt;
Since I last posted about ThiNG, my ideas have shifted closer to those
expressed in Jay &amp;amp; Kesner's &lt;a
href="http://www-staff.it.uts.edu.au/~cbj/Publications/purepattern.pdf"&gt;Pure
Pattern Calculus&lt;/a&gt;, and I've built a few experimental spikes to gain
some concrete experience with some of the language features and
designs I've been thinking about - among other things, that traits and
modules share a number of core characteristics, and that using monads
to structure effects can be profitabl...</description>
    </item>
    <item>
      <title>Source Code Repositories</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/repos.html</link>
      <description>&lt;!-- Note: This file should be updated in place and
re-timestamped. The idea is to keep the same permalink, but update the
content. --&gt;

&lt;p&gt;We make a few programs that we've developed available on this
server. You can download them from our source-code repositories:&lt;/p&gt;

&lt;dl&gt;

&lt;dt&gt;&lt;a href="http://abridgegame.org/darcs/"&gt;Darcs&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;
  Most of our projects are currently maintained in these archives.

  &lt;ul&gt;
    &lt;li&gt;You can browse the darcs-controlled code with &lt;a
    href="http://www.eight...</description>
    </item>
    <item>
      <title>The Pure Pattern Calculus, and Extensible Records With Scoped Labels</title>
      <link>http://www.eighty-twenty.org/index.cgi/_STORY_/tech/smalltalk/thing/related-papers-20051124.html</link>
      <description>&lt;p&gt;
Two papers very similar to the ideas I've been developing for ThiNG
have popped up in the last couple of weeks:
&lt;/p&gt;

&lt;ol&gt;

&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.cs.uu.nl/~daan/"&gt;Daan Leijen&lt;/a&gt;'s &lt;a
href="http://www.cs.uu.nl/~daan/download/papers/scopedlabels.pdf"&gt;&lt;i&gt;Extensible
records with scoped labels&lt;/i&gt;&lt;/a&gt;: describes an intriguing system for
typing records &lt;i&gt;similar&lt;/i&gt; to those I'm trying to define with
ThiNG.
&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www-staff.it.uts.edu.au/~cbj/"&gt;Barry Jay&lt;/a&gt; ...</description>
    </item>


  </channel>
</rss>
