On Sat, 25 Jul 2009, Gerhard Fiedler wrote: > sergio masci wrote: > > >>> You seem to want intrinsic functions that you can also write > >>> yourself if you want to. > >> > >> No. I've written this already. Conclusions based on this have > >> nothing to do with what I wrote. > > > > Yes Gerhard as Olin says you do seem to want intrinsic functions that > > you can also write yourself if you want to. > > > > This is not a bad thing, just incredibly difficult to achive > > efficiently. By which I mean have a modern PC capable of generating > > an executable from such a compiler in an acceptable time. > > > > By definition, intrinsic means that the compiler understands what > > these functions do and how they do it. > > I already wrote a few times that what I'm thinking are functions for > which the compiler writer knows what they do, but not necessarily how > they do it (that is, they may be implemented in a library, not > necessarily by the compiler)? Yes I understand this (and I have gone to great pains to ensure that I understand exactly what you mean). What you are describing *** ARE *** intrinsic functions because they become part of the language and are fundamental to the operation of the compiler. How they are stored on the computer if not important, how information is extracted from them to generate code is not important. The fact is the compiler knows about them and their special requirements to the point where it is able understand the interaction between these functions (you have made this a requirement). All this said - they are now intrinsic. > > > But this would still be intrinsic to the compiler because the compiler > > has a preconceived idea of what the function does and the actual source > > code for the function would not change this idea. > > Calling a function with a standard interface ("preconceived idea of what > it does") and an implementation in a library for which source code is > available "intrinsic" is against every common use of this word. No it is not. What you have done is taken an ordinary library and made it intrinsic while keeping the actual source code of the library accessable from outside the compiler. Kind of like intrinsic functions with "hooks". May I remaind you that you yourself suggested that the compiler writer "knows" what these library functions do because they themselves are defined in a standard and that this information could be used by the compiler to understand the interaction between these functions - hence "preconceived idea of what it does" (this was not some kind of derogetory remark aimed at you it was simply a statement of fact :) Part of me like this idea (alternate personality 17 :) and I'd love to take a few years to go away and play with it - but you are talking about intrinsic!!!! > Including against your own... you already said that you don't consider > the C++ function std::list::insert an intrinsic function. But it's this > type of function that I'm talking about. Yes I have already said that I do not consider 'std::list::insert' intrinsic and I still don't. The reason is simple, there is no specialised code built into the C++ compiler that looks out for *** AND *** treats 'std::list::insert' in a special way. Friendly Regards Sergio Masci -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist