comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin David Condic" <marin.condic.auntie.spam@pacemicro.com>
Subject: Re: rename missing in Text_IO
Date: Wed, 9 May 2001 10:44:51 -0400
Date: 2001-05-09T14:44:50+00:00	[thread overview]
Message-ID: <9dbl52$hd$1@nh.pace.co.uk> (raw)
In-Reply-To: uheyuzn0y.fsf@gsfc.nasa.gov

"Stephen Leake" <stephen.a.leake.1@gsfc.nasa.gov> wrote in message
news:uheyuzn0y.fsf@gsfc.nasa.gov...
> It would be interesting to hear which parts of Claw you think are "too
> thick". My nomination for that category is its use of a hidden task to
> serialize access to the GUI. On the other hand, I have not yet
> succeeded in building a multi-tasking Windex app, so I can't really
> complain!
>
Never said Claw was "too thick". What I said was that it didn't meet the
specification of being simply an Ada equivalent to the Win32api. I think
we'd both agree that Claw provides a bit more than what you would see from
Win32ada. It does a bit more than just wrap Ada-isms around the Win32api. I
don't object to that at all - far from it. I just don't think it is the
answer to having a slightly more than "thin" binding to the Win32api. (Also,
it isn't likely to end up distributed with all of the Ada/PC targeted
compilers.)

I wish I had a correct term for this kind of binding. "Thick" kind of
implies you've packaged something up to provide similar {rather than
identical} services, but in a more friendly way. "Thin" kind of implies that
it is just a set of hooks to the routines to provide absolutely identical
services from another language - right down to matching data types, etc.
There ought to be a word for a binding that provides identical services, but
smooths over the things that don't translate well from C to Ada. (A thin
binding with "software spackle"? :-) Arguably, that ought to be a "thick"
binding with something like Claw becoming a "subsystem" - it provides
similar and *extended* services.

> Windex is _not_ built on top of the Win32Ada binding, and neither is
> Claw. Part of the reason is licensing; the Win32Ada binding is
> actually copyright by Microsoft, since it was built by automatic
> translation from their C source. It is _not_ "freely distributable";
> the license terms state that you must own a Microsoft development
> environment to use Win32Ada. Windex is GMGPL.
>
Fair enough. My casual attitude towards precise writing may once again have
me in trouble! :-) Let me say this: The Ada compilers that I've seen
targeted to Windows/PCs have all come with the Win32ada bindings. I don't
know of any that don't - maybe you know of one? Hence (even if it isn't a
"standard") I could go off and develop a Spackle Binding (tm) that "withed"
the Win32ada stuff and pretty much be asured it would work any place I
needed it to.

One could develop a Spackle Binding (tm) that had in the package body all of
the same sorts of pragmas, etc. one finds in the Win32ada binding and sort
of reverse engineer the Win32api. That would probably not infringe on
anyone's copyright or license. But if Win32ada exists everywhere I'd want to
compile my stuff, is that really necessary?

> The other part of the reason is that there is lots of stuff in Win32
> that should not be used; either because it is superceded by other
> parts of Win32, or there is a better Ada way.
>
Yes - many aspects of Win32api are Morally Evil and should be avoided like
cigarettes, whisky & wild women. Still, if one wants to make a binding to
it, one ought to be thorough so that Joe Programmer who is familiar with
Win32api can find whatever he might be used to using. Tough call. At some
point you're no longer making a binding - but a subsystem. Its not a *bad*
thing to make a subsystem, but I'd probably do it in layers -the binding is
the binding and the simplification of services rides on top of that.

> I haven't worked on Windex in quite a while. I'll probably make
> another release when GNAT 3.14p comes out, but I don't anticipate much
> beyond that. I just don't seem to have the urge to write Win32 apps
> any more; I may do something for my latest toy, a Palm handheld.
>
Perhaps Windex fits the bill. I've not looked it over. The rest of it comes
down to how freely available it is for use. That starts moving from
technical questions to business & legal questions.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com
Enabling the digital revolution
e-Mail:    marin.condic@pacemicro.com
Web:      http://www.mcondic.com/






  reply	other threads:[~2001-05-09 14:44 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-04 21:47 RE: rename missing in Text_IO Beard, Frank
2001-05-07 14:13 ` Marin David Condic
2001-05-07 15:28   ` Ted Dennison
2001-05-07 16:03     ` Marin David Condic
2001-05-07 18:03       ` Ted Dennison
2001-05-07 19:00         ` Marin David Condic
2001-05-08  4:38           ` tmoran
2001-05-08  4:38           ` tmoran
2001-05-08 13:16             ` Marin David Condic
2001-05-09 13:10               ` Stephen Leake
2001-05-09 14:44                 ` Marin David Condic [this message]
2001-05-10  4:39                   ` tmoran
2001-05-08  4:38     ` tmoran
2001-05-08 13:24       ` Ted Dennison
2001-05-12  4:04   ` Randy Brukardt
  -- strict thread matches above, loose matches on Subject: below --
2001-05-09 22:56 Beard, Frank
2001-05-07 17:01 Beard, Frank
2001-05-04 21:48 Beard, Frank
2001-05-04 20:50 Beard, Frank
2001-05-04 21:08 ` Pascal Obry
2001-05-04 21:21 ` Ted Dennison
2001-05-07  8:56   ` Noam Kloos
2001-05-04 23:38 ` Larry Kilgallen
2001-05-04 23:17   ` David Starner
2001-05-08 22:03     ` Charles Hixson
2001-05-08 23:51       ` David Starner
2001-05-09 16:22         ` Charles Hixson
2001-05-09 22:04           ` Fraser Wilson
2001-05-09 22:33             ` Charles Hixson
2001-05-10 13:16             ` Ted Dennison
2001-05-04 11:04 Noam Kloos
2001-05-04 13:43 ` Ted Dennison
2001-05-04 13:53   ` Noam Kloos
2001-05-04 15:39     ` Ted Dennison
2001-05-04 14:00   ` Noam Kloos
2001-05-04 21:15     ` Florian Weimer
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox