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

Parrot

索引 Parrot

Parrot はレジスタベースの仮想機械(仮想マシン)で、動的プログラミング言語を効率的に動作させるために開発された、C言語で書かれたソフトウェアである。Parrotは他の多くの仮想マシンと異なり、型情報を扱うことができる。Parrot アセンブリ言語とPIR(Parrot中間言語)をParrotのバイトコードに変換し、実行することができる。 ParrotプロジェクトはPerlのコミュニティにより開始され、Parrotはオープンソースとフリーソフトウェアのコミュニティの協力により開発されている。結果として、Parrotはライセンスの互換性 (Artistic License 2.0)、非常に広い範囲のプラットフォーム互換性、現代的なほとんどのプロセッサアーキテクチャに対する互換性、実行速度、サイズ(プラットフォームによるが 700K 程度)、Perlおよび全てではないがほとんどの現代的な動的プログラミング言語の様々な要求に対して柔軟に対応できること、に焦点を置いている。また、イントロスペクション、デバッガの機能、コンパイル時のセマンティックの調節 (semantic modulation) にも焦点を置いている。.

81 関係: APLArtistic License実行時コンパイラ中間言語一つの指輪互換性仮想機械例外処理ハードウェアハイブリッドバイトコードメーリングリストライセンスリフレクション (情報工学)レジスタマシンレジスタ割り付けプラットフォーム (コンピューティング)プロセッサデバッガデータ型フリーソフトウェアホビットの冒険呼出規約アリソン・ランダルアセンブリ言語インタフェース (情報技術)エイプリルフールオープンソースキャッチコピークライアント (コンピュータ)クロージャクロスプラットフォームコンパイラ最適化コンピュータ・アーキテクチャコードネームスレッド (コンピュータ)スタックマシンゾークサブルーチン再帰下降構文解析共通言語ランタイム動的プログラミング言語BASICBefungeBrainfuckC++C言語CPU継続関数型言語...ForthInternet Relay ChatIronPythonJava仮想マシンJ・R・R・トールキンJythonLinuxカーネルLISPLLVMM4 (プログラミング言語)PerlPerl 6PHP (プログラミング言語)PsycoPyPyPythonRubySchemeTcl/TkUnicodeZ-machine機械語指輪物語浮動小数点数文字列整数.NET Framework2005年2006年2009年3月17日 インデックスを展開 (31 もっと) »

APL

APL(エーピーエル)は、プログラミング言語のひとつで、1957年のケネス・アイバーソンによる創案に基づいた独特の表記法を用いる。処理系の実装は、ほとんどが対話型インタプリタである。とくに多次元配列の柔軟な処理が特徴である。「APL」は「プログラミング言語」(a programming language) の略であるが、言語の特性から、ときに「配列処理言語」(array processing language) などとされる。.

新しい!!: ParrotとAPL · 続きを見る »

Artistic License

Artistic License(アーティスティック・ライセンス)は、Perlの開発者であるラリー・ウォールが作成したオープンソースのライセンスの一種である。主にPerlやParrotで採用されている。 GNU General Public License (GPL) に近いライセンスであるが、ユーザが修正して再配布する場合に原版と同名を名乗ることを禁止している点が異なる。Artistic Licenseというネーミングは文学の "Poetic License"(詩的許容。"Artistic license"というそのものの英語句もあり)を捩っている。 フリーソフトウェア財団 (FSF) は、当初このライセンスを「曖昧過ぎる。いくつかの部分は利益を気にし過ぎており、また意味が明瞭でない」として非難した。また彼らは、PerlプロジェクトにはALとGPLのデュアルライセンスを用いるよう開発者に勧めていた。 これに対する返答として、後にFSFで勤務することになるブラッドリー・クーンはライセンスを書き直し、意味の不明瞭な部分を修正した。このドラフトは "Clarified Artistic License"(明確化されたアーティスティック・ライセンス)として公開され、FSFによって承認された。このライセンス下で公開されているソフトウェアにはや等のエミュレータ、やがある。 Perl 6に対するArtistic Licenseのあり方を見直すことを目的としたRequest for commentsに対する作業の結果、Perlコミュニティにおける議論を通して、このドラフトはロベルタ・カーニー (Roberta Cairney) とアリソン・ランダルにより可読性と法的明確性を確保するために大幅に書き直された。これはArtistic License 2.0として公開され、フリーかつオープンなライセンスとして認証されている。.

新しい!!: ParrotとArtistic License · 続きを見る »

実行時コンパイラ

実行時コンパイラ(じっこうじコンパイラ、、JITコンパイラ、その都度のコンパイラ)とは、ソフトウェアの実行時にコードのコンパイルを行い実行速度の向上を図るコンパイラのこと。通常のコンパイラはソースコード(あるいは中間コード)から対象CPUの機械語への変換を実行前に事前に行い、これをJITと対比して事前コンパイラ (Ahead-Of-Timeコンパイラ、AOTコンパイラ)と呼ぶ。.

新しい!!: Parrotと実行時コンパイラ · 続きを見る »

中間言語

中間言語(Pivot language)は、任意の言語を異なる任意の言語へ翻訳する際に利用する中間的な人工言語もしくは自然言語である。.

新しい!!: Parrotと中間言語 · 続きを見る »

一つの指輪

一つの指輪(ひとつのゆびわ、)は、J・R・R・トールキンのファンタジー小説に登場する架空の魔法の指輪。トールキンが創作した中つ国世界を舞台としたシリーズのうち、第1作である『ホビットの冒険』から登場し、その続編『指輪物語』ではこの指輪を巡る物語が描かれる。 「一つ」(the One)、「主なる指輪」()、「支配する指輪」()、「指輪の中の指輪」()とも呼ばれる。『ホビットの冒険』における主人公、ビルボ・バギンズが偶然手にした際には、身につければ姿を消すことができる不思議な指輪として登場するものの、それは指輪の能力のほんの一部に過ぎず、『指輪物語』では最大の敵役である冥王サウロンが中つ国を支配するための手段であると同時に弱点でもあるという位置づけで登場する。 外見上は単純に金で作られているように見えるが、物理的にいかなる手段でも損なわれることはなく、もともと鍛造された火山の亀裂に投げ込むことでしか破壊することができないという設定である。同じくサウロンが創造した下位の指輪と異なり、宝石はついていないが、(劇中においてはほとんど知られていなかった)単純な方法で「一つの指輪」であることを試すことが出来る。火で熱すると、火文字で書かれたモルドールの言葉による伝承の一節が浮かび上がるのである。.

新しい!!: Parrotと一つの指輪 · 続きを見る »

互換性

