Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@quzq

microsoftの新言語bosqueの開発環境をセットアップ

More than 1 year has passed since last update.

bosque languageとは

複雑性を回避し、人間にとっても機械にとっても単純明快に推論しやすいコードになるように設計されているらしいです。
「機械にとっても」、というのは先進性を感じます。誰かが書いたコードは、もはや人間が見るかどうかわかんないんですね。

主な特徴は以下。
・すべての変数がimutable
・参照の透過性(すみません、意味わかんないです。誰かおしえてください)
・ループレス

ループがないってのはインパクトあります。
「bosque7.2リリースでループが追加される」みたいなジョークがあるくらいです。

要件

  • 64 bit Operating System
  • The LTS version of node.js(node8では動かないので注意。私はそれで、はまった)
  • Typescript(install with: npm i typescript -g)

インストール

  1. microsoft/BosqueLanguageからgit cloneします。
  2. Typescriptをインストールします。npm install -g typescript
  3. cloneしたフォルダ直下のref_implフォルダ内でnpm install && npm run-script build && npm test
$ git clone https://github.com/microsoft/BosqueLanguage.git
$ npm install -g typescript
$ cd ref_impl
$ npm install && npm run-script build && npm test

ビルドと実行

ref_implフォルダ直下で以下を実行します。

node bin/test/app_runner.js {ファイル名}

ちなみに、bosque言語のファイルの拡張子は「.bsq」。

Visual Studio Code の設定

microsoftの言語なので、vscodeへのサポートがあります。まだまだこれからの言語なんで、現状はしょっぱい。サポートされているのは、予約語の強調表示くらいです。
git cloneしたフォルダ内に「bosque-language-tools」フォルダがありますが、これをvscodeのルート設定である「.vscode\extensions」フォルダにコピーします。
windowsの場合、"C:\Users\{ログインユーザー名}\.vscode\extensions"です。
Cドライブ前提に書きましたが、Cドライブじゃない方はvscodeと相談してください。
うまくいくと、以下のように表示されます。

image.png

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
quzq

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?