Racket
![]() Racketのロゴ | |
パラダイム |
マルチパラダイム: |
---|---|
1994 | |
PLT Scheme Inc | |
8.11.1[1]/ 2023 | |
| |
Scheme | |
プラットフォーム | Cross-platform |
ライセンス | GNU Lesser General Public License (LGPL) |
ウェブサイト | racket-lang.org |
.rkt , .rktl , .rktd , .scrbl , .plt , .ss , .scm |
Racket (
- スクリプト
処理 系 、Racket (リッチなランタイムシステム,豊富 なライブラリ, JITコンパイラ などが含 まれる) - Racketプログラムの
開発 環境 、DrRacket (旧称 DrScheme) - コンピューティングとプログラミングを"
教養 教育 カリキュラムの必須 分野 にする"試 み ProgramByDesignアウトリーチ・プログラム。[2] - Racketのユーザ
作成 パッケージの配布 システム PLaneT[3]。
歴史 [編集 ]
Racket を
2010
Racket (and DrRacket) は
研究 [編集 ]
Racket では
- mixin クラスシステム。
- Standard MLのように
洗練 されて表現 力 豊 かなコンポーネント(モジュール)システム。 高階 言語 用 としては初 めてのコントラクトシステム。[5]- メタプログラミングのためのパワフルなマクロシステムをもつ。
実用 的 なシステムとして、最初 に部分 継続 を実装 した。
もっとも
また、Racketはプログラミング
スクリプト言語 として[編集 ]
- Unix シェルのスクリプティング
- ウェブサーバ
- プレゼンテーションツール
- グラフィカルなツールキット
Racket は
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ページで
出典 [編集 ]
- ^ 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.