>>304 引数をとらずに数値を返す関数を書きたいということですか。 Haskellの場合、引数なしの関数は値そのものとまったく同じものになります。 C言語などでは、int some (void) { return 3 }とint some = 3は違うものですが、 Haskellではsome = 3 :: Intとなり両者の区別は存在しません。
また、doの意味を誤解しているようですね。 doというのはある種のシンタックスシュガーで、 do a b c という表記は a >> b >> cというように解釈されます。 この(>>)はMonadクラスで定義された関数なので、 doをMonadクラス以外のものに適用しても意味がありませんし、 doの後に式がひとつの場合も意味がありません。
Haskellの考え方になじむまでは難しく感じると思いますが、 段階をふんで理解していけば大きな困難はないと思います。 hugsでいろいろな関数をつくって遊んでみることをおすすめします。 洋書ですが、「The Craft of Functional Programming」がおすすめです。