[Prev][Next][Index]

Re: Does LCL support subtyping?



In message <9501052307.AA06931@bambam.cs.iastate.edu.cs>, Gary Leavens writes:
>The WWW address you give is correct, but at the moment we're having some
>security problems, so it's unavilable by the WWW today.  This should be
>fixed shortly (I hope!). You can look at the manual etc by
>ftp to ftp.cs.iastate.edu in directory pub/larchc++.

	aka ftp://ftp.cs.iastate.edu/pub/larchc++

Remember: WWW is more than just HTTP!

Thanks. I read lcpp.ps.gz and found the part about significant
differences between LCL and LC++. Hmmm... LCL doesn't support <:,
and if I write LC++ specs, I can't use LCLint. Darn.

I find the comments about the daunting task of developing formal
semantics of Larch/C++ kinda funny. C++ is an unholy mess! And believe
me: the complexity of C++ that makes developing formalisms to describe
it are just a hint of the problems that show up in real-world use of C++.

The product I'm working on is a few megabytes or so of C++ code:
templates, "smart pointers" and all that jazz. You wouldn't _believe_
the problems we have whenever we encounter another C++ compiler during
porting. All the cfront based compilers do basically the same thing,
but with IBM's CSet++ and some other non-cfront based compilers, we've
done a lot of head-scratching, trial-and-error testing, reporting
bugs, posting to comp.lang.c++, poring over the ARM...

And the problems are not over when the program compiles! The actual
_run time_ behaviour of programs is different from compiler to
compiler. Some of those cases have turned out to be our fault for
relying on initialization order and other unspecified semantics, but
still...

Not only that, but it's not even _possible_ to deploy a C++ class
library in object form with header files because the different
compilers lay out virtual base classes and other wierdness
differently. We did license a C++ library, but we had to get source
and compile it on the different platforms (cuz we use different C++
compilers on different platforms. If only g++ had done templates a
while back!)

I hope C++ dies a horrible death somehow. But they just keep adding
band-aids to fix stuff.

Long live Modula-3! (now... if we can just get the runtime to fit in
640K... :-)

Dan

Daniel W. Connolly        "We believe in the interconnectedness of all things"
Software Engineer, Hal Software Systems, OLIAS project   (512) 834-9962 x5010
<connolly@hal.com>                             http://www.hal.com/%7Econnolly

Follow-Up(s): Reference(s):