[#18931] notes from a Ruby newbie — Ned Konz <ned@...>
Some initial impressions from a Perl/Smalltalk programmer writing his first
[#18957] Ruby and Unicode — Ned Konz <ned@...>
I haven't dug into the source yet, but it seems that Ruby ignores the fact
[#18959] Using "@" as a method name? — Laurent Julliard <Laurent.Julliard@...>
Let's start with a silly question to warm you up :-))
[#18974] Perl/Python/Ruby common backend (Perl6) — ptkwt@...1.aracnet.com (Phil Tomson)
There is a thread about using .NET's CLR as a backend for Ruby, but how
Hi,
no guile has no vm,
[#19015] Re: IDE for Ruby — Bob Follek <bfollek@...>
Tobias DiPasquale wrote:
[#19025] 1.6/net errors (stack, igneof) — Tobias Reif <tobiasreif@...>
Hi;
[#19026] YAWN Question (Your Annoying Wandering Newbie) — Matt <matt@...>
Since I have yet to find a comprehensive tutorial for CGI using Ruby, I'm still stumbling around in many respects. (I'm sure they exist in Japanese, but I haven't learned it yet... :/ )
On Thursday 02 August 2001 07:13 am, you wrote:
On Thu, 2 Aug 2001, Ned Konz wrote:
[#19043] SSL in Ruby? — hubert@... (Hubert Hung-Hsien Chang)
Just curious if Ruby library has SSL? I look around and it seems that
[#19059] QNX port — Eli Green <eli.green@...>
Greetings.
from Roland Priem on 2001-08-03 at 09:32:49:
Eli Green [mailto:eli.green@codedogs.ca] wrote:
[#19064] ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — David Alan Black <dblack@...>
On Fri, 3 Aug 2001, David Alan Black wrote:
Hello --
On Mon, 6 Aug 2001, David Alan Black wrote:
Guillaume Cottenceau wrote:
Hello --
[#19086] Re: Code Amelioration Contest (presented by Ruby Conference 2001) — "MikkelFJ" <mikkelj-anti-spam@...1.dknet.dk>
> Try to think of imaginative ways to write unattractive Ruby.
[#19091] Re: ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — pschoenb@... (Patrick Schoenbach)
David Alan Black wrote:
Hello --
A couple of questions.
[#19097] Unbuffered output — Harry Ohlsen <harryo@...>
I'm trying to write a small interactive program that reads commands and
[#19098] Endianness and integer indexing — eric@... (Eric Lee Green)
-----BEGIN PGP SIGNED MESSAGE-----
[#19125] My 1st look @ ruby: No prototypes and problem with String#gsub — stesch@... (Stefan Scholl)
My first ruby program:
"MikkelFJ" <mikkelj-anti-spam@post1.dknet.dk> writes:
[#19167] struct and $SAFE — ts <decoux@...>
[#19192] Some remarks from a nembie in Ruby — Renaud HEBERT <renaud.hebert@...>
After having read the book "Programming Ruby: The Pragmatic Programmer's
>>>>> "R" == Renaud HEBERT <renaud.hebert@alcatel.fr> writes:
Lloyd Zusman wrote:
[#19248] Ruby/Tk: how to discard excess messages — "Albert L. Wagner" <alwagner@...>
An auto-repeat key is sending additional messages while method is
[#19253] Trying to get to grips with Ruby threads — "Peter Hickman" <peterhi@...>
I am trying to get to grips with threads in Ruby and I wrote (adapted more
[#19259] ANNOUNCE: socket options library v0.1 — "Nat Pryce" <nat.pryce@...13media.com>
I would like to announce the release of Sockopt 0.1. Sockopt is a package
[#19269] Re: Perl/Python/Ruby common backend (Parrot, can Ruby play too?) — ptkwt@...1.aracnet.com (Phil Tomson)
In article <72X97.12093$9i1.972452@e420r-atl1.usenetserver.com>,
On Tuesday 07 August 2001 10:37 pm, Mathieu wrote:
At 02:37 PM 8/8/01 +0900, Mathieu Bouchard spewed forth:
Ned Konz wrote:
On Thursday 09 August 2001 02:42 pm, you wrote:
On Fri, 10 Aug 2001, Ned Konz wrote:
>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:
On Thursday 09 August 2001 11:27 pm, you wrote:
>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:
[#19272] [META] Who kills the References? — stesch@... (Stefan Scholl)
It's a bit hard to read comp.lang.ruby. Some programs (the mail
[#19282] PATCH: fixed bug in "waitfor" in net/telnet.rb — Lloyd Zusman <ljz@...>
I'm using the Net::Telnet module and I'm quite
[#19283] Help with ternary operator syntax and grammar — furufuru@... (Ryo Furue)
Hi there,
[#19297] Speaking of the ternary operator.... — David Alan Black <dblack@...>
Hello --
[#19306] Virtual list — Sean Middleditch <elanthis@...>
For starts, I'm new to Ruby still, forgive me naivette. (Is that even a word?)
[#19326] WIN32OLE — "Aleksei Guzev" <aleksei.guzev@...>
"Aleksei Guzev" <aleksei.guzev@bigfoot.com> writes:
Assigning to a constant???????????!!!!!!!!!!!!!
"Aleksei Guzev" <aleksei.guzev@bigfoot.com> writes:
Are there global constants and how they are distinguished from locals?
"Aleksei Guzev" <aleksei.guzev@bigfoot.com> writes:
[#19398] XPath... — Sean Chittenden <sean-ruby-talk@...>
Does anyone know of an XPath library for Ruby? I dug through
[#19403] Re: WIN32OLE — "Aleksei Guzev" <aleksei.guzev@...>
#Ruby 1.6.4 IRB:
[#19418] Re: Setting $_ for the current scope — Renald Buter <buter@...>
On Thu, Aug 09, 2001 at 01:41:00PM +0100, ruby-talk@ruby-lang.org wrote:
[#19420] Test — Dave Thomas <Dave@...>
[#19435] Simple Question 2 — Steve Tuckner <SAT@...>
Is there a built in way to handle conversion of hex values in strings to
[#19446] Help! I'm still confused about threading in the ML — Dave Thomas <Dave@...>
[#19451] Re: Help! I'm still confused about threadin g in the ML — "Morris, Chris" <chris.morris@...>
> Is there an Outlook option to turn on In-Reply-To or References
"Morris, Chris" <chris.morris@snelling.com> writes:
Hello --
On Fri, 10 Aug 2001, David Alan Black wrote:
[#19506] the way class variables work — David Alan Black <dblack@...>
Hello --
David Alan Black <dblack@candle.superlink.net> writes:
David Alan Black <dblack@candle.superlink.net> writes:
Hello --
Hello --
[#19517] Why not?: Assigning to self — furufuru@... (Ryo Furue)
Hi there,
On 13 Aug 2001 20:59:54 -0700, furufuru@ccsr.u-tokyo.ac.jp (Ryo Furue)
On Tuesday 14 August 2001 05:09 am, Ron Jeffries wrote:
>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:
On Tuesday 14 August 2001 07:51 am, you wrote:
>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:
On Tuesday 14 August 2001 08:27 am, you wrote:
>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:
On Tuesday 14 August 2001 09:05 am, Guy Decoux wrote:
>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:
On Tuesday 14 August 2001 09:27 am, you wrote:
>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:
On Tuesday 14 August 2001 09:45 am, you wrote:
Hi,
On Tuesday 14 August 2001 08:14 pm, matz wrote:
Hi,
On Thu, Aug 16, 2001 at 11:05:59AM +0900, Yukihiro Matsumoto wrote:
matz@ruby-lang.org (Yukihiro Matsumoto) writes:
Hi,
Just a followup at (my) current end of the thread:
"Pit Capitain" <pit@capitain.de> writes:
[#19550] Forced garbage collection — Lars Christensen <larsch@...>
From: "Lars Christensen" <larsch@cs.auc.dk>
[#19551] /.ed again — Tobias Reif <tobiasreif@...>
Ruy gets slasdotted again ;)
Interesting (and pleasing) to see that the comments
--- Joel Wilsson <siigron@sii.linuxsweden.nu> wrote:
[#19574] Why not access control for instance and class variables? — ptkwt@...1.aracnet.com (Phil Tomson)
From: ptkwt@shell1.aracnet.com (Phil Tomson)
[#19597] reading characters without waiting for carriage return — "RodZilla" <rodzilla2@...>
Greetings,
[#19604] eRuby Application Server — Lothar Scholz <llothar@...>
After working with Allaires JRUN application server i would ask if
[#19631] () overloading — Ed Sinjiashvili <edsin@...>
Hi there!
[#19641] Array.uniq(!) uses what operator ? — Martin Weber <Ephaeton@...>
[#19647] Re: eRuby Application Server — Tobias DiPasquale <anany@...>
chad fowler wrote:
[#19650] Ruby Newbie mailing list — Michael Pence <mikepence@...>
Hello all.
We had a similar discussion on the OmniWeb Objective-C mailing list not to
I appreciate your references to Objectionable-C ;-)
Michael Pence wrote:
Dave Vandervort wrote:
ptkwt@shell1.aracnet.com (Phil Tomson) writes:
[#19652] String#substr — Sean Chittenden <sean_ca_1979@...>
Perl/C/PHP have substr.... does the ruby equiv
[#19685] Compiling Ruby with cygwin and Tk support — Manuel Zabelt <ng@...>
Hello!
[#19699] class methods and optimizing — Chris Moore <thegrandbrie@...>
Does anyone know what class methods are as opposed to instance methods? Are
[#19715] and in postconditions — Joel Wilsson <siigron@...>
Hi everyone,
[#19718] General (GUI/license) questions — Ryan Tarpine <rtarpine@...>
First: Kero commented in the description of his new Ruby Agenda program
[#19745] Computer Language Shootout... — Sean Chittenden <sean@...>
I know this has shown up here before, but after the /. effect
[#19755] "new" returning nil: how to report the failure of object creation — furufuru@... (Ryo Furue)
Hi there,
stephen.hill@motorola.com (Steve Hill) wrote in message news:<c230c758.0108150708.11d81bf2@posting.google.com>...
[#19758] The GUI poll is in, and the results are surprising — Dave Thomas <Dave@...>
On Wed, 15 Aug 2001, Dave Thomas wrote:
> Please don't forget what Ruby is all about in this discussion! I think
[#19782] TCPServer#accept bug? — "Michel H.G. van de Ven" <michelv@...4.nl>
Ruby 1.6.4
[#19800] Exception handling bug? — <ale@...>
Didn't post this to the bug database, as I'm not completely sure this is a
[#19809] how to speed up hash script? — gerry@... (Gerry Wiener)
I'm in the process of writing a script that will read data from a 17MB
[#19820] Ruby GUI — <avdi@...>
Looking over the archives, it seems this very discussion came up a few months
[#19824] Ruby GUI — "Hal E. Fulton" <hal9000@...>
The concept of a new GUI is somewhat appealing,
[#19905] Keyword arguments (was GUI...) — Joseph McDonald <joe@...>
Hi,
[#19927] [ANN] Ruby Behaviors, v. 0.0.2 — David Alan Black <dblack@...>
Hello --
[#19933] SMTP authentication — Brian Marick <marick@...>
Net::SMTP#start takes either :cram_md5 or :plain. My ISP doesn't like
[#19936] CORBA Ruby mapping — Daisuke KANDA <MAP2303@...>
I agree that common classes like system exceptions, a union type, an
[#19944] RE-ENTRY: ruby Mysql for cygwin — Matthias Lampert <ml@...>
Hi, folks!
[#19960] problem understanding class relationships — Tobias Reif <tobiasreif@...>
Hi;
[#19976] How to do arbitrary super calls? — Ned Konz <ned@...>
In Smalltalk, "super" in a method represents the receiver object (the same
[#19993] pose_as — <jweirich@...>
I was reading someone commenting about Objective C yesterday. They
[#19994] Ruby/Gtk: caveats/help on use of rbbr.rb — Albert Wagner <alwagner@...>
I am re-evaluating Ruby/Gtk. I assume that the gtk-brows, talked of in the
[#20033] Ruby Article — Joshua Drake <jd.nospam@...>
Hello,
>>>>> "Joshua" == Joshua Drake <jd.nospam@commandprompt.com> writes:
[#20042] breaking out of nested loops — tromp@... (John Tromp)
I wonder what's the proper way to break out of nested loops,
>>>>> "J" == John Tromp <tromp@daisy.uwaterloo.ca> writes:
At 01:44 AM 8/21/01, you wrote:
Hi Brian,
At 07:06 AM 8/22/01, you wrote:
[#20046] [patch] block memory allocation scheme - bmalloc — Lars Christensen <larsch@...>
[#20056] Regexp for japanese characters — Slava Kravchenko <arachis@...>
Hello, everybody!
[#20102] File.stat not working? — "Roger Lipscombe" <rlipscombe@...>
#!/usr/bin/env ruby
[#20127] Another Possible RCR - Wrappers via Mixins — Stephen White <spwhite@...>
The main difference between mix-ins and multiple inheritence is (to my understanding) that parent classes do not call child code, but mix-ins do.
Hi,
Cool! I could use that.
On Thu, 23 Aug 2001, Albert Wagner wrote:
[#20135] Bruce Eckel's criticism of Ruby — Ned Konz <ned@...>
Python.org links to http://www.mindview.net/Etc/notes.html#Ruby , saying
[#20145] unfair comparison — theschof@... (Alexander Schofield)
[Note to Pythoners, I like Python (I prefer Ruby), but I do sometimes
[#20181] Re: Bruce Eckel's criticism of Ruby — "Dat Nguyen" <thucdat@...>
[#20183] ++ Operator — kamphausen@... (SKa)
Dear Community,
matz@ruby-lang.org (Yukihiro Matsumoto) writes:
Hi,
> If we really want "++", (a) is the way to go, but I don't think it's
>>>>> "S" == SKa <kamphausen@novelscience.com> writes:
ts <decoux@moulon.inra.fr> writes:
Hi,
[#20209] In Ruby 0 is true but nil is false.. or how to shoot yourself?.. — Guillaume Cottenceau <gc@...>
I have a simple Audio-CD database (using CSV format). I was writing a
[#20210] Inherit singleton method? — "Marco Guay" <mguay@...>
I'm a newbie in Ruby, exploring the language from early this summer with the
[#20225] ordered hash — Joseph McDonald <joe@...>
[#20228] ruby accessing variables it doesn't need to? — Joseph McDonald <joe@...>
[#20254] File.readline(s) — Michael Husmann <michael.husmann@...>
I am reading a 55MB ASCII file by using File.readline(s) which takes on
Hi,
Hi,
[#20280] ODBC under Debian Linux — Massimiliano Mirra <list@...>
Has anyone successfully compiled ruby-odbc under Debian (woody)? I
[#20290] Performance of Substrings — kamphausen@... (SKa)
Dear Ruby Community,
[#20291] new toy: method_var — Brian Fundakowski Feldman <green@...>
After seeing a million examples of overriding methods in classes by aliasing
[#20303] New Windows InstallShield version of Ruby — Andrew Hunt <andy@...>
"MikkelFJ" <mikkelj-anti-spam@post1.dknet.dk> writes:
> That hasn't been our experience with the Cygwin DLL. If
[#20307] Backwards language — "Sean Middleditch" <elanthis@...>
Greetings,
Sean Middleditch <elanthis@users.sourceforge.net> wrote:
[ date ] 2001/08/25 | Saturday | 04:33 AM
On 25 Aug 2001 06:45:25 +0900, John Beppu wrote:
Sean Middleditch <elanthis@users.sourceforge.net> wrote:
On 25 Aug 2001 08:32:39 +0900, Todd Gillespie wrote:
Hi Sean,
On Sat, Aug 25, 2001 at 04:33:51AM +0900, Sean Middleditch wrote:
[#20312] Re: New Windows InstallShield version of Ruby — Andrew Hunt <andy@...>
>Hey, thanks for the windows update! Including FXRuby was a good idea.
[#20337] Re: Iterators (was Re: ++ Operator) — Dave Thomas <Dave@...>
Brian Marick <marick@visibleworkings.com> writes:
[#20356] Vector graphics — "Aleksei Guzev" <aleksei.guzev@...>
Is there an open crossplatform vector-based graphics file format
[#20432] kanji size — Slava Kravchenko <arachis@...>
Hello, everybody!
[#20441] YACC & lex and Ruby — "Dat Nguyen" <thucdat@...>
[#20448] Re: Backwards language — Sean Middleditch <elanthis@...>
On 28 Aug 2001 05:44:57 +0900, Avi Bryant wrote:
[#20462] recursive lambda forms — theschof@... (Alexander Schofield)
It occurs to me that being able to create recursive lambda forms
[#20474] hml tag removal — "Thomas A. Reilly" <w3gat@...>
[#20508] Question: How to use TCPSocketServer and threads on Win32 — Ville Mattila <mulperi@...>
Hello,
[#20513] Question to the Tk/whatever GUI gurus: displaying trees — Armin Roehrl <armin@...>
Hi,
[#20516] A plea for CPAN in Ruby — "Avdi B.Grimm" <avdi@...>
I know it's bad manners to ask for some non-trivial feature without offering
[#20524] Problem with float numbers — DaVinci <bombadil@...>
Hello.
Hi,
On 29 Aug 2001 23:08:04 +0900, Yukihiro Matsumoto wrote:
[#20528] Ruby, DBI, design — steved-clr@...
Can anyone point me to example Ruby code that uses an SQL database.
[#20553] Multiple args to constructor — "Schaefer, F." <fschaef@...>
Hi again,
[#20581] RE: Relative path — "Barnett, Aaron" <aaron.barnett@...>
[#20585] Weird things with eval — Paul Brannan <pbrannan@...>
(A) If I do this:
Hello --
On Fri, 31 Aug 2001, David Alan Black wrote:
[#20588] Calling class member functions from C++ — jglueck@... (Bernhard Glk)
Hi there!
[#20594] The Rabbit — Dave Thomas <Dave@...>
[#20604] String.subst[!] RCR — "Aristarkh A Zagorodnikov" <xm@...3d.ru>
[#20614] Dynamic generation of class variables? — Renald Buter <buter@...>
Hello,
Hello --
[#20646] Iterating by links — Joel VanderWerf <vjoel@...>
[#20647] net/telnet problems — "Carl Youngblood" <cyoungbl@...>
I'm having a problem with the Net::Telnet class. Any help would be greatly
[ruby-talk:19392] Re: Perl/Python/Ruby common backend (Parrot, can Ruby play too?)
"Mathieu Bouchard" <matju@sympatico.ca> wrote in message
news:N%6c7.21330$5j7.1828908@e420r-atl1.usenetserver.com...
>
>
> (2-in-1 reply)
>
>
> On Wed, 8 Aug 2001, A Bull in the China Shop of Life wrote:
> > All this debate about Python vs Ruby is of questionable value IMO,
they're
>
> This is not a Python vs Ruby debate, it's a comparison of features for the
> sole purpose of knowing better what would need to be in a multi-language
> VM to support Ruby.
Since this is the topic, I've included a posting (for reference) that I made
to the "language-dev" group at netthink.co.uk.
<POST-BEGIN>
Mailing-List: contact language-dev-help@netthink.co.uk; run by ezmlm
Precedence: bulk
Delivered-To: mailing list language-dev@netthink.co.uk
Received: (qmail 2348 invoked from network); 7 Aug 2001 21:34:02 -0000
Received: from unknown (HELO qks.com) (157.22.131.5)
by 212.135.138.134 with SMTP; 7 Aug 2001 21:34:02 -0000
Received: from ROADWARRIOR.qks.com (157.22.131.30) by qks.com
with ESMTP (Eudora Internet Mail Server 1.3.1); Tue, 7 Aug 2001
14:42:31 -0700
Message-Id: <5.0.2.1.2.20010807131832.0350b420@mail.qks.com>
X-Sender: pulsar@mail.qks.com
X-Mailer: QUALCOMM Windows Eudora Version 5.0.2
Date: Tue, 07 Aug 2001 14:33:54 -0700
To: language-dev@netthink.co.uk
From: David Simmons <pulsar@qks.com>
Subject: Targetting the JVM/IL
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="=====================_134114666==_.ALT"
Hi All,
I'm new to this group but I have tried to review the couple hundred or so
posts that have been made so far.
A little background on me and my work...
I've been a dynamic language designer and VM architect for the last decade
or so. By training I'm actually an Electrical Engineer with specialization
in VLSI design and Digital Logic. But I long ago switched to being focused
almost exclusively on software engineering.
I've have many years of extensive experience [largely focused on Japanese]
providing globalization facilities, services, and frameworks across three
significantly different platforms [MacOS, Win32, Unix/Linux]. I served for
some time on the LI18NUX standards group.
Since 1999 I've been involved with building dynamic language services for
Microsoft's .NET platform and have pushed/pulled necessary elements from
Microsoft to make it possible to support acceptable dynamic dispatch
performance.
Of all the languages currently built for .NET my work on SmallScript
(Smalltalk) is [as far as I am aware] the only language to employ a complete
dynamic language MOP and dispatching system. It is also of note that I was a
speaker at last years PDC on .NET, and I regularly meet with and talk to
most of the other 3rd party .NET language implementors.
I've been focused on dynamic languages for a very long time. I built my
first [from scratch] scripting language implementation as an onboard
[downloadable/updatable from a PDP/bsd machine over the network] specialized
basic dialect in the late 70's are part of my work in designing and building
network packet switching, routing and debugging hardware for the NBS (NIST)
arpa-net facilities.
I've been involved and focused on scripting languages since the early 90's
where we [QKS] worked closely [as part of a universal virtual machine
effort] with Apple and Kaleida on numerous technologies including OpenDoc,
SK8, ScriptX, AppleScript, HyperTalk, etc, and to significantly lesser
degree with Dylan/MacLisp efforts.
Very little of my work has ever been published (by me) in academic journals
or publications because I've generally been too busy with business issues,
designs, implementation, or deployment. Some things can be found in various
books or on the web by searching for keywords like: QKS, Quasar, Agents,
AOS, SmalltalkAgents, STA, SmallScript. Much of this information was focused
in the MacOS community throughout the early to mid 90's and is hard to find
or access. Hopefully, over the next few years I'll get a chance to republish
material from our books/manuals and other materials I have.
===
That said, it has been my experience so far, that current .NET versions are
significantly lacking in technology to provide hi-performance execution of
scripting languages. The future versions of .NET are entirely different
question. However, .NET has some crucial technical facilities that make it
capable of supporting dynamically dispatched languages far better than Java.
But, it still seriously lags behind the performance and capabilities that
can be achieved in a VM designed to support dynamic dispatch and dynamic
languages. These comments are based directly on my work with Microsoft for
developing a Smalltalk implementation for .NET.
My most recent work includes the 4th generation design of the AOS Platform
[dynamic language] VM. AOS is an acronym for Agents Object System. Its
typical performance is about 1-2x faster than IBM's VisualAge VM, and 10-30%
faster than Cincom [ParcPlace] VisualWorks VM.
There is at least another generation of work to be done on the AOS VM before
I would consider it highly tuned. But as it stands it typically executes
code at speeds that are within 1-2X of C. More global optimizations and
extended adaptive compilation and inlining are required to go beyond this
level of performance.
Based on various Micro benchmarks or specific code examples I've seen posted
for Ruby, Python, and Perl benchmarks I can roughly rank the performance of
each of those systems for generic code operations. Ruby seems to have the
best overall performing execution, followed by Python, and then pulling in
last is Perl. Again, this is very subjective and real quantitative analysis
is lacking. Furthermore, I am sure that each language has some aspects where
that are superior ("sweet" spots) in terms of performance or expressability.
However, in the cases I've examined so far, the equivalent SmallScript code
ran at an order of magnitude (10 times) faster on my VM. Some tests were
100's or thousands of times faster on my VM. Keep in mind that Smalltalk and
hence my SmallScript examples, did not need or use any statically declared
type information.
Some of the more important samples were the collection frameworks for hashed
collections such as sets, maps (dictionaries), etc.
---
That said, my goal here is not some kind of language/vm competition/contest
[I will rapidly bow out from such situations]. The goal of my providing this
information and the point I'm trying to make is to share my knowledge and
help others understand what is possible for a dynamic language VM.
To help put some of this in perspective I need to give you a rundown of some
of the relevant features in the AOS Platform VM.
a) unified object model based on a fully dynamic MOP architecture supporting
arbitrary schema restructuring in real time. These facilities all operate
down to the per/object level. So it is efficient and straightforward to add
variables, methods, interfaces, properties to individual objects.
b) optional type system services
c) optional multi-method dispatch
d) transparent ffi marshalling [typical rates are in the 10's of millions of
calls per second].
e) first class abstract, pure, and concrete mixin interfaces.
f) first class namespace system, including dynamic selector namespaces
(scoped methods). The dynamic dispatch and binding facilities are
state-of-the-art and include many features not available in other languages.
These include many features for reflective programming,
proxy/agent/distributed techniques, aspect oriented/style programming, and
object/relational mapping.
g) first class module system to describe units of deployment, integration,
versioning, and linking [more formal than loose packages -- which are also
available]. This technology is focused on enabling dynamic modification to
complex live running systems in an engineered manner that also supports
sandbox techniques.
h) basic object property system. Allows adding/removing arbitrary groupable
sets of properties (attributes/fields) to an object.
i) pre-emptively multi-threaded with hi-performance developer definable
synchronization services and thread local state and binding mechanisms.
j) hi-performance sandbox facilities. Supporting an unlimited set of
composable sandboxes that can be designed by the developer.
k) built in object model semantics for globalization support of code-pages,
unicode, etc.
l) intrinsic language support (and jit optimization) for regular expressions
as closures.
m) the AOS Platform [VM, compilers, core frameworks] delivers/deploys as a
single shared-library file of roughly 600kb.
*) there are currently a number of language ports underway for the core AOS
Platform [which, as the website indicates, the core AOS Platform will be
free (no-licensing-fees)].
The .NET deployment mechanism is actually based on AOS Platform cross-jitter
technology which converts AOS Platform IL into .NET IL using the AOS
Platform's object model reflection services.
This means that *any* language which compiles for the AOS Platform, can have
its compiled code re-targeted for deployment, integration, or source level
debugging on .NET without ever building any DotNet specific facilities.
=====
Having said all the above, it is my observation/belief that the biggest
technical design issue for a common runtime mechanism involves the language
semantics issues of deterministic finalization. I.e., reference-counting
versus automatic-gc.
My goals are quite mixed, and I recognize that my commercial goals may be at
odds one way or another with open source views and goals of those within
this discussion group.
But, at the end of the day, I'm a hardcore fan of dynamic/scripting
languages and I have the experience/confidence to help me understand that
great strides can be achieved from where such languages are today -- i.e.,
they can be made to more than compete with the likes of Java.
I am an evangelist for pushing dynamic/scripting languages and working to
help the developer communities understand they can have all the benefits of
static languages and the flexibility, scalability, and ease of use of
dynamic languages. I believe most of you, if not all of you, share that
sentiment or desire to one degree or another?
Best Regards,
-- Dave S. [QKS]
SmallScript for the AOS & .NET Platforms
pulsar@qks.com | http://smallscript.net
1-800-296-1339 [1-650-560-4837]
<POST-END>
>
>
> On Wed, 8 Aug 2001, Piers Cawley wrote:
> > Mathieu Bouchard <matju@sympatico.ca> writes:
> > > Ruby has this thing called "mixins" that afaik is not in Python
> (unless
> > > it's quite recent) and is not in Perl.
> > You can 'sort of' do mixins with perl
> > BEGIN {
> > do "Module.pm" || die "Couldn't load module";
> > }
> > just make sure that 'Module.pm' doesn't have a package declaration. As
> > you can no doubt see from its cumbersome syntax, mixins are not
> > generally used within perl.
>
> That's way too sort-of to be called "mixins" and AFAIK offers no advantage
> over Perl's multiple inheritance. Am I right ?
>
> Anyway the issue is, in a Perl/Python/Ruby VM, mixins with Ruby-style
> inheritance is required, and so we'd have to make sure Damian's NEXT
> proposal goes through.
>
>
> matju
>
>