"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Thursday, August 12, 2004

Courtesy Implementations

Martin Fowler discusses Courtesy Implementations in Java-like languages. (Oddly he uses Ruby, which is capable of the solution presented in Smalltalk below.) These are more easily done in languages that trust you to extend the "system" classes. Moreover...

What if the Box can contain other kinds of objects that don't inherit from Node?

Object>>elephantCount
    "This is only installed in your boxed elephant application."
    ^0

Elephant>>elephantCount
    ^1

Box>>elephantCount
    ^children inject: 0 into: [ :count :child | count + child elephantCount]

Wednesday, August 11, 2004

May the best VM win?

A good deal more information on pycore, the Python implemented in VisualWorks Smalltalk. The good news is based on a fairly simple implementation, not on the performance-oriented ideas still in design. So is the race on for comparing the performance of pycore and IronPython? IronPython is more complete, but performance-wise, pycore is showing more potential at this point.

Quoting from the pycore item...

The interpreter is currently complete, except for 'exec'; the simple translator is substantially behind; and the optimized translator is only at the design stage. Nevertheless, some Python programs run faster even with the pycore simple translator than with CPython, for example:

  • Recursive fibonacci function, 9x faster
  • Iterating over a large list of integers, 5x faster
  • Creating a list element-by-element, 2x faster
  • Accessing an attribute by calling a method, 2.5x faster

Not "what", "water"

And Bill is an enzyme, while I am water... Water
You are water. You're not really organic; you're
neither acidic nor basic, yet you're an acid
and a base at the same time. You're strong
willed and opinionated, but relaxed and ready
to flow. So while you often seem worthless,
without you, everything would just not work.
People should definitely drink more of you
every day.

Which Biological Molecule Are You?
brought to you by Quizilla

Mmm

I'll take just the Bailey's and the Kahlua.

Why...

Why Societies Need Dissent

How *much* hippie?

Blaine is 34% hippie, but with pride...

I AM 55% HIPPIE!
55% HIPPIE
I am not a child of the 60’s but my heart is true to the cause, man. I realize that being a hippie is not just bell bottoms and tie-dye. It is also about the drugs and smelling bad, too!

Tuesday, August 10, 2004

Clearcutting in search of the truth

The Guardian...

In an interview with the Associated Press, McCain called the ad "dishonest and dishonorable." Asked if the White House was behind it, McCain said: "I hope not, but I don't know. But I think the Bush campaign should specifically condemn the ad."

White House spokesman Scott McClellan declined to do so and instead criticized the financing of the ad, saying the president "deplores all the unregulated soft-money activity." McClellan said the Bush campaign had nothing to do with the ad or the group behind it. "We have not and we will not question Kerry's service in Vietnam," he said.

Jim Rassmann, an Army veteran who was saved by Kerry, said there were only six crewmates who served with Kerry on his boat. Five support his candidacy and one is deceased.

Eschew Special Case Languages

Another example of languages with special cases causing conflicts.

Another reason "constructors" should just be a regular message sent to a regular object. You already understand the simple, regular rules...

In the Smalltalk language, everything is an object. This includes not only numbers and all data structures, but even classes, methods, pieces of code within a method (blocks or closures), stack frames (contexts), etc. Even if and while structures are implemented as methods sent to particular objects.

Monday, August 09, 2004

YMMV

The Eclipse IDE makes language choice irrelevant?

I'm dubious. I've not used Eclipse in depth, or in a year or so, but I think this may be overstated unless Eclipse is using Java as a target notation for a more expressive source language!

Some kind of a showdown: But what kind?

I am not exactly sure what Jon is asking for in his Showdown at the VM Corral.

What I think we need is a way to connect lightweight processes from multiple runtimes and distributed runtimes as easily (and simultaneously as *robustly*) as lightweight processes can be connected in Erlang.

We need to think less about the VM (and even less than that about the OS) and more about (sometimes distributed) interprocess communication. But we need to do this without the heavy burden of the WS-* ice field.

Sunday, August 08, 2004

Python in even more places...

Bill lists the platforms Python runs on.

But Python is also at least embryonic on the PLT Scheme platform and Peter Deutsch, ACM Fellow and one of the best VM engineers on the planet, is leading the pycore effort to get Python running on VisualWorks Smalltalk and perhaps Squeak.

Apparently pycore has a small number of tests running significantly faster than CPython.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.