Introducing Huemul

Guillermo Adrián Molina guille at losmolina.com.ar
Wed May 23 19:07:12 UTC 2007


Yes, I would like such a system too.
But right now, Huemul is very far away from that.
Huemul's core is still in C. To translate it to ST, I would need your
compiler.
That is why I asked you about it. Klaus suggested that it would be
interesting to use it, just the way you want.

I am getting close to a Huemul release that doesn't need Squeak. When that
is done. I will finally release source code, for anyone to play with it.

Cheers, Guille

PS: May be the example about changing SmallInts behavior would be a bit
difficult to implement. Not the part of getting 0 or 1 tagged arithmetic,
that part would be easy to implement for both behaviors. The problem is
the way you access the other objects. It is much more difficult to access
an oop with a 1 tagged int system, than a 0 tagged one. Believe me, the
hardest part of implementing 0 tagged wasn't the arithmetic part, at
least, that was my experience with Huemul. But apart from that, I got the
idea behind the example, and I agree with you.

> Good! Your reply shows me that i may not vorry about this.
>
> Then i would ask you about design of your VM architecture.
> Its better to start from a clean view, that everything in VM could be
> changed at some point.
> And changed by programmer using smalltalk, not C or other external tools.
> I mean, i want a truly flexible system.
> I want to be able the smalltalk VM to rebuild self from scratch
> (producing new VM executable) without using C complier/e.t.c.
> And be able to change any low level primitives in running VM.
> As example - let programmer to decide, how to tag smallintegers , with
> 0 or with 1 ,
> and make this as easy as clicking a single button, just by changing a
> single line of code in single place.
> This will open a wide range perspective, how programmer can experiment
> with VM, how he can add or change its core functionality and test it.
> Another example - suppose we want to run our VM/image on different
> platform. All we need is a hooks (like special binary format,
> accessing to kernel function e.t.c), provided by that platform and
> assembler support from Exupery to generate opcodes suitable for
> platform CPU. The we generate a small bootstrap executable, which then
> can be used for loading image in new platform, and providing a
> bootstrapping mechanism for recompiling a core VM methods contained in
> your image.
> So, you can keep any low-level VM code in your image and be able to
> run it anywhere without dependancy from external tools like C compiler
> or linker e.t.c.
>
> On 23/05/07, Guillermo Adrián Molina <guille at losmolina.com.ar> wrote:
>>
>> > great job.
>> Thank you very much.
>>
>> > I'm just wondering, why its not a part of squeak :)
>>
>> Well, that's Bryce job :-)
>> I mean. Exupery will be part of Squeak one day (a very important one).
>> But Exupery is facing with the fact that most Squeak's internals can't
>> be
>> changed.
>> I have the ability to change what ever I want in Huemul. An example,
>> Bryce
>> suggested 0 tagged SmallInts. I was using 1 tagged, changed that in a
>> week, then Huemul got faster. The fact is that I am really into learning
>> things. I didn't know how to implement 0 tagged int. Thanks to Klaus (a
>> member of this list), I was able to do it.
>> That kind of reaction is more difficult in Squeak.
>>
>> > At some day i thought, why i want to reinvent the wheel, while there's
>> > already a good and working smalltalk implementation with reach set of
>> > projects/features.
>>
>> I completely agree with you on this matters, I will try to make Huemul
>> compatible with most of them.
>>
>> > And i decided to join squeak community, and asking you to do the same.
>> > You can benefit from others works, while doing your part.
>>
>> Believe me, I use Squeak.
>> There is another thing. Huemul is a Linux X86-32 application. Squeak
>> images run without modification on lots of platforms. It would be very
>> difficult to do that with Huemul. I think the target is different.
>>
>> > For example: i know a good guy 'gulik' on IRC who is already doing a
>> > namespaces. So better to help him, rather than implement own.
>> > And there's many other areas which intersects with your goals, like
>> > HTML, GUI, Dynamic class loading e.t.c.
>> > I think you just need to focus on narrow area - making a good and fast
>> > VM, and then just share your code with others and reuse their code for
>> > own matters.
>> > Don't think that i want to offend you in this way, i'm just thinking
>> > it would be better for you as well as for community.
>> >
>>
>> Don't worry. I asked you for advise. Everybody is welcome.
>>
>> Cheers, Guille
>>
>>
>>
>> _______________________________________________
>> Exupery mailing list
>> Exupery at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery
>>
> _______________________________________________
> Exupery mailing list
> Exupery at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery
>




More information about the Exupery mailing list