互換性(ごかんせい、)とは、ある部品やコンポーネント(構成要素)などを置き換えても同様に動作させることができる性質のこと。 特に工業製品では、互換性を確保することで新たなシステムを用意する必要がなくなり、設計や部品の再利用性が高まることでコストカットを見込めることや、過去の製品からの買い替えなどを進めることができたりする。ただし、古い基準に縛られてしまうために技術革新の妨げとなるという側面もある。互換性を確保するために余計なコストがかかる場合は軽視されることがあるほか、メーカー間の互換性はベンダーロックインを狙うため、あえて削ぐものもある。.

新しい!!: Parrotと互換性 · 続きを見る »

仮想機械

仮想機械(かそうきかい、仮想マシン、バーチャルマシン、virtual machine、VM)とは、コンピュータの動作をエミュレートするソフトウェアやフレームワークである。また、エミュレートされた仮想のコンピュータそのものも仮想機械という。仮想機械によって、1つのコンピュータ上で複数のコンピュータやOSを動作させたり、別のアーキテクチャ用のソフトウェアを動作させることができる。.

新しい!!: Parrotと仮想機械 · 続きを見る »

例外処理

例外処理(れいがいしょり)とは、プログラムの上位の処理から呼び出されている下位の処理で継続不能、または継続すれば支障をきたす異常事態に陥ったとき、制御を呼び出し元の上位の処理に返し安全な状態になるよう回復処理をすること。その際に発生した異常のことを例外と呼ぶ。 継続不能や継続すると問題になる様な状態としては、次のようなものが挙げられる。.

新しい!!: Parrotと例外処理 · 続きを見る »

ハードウェア

ハードウェア (hardware) とは、システムの物理的な構成要素を指す一般用語である。日本語では機械、装置、設備のことを指す。ソフトウェアとの対比語であり、単に「ハード」とも呼ばれる。.

新しい!!: Parrotとハードウェア · 続きを見る »

ハイブリッド

*注意:この記事は曖昧さ回避も兼ねています。 --> ハイブリッド(hybrid、)は、.

新しい!!: Parrotとハイブリッド · 続きを見る »

バイトコード

バイトコード (bytecode) は、仮想マシンによる実行のために設計された、実行可能なプログラムのバイナリ表現である。ソフトウェアによって処理されるため、大抵は実機の機械語より抽象度の高い中間コードになっている。プログラミング言語の実装において、特定のハードウェアへの依存度を下げ、またインタプリタの実装を容易にするために用いられる。コンパイラの中間コードとして用いられることもある。 バイトコードという名前は命令の構成がバイト指向であること、すなわち命令長がバイト可変長であったり、命令中のフィールドの区切りがバイト区切りに合っているといったことから来ている。特にJavaの場合オペコードが1バイトである。しかし、仮想マシンの機械語をバイトコードと呼ぶことがJavaで広く一般的になったことから、前述のようなバイト指向でなくともバイトコードと呼んでいることも多い。バイト単位でなくビット単位の場合は、ビットコードとも呼ばれる。ワード指向のためにワードコードという語を使っている例も見られる。 バイトコードで記述されたプログラムは通常、バイトコードインタプリタによって解釈・実行される。バイトコードインタプリタは機械語を解釈・実行するCPUとの類似性からバーチャルマシンとも呼ばれる。.

新しい!!: Parrotとバイトコード · 続きを見る »

メーリングリスト

メーリングリスト()とは、複数の人に同時に電子メールを配信(同報)する仕組み。MLと略される。用途としては、特定の話題に関心を持つグループなどで情報交換をする場合に利用されることが多い。 メーリングリストの原理は、登録メンバーの電子メールアドレスのリストと、メーリングリスト宛ての代表電子メールアドレスを用意しておき、代表アドレスへ送信されたメールを、リストに登録されたメンバー全員のアドレスへ転送するものである。 元は郵便を利用したものがあったが、今日では専ら電子メールを用いたものを指す場合が多い。.

新しい!!: Parrotとメーリングリスト · 続きを見る »

ライセンス

ライセンス(license、licence)は、それが存在しなければ違法となる行為をすることを許可すること、あるいはその許可を証する書面のことをいう。訳語は免許、認可、許可、鑑札など。 ライセンスを与える者をライセンサー (licenser / licencer)、ライセンスを受ける者をライセンシー (licensee / licencee) と呼ぶ。 知的財産権の側面におけるライセンスは、権利者が独占する権利の実行を他者に許諾するものであるため、当該権利を保有する人材や企業の確保は国益に重大な影響を及ぼす。そこで欧米ではこの分野を国際的な政治戦略として高い位置づけでとらえ、各種ライセンスの積極的な保護育成に力を注いでいる。.

新しい!!: Parrotとライセンス · 続きを見る »

リフレクション (情報工学)

情報工学においてリフレクション (reflection) とは、プログラムの実行過程でプログラム自身の構造を読み取ったり書き換えたりする技術のことを指す。.

新しい!!: Parrotとリフレクション (情報工学) · 続きを見る »

レジスタマシン

レジスタマシン(英: Register machine)とは、数理論理学や理論計算機科学で使われる汎用計算模型の一種であり、チューリングマシンと似たような使われ方をされる。レジスタマシンのモデルは全てチューリング等価である。 また、スタックマシンの対として、オペランドがレジスタである機械を指してもレジスタマシンと言う。実機ではほとんどにあてはまるのでわざわざ言わないが、仮想機械では、たとえばLua 5の仮想機械を指して使われる。.

新しい!!: Parrotとレジスタマシン · 続きを見る »

レジスタ割り付け

レジスタ割り付け(レジスタわりつけ、Register allocation)は、プログラム内の多数の変数を少数のCPUレジスタに多重化するコンパイラ最適化技法のひとつである。その目標は、プログラムの実行速度を最大化すべく、なるべく多くのオペランドをレジスタに保持するようにすることである。レジスタ割り付けは基本的なブロックについて行う場合(ローカルレジスタ割り付け)と関数やプロシージャ全体について行う場合(グローバルレジスタ割り付け)がある。レジスタ割り当てとも呼ぶ。 プログラムは、多数の様々なデータを処理することが多い。しかし、CPUの多くはデータを保持するのに使えるレジスタ数は限られている。機械語のオペランドとしてメモリを指定できる場合でも、なるべくレジスタを使った方が高速化される。従って、処理に必要なデータを RAMとレジスタの間で入れ替えてやる必要がある。この操作を spill(スピル、あふれ)と呼ぶ。 レジスタの spill は、マシンが持っているレジスタ数以上の変数が同時に必要とされる場合に発生する。一般にメモリはレジスタよりも遅いため、spill にはコストがかかる。.

新しい!!: Parrotとレジスタ割り付け · 続きを見る »

プラットフォーム (コンピューティング)

