<?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 about="http://permalink.gmane.org/gmane.comp.lang.slate.general">
    <title>gmane.comp.lang.slate.general</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general</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.slate.general/1521"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1520"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1519"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1518"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1517"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1516"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1515"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1514"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1513"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1512"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1511"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1510"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1509"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1508"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1507"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1506"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1505"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1504"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1503"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lang.slate.general/1502"/>
      </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.slate.general/1521">
    <title>towards a 64 bit vm / image</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1521</link>
    <description>
I put together some patches that redo the pidgin type system to use
traits instead of rules, use sizeof instead of hard coded
bit/byte/word sizes, and write slate images based on a given bitsize
instead of assuming 32 bits. I'm doing this because i want to run
slate on my amd64 system. Unfortunately it's broken now and nothing
works, but hopefully I'll fix that in the next few years if I'm lucky.
It includes some other stuff I think.

</description>
    <dc:creator>Timmy Douglas</dc:creator>
    <dc:date>2007-07-10T03:25:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1520">
    <title>slate pidgin woes</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1520</link>
    <description>

I'm trying to make some changes to the slate pidgin code to help make
porting the VM to my 64 bit machine easier. I probably did a few too
many search/replaces but basically I'm getting this error:


Generating function PSObject_isImmutable

Generating function PSObject_restrictsDelegation

Generating function PSObject_addSlotNamed_valued_at_

The following condition was signaled:
Error: A method translation wasn't found for copyBytes:into:.

The following restarts are available:
0)      Abort evaluation of expression
1)      Quit Slate

Enter 'help.' for instructions.
Debug [0..1]: up.
[tryHandlers]


the method translation searcher is:

g&lt; at &gt;(C SimpleGenerator traits) generateCFor: selector&lt; at &gt;(Symbol traits) on: arguments
[...]

g: ("SimpleGenerator" currentColumn: 0. currentLine: 0. level: 0. columnsPerLine: 1000.
    original: ("Stream" ...). inlining: True. asserting: False. verbose: False. useSymbolicConstants: True.
    useRightShiftForDivide: True. generateDeadCode: False. methodCalls: {"Bag" ...}.
    </description>
    <dc:creator>Timmy Douglas</dc:creator>
    <dc:date>2007-06-27T02:34:59</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1519">
    <title>darcs patch: Fixed bitShift: for BigIntegers for the case of 0.</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1519</link>
    <description>Sun Jun 17 17:25:23 PDT 2007  BrianTRice&lt; at &gt;gmail.com
  * Fixed bitShift: for BigIntegers for the case of 0.
</description>
    <dc:creator>BrianTRice&lt; at &gt;gmail.com</dc:creator>
    <dc:date>2007-06-18T00:26:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1518">
    <title>Re: Slate on a message-passing machine</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1518</link>
    <description>

Am 15.06.2007 um 22:46 schrieb Jecel Assumpcao Jr:


I wonder wether you are aware of Albert/Pepsi/Cola by Ian Piumarta?

http://www.piumarta.com/pepsi
http://www.piumarta.com/papers


Hope this is useful to you,


Stefan Plantikow



PS: Sorry, I didn't keep the original message so I had to reply to  
this one.


</description>
    <dc:creator>Stefan Plantikow</dc:creator>
    <dc:date>2007-06-16T11:32:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1517">
    <title>Re: Slate on a message-passing machine</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1517</link>
    <description>Matthew Fulmer wrote on Sat, 2 Jun 2007 09:19:18 -0700

It is a good idea to aim for the most general case if possible. It is
also nice to have statistics which tell you what the most common case is
and how important it is to the overall performance of the system.


You need to add the concept of "role", but other than that RNA would be
suitable for Slate. A message send would involve visiting several
different objects (also the case for inheritance in a single dispatch
version) but I like to think of that as several phases of a single
message send rather than extra messages, though both interpretations are
equally valid.
 

The case where I think Slate would be equivalent to Smalltalk/Self is
when an ancestor of the first argument implements the method with all of
the other arguments having NoRole. But it has been a while and I am
probably remembering the Slate terms wrong.


Slate's dispatch is a little less symmetric than it would seem at first
glance: there is a left-to-right bias. Another "quirk" is tha</description>
    <dc:creator>Jecel Assumpcao Jr</dc:creator>
    <dc:date>2007-06-15T20:46:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1516">
    <title>64 bit slate VM images</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1516</link>
    <description>
I just upgraded my computer to a dual core amd64 machine. I'd like to
use this machine to work on slate, but I can't find any 64 bit images
and I'm not sure how I could use the initial lisp sources to generate
a new kernel image. Anyone have any ideas or experience here?

I'd like to stay away from installing any 32 bit programs on this
computer. Thanks.



</description>
    <dc:creator>Timmy Douglas</dc:creator>
    <dc:date>2007-06-09T22:28:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1515">
    <title>Slate on a message-passing machine</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1515</link>
    <description>I sent this four days ago, but it never yet arrived

For my Master's thesis, I will probably be working on a hardware
architecture for efficiently executing object-oriented systems.
Slate is definitely the most generic of these types of systems,
and so I believe I should make the hardware directly applicable
to slate, since all other object oriented semantics are a subset
of those provided by Slate.

For an example of the kind of hardware I am talking about,
consider Jecel's Ring Network Architecture:
http://www.merlintec.com:8080/hardware/19 . According to the
example, the RNA architecture can send, lookup, and execute a
message that is installed on a single receiver without software
assistance. I wonder if this design can accommodate some, if not
all, of the multi-dispatched message sends in slate. In other
words, is there (hopefully large) a subset of slate
message-passing semantics that can be resolved without resorting
to sending extra messages?

I hazard to guess that a subset of slate does have the sa</description>
    <dc:creator>Matthew Fulmer</dc:creator>
    <dc:date>2007-06-06T17:32:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1514">
    <title>Slate on a message-passing machine</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1514</link>
    <description>For my Master's thesis, I will probably be working on a hardware
architecture for efficiently executing object-oriented systems.
Slate is definitely the most generic of these types of systems,
and so I believe I should make the hardware directly applicable
to slate, since all other object oriented semantics are a subset
of those provided by Slate.

For an example of the kind of hardware I am talking about,
consider Jecel's Ring Network Architecture:
http://www.merlintec.com:8080/hardware/19 . According to the
example, the RNA architecture can send, lookup, and execute a
message that is installed on a single receiver without software
assistance. I wonder if this design can accommodate some, if not
all, of the multi-dispatched message sends in slate. In other
words, is there (hopefully large) a subset of slate
message-passing semantics that can be resolved without resorting
to sending extra messages?

I hazard to guess that a subset of slate does have the same
semantics as the operation natively handled by RNA</description>
    <dc:creator>Matthew Fulmer</dc:creator>
    <dc:date>2007-06-02T16:19:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1513">
    <title>slate bootstrap bug status report</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1513</link>
    <description>
I've been looking into a bug in the bootstrap process.

After you make a new image with: Image bootstrapBasedOn: VM new, slate
tries to load that image, and that's where it fails.  The image file
is made by parsing a lot of slate files which are defined in
build.slate and then concatenating them into one function that
initializes a normal slate environment. Since some of the functions
used in earlier files depend on functions fully defined in later
files, pre-bootstrap.slate is loaded first with some common functions
defined in simpler terms to keep things from crashing because of
missing dependancies.

However, somewhere in numeric.slate, things go wrong.
The first define:

numerics define: #Comparable &amp;parents: {Cloneable}.

causes the Cloneable object to be transformed into a Compareable
object, and things go spiraling out of control when Float is defined,
which somehow causes the #traits3 = #traitsWindow to invoke
CoercibleNumberMixin's specializer coerceTo (because Symbol's
inheritance graph has change</description>
    <dc:creator>Timmy Douglas</dc:creator>
    <dc:date>2007-05-14T16:19:59</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1512">
    <title>Re: Some notes concening VM :)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1512</link>
    <description>
as i see the CompiledMethod structure holds a sourceTree object, which
i suppose holds exact answers on what literals is selectors and what
is symbols or something else.
Im just against sacrificing the runtime model simplicity in favor of
analysis, which can be simply accessible through other means.


