On Sat, 2006-09-02 at 01:46 -0700, Erick Tryzelaar wrote:
> skaller wrote:
> > You don't count the numerical data types above as 'C stuff"?
> >
>
> Nope. If we were going to ever retarget the backend, we would need a
> couple things that are consistent, such as the integer and string types.
> Everything in std.flx should be portable across all backends; everything
> else should go in other files.
Alright. I think you should write up this policy, perhaps
in the web-site (edit in svn) or the wiki or somewhere,
perhaps even as comment in the library itself.
Note that std will still depend on the backend hackery.
I think of your idea as: Felix has two sets of semantics:
(a) Abstract semantics
(b) Representation (Concrete) semantics
The concrete semantics include meanings for the C binding
constructions, and must also specify things about the actual
C++ representations of some types.
You're basically saying 'std' should not only be
understood entirely in terms of abstract semantics,
but should be implemented that way as well.
Unfortunately, this isn't entirely possible: we need
integers and C bindings are the only way to get them.
So we have to restate the requirement that if an
implementation dependent on representation semantics
is required, it should be in the form of an explicit
coupling between the std library and the backend library.
You suggest for example:
module std {
typedef int = backend::int;
...
}
Whilst felix DOES provide features like
open,inherit, rename .. etc
to aid building new modules from old ones, it isn't
entirely clear this kind of implementation really
buys anything -- and it will slow down compilation
and raise some semantic issues about module mappings
and interfaces ("what interfaces?" you rightly cry!)
Bottom line is: in principle I agree with you, but
it isn't immediately evident how to do this properly.
I guess we could start with a policy guidelines .. but
not go too overboard doing the whole thing all at once.
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language