LOGO
UCBLogoには次の3種類のデータ型がある。
ワード(LISPのatomに相当)
リスト(LISPのconsに相当)
配列
数はワードの特殊ケースと解釈される。
静的型付けではなく、データ型は実行によってチェックされる。
次の2つの記号は重要な意味を持つ。
コロン (:) は「-の中身(値)」を意味する。これは変数が実際にはメモリの特定の位置を示していると児童に意識させるのに役立つ。
ダブルクオート (") は「そのワードをそれ自身として評価する」あるいは「それを評価した後の値はそれ以前と同じである」を意味する。他のプログラミング言語ではダブルクオートは引用符として2つを組みにして使うが、LOGOではそのような対応付けがない。
数はその点で特別であり、本当はダブルクオート付きで書く必要があるが、2 も "2 も同じに扱われる。
変数への代入(例えば、x := y + 3)は、LOGOではmakeコマンドで行う。例えば、以下の2つの文は等価である。
makeは2つのパラメータをとり、この例での2つ目のパラメータは sum :y "3 である。sum は2つのパラメータをとる演算 (operation) であり、2つのパラメータの和を計算する。"3 を評価すると 3 となり、:y は y と呼ばれるものの中身をとる。その結果、両者を加算した和が数として得られる。
make は第二パラメータを評価した結果を第一パラメータに格納する。プログラミングの観点から言えば、makeの第一パラメータは参照渡しで、第二パラメータは値渡しである。
2012年11月時点で、261の実装や方言があり、それぞれに特徴がある。その多くは歴史的なもので既に使われていないが、今も活発に開発されているものもある。
標準規格がないが、言語の中核的部分については大まかな合意が形成されている。それでも様々な方言があり、相互に完全な互換性がない。単にタートルグラフィックス(英語版)の描画プログラムをLOGOと呼んでいる場合があり、状況を混乱させている。
1980年代初頭から中ごろにかけて、Apple II用の Apple Logo やTI-99/4A用の TI Logo が発売され、初心者のプログラミング入門に最適と宣伝された。このころ欧米の小学校での教育によく使われ、LOGOの最盛期だったといえる。Apple Logo を開発したのはLCSIで、これ (LCSI Logo) が初期のLOGO実装として広く普及した。
今日ほぼデファクトスタンダードとされているのがブライアン・ハーヴェイの開発したUCBLogo (Berkeley Logo) である。フリーかつクロスプラットフォームの実装だが、GUIは初歩的なものしかなく、そのインタフェースを改良するプロジェクトがいくつかある。Microsoft Windows 向けに拡張したMSWLogo(英語版)とその後継であるFMSLogo(英語版)は、イギリス、オーストラリア、ギリシャの学校でよく使われている。