<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc">
    <title>gmane.comp.lang.smalltalk.fonc</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/550"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/549"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/548"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/547"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/546"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/545"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/544"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/543"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/542"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/541"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/540"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/539"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/538"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/537"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/536"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/535"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/534"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/533"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/532"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/531"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/550">
    <title>Re: let syntax in Jolt2</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/550</link>
    <description>Emoticons?

Seriously, take a look at Array&gt;&gt;withParameters: in Expression.st.

Cheers,
Kim


On May 17, 2008, at 4:43 PM, Michael Haupt wrote:



</description>
    <dc:creator>Kim Rose</dc:creator>
    <dc:date>2008-05-17T17:44:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/549">
    <title>let syntax in Jolt2</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/549</link>
    <description/>
    <dc:creator>Michael Haupt</dc:creator>
    <dc:date>2008-05-17T14:43:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/548">
    <title>Re: Cannot run pull: repository is unrelated?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/548</link>
    <description>Hi,

Kurt Stephens &lt;ks-Y/RwrdNK1CnrEYzfVi2mjg&lt; at &gt;public.gmane.org&gt; writes:


Ah, that's it.  There's apparently a bug in "hg qclone" that causes it
to refetch the main repository instead of getting the MQ patch repo.

Follow the instructions at:

http://vpri.org/fonc_wiki/index.php/Sources

for getting the changesets plus patches.  Basically, run just "hg
clone ...", then do a "sh pull".

Hope this helps,

</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-15T10:12:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/547">
    <title>Re: Cannot run pull: repository is unrelated?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/547</link>
    <description>Hi,

Kurt Stephens &lt;ks-Y/RwrdNK1CnrEYzfVi2mjg&lt; at &gt;public.gmane.org&gt; writes:


That's probably easiest.


Understandable.  I'm from the era when CVS was a huge leap forward in
technology. :)

</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-08T01:13:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/546">
    <title>Re: Cannot run pull: repository is unrelated?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/546</link>
    <description>Unfortunately I dont remember how I instantiated my repo, but I did need
to enable MQ in:

 &gt; cat ~/.hgrc
[extensions]
hgext.mq =

I may have configured it *after* I pulled the repo down.

I dont have any changes in there yet, so if you want me to start from
scratch, s'ok by me.


I'm a hg newbie, sorry if I don't understand how this works.  Revision
management systems are proliferating faster than I use them. :)

KAS

</description>
    <dc:creator>Kurt Stephens</dc:creator>
    <dc:date>2008-05-07T22:35:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/545">
    <title>Re: Cannot run pull: repository is unrelated?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/545</link>
    <description>Hi,

Kurt Stephens &lt;ks-Y/RwrdNK1CnrEYzfVi2mjg&lt; at &gt;public.gmane.org&gt; writes:



