出典(authority):フリー百科事典『ウィキペディア(Wikipedia)』「2015/06/20 08:36:12」(JST)
この項目では、プログラミング言語について説明しています。スポーツの道具については「ラケット」をご覧ください。 |
パラダイム | マルチパラダイム: 関数型, 手続き型, モジュール型, オブジェクト指向, リフレクション可能, メタ |
---|---|
登場時期 | 1994 |
開発者 | PLT Scheme Inc |
最新リリース | 6.11[1] / 2014年11月4日(7か月前) (2014-11-04) |
型付け | 強い動的型付け、静的型付け |
影響を受けた言語 | Scheme |
プラットフォーム | Cross-platform |
ライセンス | GNU Lesser General Public License (LGPL) |
ウェブサイト | racket-lang.org |
拡張子 | .rkt , .rktl , .rktd , .scrbl , .plt , .ss , .scm |
Racket (旧称 PLT Scheme) は、Schemeから派生したプログラミング言語である。Racket プロジェクトは以下の4つから構成されている。
Racket を開発したPLT project は、1990年代中ごろに, Matthias Felleisenによってまず研究グループとして立ち上げられ、その後すぐに、プロジェクトは初心者プログラマ向けの教育用マテリアル(レクチャー、演習課題や自由課題、ソフトウェア)を製作するのに注力した。 1995年1月, グループは教育用途のプログラム環境を開発することにした。 Matthew Flatt はlibschemeのMrEdと、wxWidgets、およびいくつかのフリーなシステムをバンドルした。開発の決定から何年かかけて、Flatt, Robby Findler, Shriram Krishnamurthi, Cormac Flanaganら数多くの人々によるチームによって、 Scheme の初心者向けプログラミング環境・ソフトタイピングの実験環境DrSchemeが作られた。
同時に, PLTのチームは高校教師向けのワークショップを行い、プログラムデザインと関数プログラミングを指導した。. この場での教師や生徒とのやりとりは、 開発の方向付けについて重要な手がかりを与えた。
数年に渡って、教育用言語, algebraic stepper, 透過的なREPL, constructor-based printer, など多くの改善点が DrSchemeに加わり、アプリケーションとして十分な質を備えた教育的プログラミング開発環境が完成した。2001年には, 中心的なチーム (Felleisen, Findler, Flatt, Krishnamurthi) により、プログラミング教育の思想に基づいて、彼らの初めて教科書How to Design Programsを出版した。
2010年6月7日、PLT Scheme から Racket に改名した。[4]
Racket (and DrRacket) は現在、モジュールブラウザによるモジュール指向プログラミングと, contour view, 統合されたテスト環境とカバレッジ計測、リファクタリングをサポートしている。
Racket では関数型のコア言語,に加え、以下のような幅広い種類の構造を自由に統合させている。
もっとも注目すべき特徴は、マクロシステムにある。Racketのマクロシステムは、伝統的なLispのS式操作マクロシステム[6][7]や、Scheme 84のハイジーンなextend-syntaxマクロ、R5RSのsyntax-rules構文と比べても強力な表現力を有する。実際に、マクロは注意深く調整されたコンパイラ拡張 API といっても差し支えがないものである。このコンパイラAPIを使うことで, プログラマーは機能の追加と、ドメイン固有言語そのものの追加をすることができる。そのような機能はビルトインになっている言語要素と完全に区別できないほど、環境に統合される。例えば、Racketのライブラリではクラスオブジェクトシステムとコンポーネントシステムはマクロとして実装されている。
また、Racketはプログラミング言語に関する実験だけでなく, プログラミングのパターン、インタラクティブなWebプログラミング、リファクタリング、などのトピックを調査するための基盤環境として使われた。
時間が経つとともに、Racketはスクリプティングのツールとして有用なものとなっていった。Racket は、現在以下のようなツールをもっている。
Racket は標準的なスクリプト言語に備わっているようなライブラリを備えている。2004年以降, PLTは標準のモジュールシステムと連携した、WebベースのコードレポジトリPLaneTを運営している。
Racketでの "hello world" は以下のようになる。
#lang racket
"Hello, World!"
出力は以下のとおり。
以下はもう少し意味のあるプログラムである。
#lang racket (require 2htdp/image) (let sierpinski ([n 8]) (if (zero? n) (triangle 2 'solid 'red) (let ([t (sierpinski (- n 1))]) (freeze (above t (beside t t))))))
このプログラムはRacketのwebページで紹介されているものである。 出力は、以下のような8回の繰り返しまで描画した、シェルピンスキーの三角形である。
Look up racket in Wiktionary, the free dictionary. |
Racket(t) may refer to:
This disambiguation page lists articles associated with the title Racket. If an internal link led you here, you may wish to change the link to point directly to the intended article. |
全文を閲覧するには購読必要です。 To read the full text you will need to subscribe.
拡張検索 | 「bracket」 |
関連記事 | 「rack」 |
.