ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

Scheme

索引 Scheme

Scheme(スキーム)はコンピュータ・プログラミング言語 Lispの方言のひとつで、静的スコープなどが特徴である。仕様(2017年現在、改7版まで存在する)を指すこともあれば、実装を指すこともある。Schemeにより、Lisp方言に静的スコープが広められた。.

44 関係: ALGOLAndroidApp Inventorマルチパラダイムプログラミング言語リトルウイングプログラミング言語ファイナルファンタジー (映画)アクターモデルカール・ヒューイットガイ・スティール・ジュニアクロージャザウルスジェラルド・ジェイ・サスマン動的型付け動的スコープChicken (Scheme)Common Lisp継続継続渡しスタイル静的スコープ計算機プログラムの構造と解釈Garnet OSGaucheGIMPGNUGNU GuileGNU LilyPondGNUプロジェクトIA-32IEEEJavaJava仮想マシンJavaScriptLISPMicrosoft Windows Embedded CEMIT人工知能研究所RacketSPARCSRFIUimVxWorksX86末尾再帰方言 (プログラミング言語)

ALGOL

ALGOL(アルゴル)は、命令型プログラミング言語ファミリーの1つファミリー名は大文字/小文字をまじえて表記される場合 と、全て大文字で表記される場合 (ALGOL 68) がある。本項目では ALGOL で統一する。。名前「ALGOL」は「アルゴリズム言語」を意味する英語「algorithmic language」に由来する。1950年代中ごろに開発され、多くの言語に影響を及ぼし、ACMや教科書や学術論文などでアルゴリズム記述のデファクトスタンダードとして30年以上使われた。現代の多くの言語が「ALGOL系」あるいは「ALGOL風」(algol-like) とされているという意味で、ほぼ同世代の高水準言語である FORTRAN、LISP、COBOL に比べて最も成功したと言うこともできる。FORTRANで明らかとなった問題を防ぐよう設計され、BCPL、B、Pascal、Simula、Cといった様々なプログラミング言語に影響を与えた。ALGOLはLisp以外としては「begin と end で囲む」という構文によるブロック構造を導入し、制御構造を自在に入れ子(ネスト)にできる初の広まった言語となったFORTRANにはそのような構造は無い。COBOLではピリオドで全ての入れ子が終端するという仕様だったため(現在はend-ifなどを使う)、入れ子で書ける論理に制限があり、酷いバグの原因にもなりやすかった。。また構文の形式的定義を真剣に検討した最初のプログラミング言語でもあり、"Algol 60 Report" で導入されたバッカス・ナウア記法は、その後のコンピュータ言語等の構文の形式的定義を示す手法として(プログラミング言語だけに限られず)定番の記法となっている。.

新しい!!: SchemeとALGOL · 続きを見る »

Android

Android(アンドロイド)は、Googleが開発したモバイルオペレーティングシステムである。Linuxカーネルやオープンソースソフトウェアがベースで、主にスマートフォンやタブレットなどのタッチスクリーンモバイルデバイス向けにデザインされている。テレビ用にはAndroid TV、自動車用にはAndroid Auto、ウェアラブルデバイス用にはWear OSがある。世界で最も人気のあるモバイルオペレーティングシステムであり、20億人を超える月間アクティブユーザーがいる。.

新しい!!: SchemeとAndroid · 続きを見る »

App Inventor

App Inventor for Androidは当初Googleが提供していたが、現在はマサチューセッツ工科大学(MIT)が提供している、Android対応アプリケーションソフトウェアを開発するソフトウェアである。コンピュータプログラミングに不慣れな人でも使いやすいように、ScratchのようなグラフィカルインターフェイスやStarLogo TNGのユーザインターフェースを使い、ビジュアルオブジェクトをドラッグ・アンド・ドロップすることで数多くの携帯機器で動くAndroid対応アプリを作成できる。 2010年7月12日に要望に応えて利用できるようになり、同年12月15日に一般公開されたが、2011年12月31日にGoogleは公開を終了した。.

新しい!!: SchemeとApp Inventor · 続きを見る »

マルチパラダイムプログラミング言語

マルチパラダイムプログラミング言語 (マルチパラダイムプログラミングげんご、multiparadigm programming language)は、複数のプログラミングパラダイムに対応するプログラミング言語の総称である。「1つのプログラムは複数のプログラミングパラダイムを使う」とビャーネ・ストロヴストルップは述べている。マルチパラダイムプログラミング言語の設計目標は、問題解決に当たって最良の道具になることである。たとえばOzでは、論理型、関数型、オブジェクト指向、データフローコンカレントなど、多数のパラダイムを内包している。Ozは10年かけて従来のプログラミングパラダイムが調和するよう設計されたのである。.

新しい!!: Schemeとマルチパラダイムプログラミング言語 · 続きを見る »

リトルウイング

有限会社リトルウイング (LittleWing Co.Ltd.) は、日本のソフトウェア製作会社である。本社は富山県富山市。 1990年1月1日創業。1993年法人改組。Macintosh,Windows向けのピンボールシミュレーションゲームの開発を行っている。.

新しい!!: Schemeとリトルウイング · 続きを見る »

プログラミング言語

プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.

新しい!!: Schemeとプログラミング言語 · 続きを見る »

ファイナルファンタジー (映画)

『ファイナルファンタジー』(FINAL FANTASY、英名:Final Fantasy:The Spirits Within)は、2001年に公開された世界初のフル3DCGによるSF映画。2001年度文化庁メディア芸術祭において審査委員会特別賞を受賞。 ビデオゲーム『ファイナルファンタジー』シリーズの生みの親、坂口博信が手掛けた初の映画作品で、坂口が率いるスクウェア(現・スクウェア・エニックス)とハリウッドスタッフが手を組み、製作費総額1億3700万ドルをかけて製作された。『ファイナルファンタジー』のイメージ作品として、ガイア理論をテーマに描かれた。.

新しい!!: Schemeとファイナルファンタジー (映画) · 続きを見る »

アクターモデル

アクターモデル(actor model)とは、1973年、カール・ヒューイット、Peter Bishop、Richard Steiger が発表した並行計算の数学的モデルの一種Carl Hewitt(1973年), "A Universal Modular Actor Formalism for Artificial Intelligence".

新しい!!: Schemeとアクターモデル · 続きを見る »

カール・ヒューイット

ール・ヒューイット(Carl E. Hewitt)は、マサチューセッツ工科大学(MIT)の電気工学・計算機科学科の名誉准教授である。.

新しい!!: Schemeとカール・ヒューイット · 続きを見る »

ガイ・スティール・ジュニア

イ・L・スティール・ジュニア(Guy L. Steele, Jr.、1954年10月2日 - )はアメリカ合衆国の計算機科学者であり、3つの書籍の著者として知られている。あだ名は The Great Quux。ジャーゴンファイルの編集者でもあったが、その後エリック・レイモンドが改版したときにはガイ・スティール・ジュニアのイラスト付きの序文が寄せられた(MIT出版局)。Scheme 言語の共同開発者としても知られている。.

新しい!!: Schemeとガイ・スティール・ジュニア · 続きを見る »

クロージャ

