There is an arrow which is a dot so you can use that and use the \arrow syntax. You need to load the arrows library to make use of this.
\documentclass{scrartcl}
%\url{http://tex.stackexchange.com/q/56347/86}
\usepackage{tikz}
\usetikzlibrary{arrows,decorations.markings}
\begin{document}
\tikzset{->-/.style={decoration={
markings,
mark=at position #1 with {\arrow{>}}},postaction={decorate}}}
\tikzset{-dot-/.style={decoration={
markings,
mark=at position #1 with {\arrow{*}}},postaction={decorate}}}
\begin{tikzpicture}
%\fill (2,2) circle (2pt);
\draw[->-=.5] (0,0) to [bend left] (2,4);
\draw[-dot-=.8] (0,0) to [bend right] (2,4);
\end{tikzpicture}
\end{document}
With a little hacking (not really recommended), this can be set up to an augmented arrow specification. Recall that putting -> in the optional argument to, say, a \draw command installs the arrow > at the end. By modifying the code for this, we can make it so that -*- puts a dot in the middle, or at some specified point along the curve.
\documentclass{scrartcl}
%\url{http://tex.stackexchange.com/q/56347/86}
\usepackage{tikz}
\usetikzlibrary{arrows,decorations.markings}
\makeatletter
\def\tikz@@processarrows#1-#2\@nil{%
\expandafter\ifx\csname tikz@special@arrow@start#1\endcsname\relax%
\pgfsetarrowsstart{#1}
\else%
\pgfsetarrowsstart{\csname tikz@special@arrow@start#1\endcsname}%
\fi%
\pgfutil@in@-{#2}%
\ifpgfutil@in@%
% has a midpoint specification
\tikz@@processmidarrow#2\@nil
\else
\expandafter\ifx\csname tikz@special@arrow@end#2\endcsname\relax%
\pgfsetarrowsend{#2}
\else%
\pgfsetarrowsend{\csname tikz@special@arrow@end#2\endcsname}%
\fi%
\fi
}
\def\tikz@@processmidarrow#1-#2\@nil
{
\expandafter\ifx\csname tikz@special@arrow@end#2\endcsname\relax%
\pgfsetarrowsend{#2}
\else%
\pgfsetarrowsend{\csname tikz@special@arrow@end#2\endcsname}%
\fi%
\def\tikz@temp{#1}%
\ifx\tikz@temp\pgfutil@empty%
\else%
\ifx\tikz@value\pgfutil@empty
\else
\tikzset{arrow midpoint location/.expand once=\tikz@value}
\fi
\tikzset{arrow midpoint=#1}
\fi%
}
\tikzset{
arrow midpoint location/.initial=.5,
arrow midpoint/.style={decoration={
markings,
mark=at position \pgfkeysvalueof{/tikz/arrow midpoint location} with {\arrow{#1}}},postaction={decorate}}}
\pgfkeys{/tikz/.unknown/.code=%
% Is it a pgf key?
\let\tikz@key\pgfkeyscurrentname%
\def\tikz@value{#1}%
\pgfkeys{/pgf/\tikz@key/.try={#1}}%
\ifpgfkeyssuccess%
\else%
\expandafter\pgfutil@in@\expandafter!\expandafter{\tikz@key}%
\ifpgfutil@in@%
% this is a color!
\expandafter\tikz@addoption\expandafter{\expandafter\pgfutil@color\expandafter{\tikz@key}}%
\edef\tikz@textcolor{\tikz@key}%
\else%
\pgfutil@doifcolorelse{\tikz@key}
{ %
\expandafter\tikz@addoption\expandafter{\expandafter\pgfutil@color\expandafter{\tikz@key}}%
\edef\tikz@textcolor{\tikz@key}%
}%
{%
% Ok, second chance: This might be an arrow specification:
\expandafter\pgfutil@in@\expandafter-\expandafter{\tikz@key}
\ifpgfutil@in@%
% Ah, an arrow spec!
\expandafter\tikz@processarrows\expandafter{\tikz@key}%
\else%
% Ok, third chance: A shape!
\expandafter\ifx\csname pgf@sh@s@\tikz@key\endcsname\relax%
\pgfkeys{/errors/unknown key={/tikz/\tikz@key}{#1}}%
\else%
\edef\tikz@shape{\tikz@key}%
\fi%
\fi%
}%
\fi%
\fi%
}
\makeatother
\begin{document}
\begin{tikzpicture}
\draw[*-] (0,0) -- (2,4);
\draw[->-] (0,0) to [bend left] (2,4);
\draw[-*->=0.8] (0,0) to [bend right] (2,4);
\end{tikzpicture}
\end{document}

\documentclassand the appropriate packages so that those trying to help don't have to recreate it. – Peter Grill May 18 '12 at 05:32