プラットフォーム()とは、コンピュータにおいて、主に、オペレーティングシステム (OS) やハードウェアといった基礎部分を指す。 一般的なコンピューター・プログラム(アプリケーションソフトウェア)は、実行環境であるそれぞれのOSに依存し、Windows、macOS、Linuxなどの専用のプログラムとして動作する。さらに特定のハードウェアでしか動作しないプログラムもある(ネイティブコード)。例えば、PowerPCプロセッサ上のLinuxでは、PowerPCプロセッサ上のMac OS X用あるいはx86/x64プロセッサ上のLinux用のAdobe Readerは動作しない。 プラットフォーム非依存とは、それら特定のOS、ハードウェアに依存せずに動作するプログラムのこと。例えば、Javaは各プラットフォームにおいてJavaアプリケーションが動作する仮想のプラットフォームを実装することによって、プラットフォーム非依存を実現させている。ちょうど異なるプラットフォーム上に介在としてJavaプラットフォームという仮想化された共通プラットフォームがあり、共通プラットフォーム上でJavaアプリケーションが動作する。またプラットフォームの差異をミドルウェアで吸収し、複数のプラットフォームで動作するように設計したソフトウェアをクロスプラットフォームとよぶ。マイクロソフトの.NET FrameworkもJavaとよく似たアプリケーション開発・実行プラットフォームである。プログラムのソースコードを実行時に翻訳・解釈するスクリプト言語や動的プログラミング言語で書かれたソフトウェアもクロスプラットフォームであることが多い。.

新しい!!: Parrotとプラットフォーム (コンピューティング) · 続きを見る »

プロセッサ

プロセッサ は、コンピュータシステムの中で、ソフトウェアプログラムに記述された命令セット(データの転送、計算、加工、制御、管理など)を実行する(=プロセス)ためのハードウェアであり、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成される。内蔵されるある程度の規模の記憶装置までを含めることもある。プロセッサー、プロセサ、プロセッシングユニット、処理装置(しょりそうち)ともいう。「プロセッサ」は処理装置の総称で、システムの中心的な処理を担うものを「CPU()」(この呼称はマイクロプロセッサより古くからある)、集積回路に実装したものをマイクロプロセッサ、またメーカーによっては(モトローラなど)「MPU()」と呼んでいる。 プロセッサの構成要素の分類として、比較的古い分類としては、演算装置と制御装置に分けることがある。また、理論的な議論では、厳密には記憶装置であるレジスタすなわち論理回路の用語で言うところの順序回路の部分を除いた、組み合わせ論理の部分のみを指すことがある(状態機械モデルと相性が悪い)。の分類としては、実行すべき命令を決め、全体を制御するユニットと、命令を実行する実行ユニットとに分けることがある。.

新しい!!: Parrotとプロセッサ · 続きを見る »

デバッガ

デバッガ(Debugger)とは、デバッグを支援するプログラムのこと。対話的に利用者がプログラムを動作させたり、プログラムが使っている変数等を表示させる機能がある。近年では統合開発環境に含まれていることが多い。また、ICEなどでは、ハードウェアと連携して動作する。 インタプリタには内蔵されていることもある。たとえばperlは起動時に -d オプションを指定することで、デバッガモードになる。.

新しい!!: Parrotとデバッガ · 続きを見る »

データ型

データ型(データがた、)とは、(コンピュータにおける)データ(値)の種類に関する分類である。データタイプとも。 具体的にいうと、たとえば 0, 1, 2, -42 といったような値は整数型であり、"foo", "Hello" といったような値は文字列型である。プログラミングなどにおいて、まずデータオブジェクトや関数などの「値」について、またさらに、それらに関連付け(束縛)される変数や定数、リテラル、それらを組合せる演算子、さらにそれらからなる式といった構文上の要素の型が、データ型の議論の対象となる。.

新しい!!: Parrotとデータ型 · 続きを見る »

フリーソフトウェア

フリーソフトウェア (free software) とは、ソフトウェアのうち、フリーソフトウェア財団が提唱する自由ソフトウェアを指す。大半のフリーソフトウェアは無償(フリー)で配布されているが、定義に従えば、ここでいうフリーソフトウェアについて一次配布が無償である必要は必ずしもない。 フリーソフトウェア財団はフリーソフトウェアの定義を提示している。ソフトウェアライセンスについてはフリーソフトウェアライセンスを参照。 定義に照らして自由ではない、すなわち改造や再配布などに制限が掛かっていたり、ソースコードが開示されていない、無償で利用できるソフトウェアとは異なる概念であり、この場合はフリーウェアもしくは無料ソフトと呼ぶことが望ましいとフリーソフトウェア財団はしている。 逆に定義に従ったソフトウェアであれば、一次的な配布が有償であってもフリーソフトウェアと呼ぶことができる。ただし、前述したように配布が自由であるため、ほとんどのフリーソフトウェアは無償で配布されている。 また、現状強い影響力を持つ定義として、フリーソフトウェア財団の定義の他に、DebianフリーソフトウェアガイドラインとそれをベースにしたOpen Source Initiativeのオープンソースの定義がある。.

新しい!!: Parrotとフリーソフトウェア · 続きを見る »

ホビットの冒険

『ホビットの冒険』(ホビットのぼうけん、原題:The Hobbit, or There and Back Again)は、1937年9月21日に出版されたJ・R・R・トールキンによる児童文学、ファンタジー小説。『指輪物語』の前日譚でもある。.

新しい!!: Parrotとホビットの冒険 · 続きを見る »

呼出規約

呼出規約(よびだしきやく)ないし呼出慣例(よびだしかんれい)(calling convention)は、コンピュータの命令セットアーキテクチャごとに取り決められるABIの一部で、サブルーチンが呼出される際に従わねばならない制限などの標準である。名前修飾について、データを渡す「実引数」、戻るべきアドレスである「リターンアドレス」、データを戻す「返戻値」などを、スタックなどに対してどのように格納するのか、また各レジスタを、呼び出し側とサブルーチンのどちらの側が保存するか、等といった取決めの集まりである。言語が同じでも、分割コンパイルされリンカでリンクされる相互のプロシージャ間では、呼出し呼出されるならば同一の呼出規約に従っていなければならない。一方で、違う言語の間でも、同一の呼出規約を経由して相互にプロシージャを呼出すこともできる。.

新しい!!: Parrotと呼出規約 · 続きを見る »

アリソン・ランダル

