IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Versions peresnt during packaging?
Could we just assume that versions present when the package was created are the ones we need? A bit of a hack, but would work, I think.
New No
With static typing you have to declare types at compile time from ones you have available to you. No ambiguity is possible.

With dynamic typing at compile time you may have multiple versions of the same library and no way to know that a given module will ever call that library. This is ambiguity that cannot be detected then, and cannot be adequately resolved at runtime.

Oh, you can declare a rule for resolving it, such as "last one linked wins". But now if someone you link later decides to link in your library, you get hosed. This is dll hell sneaking back in the back door.

Cheers,
Ben
New To do library versioning dynamically...
...you need a feature called selector namespaces. Dave Simmons' Smallscript language has had them for a few years, but it's being added to the new Javascript 2.0 standard as well. You can find Waldemar Horwat's LL1 presentation on it at:

[link|http://ll1.mit.edu/horwat.ppt|[link|http://ll1.mit.edu/horwat.ppt|http://ll1.mit.edu/horwat.ppt]]

Here's the rationale from the JS 2.0 spec:

[link|http://www.mozilla.org/js/language/js20/rationale/versioning.html|[link|http://www.mozilla.org/js/language/js20/rationale/versioning.html|http://www.mozilla....sioning.html]]

Incidentally, I met Waldemar Horwat, and discovered how he is managing the Javascript standardization effort. He wrote a formal semantics for JS, and then wrote a program that uses the semantics as an interpreter. Then, whenever someone requests a new feature, he adds it and reports the problems and inconsistencies it causes. Apparently this quells a lot of the bogus feature-creep pressure. This is the most cynically pragmatic use of formal methods I've ever seen, and is IMO totally brilliant. :) (He also automatically generates the standard from the formal semantics, too!)

I think Javascript 2.0 stands a very good chance of becoming a language I can actually respect -- the people designing it are doing an excellent job so far. It's more complex than I like, but still remarkably clean.
New Huh, interesting
That approach does help. I don't think it is usable for what .NET wants to do, but it is an interesting approach.

Why not usable?

Well two cases. The first is that library authors sometimes make backwards incompatible changes. A functions behaviour changes from one release to the next. Now just knowing that you have only the right functions is not enough, you also want to be sure you have the right implementation. (I think this is a freedom which, once it is available, many library authors will want to take advantage of.)

The second case is more extreme. .NET will protect you against the situation where two people independently decided to write CoolModule and they independently created functions with the same names (like new) that do somewhat different things. Now no amount of internal management within the module will get things right since the authors cannot (not knowing of each other) cooperate.

For their goal, I think that .NET made the only reasonable technical decision. I am ambivalent about the goal, and hostile to their mismarketing of the result, but I don't see a better answer within that framework.

Cheers,
Ben
     Good link on .NET - (ben_tilly) - (27)
         Just confirms it-who couldn't figure as much 1 or 2 yrs ago? -NT - (CRConrad)
         Stack-based security - (admin)
         A different .NET link, makes me sick - (bluke) - (3)
             Some get to be sharks... - (ben_tilly)
             Blink blink - (wharris2)
             Dunno if he really believes it, but he has a reason to gush - (CRConrad)
         .NET Visual Studio - (tuberculosis) - (1)
             ...has at least one security-related compiler bug already - (CRConrad)
         Sounds about like I expected - (tonytib) - (8)
             Something nasty that I just realized (oops, I was wrong) - (ben_tilly) - (5)
                 Not sure you are right about the linking part. - (a6l6e6x) - (4)
                     Getting interfaces right - (wharris2) - (2)
                         When you're innovating at internet speed,... - (a6l6e6x) - (1)
                             I know the sign, and I endorse it :=) -NT - (wharris2)
                     D'oh - (ben_tilly)
             Re: Side note for Ben - (a6l6e6x) - (1)
                 You have to understand the context - (tonytib)
         I would miss dynamic typing. - (static) - (9)
             Take your pick - (ben_tilly) - (8)
                 Please, sir... - (static) - (7)
                     Very simple - (ben_tilly) - (6)
                         Versions peresnt during packaging? - (Arkadiy) - (3)
                             No - (ben_tilly) - (2)
                                 To do library versioning dynamically... - (neelk) - (1)
                                     Huh, interesting - (ben_tilly)
                         Yes, it makes sense now. - (static)
                         Specify prefered libraries up front - (tablizer)

"The professor in a thong"?
52 ms