ージャ(クロージャー、closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数で実現している。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートした言語のコーディングでは、関数の中に関数を定義することができる。その際に、外側の関数で宣言された変数を内側の関数で操作することができる。主な利点としてはグローバル変数の削減が挙げられる。 典型的にはクロージャは、外側の関数(以下、エンクロージャ)の内側の関数リテラルや、ネストした関数定義によって必要になる。言語により、そのような内側の関数内に出現する自由変数(内側の関数の仮引数でもなく、内側の関数自身のローカル変数でもない変数)の扱いは異なるが、自由変数が、その呼び出しにおけるエンクロージャのその名前の変数を、レキシカルに参照するのがクロージャであり、実行時に外部の関数が実行された際、クロージャが形成される。クロージャは内部の関数のコードとエンクロージャのスコープ内の必要なすべての変数への参照からなる。 クロージャはプログラム内で環境を共有するための仕組みである。レキシカル変数はグローバルな名前空間を占有しないという点でグローバル変数とは異なっている。またオブジェクトのインスタンス変数とは、オブジェクトのインスタンスではなく関数の呼び出しに束縛されているという点で異なる。 クロージャは関数型言語では遅延評価やカプセル化のために、また高階関数の引数として広く用いられる。 例: クロージャを使ったカウンタの例を Scheme で示す。 (define (new-counter) (define c (new-counter)) (display (c)); 1 (display (c)); 2 (display (c)); 3 関数 new-counter の中でクロージャが使用されている。c に代入された無名関数は new-counter 内のローカル変数 count を参照している。c を呼び出すたびに count はインクリメントされていく。.

新しい!!: Schemeとクロージャ · 続きを見る »

ザウルス

ャープ ザウルス SL-C860 ザウルス (Zaurus) は、シャープ株式会社が日本国内および海外で製造・販売していたPDA製品名である。.

新しい!!: Schemeとザウルス · 続きを見る »

ジェラルド・ジェイ・サスマン

ェラルド・ジェイ・サスマン(Gerald Jay Sussman、1947年2月8日 - )は、マサチューセッツ工科大学 (MIT) 電気工学教授である。1968年にS.B.を1973年にPh.D.(両方とも数学)をMITで取得している。1964年よりMITにて人工知能研究に携わっており、彼の研究はプロセスの自動化パーツの目標と科学と工学教育のより効果的な方法を提供するための定式化を伴う、科学者、技術者が使用する問題解決戦略に集中している。また、コンピュータアーキテクチャと設計におけるコンピュータ言語にも携わっている。.

新しい!!: Schemeとジェラルド・ジェイ・サスマン · 続きを見る »

動的型付け

動的型付け(どうてきかたづけ、dynamic typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチンの引数や返り値などの値について、その型を、コンパイル時などそのプログラムの実行よりも前にあらかじめ決めるということをせず、実行時の実際の値による、という型システムの性質のことである。 また、そのような性質の言語を、動的型付き言語(どうてきかたつきげんご、dynamically typed language)という。これに対し、型は実行前に決まる、というのが静的型付けである。型推論を利用していて、構文上は型の記述が省略可能な言語もあるが、そういった言語も静的型付けである(MLなど)。 静的型付けは、.

新しい!!: Schemeと動的型付け · 続きを見る »

動的スコープ

動的スコープ、ダイナミックスコープ(dynamic scope)とは、プログラミング言語におけるスコープの一種である。 動的スコープは、実行時の親子関係の子側(呼び出された側)から親側(呼び出し側)のスコープを参照できるスコープである。このとき参照されるのは、親子関係を親側に辿り、より近いブロックにある変数である。以下の疑似コードでは: ブロックBから呼び出されたブロックAは、ブロックBで定義されている変数xを参照できる。一方、ブロックCから呼び出されたブロックAは、ブロックBで定義されている変数xは参照できない。 動的スコープは強力な反面、ミスを招きやすいため使用に注意が必要である。例えば以下の疑似コードでは呼び出し元ブロックによって変数の値が変化することを示している。 動的スコープの例としては古典LISPやEmacs Lisp、LOGO、Perl(「local」宣言した変数)、Bash(関数内で「local」宣言した変数)などがある。.

新しい!!: Schemeと動的スコープ · 続きを見る »

Chicken (Scheme)

Chickenは、R5RSにほぼ準拠したSchemeのコンパイラおよびインタプリタである。標準を越える多くの拡張を持っている。BSDライセンスで利用可能な、フリーな処理系である。.

新しい!!: SchemeとChicken (Scheme) · 続きを見る »

Common Lisp

Common Lisp(コモン・リスプ)は、コンピュータ・プログラミング言語 Lispの標準(の、ひとつ)であり、Lisp方言のひとつである。Common Lispの略称はCL(ごくまれにclispとも。なおCLISPという実装が実在するので混同回避のためあまり用いられない)。規格はANSIによる ANSI INCITS X3.226-1994 (R2004) 。仕様を指すこともあれば、実装を指すこともある。いくつかの、フリーソフトウェアの定義に合致したライセンスによりライセンスされている実装や、オープンソースの定義に合致したライセンスによりライセンスされている実装や、プロプライエタリなライセンスによりライセンスされている実装がある。 Lispの基本的な特徴の他、いくつかのプログラミングパラダイムのLispへの取り込みについて標準を提供しているという、マルチパラダイムプログラミング言語という面がある。.

新しい!!: SchemeとCommon Lisp · 続きを見る »

継続

継続は、前の状態を引き継ぐこと。持続、保持。 計算機科学における継続(けいぞく、continuation)とは、プログラムの実行においてある時点において評価されていない残りのプログラム(the rest of the program)を意味するものであり、手続き(procedure)として表現されるものである。.

新しい!!: Schemeと継続 · 続きを見る »

継続渡しスタイル

継続渡しスタイル (CPS: Continuation-passing style) とは、プログラムの制御を継続を用いて陽に表すプログラミングスタイルのことである。この用語は、Gerald Jay Sussman とガイ・スティール・ジュニアにより、Scheme言語に関する初期の論文において導入された。 継続渡しスタイルで書かれた関数は、通常の直接スタイル (direct style) のように値を「返す」かわりに、「継続」を引数として陽に受け取り、その継続に計算結果を渡す。継続とは、関数の計算結果を受け取るための(一般には元の関数とは別の)関数のことである。継続渡しスタイルの関数を呼び出すときは、呼び出し側の関数が、呼び出される関数の「戻り値」を受け取るための継続を与える必要がある。この形でコードを書くと、直接スタイルにおいて暗黙に仮定されていた様々な動作が、陽に表される。例えば、手続きからの復帰が継続の呼び出しとして表される、計算の途中の値がすべて陽に名前を与えられる、引数の評価順序が陽に表される、末尾呼び出しは呼び出される手続きに呼び出し側と同じ継続を渡すことにあたる、等である。 直接スタイルのプログラムはCPSに自動変換することが可能である。関数型言語や論理型言語のコンパイラはCPSを中間表現として用いることがある。命令型言語ないし手続き型言語のコンパイラはしばしば静的単一代入(SSA)形式を用いるが、SSAとCPSはある意味で等価であることが知られている* 。また、やはり関数型言語のコンパイラの中間表現として用いられることがあるA正規形(A-normal form)も、CPSとの対応関係が(当初から)知られている。.

新しい!!: Schemeと継続渡しスタイル · 続きを見る »

静的スコープ

静的スコープ(せいてきスコープ、英: static scope)とは、プログラミング言語におけるスコープの一種。字面(レキシカル、英: lexical)のみから決定できるためレキシカルスコープ(lexical scope)ともいう(「構文」は一般に syntax の定訳であり、「レキシカル」と混同するのは誤解を招く)。 まず、一般的なローカル変数のスコープについて考える。 ブロックなどの構造を持つプログラミング言語では、あるブロックの内側のローカル変数はそのブロックの外側からは「見えない」というものが多い(以前のJavaScriptのように、関数ローカルのみで、ブロックローカルというスコープは無いものもある)。以下の疑似コードでは、 ブロックAで定義されている変数xとブロックBで定義されている変数xは同じ識別子を持つが、ブロックが異なるため実体は別である。また、ブロックBからは、さらに内側のブロックCで定義されている変数を参照することはできない。逆にブロックCからはブロックBで定義されている変数xとブロックCで定義されている変数yが参照可能である。 以上のようなスコープはローカル変数として一般的なものである。しかし、上記の疑似コード中にある f.

新しい!!: Schemeと静的スコープ · 続きを見る »

計算機プログラムの構造と解釈

『計算機プログラムの構造と解釈』(Structure and Interpretation of Computer Programs。原題の略称SICPがよく使われる)は、1985年にMIT出版から刊行された、計算機科学分野の古典的な教科書。著者はマサチューセッツ工科大学 (MIT) の教授ハル・アベルソンとジェラルド・ジェイ・サスマン、ジェラルドの妻ジュリー・サスマン。かつてMITコンピュータ科学科の6.001として知られるプログラミングの入門講義で使われていた。第2版(ハードカバー版 ISBN 0-262-01153-0、ペーパーバック版 ISBN 0-262-51087-1)が1996年に刊行された。計算機科学の古典として広く認められている。 表紙に魔術師が描かれているため魔術師本(Wizard Book)としても知られ、まれに表紙の色をとって紫本(Purple Book)とも呼ばれる。 プログラミング言語LISPの方言Schemeが用いられ、抽象化、再帰、インタプリタ、メタ言語的抽象といった計算機科学の概念の真髄が説明されている。 第二版の和田英一による日本語訳(ISBN 978-4894711631)がピアソン桐原から2000年2月に発売された。、和田はHTML版を公開した。。。その後2014年5月に翔泳社より再版されている。.

新しい!!: Schemeと計算機プログラムの構造と解釈 · 続きを見る »

Garnet OS

Garnet OS(ガーネットOS)は、ACCESS Systems(旧PalmSource)が開発・ライセンス提供するPDA用オペレーティングシステム (OS)。旧称Palm OS。.

新しい!!: SchemeとGarnet OS · 続きを見る »

Gauche

Gaucheは、プログラミング言語Schemeのスクリプト処理系である。R7RS-smallに準拠している。多バイト文字列を組み込みでサポートしている。 Gaucheの提供する機能拡張の多くは、Schemeにライブラリをラップする事で実現している。 なお、Gaucheはフランス語で「ねじれた、左」という意味を表す。.

新しい!!: SchemeとGauche · 続きを見る »

GIMP

GIMP(ギンプ、ジンプ、GNU Image Manipulation Program)は、GNU GPL の下で配布されているビットマップ画像編集・加工ソフトウェア(ペイントソフト)。.

新しい!!: SchemeとGIMP · 続きを見る »

GNU

GNU(グヌー、)とはオペレーティングシステム であり、かつコンピュータソフトウェアの広範囲に渡るコレクションである。GNUは完全にフリーソフトウェアから構成されている。 GNUは"GNU's Not Unix!"(「GNUはUNIXではない」)の再帰的頭字語である。この名称が選ばれたのは、GNUはUnix系の設計ではあるがUNIXとは違いフリーソフトウェアでありUNIXに由来するソースコードを全く使っていないことを示すためである。GNUの正式な発音は「グヌー」である。一般的な英語では、gnuは「ヌー」と発音し、ウシカモシカまたはヌーと呼ばれる動物をさす言葉である。GNUプロジェクトは自らの名称を「it is pronounced g-noo, as one syllable with no vowel sound between the g and the n.」と呼ぶよう要請している。 GNUプロジェクトには、元々フリーソフトウェア財団が焦点を当てていたオペレーティングシステムのカーネルであるGNU Hurdが含まれているVaughan-Nichols, Steven J. "",, April 9, 2009: "…after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks.

新しい!!: SchemeとGNU · 続きを見る »

GNU Guile

GNU Guile は プログラミング言語 Scheme のインタープリタ/バーチャルマシン。1993年に初めてリリースされた。 GuileはPOSIXシステムコールのモジュール化された拡張やAPL アレイの機能などを含み、オブジェクト「Strictly speaking, Guile is an object library, not an executable.」 、Blandy、1997年, p.89.

新しい!!: SchemeとGNU Guile · 続きを見る »

GNU LilyPond

GNU LilyPond(グニュー リリーポンド)は、クロスプラットフォームの楽譜作成ソフトウェアである。 GPL ライセンスのもとにフリーで公開されている。C++ で記述され、Scheme ライブラリ (GNU Guile) でアセンブルされているが、ユーザ独自のカスタマイズや拡張も可能である。単純に音楽をテキストに記述してコンパイルすることにより、(PostScript 経由で)PDF、SVGなどの形式で楽譜を出力できる。同時にMIDIファイルを出力させることも可能である。 FinaleやSibelius (en) などのような楽譜作成ソフトウェアとは異なり、LilyPond自体はGUIを持たない。しかしながら、出版にも耐えうるほどの質の高い楽譜を出力することができる。また、GUIをもつソフトウェアの中にも、RosegardenやNoteEdit、Canorus、DenemoのようにLilyPondの形式で出力できるものがある。 LilyPond で作成された楽譜の例。 ''Adeste Fideles'' 手作業で版が作成されていた時代の浄書のルールを忠実に再現することによって質の高い楽譜を作ることが、LilyPondの目標のひとつである。近年の商用の楽譜作成ソフトウェアの品質の向上は著しいが、ときにLilyPondはそれらよりも質の高い楽譜を作ることができるといわれることもある。 ミュートピアプロジェクトでは、フリーの楽譜を配布することを目的としており、そのためにLilyPondを使用している。これは、コラボレーションによる音楽百科事典「ミュージペディア (Musipedia)」も同様である。Wikiの記事上のLilyPondに関する記事を直接編集するには、MediaWikiインタフェースのひとつであるWikiTeX (en) を使うことができる。.

新しい!!: SchemeとGNU LilyPond · 続きを見る »

GNUプロジェクト

GNUプロジェクト(グヌープロジェクト、)とは、フリーソフトウェアマス・コラボレーションプロジェクトである。 プロジェクトは1983年9月27日にMITのリチャード・ストールマンにより発表された。このプロジェクトの狙いは、ユーザーが自由にソフトウェアを実行し、(コピーや配布により)共有し、研究し、そして修正するための権利に基づいたソフトウェアを開発し提供することにより、ユーザーにそのような自由な権利を与えた上でコンピュータやコンピューティングデバイスの制御をユーザーに与えることにある。GNUのソフトウェアはこれらの自由な権利を(そのライセンスによって)法的に保障しているため、フリーソフトウェアである。なおフリーソフトウェアの「フリー」という言葉は常に自由な権利を指し示すために必要なため使われている。 コンピュータの全てのソフトウェアが、(使用、共有、研究、修正を行うための)自由な権利を全てユーザーに付与することを確保するためには、ソフトウェアの中で最も基本的かつ重要な部分である(ユーティリティプログラムを数多く含む)オペレーティングシステムをフリーソフトウェアとすることが必要となった。GNU宣言によると、GNUプロジェクトの創立目標はフリーオペレーティングシステムを設立し、さらに可能であれば、「フリーでないソフトウェアを全く使わないでも済むようUNIXシステムに通常付属する有益なもの全て」も構築することであった。ストールマンはこのオペレーティングシステムをGNU("GNU's not Unix"を意味する再帰的頭字語)と呼ぶことに決め、その設計をプロプライエタリオペレーティングシステムであるUNIXの設計に基づくようにした。GNUの開発は1984年1月に開始された。1991年、リーナス・トーバルズによりGNUプロジェクトとは関係のないプロジェクトで開発されたLinuxカーネルが発表され、1992年12月にGNU General Public Licenseのバージョン2に基づき利用できるようにした, kernel.org, December 1992。LinuxカーネルはGNUプロジェクトによって既に開発されていた、オペレーティングシステムのユーティリティと組み合わされ最初のフリーソフトウェアオペレーティングシステムとして認められた。このフリーソフトウェアオペレーティングシステムはLinuxやGNU/Linuxとして知られている。 GNUプロジェクトは現在、ソフトウェア開発、意識改革、政治的キャンペーンや、新しい題材の共有などを行っている。.

新しい!!: SchemeとGNUプロジェクト · 続きを見る »

IA-32

IA-32(アイエー32、Intel Architecture 32)は80386の開発の際に定義された、16ビットx86を32ビットに拡張した命令セットアーキテクチャである。.

新しい!!: SchemeとIA-32 · 続きを見る »

IEEE

IEEE(アイ・トリプル・イー、The Institute of Electrical and Electronics Engineers, Inc.)は、アメリカ合衆国に本部を持つ電気工学・電子工学技術の学会である。.

新しい!!: SchemeとIEEE · 続きを見る »

Java

Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.

新しい!!: SchemeとJava · 続きを見る »

Java仮想マシン

ネイティブコードに変換されて実行される。Java APIとJVMの両者でJava実行環境 (JRE) を構成する。 Java仮想マシン (Java virtual machine、Java VM、JVM) は、Javaバイトコードとして定義された命令セットを実行するスタック型の仮想マシン。APIやいくつかのツールとセットでJava実行環境 (JRE) としてリリースされている。この環境を移植することで、さまざまな環境でJavaのプログラムを実行することができる。.

新しい!!: SchemeとJava仮想マシン · 続きを見る »

JavaScript

JavaScript(ジャバスクリプト)とは、プログラミング言語のひとつである。Javaと名前が似ているが、全く異なるプログラミング言語である(後述の#歴史を参照)。 JavaScriptはプロトタイプベースのオブジェクト指向スクリプト言語であるが、クラスなどのクラスベースに見られる機能も取り込んでいる。 ウェブブラウザ上で動作し動的なウェブサイト構築やリッチインターネットアプリケーションの開発に用いられる。また、2010年以降はnode.jsなどのサーバサイドJavaScript実行環境や各種ライブラリの充実により、MEANに代表されるように、Web開発の全ての領域で活用されるようになってきている。.

新しい!!: SchemeとJavaScript · 続きを見る »

LISP

LISPは、プログラミング言語である。 によって記述される。-->前置記法などが特徴である。 1958年にはじめて設計されたLISPは、現在広範囲に使用されている高水準プログラミング言語の中でもFORTRANに次いで2番目に古い。ただし、FORTRANと同様に、現在のLISPは初期のものから非常に大きく変化している。 これまでに多数の方言が存在してきたが、今日最も広く知られるLISP方言は、Common LispとSchemeである。 元々、LISPは、アロンゾ・チャーチのラムダ計算表記法に影響を受け、コンピュータープログラムのための実用的かつ数学的な表記法として作られた。そして、すぐに人工知能研究に好まれるプログラミング言語になった。最初期のプログラミング言語として、LISPは計算機科学にて、木構造、ガベージコレクション、動的型付け、条件分岐、高階関数、再帰、セルフホスティング、コンパイラを含む多くのアイディアを切り開いた。 LISPの名前は、「list processor」に由来している。リストはLISPの主要なデータ構造であり、LISPソースコードはそれ自体がリストからできている。その結果、LISPプログラムはソースコードをデータとして操作することができ、プログラマーは、マクロ・システムで新しい構文やLISP埋め込みの新しいDSLを作成できる。 コードとデータの互換性は、LISPにそのすぐに認識できる構文を与える。すべてのプログラム・コードはS式または入れ子のリストとして書かれる。関数呼び出しまたは構文は先頭が関数または演算子の名前で、その続きが引数であるリストとして書かれる。具体的には、3つの引数を取る関数fは、(f arg1 arg2 arg3)として呼び出される。.

新しい!!: SchemeとLISP · 続きを見る »

Microsoft Windows Embedded CE

Windows Embedded Compact (ウィンドウズ エンベデッド コンパクト)は、マイクロソフトが開発した組み込み機器向けの32ビットのマルチタスク/マルチスレッドリアルタイムオペレーティングシステム (RTOS)。一般にはHandheld PCやPocket PC SHARPBrainなどのPDAで使われているオペレーティングシステム (OS) として知られている。1996年11月に発表されている。近年はPNDにも採用されている。バージョン 6.0 では Windows Embedded CE 、バージョン 5.0 までは、Windows CE と呼ばれていた。.

新しい!!: SchemeとMicrosoft Windows Embedded CE · 続きを見る »

MIT人工知能研究所

MIT人工知能研究所(MIT Artificial Intelligence Laboratory、AI Lab)は、マサチューセッツ工科大学にかつて存在した学際的研究機関であり、人工知能とロボット工学の分野で世界的な貢献をしたことで知られる。MITでの人工知能研究は1959年に始まった。1963年、人工知能研究グループは新たに結成された Project MAC に編入され、1970年にそこから分離して人工知能研究所を設立。2003年、同研究所は Project MAC の流れを受け継いだMITコンピュータ科学研究所と合併し、CSAILとなった。 創設者には、マービン・ミンスキー、ジョン・マッカーシー(LISP言語発明者)などがいた。1950年代から1970年代にかけて、彼らは自らが開発したタイムシェアリング方式のオペレーティングシステム ITS を載せたコンピュータ(当初はPDP-6、後にPDP-10)を共有して使っていた。 TECO 上で Emacs を開発したリチャード・ストールマンなどの多くの才能あるプログラマ達がこの環境で育った。 人工知能研究所の主な研究テーマは、視覚、機械的動作と操作、言語などで、彼らはそれらがより知的な機械を構築するためのキーになると考えていた。.

新しい!!: SchemeとMIT人工知能研究所 · 続きを見る »

Racket

Racket (旧称 PLT Scheme) は、Schemeから派生したプログラミング言語である。Racket プロジェクトは以下の4つから構成されている。.

新しい!!: SchemeとRacket · 続きを見る »

SPARC

UltraSPARC IIマイクロプロセッサ SuperSPARC TMX390Z50GF H359403658C SPARC(スパーク、Scalable Processor Architecture)は、サン・マイクロシステムズが開発・製造したRISCベースのマイクロプロセッサであり、その命令セットアーキテクチャの名称である。 現在はSPARCインターナショナルの登録商標であり、複数のメーカーがこのアーキテクチャに基づいたプロセッサを製造している。.

新しい!!: SchemeとSPARC · 続きを見る »

SRFI

SRFI(Scheme requests for implementation, サーフィ)はプログラミング言語 Scheme の事実上の標準拡張仕様のことである。 Scheme は非常に簡素な言語仕様であり、たとえ有用であっても仕様が肥大化するような内容を注意深く避けて設計されている。そのため各種の実装やライブラリで方言がひどくなり相互運用が問題になった。そこで Scheme 拡張機能の標準化を目指して1998年に始まったのがSRFIフォーラムである。 SRFIの仕様は SRFI Editor のメーリングリスト上で決定されており、言語仕様を決定する会議とは原則として関係がない(将来の仕様に影響を与える可能性はある)。内容は非常に多岐にわたり、文字列ライブラリ仕様や、例外処理などの言語機能とマクロで実装可能なもの、ネスト可能なコメントのように言語仕様を無理なく拡張するものまでを含む。.

新しい!!: SchemeとSRFI · 続きを見る »

Uim

uim(ユーアイエム、Universal Input Method)は多言語入力メソッドフレームワークである。アプリケーションはいわゆるブリッジを通して uim を使うことができる。開発当初は im-scm であったが、Utena、uim と改名された。 以前は freedesktop.org にプロジェクトページがあったが、2007年に Google Code(現 Google Developers)へ移った。2016年にGithubに移った。.

新しい!!: SchemeとUim · 続きを見る »

VxWorks

VxWorks(ブイエックスワークス) は、アメリカ合衆国 WindRiver社が開発・販売する組み込みシステム向けリアルタイムオペレーティングシステム。.

新しい!!: SchemeとVxWorks · 続きを見る »

X86

x86(エックスはちろく)は、Intel 8086、およびその後方互換性を持つマイクロプロセッサの命令セットアーキテクチャの総称。16ビットの8086で登場し、32ビット拡張の80386(後にIA-32と命名)、64ビット拡張のx64、広義には更にAMDなどの互換プロセッサを含む。 なおインテルのIA-64は全く異なる。.

新しい!!: SchemeとX86 · 続きを見る »

末尾再帰

末尾再帰(まつびさいき)とは、再帰的な関数やプロシージャにおいて、自身の再帰呼び出しが、その計算における最後のステップになっているような再帰のパターンのことである。再帰にかかわらず一般に、そのような最後の呼び出しを末尾呼び出し (:en:Tail call)という。呼び出しではなく、戻り先を保存しないジャンプに最適化できるという特徴がある(#末尾呼出し最適化)。.

新しい!!: Schemeと末尾再帰 · 続きを見る »

方言 (プログラミング言語)

プログラミング言語における方言(ほうげん)は、自然言語の方言と同様に基本的な文法や機能を共通しながら、細かい振る舞いに差違の見られる類縁言語の事をいう。ただし、外部ライブラリにより機能の拡張を行なう場合は、他の方言でも同様に拡張が可能なので方言とは言われない。多くの場合ライブラリは複数の方言に対応し、差違を吸収できるように作られている。また、Pascal、Modula、Modula-2、あるいはC言語とC++のように進化の過程で言語的な能力を変化させたものはたとえ類縁関係にあっても方言とは言われない。 プログラミング言語においては、ソースコードの互換性が方言の性質を決定する。逆に同じソースコードを同じプラットフォームにおいて同じ意味で解釈しても、吐き出される実行コードは処理系ごとに異なっている事が普通である。なぜならコードはコンパイラ最適化などの段階を経るため、利用者にとって「同じである」と判断される動作さえ行えば、実際の内部構造は問わないからである。言語仕様によっては、これら最適化などの段階についても仕様のうちに内包して制御する。 最も頻繁に見られる方言の例は、統一仕様をもった言語に対して複数のコンパイラ、インタプリタが独自の拡張仕様を盛り込むケースである。BASICはこの種の典型で、一応は規格が存在するのだが、言語間での互換性はほとんどないに等しい状態となった。近年ではJavaScriptなどもブラウザ間の互換性が問題となっている。 逆に、特に定まった規格がなく、処理系=仕様という形態から方言が生じたケースも多い。LISPはS式表現とcar, cdr, eval, condといった基本的な語彙があればほとんど自由に機能拡張ができるため、Common Lispが策定されるまでは無数の方言が乱立する状態にあった。現在普通に使われる処理系はCommon Lisp系、Scheme系、GNU EmacsのEmacs Lisp程度で以前よりは安定した状態にあるが、それでも実装毎の差違がかなり見られる。 CもLISPに近い経緯をたどった言語で、かつては処理系毎にかなりの実装差が見られた。しかしANSI C規格が出現した事で非互換性の問題はほぼ解消し、方言と呼べるような違いは初期のK&RスタイルとANSIスタイル、GCC拡張機能の差違程度となっている。 ほうげん.

新しい!!: Schemeと方言 (プログラミング言語) · 続きを見る »

ここにリダイレクトされます:

プログラミング言語Scheme

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »