racket
「racket」とは
「racket」は英語で、主にスポーツ用具や音を表す名詞である。スポーツ用具としては、テニスやバドミントンなどのラケットを指す。音を表す場合は、大騒ぎや騒音を意味する。また、スラングとしては、不正な商売や詐欺を指すこともある。「racket」の発音・読み方
「racket」の発音は、IPA表記では/ˈrækɪt/となる。IPAのカタカナ読みでは「ラキット」と読む。日本人が発音するカタカナ英語では「ラケット」となる。発音によって意味や品詞が変わる単語ではない。「racket」の定義を英語で解説
「racket」は英語で、"a type of bat with a round or oval frame strung with catgut, nylon, etc., used especially in tennis, badminton, and squash"と定義される。また、音を表す意味では、"a loud unpleasant noise; a din"と定義され、不正な商売や詐欺を指すスラングとしては、"an illegal or dishonest scheme for obtaining money"と定義される。「racket」の類語
「racket」の類語としては、スポーツ用具としての意味では「bat」や「paddle」、音を表す意味では「noise」や「din」、不正な商売や詐欺を指す意味では「scam」や「fraud」がある。「racket」に関連する用語・表現
「racket」に関連する用語としては、「racketeer」がある。これは「racket」を行う人、つまり不正な商売や詐欺を行う人を指す。「racket」の例文
1. He is a professional tennis player, so he always carries a racket.(彼はプロのテニスプレーヤーなので、常にラケットを持ち歩いている。)2. The construction work next door is making a terrible racket.(隣の建設工事がひどい騒音を立てている。)
3. He was arrested for running a racket.(彼は詐欺を働いていたとして逮捕された。)
4. I need a new racket for my badminton match.(私はバドミントンの試合のために新しいラケットが必要だ。)
5. The racket from the party next door kept me awake all night.(隣のパーティーの騒音で一晩中眠れなかった。)
6. The police are investigating a possible racket in the local business community.(警察は地元のビジネスコミュニティで可能性のある詐欺を調査している。)
7. She gripped the racket tightly and served.(彼女はラケットをしっかり握り、サーブした。)
8. The racket of the alarm clock jolted me awake.(目覚まし時計の騒音で私は目を覚ました。)
9. They were charged with operating a racket to sell stolen goods.(彼らは盗品を売る詐欺を働いていたとして告発された。)
10. He swung the racket with all his might.(彼は全力でラケットを振った。)
Racket
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/16 15:58 UTC 版)
![]() Racketのロゴ | |
パラダイム | マルチパラダイム: 関数型, 手続き型, モジュール型, オブジェクト指向, リフレクション可能, メタ |
---|---|
登場時期 | 1994 |
開発者 | PLT Scheme Inc |
最新リリース | 8.11.1[1]/ 2023年11月29日 |
型付け | 強い動的型付け、静的型付け |
影響を受けた言語 | 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 (リッチなランタイムシステム, 豊富なライブラリ, JITコンパイラ などが含まれる)
- Racketプログラムの開発環境、DrRacket (旧称 DrScheme)
- コンピューティングとプログラミングを"教養教育カリキュラムの必須分野にする"試み ProgramByDesignアウトリーチ・プログラム。[2]
- Racketのユーザ作成パッケージの配布システム PLaneT[3]。
歴史
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 では関数型のコア言語,に加え、以下のような幅広い種類の構造を自由に統合させている。
- mixin クラスシステム。
- Standard MLのように洗練されて表現力豊かなコンポーネント(モジュール)システム。
- 高階言語用としては初めてのコントラクトシステム。[5]
- メタプログラミングのためのパワフルなマクロシステムをもつ。
- 実用的なシステムとして、最初に部分継続を実装した。
もっとも注目すべき特徴は、マクロシステムにある。Racketのマクロシステムは、伝統的なLispのS式操作マクロシステム[6][7]や、Scheme 84のハイジーンなextend-syntaxマクロ、R5RSのsyntax-rules構文と比べても強力な表現力を有する。実際に、マクロは注意深く調整されたコンパイラ拡張 API といっても差し支えがないものである。このコンパイラAPIを使うことで, プログラマーは機能の追加と、ドメイン固有言語そのものの追加をすることができる。そのような機能はビルトインになっている言語要素と完全に区別できないほど、環境に統合される。例えば、Racketのライブラリではクラスオブジェクトシステムとコンポーネントシステムはマクロとして実装されている。
また、Racketはプログラミング言語に関する実験だけでなく, プログラミングのパターン、インタラクティブなWebプログラミング、リファクタリング、などのトピックを調査するための基盤環境として使われた。
スクリプト言語として
時間が経つとともに、Racketはスクリプティングのツールとして有用なものとなっていった。Racket は、現在以下のようなツールをもっている。
- Unix シェルのスクリプティング
- ウェブサーバ
- プレゼンテーションツール
- グラフィカルなツールキット
Racket は標準的なスクリプト言語に備わっているようなライブラリを備えている。2004年以降, PLTは標準のモジュールシステムと連携した、WebベースのコードレポジトリPLaneTを運営している。
Hello World!
Racketでの "hello world" は以下のようになる。
#lang racket
"Hello, World!"
出力は以下のとおり。
- "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回の繰り返しまで描画した、シェルピンスキーの三角形である。
出典
- ^ Racketブログ Racket v8.11.1
- ^ Program by Design: Overview
- ^ PLaneT: Racket's centralized package distribution system
- ^ From PLT Scheme to Racket
- ^ Findler, Felleisen Contracts for Higher-Order Functions
- ^ Matthew Flatt Composable and Compilable Macros, You Want it When?
- ^ Flatt, Culpepper, Darais, Findle r, Macros that Work Together; Compile-Time Bindings, Partial Expansion, and Definition Contexts
- Felleisen et al, 2004 The TeachScheme! Project. Journal of Computer Science Education.
- Findler et al, 2001. DrScheme: A Programming Environment for Scheme. Journal of Functional Programming.
- Flatt et al, 1999. Programming Languages as Operating Systems. International Conference on Functional Programming.
- Jacob Matthews, 2006. You want it where? Component Development with PLT Scheme. Workshop on Scheme and Functional Programming.
外部リンク
Racket
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/07 19:28 UTC 版)
Racketでは、「ヒア文字列」として、#<<の後に終端の識別子を続ける形の書式が存在する。文字列の中身には、#<<直後の行から終端の識別子だけの行の手前まで、全てのものが含まれる(終端の識別子の直前にある改行は文字列の一部とはならない)。 #lang racket(displayln #<<HERESTRING Racketによるヒア文字列のサンプル。 * その1 * その2 * その3HERESTRING ) 出力は以下のようになる。 Racketによるヒア文字列のサンプル。 * その1 * その2 * その3 ヒア文字列の中でエスケープシーケンスは処理されず、何を書いても文字通りに認識される。 #lang racket(displayln #<<Racketのヒア文字列 ☺この文字列は複数行からなっており、またUnicodeにあるどんな文字でも使うことができる。€や☠、♡に①でも一向にかまわない。この次の行が終端だが、終端の区切り文字にもUnicode文字ならなんでも使える。Racketのヒア文字列 ☺ ) 上の例を実行すると、以下のように出力される。 この文字列は複数行からなっており、またUnicodeにあるどんな文字でも使うことができる。€や☠、♡に①でも一向にかまわない。 この次の行が終端だが、終端の区切り文字にもUnicode文字ならなんでも使える。 通常の文字列が使えるところなら、たいていヒア文字列を使うことができる。 #lang racket(printf #<
※この「Racket」の解説は、「ヒアドキュメント」の解説の一部です。
「Racket」を含む「ヒアドキュメント」の記事については、「ヒアドキュメント」の概要を参照ください。
- racketのページへのリンク