アリソン・ランダル(Allison Randal)は、言語学者、ソフトウェア開発者そして作家である。彼女は、Parrot仮想機械プロジェクトの元チーフ・アーキテクト、の理事、Pythonソフトウェア財団の理事、そしての元議長である。彼女はまた、Parrot仮想機械のテストケース用コンパイラ、の先導開発者(リード・デヴェロッパー)でもある。彼女は、書籍"Perl 6 and Parrot Essentials"を共同で著しており、またPerl6の概要についても文書を記している。彼女はオライリーメディアにて以前勤務していた。2010年8月20日、アリソンはUbuntuの技術アーキテクトとしてCanonicalに現在勤務していることを公表した。.

新しい!!: Parrotとアリソン・ランダル · 続きを見る »

アセンブリ言語

モトローラ MC6800 のアセンブリ言語のソースコード アセンブリ言語(アセンブリげんご、英: assembly language)とは、コンピュータ、マイクロコントローラ、その他のプログラム可能な機器を動作させるための機械語を人間にわかりやすい形で記述する、代表的な低水準言語である。なお、英語の assembly とは「組立」という意味である。.

新しい!!: Parrotとアセンブリ言語 · 続きを見る »

インタフェース (情報技術)

インタフェース(interface)は、ものごとの境界となる部分と、その境界でのプロトコルを指す。コンピュータなどでは、コンピュータシステム内、あるいはシステム間のインタフェースや、人間と機械の間のインタフェース(ヒューマンマシンインタフェース)などがある。他分野の専門用語の借用になるが、界面という訳語がある。.

新しい!!: Parrotとインタフェース (情報技術) · 続きを見る »

エイプリルフール

イプリルフール(April Fools' Day)とは、毎年4月1日には嘘をついても良いという風習のことである岩波書店『広辞苑 第六版』。イギリスではオークアップルデーに倣い、嘘をつける期限を正午までとする風習があるが、それ以外の地域では一日中行われる。 エイプリルフールは、日本語では直訳で「四月馬鹿」、漢語的表現では「万愚節」、中国語では「愚人節」、フランス語では「プワソン・ダヴリル」(Poisson d'avril, 四月の魚)と呼ばれる。.

新しい!!: Parrotとエイプリルフール · 続きを見る »

オープンソース

ープンソース (open source) とは、言葉通りのソースコードへのアクセスが開かれている(ソースコードが公開されている)ことを意味するのではなく、ソースコードを商用、非商用の目的を問わず利用、修正、頒布することを許し、それを利用する個人や団体の努力や利益を遮ることがないソフトウェア開発の手法を意味する。オープンソース・イニシアティブ は、「オープンソース」と名乗るための要件として「オープンソースの定義」を掲げている。.

新しい!!: Parrotとオープンソース · 続きを見る »

キャッチコピー

ャッチコピー、キャッチフレーズとは、主に商品や作品の広告など、何らかの告知や宣伝に用いられ、謳い文句や煽り文句となる文章である。惹句とも呼ばれる。 1文、1行程度のものから、数行に亘る物まで形式は様々である。広告や宣伝においては、キャッチコピーで商品の印象が決まると言え、その出来如何によっては商品自体の売れ行きが大きく左右される事になるため、重要視される。職業としてキャッチコピーを創作する者をコピーライターという。 キャッチコピーは和製英語であり、英語圏ではアドヴァタイジングスローガン と言って主に消費者に向けた商品の宣伝文句を指すものであり、キャッチフレーズ と言う場合には特定の人物・集団が掲げる標語や、フィクションに於ける名台詞などを指す事が多い。また、後者で特定の人物の台詞の引用ではなくストーリー全体を象徴する惹句を指す場合はタグライン と言う。.

新しい!!: Parrotとキャッチコピー · 続きを見る »

クライアント (コンピュータ)

ライアント(Client)は、クライアント・サーバシステムにおいて、サーバに対してサービスの依頼を行いその提供を受けるような、コンピュータまたはアプリケーションやプロセスのことをいう。サーバからサービスを受ける側を指す。.

新しい!!: Parrotとクライアント (コンピュータ) · 続きを見る »

クロージャ

