A mathematician is a machine for turning coffee into theorems.
I am doing a startup!
Cross-browser testing from your browser!
I have written my fourth book!
Be faster than Larry Wall in the shell!
You're replying to a comment by fulano.
The way I see it is that there are two orthogonal axes here: polymorphism kind (ad-hoc vs parametric), and mechanism kind (dynamic vs static).
In parametric polymorphism the code works with an unlimited set of (variable, parametrized) types, and the behaviour is essentially identical for all of those types.
Contrast this with ad-hoc polymorphism, where there is a limited, enumerated set of types which are usable in the context, and the behaviour of the code varies as those types change.
On the other axis, dynamic vs static refers to whether the mechanisms which implement the polymorphism are run-time or compile-times ones.
In C++ this leads us to the following classifications:
Subclassing: dynamic, ad-hoc (NB it's only dynamic in the case of virtual functions)
Templates: static, parametric
Overloading: static, ad-hoc
(Can't think of a built-in, dynamic, parametric polymorphism in C++.)
Introduce template specialization, and you start mixing in ad-hoc features into the parametric polymorphism.
I don't really think that it is meaningful to think of casting as a kind of polymorphism.
(why do I need your e-mail?)
It would be nice if you left your e-mail address. Sometimes I want to send a private message, or just thank for the great comment. Having your e-mail really helps.
I will never ever spam you.
(Your twitter handle, if you have one.)
* use <pre>...</pre> to insert a plain code snippet.
* use <pre lang="lang">...</pre> to insert a syntax highlighted code snippet.
For example, <pre lang="python">...</pre> will insert Python highlighted code.
* use <code>...</code> to highlight a variable or a single shell command.
* use <a href="url" nospam>title</a> to insert links.
<a href="url" nospam>title</a>
* use other HTML tags, such as, <b>, <i>, <blockquote>, <sup>, <sub> for text formatting.
Type the word "cdrom_224": (just to make sure you're a human)
Please preview the comment before submitting to make sure it's OK.
Peter Krumins' blog about programming, hacking, software reuse, software ideas, computer security, browserling, google and technology.
Reach me at:
Or meet me on:
Subscribe through an RSS feed:
(what is rss?)
Subscribe through email:
Enter your email address:
Delivered by FeedBurner
I love to read science books. They make my day and I get ideas for awesome blog posts, such as Busy Beaver, On Functors, Recursive Regular Expressions and many others.
Take a look at my Amazon wish list, if you're curious about what I have planned reading next, and want to surprise me. :)
See all top articles
See all downloads
See more detailed list of recent articles
See more detailed category information
See more detailed list of all articles