My approach is simple: minimalize number of operations required to
evaluate single opcode instruction.The less we have - the more we
gain.



Using stack to run both CPU and Slate bytecode is dangerous. In case
of exception it may be too hard to unwind stack to some safe point. If
you know how this can be safely done, tell me. I don't think that its
impossible, it just demands some research.

Also GC at mark phase must know the set of its root objects , this
means that it  must scan stack to determine roots.. And it can be too
hard and expensive to scan stack where real objects mixed with foreign
data.
But! If we use dual stack this can be quite possible. Because each
stack frame have information of its starti</description>
    <dc:creator>sig</dc:creator>
    <dc:date>2007-04-30T04:50:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1511">
    <title>Re: Some notes concening VM :)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1511</link>
    <description>
On Apr 28, 2007, at 7:25 PM, sig wrote:


Well, I can say that for introspection, it is easier to tell what  
selectors a method sends if they are in a separate array, so easier  
to track down a call graph without referring to source code. Granted,  
in the general case, plenty of those literal Symbols are also used by  
sendTo: and variants, or Symbols can be generated at run-time by the  
method, but this makes the base case easier. Also granted, just doing  
"method literals select: [| :each | each is: Symbol]" isn't that much  
harder (although is: is kind of expensive in aggregate). So I  
wouldn't fight much for this one.

Perhaps the only other defense is how well the method format scales  
up, that is, how does method size grow with source length. The truly  
anomalous case is the bootstrap method... in an image bootstrap, what  
happens is that the Slate system compiles all the core source files'  
contents into a *single* bytecode method which is then marked as the  
starting point for kernel ima</description>
    <dc:creator>Brian Rice</dc:creator>
    <dc:date>2007-04-29T17:53:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1510">
    <title>Some notes concening VM :)</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1510</link>
    <description>Hello , i'm new here and have particular interests in developping a Slate VM.
I didn't decided yet if i will participate in this project in nearest
future, so i just want to discuss some of my ideas with you for now.

Concerning OMM (object memory model) and stack organization.
I'm refer to tables which you can see on this page:
http://slate.tunes.org/doc/mobius/

5.1.1 stack format.

Table 3. Block format.

I see little reason why selectors must be kept apart from literals.
The only place i see where they handled differently is at
interpretation stage to use different opcode 'Load Selector'.
If there's no extra processing except that, we can merge selectors
with literals slot and remove an opcode 'Load Selector'.

This is the code that shows that they handled in same manner..

static INLINE void PSInterpreter_loadLiteral_(struct Interpreter * i,
unsigned long int n)
{
  PSInterpreter_stackPush_(i, (((i -&gt; method) -&gt; literals) -&gt; elements)[n]);
}

static INLINE void PSInterpreter_loadSelector_(struct Interpr</description>
    <dc:creator>sig</dc:creator>
    <dc:date>2007-04-29T02:25:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1509">
    <title>Re: Long-overdue updates</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1509</link>
    <description>Quick update:

On Apr 7, 2007, at 5:40 PM, Brian Rice wrote:


I'm still working on this with Tim Douglas. We've at least made  
reasonable progress and re-learned some forgotten things. There's a  
new "stable" repository on the main site which may or may not be  
temporary, and isn't fully stable yet anyway (there seems to be one  
more tweak to make to be ready-to-go).

--
-Brian
http://briantrice.com


</description>
    <dc:creator>Brian Rice</dc:creator>
    <dc:date>2007-04-24T14:37:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1508">
    <title>Re: Long-overdue updates</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1508</link>
    <description>
On Apr 8, 2007, at 6:15 AM, Fredrik Johansson wrote:


Slate is so slow right now due to heavy message-sending and no  
optimizations for it that I'll need to sort out how to limit CPU  
loading to do that. Maybe if I hosted it on my home server...

--
-Brian
http://briantrice.com


</description>
    <dc:creator>Brian Rice</dc:creator>
    <dc:date>2007-04-08T19:57:14</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1507">
    <title>Re: Long-overdue updates</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1507</link>
    <description>