ージャ(クロージャー、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 はインクリメントされていく。.

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

クロスプラットフォーム

プラットフォーム(cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォームがある。 また、家庭用ゲームにおいては「クロスプラットフォーム」と「マルチプラットフォーム」で意味が異なる場合がある。本項ではこのケースについても後述する。.

新しい!!: Parrotとクロスプラットフォーム · 続きを見る »

コンパイラ最適化

ンパイラ最適化(こんぱいらさいてきか、Compiler optimization)の記事では、コンピュータ・プログラムの最適化に関する話題のうち、もっぱらコンパイラに関係するものに関して説明する。最も一般的な要求はプログラムの実行時間を最小化することであり、その次に使用するメモリ量を最小化することである。また、携帯可能なコンピュータが増えるにつれて、消費電力を最小化するという最適化も生まれてきた。 一部のコード最適化問題はNP完全問題であることが示されている。実際には、プログラマがコンパイラによる最適化の完了を待てる時間の上限なども考慮してコンパイラ最適化を実装する(最適化はCPU時間とメモリを多大に使用する)。かつては、コンピュータのメモリ実装量も実行できる最適化を制限する要因だった。 コンパイラメーカによっては、「コンパイラの最適化の能力が売り上げや評判に大きく影響する」と信じている場合があり、そういう信念に従って「最適化コンパイラ」と銘打つことがある。少なくとも、同程度にバグが無いコンパイラ同士であれば、という前提の範囲内なら、最適化の能力が高いほうが魅力的と言えるであろう。.

新しい!!: Parrotとコンパイラ最適化 · 続きを見る »

コンピュータ・アーキテクチャ

ンピュータ・アーキテクチャ(computer architecture)は、コンピュータ(特にハードウェア)における基本設計や設計思想などを意味する。アーキテクチャ(建築)には、単に「建築物」以外に、設計や様式という意味があるが、それから転じて、コンピュータ分野においても使われるようになった。「設計思想」などと意訳されることもある。技術者や研究者の用語としては(企業ごとの用語の違いにもよるが)「方式」という語が使われることもある。 1964年のSystem/360で最初に使われた用語で、その際の意味としては、入出力インタフェースを含むコンピュータシステムのハードウェア全体(周辺機器自体は含まない)の、ユーザー(プログラマ、OSを設計するプログラマも含む)から見たインタフェースの定義であり、具体的には使用できるレジスタの構成、命令セット、入出力(チャネルコントロールワード)などであり、実装は含まない。このアーキテクチャが同一のコンピュータ間や、上位互換のアーキテクチャを持つコンピュータへの移行や、上位互換の周辺機器への移行などは、ソフトウェアの互換性が原則として保証される。またハードウェアの内部設計や実装は、定義されたアーキテクチャを守る限り、技術の進歩に応じて自由に更新できる。この結果、コンピュータ・ファミリー(シリーズ)が形成可能となる。現在で言えばレイヤー定義であり仮想化の一種でもある。 また、システムアーキテクチャ、エンタープライズアーキテクチャ、ソフトウェアアーキテクチャ、ARMアーキテクチャなどの用語も増えている。.

新しい!!: Parrotとコンピュータ・アーキテクチャ · 続きを見る »

コードネーム

ードネーム()は、ある事物や人物などを指す、一般にごく短い別名であるが、関係者だけなどといった特に限定された範囲でのみ、そのことを知っているような運用を目的としたものを特に指すこともある。すなわち、暗号の分類のひとつである「コード (暗号) 」の意図があり、それを明示して暗号名(あんごうめい)、秘匿名(ひとくめい)などとも言う。 (特にIT業界において)製品などに関して、主としてメーカーにおける開発中のコードネーム(これは、競争他者等に対する秘匿の意図がある、本来の「コードネーム」)を流用して、一般消費者の一部(主としてマニア層)が、製品シリーズ等の総称等として使うことがある。これは、ブランド名や商品名はもとより、型番等ですら、メーカーはマーケティング戦略として、技術的な系譜や特徴をわざと無視してネーミングすることがあるため、開発コードネームを元にすれば、技術的に正確な分類となるから、という利点があるためである。これは、ブランド名や一般的な型番では複数のモデルの総称のことがある自動車などで(たとえば「RX-7」)、本来は車台番号や車両識別番号などといった消費者向けではない情報のための「型式」由来の通称(RX-7の場合は「SA」「FC」「FD」等。別の有名な例は「AE86」等)が多用される、といった言語現象に近い。 macOSで「Mac OS バージョン 10.X.y」の X ごと、あるいはAndroid OSの「バージョン X.y.z」の X ごとのコードネームは、製品名としてそのまま用いられているが、これはどちらかというと、漢字Talk7.1の「おにぎり」のような愛称をわざわざ付けるのを手抜きして、開発コードネームをそのまま流用しているだけ、と説明するのが最も妥当だろう。あるいは、小数点で区切られたバージョン番号ではマーケティング上の印象が弱いため「なんとか95」「なんとか2000」あるいは「なんとかX」などと変な数字を付けたことが混乱しか招かなかった、という過去の事例から学んだのかもしれない(開発中のOSにコードネームを付けること自体は、Win95の「Chicago」など古くから行われている)。.

新しい!!: Parrotとコードネーム · 続きを見る »

スレッド (コンピュータ)

レッド(thread)とは、CPU利用の単位。プロセスに比べて、プログラムを実行するときのコンテキスト情報が最小で済むので切り替えが速くなる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。 プログラミングの観点からみると、アプリケーションの処理の「実行の脈絡」は1つでないことが多い。これをシングルスレッドで実現しようとするとシグナルやタイマーを駆使してコーディングすることになる。また、複数のプロセスに分割してプロセス間通信で協調動作させるという方法もある。しかし、いずれの場合もそれらの機能を使うための余分な、本来のアルゴリズムと関係ないコーディングが必要となる。スレッドを使用したプログラミングは本来のアルゴリズムに集中しやすくなり、プログラムの構造が改善されるという効果がある。.

新しい!!: Parrotとスレッド (コンピュータ) · 続きを見る »

スタックマシン

タックマシン(stack machine)とは、メモリがスタックの形式になっている計算モデルを意味する。 スタックマシンを実装あるいはシミュレートしている実在のコンピュータもスタックマシンと呼ぶ。 加えて、スタックマシンは「0オペランド」命令セットのマシンも意味する。0オペランドマシンでは、命令は暗黙のうちにスタックのトップおよびトップ近傍にある値を使って演算を行い、結果はやはりスタックに積む。 スタックマシン(0オペランド命令セット)がアキュムレータマシン(1オペランド命令セット)やレジスタマシン(2オペランド命令セット、3オペランド命令セット)に比較して優れているのは、0オペランド命令セットで書かれたプログラムのコード密度が他の命令セットで書かれた同じプログラムに比較して一般に高い点である。 コールスタックを使って入れ子になったサブルーチン呼び出しの局所変数群を管理する方式のコンピュータをスタックマシンとは呼ばない(普通は)。.

新しい!!: Parrotとスタックマシン · 続きを見る »

ゾーク

ゾーク(Zork)は最初期のインタラクティブフィクション(テキストアドベンチャー)形式のコンピューターゲームの一作であり、そこから発展した一連のアドベンチャーゲームのシリーズである。このゲームではプレイヤーは地下世界に広がる迷宮を舞台に、宝物の捜索を行う冒険者の役割を演じる。オリジナル版ゾーク三部作は最初のアドベンチャーゲームである『コロッサル・ケーブ・アドベンチャー』の初期の子孫であった。 “Zork”という単語(ないし綴り)は元々は、未完成のプログラムに対し使われる名前として、マサチューセッツ工科大学のハッカー文化圏に由来する。作者らは完成後一旦は「ダンジョン(Dungeon)」と命名したが、商品名「ゾーク」とした(戻した)のは『ダンジョンズ&ドラゴンズ』の商標権との兼合のためである。英語版と日本語版それぞれのゲームブックシリーズも存在する。.

新しい!!: Parrotとゾーク · 続きを見る »

サブルーチン

ブルーチン(subroutine)は、コンピュータプログラミングにおいて、プログラム中で意味や内容がまとまっている作業をひとつの手続きとしたものである。繰り返し利用されるルーチン作業をモジュールとしてまとめたもので、呼び出す側の「主」となるもの(メインルーチン)と対比して「サブルーチン」と呼ばれる。サブプログラム (subprogram) と呼ばれることもある。また、「サブ」をつけずに「ルーチン」と呼ぶこともある。 プログラムのソース中で、繰り返し現れる作業をサブルーチン化することで、可読性や保守性を高く保つことができる。繰り返し現れる作業でなくても、意味的なまとまりを示すためにサブルーチン化することもある。また、キャッシュのような階層的メモリの設計を持つコンピュータ(現在のパソコンやワークステーションなどほぼすべて)では、よく使われるサブルーチンがキャッシュに格納されることで高速な動作を期待できる。.

新しい!!: Parrotとサブルーチン · 続きを見る »

再帰下降構文解析

再帰下降構文解析(さいきかこうこうぶんかいせき、Recursive Descent Parsing)は、相互再帰型の手続き(あるいは再帰的でない同等の手続き)で構成されるLL法のトップダウン構文解析であり、各プロシージャが文法の各生成規則を実装することが多い。従って、生成されるプログラムの構造はほぼ正確にその文法を反映したものとなる。そのような実装の構文解析器を再帰下降パーサ(Recursive Descent Parser)と呼ぶ。.

新しい!!: Parrotと再帰下降構文解析 · 続きを見る »

共通言語ランタイム

CLRの動作イメージ。バイトコードを機械語に変換、実行する。 共通言語ランタイム (Common Language Runtime, CLR) とは、.NET Frameworkアプリケーションを実行するための仮想機械で、共通言語基盤 (CLI) のマイクロソフト自身による実装。.NET Framework 4.x で使用されている CLR は Windows 上のみで動作する。.NET Core 5 はMITライセンスのオープンソースになり、CoreCLRはWindows、macOS、Linux、FreeBSD で動作する。 CLRは、共通中間言語 (CIL) と呼ばれる、プログラミング言語や環境に依存しない中間言語を解釈する。CILは実行時にJITコンパイラによって機械語に変換され、実行される。.NET Framework 4.6 では64ビット版は RyuJIT という名称のJITコンパイラが搭載された。 そのほかのCLRの役割・機能には、メモリ管理(ガベージコレクション)、型とアセンブリの管理、スレッド管理、例外処理、セキュリティがある。.

新しい!!: Parrotと共通言語ランタイム · 続きを見る »

動的プログラミング言語

動的プログラミング言語(dynamic programming language)は、コンピュータ・プログラミング言語において、一般にコンパイルなどの準備段階に済まされることが多いことを、準備時ではなく実行時に行うプログラミング言語処理系(の言語)である。本来は実装(処理系)のことを指すべきであるが、一般にその言語を指して議論されることが多い。もっぱら高水準言語が多い。動的言語(dynamic language)とも。例えば、型システムによる型チェックや、値の型変換、名前束縛などを、コンパイルなどの実行準備時ではなく実行時に行う。そういった「動的さ」により、コードの追加やオブジェクトや定義の拡張や型システムの変更によるプログラムの拡張、といったことが行いやすい、ということが利点とされる。これらの動作は静的な処理系でも手間はかかるがエミュレート可能である(例えばJavaのJDK/JREでも、クラスローダーを活用すれば可能である)。一方、動的言語ではそういったことが、直接的にサポートされる。 動的言語と動的型付けは同じ概念ではないし、全ての動的言語が必ずしも動的型付き言語というわけではない。たとえばSmalltalk環境の一つであるStrongtalkやGradualtalkは動的な言語にも拘わらず静的型検査が可能となっている。しかし多くの動的言語は動的型付き言語である。.

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

BASIC

BASIC(ベーシック)は手続き型プログラミング言語のひとつ。 名前は「beginner's all-purpose symbolic instruction code」(「初心者向け汎用記号命令コード」を意味する)のバクロニムである。.

新しい!!: ParrotとBASIC · 続きを見る »

Befunge

Befunge はプログラミング言語の一つ。手続き型、スタック型で、自己変更的な言語である。実用言語ではない難解プログラミング言語のひとつ。 この言語のプログラムの命令は一次元の列ではなく二次元の格子上に並んでいて、実行する向きを上下左右に変更できる。この言語の任意の1命令は、ソースコード中で1文字で表現される。したがって、ソースコード中の行と桁がプログラムの格子の位置に対応する。 1993 年、Chris Pressey が「コンパイルが困難な言語」として作った。Befunge-93 はプログラムのサイズが 80 桁 25 行に固定されている。Befunge-93 の拡張 (一般化) である Funge-98 にはこの制限は無く、チューリング完全である。さらに Funge-98 には任意次元への拡張やマルチスレッド対応等が含まれている。.

新しい!!: ParrotとBefunge · 続きを見る »

Brainfuck

Brainfuck(ブレインファック)は難解プログラミング言語のひとつ。なお名称に卑語が含まれるため、Brainf*ckなどと表記されることがある。.

新しい!!: ParrotとBrainfuck · 続きを見る »

C++

C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。.

新しい!!: ParrotとC++ · 続きを見る »

C言語

C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.

新しい!!: ParrotとC言語 · 続きを見る »

CPU

Intel Core 2 Duo E6600) CPU(シーピーユー、Central Processing Unit)、中央処理装置(ちゅうおうしょりそうち)は、コンピュータにおける中心的な処理装置(プロセッサ)。 「CPU」と「プロセッサ」と「マイクロプロセッサ」という語は、ほぼ同義語として使われる場合も多いが、厳密には以下に述べるように若干の範囲の違いがある。大規模集積回路(LSI)の発達により1個ないしごく少数のチップに全機能が集積されたマイクロプロセッサが誕生する以前は、多数の(小規模)集積回路(さらにそれ以前はディスクリート)から成る巨大な電子回路がプロセッサであり、CPUであった。大型汎用機を指す「メインフレーム」という語は、もともとは多数の架(フレーム)から成る大型汎用機システムにおいてCPUの収まる主要部(メイン)、という所から来ている。また、パーソナルコンピュータ全体をシステムとして見た時、例えば電源部が制御用に内蔵するワンチップマイコン(マイクロコントローラ)は、システム全体として見た場合には「CPU」ではない。.

新しい!!: ParrotとCPU · 続きを見る »

継続

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

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

関数型言語

関数型言語(かんすうがたげんご、functional language)は、以下に述べる関数型プログラミングを基本スタイルとして推奨する機能を持つプログラミング言語、関数型プログラミング言語の略称である。.

新しい!!: Parrotと関数型言語 · 続きを見る »

Forth

Forth(フォース)は、スタック指向のプログラミング言語およびそのプログラミング環境である。Forth はしばしば、かつての習慣に従ってすべて大文字で綴られることもあるが、頭字語ではない。.

新しい!!: ParrotとForth · 続きを見る »

Internet Relay Chat

Internet Relay Chat(インターネット・リレー・チャット、略称: IRC)とは、サーバを介してクライアントとクライアントが会話をする枠組みの名称である。インスタントメッセンジャーのプロトコルの一つに分類される。また、これに基づいて実装されるソフトをIRCクライアントと呼び、しばし略してクライアントもIRCと呼ばれる事がある。文章のみをやり取りして会話を行い、DCCなどを利用することでファイル転送も対応する。 TCPを通信用のプロトコルとして主に用いる。TLSで暗号化することもできる。.

新しい!!: ParrotとInternet Relay Chat · 続きを見る »

IronPython

IronPythonとは、.NET FrameworkおよびMono上で動作するPythonの実装である。Jim Huguninによって開発が進められ、2006年9月5日に初版がリリースされた。バージョン1.x系のIronPythonはPython 2.4.3と互換している。IronPython 2.7はPython 2.7互換である。.NET Frameworkの持つ豊富なクラスライブラリをPythonの文法でシームレスに利用できるだけでなく、従来のPython(CPython)のコード資産さえもある程度そのまま利用できることが特徴である。また、.NETの実行環境に対応した各種ツールが、そのまま利用できる点もメリットといえる。 もともとPythonはスクリプト言語であるが、IronPythonコンパイラサービスによって.NETアセンブリにコンパイルすることも可能である。これは、スクリプト言語として利用する場合はバイトコードに動的コンパイルし、アセンブリの場合は、それが事前コンパイルされたものと考えることができる。 IronPython自身はC#で実装されている。.

新しい!!: ParrotとIronPython · 続きを見る »

Java仮想マシン

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

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

J・R・R・トールキン

ョン・ロナルド・ロウエル・トールキン(、1892年1月3日 - 1973年9月2日)は、英国の文献学者、作家、詩人、イギリス陸軍軍人。『ホビットの冒険』と『指輪物語』の著者として知られている。.

新しい!!: ParrotとJ・R・R・トールキン · 続きを見る »

Jython

Jython(旧称JPython)は、プログラミング言語PythonのJavaで書かれた実装である。Jim Huguninによって開発が始められた。.

新しい!!: ParrotとJython · 続きを見る »

Linuxカーネル

Linuxカーネルは、Unix系オペレーティングシステムであるLinuxのカーネル。リーナス・トーバルズによって開発が開始された。 ライセンスにGPL(バージョン2)を採用する自由なソフトウェアである。 通常、Linuxカーネルと言えばリーナスが公開している公式版のカーネルを指すが、Linuxディストリビューションで使用されているカーネルは、公式版カーネルにベンダーが独自の修正や変更を加えたものであることが多い。Androidで使用されているカーネルもそのひとつである。このような非公式のカーネルは、ベンダーがサポートすべきものとして、Linux Kernel Mailing List などでは基本的に対象外となっている。 開発の初期には、MINIXを参考としており、影響を受けてもいるが、MINIXのコードは使用せず、ゼロから書かれた(IBM PCを端末エミュレータとして動かすためのコードから成長させたものと言われている)。 GPLを採用したことがLinuxを共有の物として開発することを推進させた、とされている。また、Linuxの開発とインターネットの発展が時期的に一致したことも、Linuxの開発コミュニティ形成に寄与した。 また、開発に際して、よりオープンな開発体制をとり、現在バザール方式と呼ばれている、誰でもLinux Kernel Mailing Listへのバグ報告や修正、機能拡張パッチを公開でき、その中から最終的にリーナスと彼が任命したメインテナーがコーディネータとなって、公式版のLinuxカーネルの質を保っている。.

新しい!!: ParrotとLinuxカーネル · 続きを見る »

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)として呼び出される。.

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

