Yahoo! Japan株式会社やソフトバンク、楽天やサイバーエージェント、ライブドア（オン・ザ・エッヂ）などが、インターネット企業として興隆した。また米国ハイテク株に投資することを謳い文句とした投資信託商品が組成された。一方で日本では、OS戦争から殆どの企業が撤退し、インターネットブラウザや検索エンジン開発など、多くの分野がすでに米国企業の後塵を拝していたため、投資対象となったのは、主に既存の通信・携帯電話関連株（NTT、ドコモ、KDDI）、コンピュータ関連株（NEC、富士通、東芝、ソニーなど）、半導体、通信ケーブル、あるいは光通信、大阪有線（現：USEN）、ソフマップなど新規上場株であった。また日本国政府による起業支援、ストックオプションの規制緩和などが相俟ってベンチャーキャピタルが増加し、なかには詐欺まがいの問題企業も発生した（アイ・エックス・アイ。非上場では平成電電や近未來通信など）。市況全体も投資の活発化により刺激され、トヨタやファナック、キヤノン、任天堂などといった主力銘柄の一部もそれなりの株価上昇が見られた。こうした中で、世界的なITバブルの最中であった2000年には、「IT革命」が流行語にもなった。1999年に全米証券業協会とソフトバンクがNASDAQ JAPANを発表。日本のITバブルは長くは続かず、2000年（平成12年）3月に文藝春秋が光通信の携帯電話売買を巡る不正を報じたことをきっかけに、同社の株は20日間ストップ安で最高値の100分の1近くまで下落、他のネット関連銘柄もほぼ時期を同じくして大幅に値を下げ、日本のネットバブルはあっけなく崩壊した。しかし、日本の経済は、1991年（平成3年）のバブル崩壊以来の平成不況と就職氷河期が続いており、IT関連投資が部分的だったため、米国を中心としたITバブル崩壊の日本への影響は極めて限定的だったが失業率は日本のバブル崩壊時よりも高かった。
Haskell の型名は先頭が大文字でなければならない。標準で存在する単純なデータ型としては、Bool（真偽値）型、Int（整数）型、Float（単精度浮動小数点数）型、Char（文字）型、String（文字列）型などが予め定義されている。任意の式の型を定義するには、式と型の間に :: 記号をおく。また、変数などのシンボルを定義する際に変数名を式に指定して書くことで、その変数の型を指定することができる。例えば、次は円周率およびネイピア数を定数として定義し、さらにその型も浮動小数点型として指定している。pi :: Floatpi = 3.1415926535e = 2.7182818284 :: Float    -- 式の中でその型を指定している関数の型は、各引数の間を -> 記号で区切って表記する。関数は引数をひとつ適用するたびに、その型は -> で区切られたうちの一番左が消えた型となると考えればよい。例えば、ふたつの整数を引数にとりその最大公約数を返す関数 gcd の型は次のように定義される。gcd :: Int -> Int -> Int    -- 関数名 :: 引数1の型 -> 引数2の型 -> 返り値の型型変数を使い、型を抽象化することもできる。これは C++ のテンプレートや Java のジェネリクスに相当するが、様々な種(型の型)に適用できるためより柔軟である。例えば、a 型の値をとり、それをそのまま返す恒等関数 id を型の指定とともに定義すると以下のようになる。ここで任意の型を示す型名 a が定義に使われているが、このように先頭が小文字で始まっている型名は具体的な型名ではなく型変数である。この関数はあらゆる型の値を引数にとることができる。id :: a -> aid x = xまた、データ型はパラメータとして型変数を持つことができる。例えば、スタックやハッシュテーブルなどのデータ型は、その要素の型を型変数として定義する。ハッシュテーブルを実装するデータ型 HashMap :: * -> * -> * があり、キーに文字列（String）、値に整数（Int）を持つハッシュテーブル hashtable の型は次のようになる。hashtable :: HashMap String Intそのほか、特殊な表記を持つ型としてリストとタプル、文字列がある。リストは Haskell で極めて頻繁に用いられるため、特別な構文が用意されている。リストは要素の型を角括弧で囲む。次は Char（文字）のリストを束縛する変数 text の定義である。文字のリストは文字列と等価である。2行目にあるように、文字列は殆どのプログラミング言語と同じように二重引用符で囲む。コメントにHaskellでのリストの表記を添えた。最後にデシュガー（糖衣構文を元の表記に戻すこと）したリストの表記法を示した。textもhelloも等価である。text :: [Char]text = "Hello"    -- ['H','e','l','l','o'] の糖衣構文hello :: [Char]hello = 'H':'e':'l':'l':'o':[]タプルは要素の型をカンマで区切り、括弧で囲む。次は Float（浮動小数点数）の値をもつ2次元座標のタプルが束縛される変数 point の定義である。point :: (Float,Float)point = (3, 7)タプルは2以上ならいくつでも要素を持つことができる。1要素のタプルは優先順位の括弧と表記が衝突し、また用途がないので存在しない。要素数がゼロのタプルは特に「ユニット」(Unit) と呼ばれ、有効な値を持たないなどの時に使われる。type キーワードを用いて、型に別名をつけることができる。次は [Char] に String という別名をつけている。type String = [Char]text :: String