On Apr 7, 2007, at 9:34 PM, Sam Phillips wrote:


There were submitted patches which I did not sufficiently vet before  
putting into the alpha branch. As soon as I've sorted out what all  
those are, it'll be set up right. I'm sorry about the trouble; I just  
haven't felt motivated for a while.

--
-Brian
http://briantrice.com


</description>
    <dc:creator>Brian Rice</dc:creator>
    <dc:date>2007-04-08T19:55:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1506">
    <title>Re: UI demo performance, GC</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1506</link>
    <description>
On Apr 7, 2007, at 7:50 PM, Timmy Douglas wrote:


Most projects have been for work. I've been doing contract work on  
two-month time periods for a *wide* variety of subjects. Some of  
these spawned for-fun projects, like some work for handheld UIs using  
Squeak (after an embedded systems prototyping project).

The system I'm currently working on may be an open-source application  
by July, but it's not a technically-innovative project, just a good  
open-government framework.

--
-Brian
http://briantrice.com


</description>
    <dc:creator>Brian Rice</dc:creator>
    <dc:date>2007-04-08T19:51:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1505">
    <title>Re: Long-overdue updates</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1505</link>
    <description>
A web-based interactive interpreter (like http://tryruby.hobix.com/)
would be a nice feature.

Fredrik


</description>
    <dc:creator>Fredrik Johansson</dc:creator>
    <dc:date>2007-04-08T13:15:00</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1504">
    <title>Re: Long-overdue updates</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1504</link>
    <description>
This in itself is great news for me.  Throughout the past 6 months (off and on)
I've been attempting to tweak my build environment in various small ways just
to get it to bootstrap from a "pure" alpha branch check out.

Cheers,
Sam


</description>
    <dc:creator>Sam Phillips</dc:creator>
    <dc:date>2007-04-08T04:34:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1503">
    <title>Re: UI demo performance, GC</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1503</link>
    <description>

work projects or for-fun projects?


Hmm, I might have agreed with Lee there but he could have helped Tom
more.


</description>
    <dc:creator>Timmy Douglas</dc:creator>
    <dc:date>2007-04-08T02:50:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1502">
    <title>Long-overdue updates</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1502</link>
    <description>Hello all,

I'd like to revive the Slate project from dormancy in the last very  
quiet year, and would just like everyone to know that major overhauls  
of the project or code are totally acceptable if it means making it  
viable again. Most importantly, run-time improvements for memory  
management (generational GC, weak pointers, or manual memory  
management support) and the VM (threaded-code vs. bytecode, and most  
importantly, dynamic method inlining). Also, if someone wants to just  
take the reins and go change things relatively drastically, I will  
support that.

I've fixed up the main site homepage to correctly describe what we  
want to have environment-wise, compared to Self/Strongtalk: same  
optimizations, but self-hosted and in a simpler architecture. I've  
also hopefully more accurately described the current state of the  
project.

I'm attempting to get the alpha repository to run all build targets  
without end-user tweaking. I'll set up some automation so that I can  
track this down wi</description>
    <dc:creator>Brian Rice</dc:creator>
    <dc:date>2007-04-08T00:40:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lang.slate.general/1501">
    <title>Re: UI demo performance, GC</title>
    <link>http://permalink.gmane.org/gmane.comp.lang.slate.general/1501</link>
    <description>
On Apr 7, 2007, at 12:32 PM, Timmy Douglas wrote:


That's a simplified overview, yes.


That's correct.


I'm not sure what to advise at this point. I've got my attention on a  
lot of different projects these days and not much in Slate.

A vaguely relevant email found via Googling:
http://bespin.org/pipermail/slate/2005-January/001032.html

I've decided to put enough effort into Slate that random interested  
people can try it out and contribute. I'll detail what I do in a  
separate email thread.

--
-Brian
http://briantrice.com


</description>
    <dc:creator>Brian Rice</dc:creator>
    <dc:date>2007-04-08T00:28:07</dc:date>
  </item>
  <textinput about="http://search.gmane.org/?group=$group=gmane.comp.lang.slate.general">
    <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.slate.general</link>
  </textinput>
</rdf:RDF>