LLVM

LLVM とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。当初は、LLVM の名称の由来は、Low Level Virtual Machine (低水準仮想機械) の略であるとしていたが、現在は、何の頭文字でもないとしている。.

新しい!!: ParrotとLLVM · 続きを見る »

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

m4 は、ブライアン・カーニハンとデニス・リッチーが設計した汎用テキストマクロプロセッサである。その名称は「macro」(マクロ)の「m」と、AP-3ミニコンピュータでデニス・リッチーがそれ以前に書いたマクロプロセッサ「m3」の次、というところから来ている。.

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

Perl

Perl(パール)とは、ラリー・ウォールによって開発されたプログラミング言語である。実用性と多様性を重視しており、C言語やsed、awk、シェルスクリプトなど他のプログラミング言語の優れた機能を取り入れている。ウェブ・アプリケーション、システム管理、テキスト処理などのプログラムを書くのに広く用いられている。 言語処理系としてのperlはフリーソフトウェアである。Artistic LicenseおよびGPLのもとで配布されており、誰でもどちらかのライセンスを選択して利用することができる。UNIXやWindowsなど多くのプラットフォーム上で動作する。.

新しい!!: ParrotとPerl · 続きを見る »

Perl 6

Perl 6(パールシックス)は、ラリー・ウォールにより設計されたオブジェクト指向スクリプト言語である。 Perl 6は、2000年にPerlの次期メジャーバージョンとして設計が始められ、2015年12月25日に公式のPerl 6正式安定版がリリースされた。しかし、言語仕様は現在のPerl (Perl 5)と互換性がなく、既存のPerl 5のソフトウェアをPerl 6用に「アップグレード」するのは極めて困難である。したがって現在はPerl 5とPerl 6は別の言語であると考えられており、Perl 6はPerl 5の次期バージョンではないとされている。換言すれば、Perl 6はPerl 5から移行対象とはみなされていない。 Perl 6は言語仕様であり、言語仕様と処理系は別のプロジェクトとして管理されている。これは言語の作者自身が開発した処理系が言語仕様に準ずるものとされてきたPerl 5やRubyとは異なっている。2015年12月25日に言語仕様としての公式のPerl 6正式安定版がリリースされた。公式の処理系としてはRakudoがあり、2010年8月に最初の「使用可能な」バージョンがリリースされた。Haskellで書かれたPugsは活発ではなく、もはや歴史的な実装とされている。 Perl 5は動的型付け言語であったのに対し、Perl 6は静的な型指定も行える言語となった(動的な型付けも可能)。また、Perl 6では仮引数定義も可能となっている(Perl 5でも可能ではあったが不完全であった)。さらに、Perl 5の様に展開を行うことも可能であり、例えばJavaであればReflectionクラスを必要とする仮引数の取得をいわゆるマジックを用いずとも可能な設計となっている。 Perl 6ではPerl 5と比較してさらに柔軟かつ強力な記法を可能としている。例えば、配列要素毎の演算や、Lisp等に代表されるポーランド記法も可能にするなどPerl 5をより一層強力にした記述である。.