Did you use Mercurial Queues to create your changes?  If so, you're
probably the first person to test this, and it may cause problems. :(

If not, could you let me know the exact list of "hg" commands you ran
since "hg clone http://fig.org/ocean/hg.cgi"?  I'll try them out here
and diagnose what the problem is.

Sorry for any inconvenience,

</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-07T18:20:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/544">
    <title>Cannot run pull: repository is unrelated?</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/544</link>
    <description> &gt; sh pull
pulling from http://fig.org/ocean/hg.cgi
searching for changes
no changes found
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
pulling from http://fig.org/ocean/mq.cgi
searching for changes
abort: repository is unrelated

What's going on here?

I have some fixes to libid I'd like to contribute.

Kurt Stephens
http://kurtstephens.com

</description>
    <dc:creator>Kurt Stephens</dc:creator>
    <dc:date>2008-05-07T15:39:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/543">
    <title>incorrect string literal quasiquotation in jolt2</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/543</link>
    <description>Hi,

The following crashes Jolt2:

(syntax test-quasiquote
  (lambda (node compiler)
    (let ((expr `(printf "hello world\n")))
      [StdOut print: expr] [StdOut cr]
      expr)))
(test-quasiquote)

The output is:

(#printf (104 101 108 108 111 32 119 111 114 108 100 10))

I can see from function/jolt2/boot.k that quasiquote doesn't handle
constant strings correctly, so they get treated as if they are a list
of integers (because they are vectors too).

I don't know how to fix this right now given the tools in the current
Jolt2 parser.  Are there any suggestions?

</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-06T00:36:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/542">
    <title>Re: Building on x86_64 Fedora 8</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/542</link>
    <description>It looks like object/boot/idc1 fails to run on x86_64 because of a garbage 
collector problem.  It works if USE_GC is commented out in 
object/boot/src/libid.c.  Otherwise, _libid_bind() fails when findKeyOrNil is 
added with this line:

  method(_vtable,   "findKeyOrNil:",      findKeyOrNil_);

On i386, the &lt;methodAt:put:with:&gt; selector is found in _libid_mcache, but on 
x86_64 it looks like some pointers get changed (maybe after _vector__grow?).


-Karl

</description>
    <dc:creator>Karl Robillard</dc:creator>
    <dc:date>2008-05-03T23:23:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/541">
    <title>Re: PipeStreams (aka. generators)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/541</link>
    <description>Hi,

"Dan Amelang" &lt;daniel.amelang-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt; writes:


Doing some research on it, Hans Boehm seems to recommend treating
coroutines as a new port of libgc to another thread library.  So,
perhaps, the right thing to do for now is create a simple NxM
threading library and adapt libgc to it.

This is something that has been on my personal "fun projects" list for
quite some time, so I wouldn't mind giving it a shot.  Now that I have
VC++ Express Edition, I can even do something that will work under
Windows.

At least any GC changes should be valuable learning for future
architecture,

</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-03T06:14:16</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/540">
    <title>Re: PipeStreams (aka. generators)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/540</link>
    <description>
But I liked the general idea of your PipeStreams. I hope the
implementation issues can be overcome, perhaps by leveraging future
COLA developments (new GC, freedom from C stack, etc.).

Dan

</description>
    <dc:creator>Dan Amelang</dc:creator>
    <dc:date>2008-05-02T23:18:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/539">
    <title>Re: PipeStreams (aka. generators)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/539</link>
    <description>Of course, that all was much too easy. :P

It turns out that changing user contexts interacts badly with the
garbage collector (I now allocate the stacks with _libid-&gt;palloc, but
swapping stacks confuses libgc).  I can probably work around it, but
for the record, the patch I posted was too naive and should not be
used.

Sorry,

</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-02T22:55:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/538">
    <title>Re: PipeStreams (aka. generators)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/538</link>
    <description>The Windows NT Kernel is Posix compliant when using MS Windows
Services for Unix, so that includes Win XP (SP 1 or later) and Vista.
I believe this happened as a result of the US Federal government
requiring that all it's PCs be POSIX compliant.

On Fri, May 2, 2008 at 8:18 AM, Andrew Gaylard &lt;ag-bdq14YP6qtRg9hUCZPvPmw&lt; at &gt;public.gmane.org&gt; wrote:



</description>
    <dc:creator>Cornelius Toole</dc:creator>
    <dc:date>2008-05-02T14:32:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/537">
    <title>Re: PipeStreams (aka. generators)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/537</link>
    <description/>
    <dc:creator>Andrew Gaylard</dc:creator>
    <dc:date>2008-05-02T13:18:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/536">
    <title>PipeStreams (aka. generators)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/536</link>
    <description>Hi all,

I created an interesting derivative of function/objects/Stream.st
called PipeStream.st.  It uses the POSIX &lt;ucontext.h&gt; functions to
implement fully deterministic coroutine-based streams whose producer
is a BlockClosure.  Any attempt to read the stream transfers control
to the producer coroutine (running on the same OS thread) where it
attempts to provide enough data to fill the request.  From the
producer's point of view, they just run to completion.

It's like other languages' "generators" feature, but without having to
do an explicit "yield".  The PipeStream machinery just detects when
you write enough objects back to it (or write a few then exit), then
resumes control in the reader.

I'm quite happy with it, and will be using it to separate my C
preprocessor into multiple pipelined parsing stages so that each stage
is independent and easier to debug.

The only downside I can see is that &lt;ucontext.h&gt; is not all that
common.  I don't know if something like it exists for Windows
(actually, NT Fiber</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-02T13:04:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/535">
    <title>Jolt2 grammar questions</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/535</link>
    <description>Hi Ian (since I think you're the only person who can answer),

I'm trying to parameterize a Jolt2 grammar so that it can vary based
on runtime function calls.  What I would like is similar functionality
to OMeta's semantic predicates.

Here's a snippet from the grammar to illustrate the situation:

   // Not necessarily the best syntax, but is chosen to mean that
   // doTrigraphs matches iff [self trigraphsEnabled] evaluates
   // to nonzero.
   doTrigraphs=? [self trigraphsEnabled]
   
   // This is a backslash trigraph.
   trigraphBs= '??/' &lt;- '$\\

   // This matches either a regular backslash, or a trigraph version
   // if [self trigraphsEnabled] evaluates to nonzero.
   backslash= '\\' | doTrigraphs trigraphBs

BTW, a somewhat related question: what are the '=&gt;' and '&lt;=' grammar
operators?  I tried understanding them, but there are no examples, and
the code was not obvious.

Thanks,

</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-02T03:36:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/534">
    <title>Re: working on a C grammar</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/534</link>
    <description>Hi,

Ian Piumarta &lt;piumarta-zY4eFNvK5D9If6P1QZMOBw&lt; at &gt;public.gmane.org&gt; writes:


I guess I'll start with CPP then.  I found a BSD-licensed preprocessor
that looks really good: mcpp.sourceforge.net

Thanks for the other pointers (and also to Robert and Aaron),

</description>
    <dc:creator>Michael FIG</dc:creator>
    <dc:date>2008-05-01T20:59:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/533">
    <title>Re: working on a C grammar</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/533</link>
    <description>
Its the C preprocessor macros that often make the semantics undecypherable 
to a machine process.

Aaron


</description>
    <dc:creator>Aaron Gray</dc:creator>
    <dc:date>2008-05-01T16:36:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/532">
    <title>Re: working on a C grammar</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/532</link>
    <description>Hi Michael,


No guarantees that left recursion has been removed correctly.  C  
grammars also admit a lot that is syntactically correct but semantic  
nonsense and that has to be eliminated in the middle of the  
compiler.  (The standard is large in part because they have to  
explain, in English, all the exceptions to the overly-permissive  
rules in their grammar.)

In my experience, parsing C is fairly easy but pre-processing real- 
world .c and .h files into something you can then parse is a nightmare.

Cheers,
Ian

</description>
    <dc:creator>Ian Piumarta</dc:creator>
    <dc:date>2008-05-01T14:50:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/531">
    <title>Re: tutorial update</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/531</link>
    <description>Hi Michael,

Am 01.05.2008 um 05:11 schrieb Michael FIG:


it's really what you'd call a maintenance update. If you have read the  
first version, this one won't give you anything new; it just gets some  
things a bit more right:

- the text on syntax definitions in Sec. 2.1 has been extended to make  
clear that they are macros only at first sight,

- the text on action parts in Sec. 2.2.2 has been corrected - there  
was a wrong detail in the description of when they are actually  
executed,

- the implementation has been slightly augmented according to a  
suggestion from Ian (lines 60-63; Sec. 2.2.3) - it's a bit simpler now  
but semantically equivalent.

That's all. :-)

With Jolt2 becoming more stable, there will be future versions based  
on that, and the update to a Jolt2 implementation will inevitably  
bring more changes in the text, as the philosophy behind things is  
changing.

Best,

Michael

</description>
    <dc:creator>Michael Haupt</dc:creator>
    <dc:date>2008-05-01T08:50:44</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/530">
    <title>Re: working on a C grammar</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.smalltalk.fonc/530</link>
    <description/>
    <dc:creator>Robert Feldt</dc:creator>
    <dc:date>2008-05-01T08:16:07</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lang.smalltalk.fonc">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lang.smalltalk.fonc</link>
  </textinput>
</rdf:RDF>
