MiniD 2 - Tentative Release Candidate 1
davidl
davidl at 126.com
Tue Dec 9 00:58:32 PST 2008
I've learned a bit minid today.
I'm curious why foreach opApply don't use the yield instead of the current implementation?
and another curious thing is how can I serialize/deserialize minid object in minid?
any .tupleof for class available?
在 Mon, 08 Dec 2008 13:50:47 +0800,Jarrett Billingsley <jarrett.billingsley at gmail.com> 写道:
> ffs, if I don't release it now I'll _never_ release it.
>
> After over a year of work, a few drastic changes, and a completely new
> implementation, I give you: MiniD 2.
>
> http://dsource.org/projects/minid
>
> ---------------------------------
> What's new in the language?
>
> - Lots.
>
> - Several syntactic changes and additions leading to much
> cleaner-looking, terser code.
>
> - Classes and instances have been greatly improved, thanks to a
> one-year trip into the land of prototype-based objects.
>
> - More metamethods for more object customizability. In particular,
> field access and method calls can be intercepted, and there is now a
> full complement of arithmetic operator overloads (including reverse
> versions).
>
> - Weak references.
>
> - A new type which can hold instances of D classes, for use by native code.
>
> - Sixty-four (64) bit integers. What will *you* do with all those bits?
>
> - A much-expanded and improved standard library.
>
> - Much more well-defined semantics for most language constructs and operations.
>
> - A more flexible module loading system.
>
> ---------------------------------
> What's this new implementation?
>
> - It's waaaaaaaaaAAAy better than the old one. This is really the
> killer feature of MiniD 2.
>
> - It has its own garbage collector, meaning that your scripts won't
> trigger native app GC cycles (well.. much, much less often), and MiniD
> code also runs much faster.
>
> - It has a completely new API that is similar to the Lua or Squirrel APIs.
>
> - There Is One Way To Do It. The old implementation and API were
> hole-y and inconsistent. Now, you're pretty much locked into doing
> things one way, meaning much less chance for error and much less to
> learn.
>
> - Virtually anything you can do in the language, you can do in the API
> without much difficulty. The new API is much more well-rounded than
> the old one.
>
> - Performancewise, it beats the pants off of Python, though that's not
> _necessarily_ saying much. I don't know how it measures up to Lua as
> I don't have a way of measuring Lua's performance from within the
> language (so as to exclude startup and compilation times), but I get
> the impression that it's pretty close in some cases.
>
> ---------------------------------
> What do I need to compile it?
>
> - Tango, SVN revision 4048. I *told* you this was a tentative release
> candidate. I don't know if it'll work with any older/newer ones.
>
> - DMD 1.034 or newer, or equivalent. LDC seems to work as well. GDC
> does not. Sorry Mac users, go get David to work on GDC again ;)
>
> - Some kind of build tool, DSSS/rebuild or bu[il]d.
>
> - MiniD itself. Just check out the head revision of the MiniD trunk
> at http://svn.dsource.org/projects/minid/trunk.
>
> - The understanding that if you are on Linux and try to do all sorts
> of stupid fancy stuff with symbolic links and putting things in
> nonstandard directories and making directories read-only, I will not
> have any sympathy for you when you can't get D, Tango, DSSS, or MiniD
> to work correctly. The D toolchain is fragile enough as it is, please
> don't bend it.
>
> ---------------------------------
> Why am I calling this a tentative release candidate?
>
> - Some aspects of the library (THE BINDING LIBRARY, which is much
> better than MiniD 1's, and the compiler to an extent) have not been
> very heavily tested and are likely to be somewhat buggy. But I'm one
> guy with limited time and so if you could start using it and making it
> fail that'd be just great.
>
> - Some of the docs are not yet complete. The section on modules is
> not yet complete, but not a whole lot has changed there anyway. The
> DDocs for the individual API modules are basically complete but are
> somewhat lacking in more complex examples, which is what the tutorials
> are supposed to be for.
>
> - I haven't compiled it on Linux recently. Yeah, I should do that
> more often. But it worked last month or so.
>
> ---------------------------------
> What is needed before an "official" release is made?
>
> - Time, something I don't have a lot of this week. After that, I have
> three weeks of bliss.
>
> - Testing.
>
> - Finished docs.
>
> - Maybe a couple more additions/changes.
>
> ---------------------------------
> Anything else?
>
> - Mudkip.
>
More information about the Digitalmars-d-announce
mailing list