新しい!!: ParrotとPerl 6 · 続きを見る »

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

PHP(ピー・エイチ・ピー)は "The PHP Group" によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語およびその公式の処理系であり、特にサーバーサイドで動的なウェブページ作成するための機能を多く備えていることを特徴とする。 名称の PHP は再帰的頭字語として、 "PHP: Hypertext Preprocessor" を意味するとされており、「PHPはHTMLのプリプロセッサである」とPHP自身を再帰的に説明している。.

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

Psyco

Psyco は Python 向けの特化コンパイラ/JIT コンパイラ であり Armin Rigo によって開発された。Psyco は I/O 依存のアプリケーションの速度をそれほど向上させることはないが、CPU 依存のアプリケーションの速度を著しく高速化させる。実際の高速化の幅は大きくアプリケーションに依存し、わずかに速度が低下する場合(きわめて稀だが)から 40 倍に高速すること(こちらも稀である)まで様々である。.

新しい!!: ParrotとPsyco · 続きを見る »

PyPy

PyPy(パイパイ)は、プログラミング言語Pythonの実装の1つであり、Pythonで記述されたPythonの処理系であることが特徴の1つである(セルフホスティング)。PyPyは、実行速度と効率、およびオリジナルのPython実装であるCPythonとの互換性に重点を置いている。 PyPyはJITコンパイル機能を持っており、実行時に(必要に応じて)コードを機械語にコンパイルして効率的に実行させる能力を持つ。 PyPyは、Pythonにいくつかの制約を加えた言語であるRPythonで記述されている。RPythonで書かれたコードをトランスレータでC言語などに変換してからコンパイルすることでPyPyの実行可能バイナリが作成できる。また、RPythonの言語仕様はPythonの言語仕様のサブセットであるため、(実行速度は低下するが)PyPyをCPython上で実行したり、PyPyをPyPy上で実行することもできる。 PyPyは、Python以外の動的言語を実装するための基盤としても使用できる。.

