<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CX on Skycoin ブログ</title><link>https://blog.theskywirenetwork.net/ja/tags/cx/</link><description>Recent content in CX on Skycoin ブログ</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Sat, 14 Oct 2017 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.theskywirenetwork.net/ja/tags/cx/index.xml" rel="self" type="application/rss+xml"/><item><title>暗号通貨市場の状況と開発のアップデート</title><link>https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/</link><pubDate>Sat, 14 Oct 2017 00:00:00 +0000</pubDate><guid>https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#q-a"&gt;Q&amp;amp;A&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#summary-of-the-current-bitcoin-market"&gt;現在のBitcoin市場の総括&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#new-wallet"&gt;新しいウォレット&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#coinhours"&gt;CoinHours&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#skycoin-dex-distributed-exchange-support"&gt;Skycoin 分散取引サポート(DEX)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#skycoin-projects-position-on-the-smart-contracts-fad"&gt;スマートコントラクトが流行する中でのSkycoinプロジェクトの位置づけ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#cx"&gt;CX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#skycoin-roadmap-finished"&gt;完了したSkycoinロードマップ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#first-distributed-social-media-platform-on-skycoin-platform-launches"&gt;Skycoinプラットフォーム上の最初の分散ソーシャルメディアプラットフォームのローンチ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/state-of-the-crypto-market-development-updates/#skycoin-otc-market"&gt;Skycoin OTC 市場&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="qa"&gt;Q&amp;amp;A&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;ホワイトペーパーの改訂の記述がありません。
マーケティングが開始されていますが、参考資料は優先されるべきではないでしょう。
これは技術的なコインであって、資料は最新である必要があります。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;みな忙しいのです。&lt;/p&gt;
&lt;p&gt;私達はテクニカルライターを募集し、コンテンツを制作し、私達が行ったことに関する情報記事を書こうとしています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;コインが小数点以下1桁だけしか変化しないのはなぜですか？
他のコインはすべて小数点以下6~8桁です。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;現在、小数点第1位は~0.3ドルをあらわします。&lt;/p&gt;
&lt;p&gt;Skycoinが10ドルに達すると小数点以下2桁を有効にします。
最終的には小数点以下6桁まで有効にすることができます。&lt;/p&gt;
&lt;p&gt;私達は、人々がナノ取引をスパムし、ブロックチェーンに負担をかけることを望んでないのです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;telegramとslackのチャンネルを閉鎖しませんか？
みなdiscordに移行するでしょう。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Discordには誰もいません。私達はあまりslackを使いません。&lt;/p&gt;
&lt;p&gt;Sky-Messengerと独自のメッセージプラットフォームがあるので、最終的にそこへ移動するでしょう。&lt;/p&gt;
&lt;p&gt;BBSと独自のソーシャルメディアプラットフォームもあります。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;telegramの設定が間違っています。newsのslackにアクセスできるのに、BBとmain slackからロックアウトされる人がいます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;telegramはスパム対策のため英語圏のsuper channnelで非英語圏の国番号・ユーザーを禁止しています。
Googleの音声番号を取得し、それを使用すると動くはずです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;たくさんのアルトコインとビットコイン、その系列たちは、別のブーム市場を経験すると思うのです。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;はい、そうでしょう。&lt;/p&gt;
&lt;p&gt;現在、利用ユーザーがいないにも関わらず約10億ドルを取引するジャンクプラットフォームもあります。&lt;/p&gt;
&lt;p&gt;３月までにBitcoinは1万ドルに到達するでしょう。&lt;/p&gt;
&lt;h2 id="現在のbitcoin市場の総括"&gt;現在のBitcoin市場の総括&lt;/h2&gt;
&lt;p&gt;これは取引の内部で起こっていることであり、私達が最近議論したことです&amp;hellip;&lt;/p&gt;
&lt;p&gt;市場の上下に伴って、いくらかの浮き沈みをみるでしょうが、お金の量と暗号資産への注目はますます増え続けるでしょう。&lt;/p&gt;
&lt;p&gt;しかし、実用されているコインや正当なコインは非常に少数しかありません。
非常に見栄えの良いウェブサイトとともにたくさんのコインがあり、また、非常に見栄えの良い「アドバイザー委員」がつくコインもたくさんあります。
至るところにICOで何億ドルも調達するコインがあります。&lt;/p&gt;
&lt;p&gt;しかし、これらのコインのほとんどはソフトウェア開発者がいないか、ソフトウェア開発者を雇ったり管理したり、ソフトウェアを設計したりデザインする能力はありません。&lt;/p&gt;
&lt;p&gt;しかし、彼らのマーケティングは非常によいのです。
彼らはソフトウェア開発を行う必要がないので、(開発する代わりに)マーケティングに100%のエネルギーを集中させることができます。
一方、実際に現実で行われているプロジェクトはこの市場では無視されています。&lt;/p&gt;
&lt;p&gt;驚異的な資金を調達した開発者がいないプロジェクトの中には、「AIが完成するまで」、オープンソースでない（ソフトウェアを開発しているか誰にもわからない）とアナウンスされているということさえあります。
よって、誰かが、実際にコードを書いていているのか、あるいは構築しているシステムがどのように動いているかを知る前に、彼らはある種の人工知能機械学習（笑）を構築しようとしています。&lt;/p&gt;
&lt;p&gt;現実に動いているプロジェクトは非常に少ないので、私達はそのような実際のプロジェクトに対して急速に莫大な金額の資金が動く様子を見るでしょう。&lt;/p&gt;
&lt;p&gt;これらのプロジェクトに投資する時間、すなわちいつみなが買いに急ぐか誰も気に留めていない状態から、コインが評価されるまでの時間はとても短いです。&lt;/p&gt;
&lt;p&gt;以前は、人々がコインが評価される前にコインを低価格で購入できる時間は長くありました。
LitecoinやBitcoinのように、数年かかりました。&lt;/p&gt;
&lt;p&gt;ByteBallsのような最近のコインにおいては、わずか数カ月で価格がペニーから800ドルまで高騰したので、購入するのに数ヶ月しかありませんでした。
現在では、より迅速に、さらには圧縮された時間枠内で評価は行われています。&lt;/p&gt;
&lt;p&gt;今、Cardanoのようなプロジェクトでは、すべてのコインはインサイダーに事前販売されています。
その後、コインは魔法のようにトップ15に登場します。
コインがユーザーコミュニティによって売買されている期間はありません。
彼らは、インサイダー、ベンチャーキャピタル、既に裕福な人たちにコインを売るだけです。
それから、コインを取引所に満額で上場させ、マーケティング担当者にお金を払い人々にそれを買ってもらうように広告してもらいます。
その間にインサイダーはできるだけ多くのコインを売ります。&lt;/p&gt;
&lt;p&gt;以前は、一般の人々が、安価な良いコインをみつけ、それが評価される前に購入できる時期がありました。
今日では、それはすでに金持ちになっている内部の人のカルテルであり、公にコインを取引所にできるだけ多く売り払う前に、お互いにコインを分け（プレICO、笑）たり、や投資機関へのセールを行ったりします。&lt;/p&gt;
&lt;p&gt;したがって、新しいモデルは次の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;創業者とインサイダーは、ICO価格の1/10で購入する。&lt;/li&gt;
&lt;li&gt;ICO価格で公に販売する。（知らないところで行われた「プレICO」の10倍の価格で！）&lt;/li&gt;
&lt;li&gt;取引所にICO価格でコインを売り払い、ICO/プレICO価格でサポートし、その後プロジェクトを売り払う。できるだけ多くのコインを公に売り払う。&lt;/li&gt;
&lt;li&gt;アドバイザー委員の全員が+20コインでこれを行う。彼らの中には、ただICOをやっているだけで、次のコインへ行き毎週繰り返している人もいる。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「ICOで1億5000万ドル調達しました！」のほとんどが嘘です。
その5人はお金をもっていて、コインに投入し、そのお金を裏で戻しています。&lt;/p&gt;</description></item><item><title>CXチュートリアル: アフォーダンスを使って小さなテキストベースのアドベンチャーを構築する</title><link>https://blog.theskywirenetwork.net/ja/posts/cx-tutorial-using-affordances-to-build-an-evolutionary-algorithm/</link><pubDate>Wed, 20 Sep 2017 00:00:00 +0000</pubDate><guid>https://blog.theskywirenetwork.net/ja/posts/cx-tutorial-using-affordances-to-build-an-evolutionary-algorithm/</guid><description>&lt;!-- MarkdownTOC autolink="true" bracket="round" depth="2" --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-tutorial-using-affordances-to-build-an-evolutionary-algorithm/#%e3%82%a4%e3%83%b3%e3%83%88%e3%83%ad%e3%83%80%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3"&gt;イントロダクション&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-tutorial-using-affordances-to-build-an-evolutionary-algorithm/#%e3%83%81%e3%83%a3%e3%83%ac%e3%83%b3%e3%82%b8-%e3%83%ac%e3%82%b9%e3%83%9d%e3%83%b3%e3%82%b9-%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3"&gt;チャレンジ-レスポンス アーキテクチャ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-tutorial-using-affordances-to-build-an-evolutionary-algorithm/#%e3%82%a2%e3%83%95%e3%82%a9%e3%83%bc%e3%83%80%e3%83%b3%e3%82%b9%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0"&gt;アフォーダンスシステム&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-tutorial-using-affordances-to-build-an-evolutionary-algorithm/#%e3%82%aa%e3%83%96%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88"&gt;オブジェクト&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-tutorial-using-affordances-to-build-an-evolutionary-algorithm/#%e7%b5%90%e8%ab%96"&gt;結論&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- /MarkdownTOC --&gt;
&lt;h1 id="イントロダクション"&gt;イントロダクション&lt;/h1&gt;
&lt;p&gt;このチュートリアルでは、チャレンジ-レスポンス アーキテクチャを使用して、ゲームのキャラクターが実行可能なアクションが何であるかを判断する、テキストベースの「ゲーム」（ユーザーがプログラムとやりとりすることはなく、キャラクターの意思決定に影響を与えることはできない）を示します 。
完全なソースコードは、 &lt;a href="https://github.com/skycoin/cx"&gt;CXのリポジトリ&lt;/a&gt;の&lt;em&gt;examples/text-based-adventure.cx&lt;/em&gt;ファイルにあります。&lt;/p&gt;
&lt;p&gt;このゲームは、モンスターから逃れる旅行者の冒険を描いています（ハロウィンはとうとう来月に迫っています）。
旅行者が特定の時間を生き抜いた場合（これは&lt;em&gt;for&lt;/em&gt;ループの繰り返しです）、モンスターは旅行者の追跡をやめます。
セッションの例は次のとおりです。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;The traveler keeps following the lane, making sure to ignore any pain.
Howling and growling, the monster is coming.
Bravery comes into sight, in the hope of living for another night.
Naive, and even dumb, but the traveler&amp;#39;s act leaves the monster numb.
North, east, west, south. Any direction is good,
as long as no monster can be found.
Howling and growling, the monster is coming.
The traveler runs away, and cowardice lets him live for another day.

You survived.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;旅行者がモンスターと戦うことを決意し、彼の英雄的な試みが失敗した場合、ゲームは終了します。
ゲームのエンディングの例は次のとおりです。&lt;/p&gt;</description></item><item><title>CXの概要</title><link>https://blog.theskywirenetwork.net/ja/posts/cx-overview/</link><pubDate>Wed, 06 Sep 2017 00:00:00 +0000</pubDate><guid>https://blog.theskywirenetwork.net/ja/posts/cx-overview/</guid><description>&lt;!-- MarkdownTOC autolink="true" bracket="round" depth="2" --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e5%ba%8f%e6%96%87"&gt;序文&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%ae%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa"&gt;プロジェクトのリポジトリ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e6%a7%8b%e6%96%87"&gt;構文&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e3%82%a2%e3%83%95%e3%82%a9%e3%83%bc%e3%83%80%e3%83%b3%e3%82%b9"&gt;アフォーダンス&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e5%bc%95%e6%95%b0%e3%81%ae%e5%80%8b%e6%95%b0%e3%81%ae%e5%88%b6%e7%b4%84"&gt;引数の個数の制約&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e5%9e%8b%e3%81%ae%e5%88%b6%e7%b4%84"&gt;型の制約&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e5%ad%98%e5%9c%a8%e3%81%ae%e5%88%b6%e7%b4%84"&gt;存在の制約&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e8%ad%98%e5%88%a5%e5%ad%90%e3%81%ae%e5%88%b6%e7%b4%84"&gt;識別子の制約&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e5%a2%83%e7%95%8c%e3%81%ae%e5%88%b6%e7%b4%84"&gt;境界の制約&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e5%ae%9a%e7%be%a9%e3%81%ae%e5%88%b6%e7%b4%84"&gt;ユーザー定義の制約&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e5%bc%b7%e3%81%84%e5%9e%8b%e4%bb%98%e3%81%91%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0"&gt;強い型付けシステム&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%a8%e9%80%90%e6%ac%a1%e5%ae%9f%e8%a1%8c"&gt;コンパイルと逐次実行&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#read-eval-print-loop"&gt;Read-Eval-Print Loop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e3%83%a1%e3%82%bf%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89"&gt;メタプログラミングコマンド&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e3%82%b9%e3%83%86%e3%83%83%e3%83%94%e3%83%b3%e3%82%b0"&gt;ステッピング&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e5%af%be%e8%a9%b1%e7%9a%84%e3%81%aa%e3%83%87%e3%83%90%e3%83%83%e3%82%b0"&gt;対話的なデバッグ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e7%b5%b1%e5%90%88%e3%81%95%e3%82%8c%e3%81%9f%e9%80%b2%e5%8c%96%e7%9a%84%e3%82%a2%e3%83%ab%e3%82%b4%e3%83%aa%e3%82%ba%e3%83%a0"&gt;統合された進化的アルゴリズム&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.theskywirenetwork.net/ja/posts/cx-overview/#%e3%82%b7%e3%83%aa%e3%82%a2%e3%83%a9%e3%82%a4%e3%82%bc%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3"&gt;シリアライゼーション&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- /MarkdownTOC --&gt;
&lt;h1 id="序文"&gt;序文&lt;/h1&gt;
&lt;p&gt;CXとは、アフォーダンスの概念に基づいた新しいプログラミングパラダイムを採用して設計された、仕様とプログラミング言語の両方を指します。
アフォーダンスは、何ができて、何ができないのかをプログラムが知ることを可能にします。
たとえば、関数にどのような引数を送ることができるかをプログラムに照会することができ、プログラムは可能なアクションのリストを返します。
リストからどのようなアクションが適切であるかを決定した後、選択肢の1つを選び、そのアクションをプログラムが実行します。
CXのアフォーダンスシステムの重要な要素は、遺伝的プログラミングアルゴリズムが構築されると、実行時にプログラムの構造を最適化するために使用できるネイティブ関数として提供される事です。&lt;/p&gt;
&lt;p&gt;CXの仕様では、プログラマはコンパイラとインタプリタの両方にアクセス可能でなければならないとされています。
インタプリタは、プログラマが対話的に要素をプログラムに追加したり削除したりできるREPL(Read-eval-print loop)を通じてアクセスできます。
プログラムが完成すると、そのパフォーマンスを向上させるためにコンパイルすることができます。&lt;/p&gt;
&lt;p&gt;CXの型システムは非常に厳格です。
唯一の &amp;ldquo;暗黙の型変換&amp;quot;は、パーサーが整数、浮動小数点数、ブール値、文字列、または配列を判別するときに発生します。
たとえば、関数が64ビット整数を必要とする場合、明示的に必要な型に変換するためには、キャスト関数を使用する必要があります。&lt;/p&gt;
&lt;p&gt;最後に、CXプログラムをバイト配列に完全にシリアライズして、実行状態と構造を維持することができます。
このシリアライズされたバージョンのプログラムは、後でデシリアライズして、CXインタープリタ/コンパイラを持つ任意のデバイスでその実行を再開することができます。&lt;/p&gt;
&lt;p&gt;以下のセクションでは、上で説明したCXの機能について詳しく説明します。&lt;/p&gt;
&lt;h1 id="プロジェクトのリポジトリ"&gt;プロジェクトのリポジトリ&lt;/h1&gt;
&lt;p&gt;プロジェクトのソースコードは、Githubリポジトリ&lt;a href="https://github.com/skycoin/cx"&gt;https://github.com/skycoin/cx&lt;/a&gt; からダウンロードできます。
リポジトリには、仕様ファイル、ドキュメント、サンプル、およびソースコードが含まれています。&lt;/p&gt;
&lt;h1 id="構文"&gt;構文&lt;/h1&gt;
&lt;p&gt;はじめに述べたように、CXは仕様とプログラミング言語の両方を指します。
CX仕様は構文を規定するのではなく、むしろCXとみなすためにCX言語が実装しなければならない構造とプロセスを規定しています。
結果として、2つのCX言語を実装することができ、1つはLispのような構文で、もう1つはCのような構文です。
この基礎となる言語は、CX Base、すなわち「基本言語」と呼ばれています。
このドキュメントでは、実装は仕様の機能を示すために使用されていますが、その目的は学術ツールとしての機能だけでなく、一般的な目的に使用できる完全で堅牢な言語となることです。&lt;/p&gt;
&lt;p&gt;このドキュメントで使用されているCXは、Goの構文にできるだけ似た構文を持つことを目標としています。&lt;/p&gt;
&lt;h1 id="アフォーダンス"&gt;アフォーダンス&lt;/h1&gt;
&lt;p&gt;プログラマは、関数が受け取るパラメータの数、戻すパラメータの数、目的の機能を得るために必要な記述、文関数にパラメータとして送る必要がある引数など、プログラムを構築する際に非常に多くの決定をする必要があります。
CXのアフォーダンスシステムでは、要素に適用できる可能なアクションのリストを取得するための照会を受けることができます。
この文脈では、要素の例は、関数、構造体、モジュール、および式です。&lt;/p&gt;
&lt;p&gt;プログラムの背後にある、ロジックと目的が何であるべきかを指示する一連のルールとファクトを持たずに、少なくともプログラムが意味論的に正しいことを保証する基本的な制約をいくつか決めることができます。
アフォーダンスシステムは、第1のフィルタリング層として、以下で説明する制約を提供します。&lt;/p&gt;
&lt;h3 id="引数の個数の制約"&gt;引数の個数の制約&lt;/h3&gt;
&lt;p&gt;CXの式は複数の値を返すことができます。
これは、式の出力引数を受け取る変数の数が、式の演算子で定義された出力の数と一致する必要があるため、アフォーダンスシステムの仕事となります。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;out1, out2, ..., outN := op(inp1, inp2, ..., inpM)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;上記の例が正しい場合、&lt;em&gt;op&lt;/em&gt;は&lt;em&gt;N&lt;/em&gt;個の引数を出力する必要があります。
&lt;em&gt;op&lt;/em&gt;の定義がアフォーダンスシステム自体またはユーザーによって将来変更され得ることを考慮すると、この問題はさらに複雑になり得ます。
&lt;em&gt;op&lt;/em&gt;の定義が変更されるとすぐに、&lt;em&gt;op&lt;/em&gt;の出力引数を受け取る変数の数が不一致になるため、新しいアフォーダンスが&lt;em&gt;op&lt;/em&gt;を演算子として使っているどんな式にも適用されます。&lt;/p&gt;</description></item></channel></rss>