新しい!!: ParrotとPyPy · 続きを見る »

Python

Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。.

新しい!!: ParrotとPython · 続きを見る »

Ruby

Ruby(ルビー)は、まつもとゆきひろ(通称 Matz)により開発されたオブジェクト指向スクリプト言語であり、スクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。 また日本で開発されたプログラミング言語としては初めて国際電気標準会議で国際規格に認証された事例となった。.

新しい!!: ParrotとRuby · 続きを見る »

Scheme

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

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

Tcl/Tk

は、スクリプト言語 Tcl と、その GUIツールキット Tk を指す。非常に強力な GUI ツールキットと、シンプルな文法をもつ言語により、GUI ツールを素早く作り上げるのに適した強力なスクリプティング環境である。.

新しい!!: ParrotとTcl/Tk · 続きを見る »

Unicode

200px Unicode(ユニコード)は、符号化文字集合や文字符号化方式などを定めた、文字コードの業界規格である。文字集合(文字セット)が単一の大規模文字セットであること(「Uni」という名はそれに由来する)などが特徴である。 1980年代に、Starワークステーションの日本語化 (J-Star) などを行ったゼロックス社が提唱し、マイクロソフト、アップル、IBM、サン・マイクロシステムズ、ヒューレット・パッカード、ジャストシステムなどが参加するユニコードコンソーシアムにより作られた。1993年に、国際標準との一致が図られ、DIS 10646の当初案から大幅に変更されて、Unicodeと概ね相違点のいくつかはDIS 10646に由来する互換のISO/IEC 10646が制定された。.

新しい!!: ParrotとUnicode · 続きを見る »

Z-machine

Z-machine とは、Joel BerezとMarc Blankによって1979年に開発され、Infocom社のテキストアドベンチャーゲームに使用された仮想機械である。.

新しい!!: ParrotとZ-machine · 続きを見る »

機械語

機械語(きかいご)またはマシン語(Machine code、machine language)とは、コンピュータのプロセッサが直接解釈実行可能な一連の命令群のデータそのもの(を、コンピュータ・プログラミング言語とみなしたもの)である。.

新しい!!: Parrotと機械語 · 続きを見る »

指輪物語

『指輪物語』(ゆびわものがたり、原題:)は、イギリスのJ・R・R・トールキンによる長編小説。妖精や魔法使いが国家を築き、戦争を繰り広げる架空の世界を舞台としたハイ・ファンタジー作品である。初期作品『ホビットの冒険』の続編として始まるが、より大きな物語になった。1937年から1949年にかけて少しずつ書かれたが、執筆期間の大部分は第二次世界大戦中であった。最初の版は1954年から1955年にかけて3巻本として出版された。以来多くの言語に翻訳され、増刷を重ね、20世紀文学で最もポピュラーな作品の一つになった。.

新しい!!: Parrotと指輪物語 · 続きを見る »

浮動小数点数

浮動小数点数(ふどうしょうすうてんすう、英: floating point number)は、浮動小数点方式による数のことで、もっぱらコンピュータの数値表現において、それぞれ固定長の仮数部と指数部を持つ、数値の表現法により表現された数である。.

新しい!!: Parrotと浮動小数点数 · 続きを見る »

文字列

文字列(もじれつ)は、単語や文章のような、文字の連なったもの。ストリング (string)、テキスト (text) という場合もある。コンピュータ、特にプログラミングの分野で用いることが多い。.

新しい!!: Parrotと文字列 · 続きを見る »

整数

数学における整数(せいすう、integer, whole number, Ganze Zahl, nombre entier, número entero)は、0 とそれに 1 ずつ加えていって得られる自然数 (1, 2, 3, 4, …) および 1 ずつ引いていって得られる数 (−1, −2, −3, −4, …) の総称である。 整数は数直線上の格子点として視覚化される 整数の全体からなる集合は普通、太字の Z または黒板太字の \mathbb Z で表す。これはドイツ語 Zahlen(「数」の意・複数形)に由来する。 抽象代数学、特に代数的整数論では、しばしば「代数体の整数環」の元という意味で代数的整数あるいは「整数」という言葉を用いる。有理数全体の成す体はそれ自身が代数体の最も簡単な例であり、有理数体の代数体としての整数環すなわち、「有理数の中で整なもの」の全体の成す環は、本項でいう意味での整数全体の成す環である。一般の「整数」との区別のためにここでいう意味の整数を有理整数 (rational integer) と呼ぶことがある接頭辞「有理(的)」(rational) はそもそも「整数比」であるという意味なので、この呼称は自己循環的にもみえる。しかし、有理整数と呼ぶ場合の「有理」は「有理数の中で」という程度の意味の単なる符牒であって、「整数比」という本来の意味合いに拘るのは徒労である。。.

新しい!!: Parrotと整数 · 続きを見る »

.NET Framework

Microsoft.NET Framework(マイクロソフト ドットネット フレームワーク)は、マイクロソフトが開発したアプリケーション開発・実行環境である。 Windowsアプリケーションだけでなく、XML WebサービスやウェブアプリケーションなどWebベースのアプリケーションなども包括した環境となっている。一般に.NETという場合、.NET全体の環境を指す。.

新しい!!: Parrotと.NET Framework · 続きを見る »

2005年

この項目では、国際的な視点に基づいた2005年について記載する。.

新しい!!: Parrotと2005年 · 続きを見る »

2006年

この項目では、国際的な視点に基づいた2006年について記載する。.

新しい!!: Parrotと2006年 · 続きを見る »

2009年

この項目では、国際的な視点に基づいた2009年について記載する。.

新しい!!: Parrotと2009年 · 続きを見る »

3月17日

3月17日(さんがつじゅうななにち、さんがつじゅうしちにち)は、グレゴリオ暦で年始から76日目(閏年では77日目)にあたり、年末まであと289日ある。.

新しい!!: Parrotと3月17日 · 続きを見る »

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