並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 98 件 / 98件

新着順 人気順

purescriptの検索結果81 - 98 件 / 98件

  • HaskellっぽいAltJSなPureScriptの環境作る - 城陽人の本棚

    HaskellっぽいAltJSでPureScriptというのがあるそうなので興味本位で使ってみる。完全なHaskellのサブセットではなく、JavaScriptとの親和性を意識してるっぽい印象。 Haskellとの違いは以下に記載されてる↓ Differences from Haskell · purescript/purescript Wiki · GitHub 設計として意図的な差分なのか、実装としてまだできていないだけなのか区別されてないですが。 Hello world出すだけだったら簡単だけど、ライブラリをimportしようと思うとちゃんとビルド周りをちゃんと構築しないといけなくて自分用のメモ。環境はMac OS X(10.10)でGHC7.8.3でpurescript 0.6.2です。 まだJavaScriptのエコシステムに不慣れなのでディレクトリ構成とかビルド周りこのへんのチ

      HaskellっぽいAltJSなPureScriptの環境作る - 城陽人の本棚
    • PureScript ver. 0.7.0 以上での Hello, World! - 趣味はデバッグ……

      PureScript 0.7.1.0 で Node でコンソールに Hello, World! するところまでできたのでそのまとめ。 実例による PureScript を読んで勉強していたんだけど、先月終わりのバージョンアップの関係でそのままでは動かなくって調べたんでまとめる。英語の本家の方のドキュメントもこれから対応させていくらしい。 コマンドは Windows コマンドプロンプトのを使っているので UNIX 系の人は適宜読み替えること。 環境構築 用意するものは、PureScript コンパイラー(psc)と Node(NPM も使う)と Bower。(好みによって Cabal も。)NPM と Bower (と Cabal)がどういう使い分けをされてるかは以下な感じ。 NPM Bower のインストール Grunt のインストール(自分はまだ使ってない) 開発ツールの管理に使うっぽい

        PureScript ver. 0.7.0 以上での Hello, World! - 趣味はデバッグ……
      • 魔理沙「PureScript Jelly で、Reactチュートリアル三目並べの《純粋関数型/型安全》版を作るぜ」②

        昨日の続きです。 霊夢「PureScript Advent Calendar 2022 最終日の記事です。」 数学は論理を探求するひとつの方法である。 ウィトゲンシュタイン『論理哲学論考』6.234 [1] この三昧に遊化(ゆけ)するに、端坐参禅を正門とせり。 この法は、人人の分上にゆたかにそなはれりといへども、 いまだ修せざるにはあらはれず、証せざるにはうることなし。[2] (この三昧に遊化(あそ)ぶには、端坐して参禅するをその正門としている。 この法は、人々(めいめい)の身の上に何不足なくそなわっているのであるが、 修行しないと実現しないし、修行して実証しないと自分のものにならない。) 道元禅師「辨道話」 完成したもの(再掲) ディレクトリ構成(再掲) . ├── package.json ├── package-lock.json ├── packages.dhall ├── pub

          魔理沙「PureScript Jelly で、Reactチュートリアル三目並べの《純粋関数型/型安全》版を作るぜ」②
        • PureScript - Google 検索

          Benefits · Compile to readable JavaScript and reuse existing JavaScript code easily · An extensive collection of libraries for development of web applications, ...

          • 【PureScript】spago が v0.15.0 から esbuild を使うようになっていた。

            概要 spago という PureScript のパッケージ マネージャー、ビルドツールがある。 spago で、PureScript を JavaScript にバンドルする際に、esbuild のインストールが必要になっていた。 esbuild とは、高速な、JavaScript のビルドツールだ。 これは、spago v0.15.0 以降からの変更という。 = v0.15.0 Since v0.15.0 spago uses esbuild as the underlying default bundler. See the esbuild getting started for installation instructions. v0.15.0以降、spago は esbuild を基本的なデフォルトのバンドルソフトとして使用しています。インストール方法については、esbuild

              【PureScript】spago が v0.15.0 から esbuild を使うようになっていた。
            • PureScriptの孤児 - oreshinyaのブログ

              はじめに PureScript Advent Calendar 2017 - Qiitaの6日目の記事です。 小ネタです。 Orphan instanceって何よ 以下のコードをみてください。 instance showUnit :: Show Unit where show _ = "" ビルドしてみます。 Type class instance showUnit for Data.Show.Show Unit is an orphan instance. An orphan instance is one which is defined in a module that is unrelated to either the class or the collection of data types that the instance is defined for. Consider

                PureScriptの孤児 - oreshinyaのブログ
              • PureScript JP Discord サーバーを建てました!

                概要 PureScript JP Discord サーバーを建てました。次のリンクから参加できます! 【Purescript Logo】、©Gareth Hughes、クリエイティブ・コモンズ・ライセンス(表示 4.0 国際) PureScript や関数型言語に興味があるなら、ぜひ参加してみてください。 モチベーション PureScript は Haskell などの関数型言語を系譜にする AltJS 言語です。 非常にミニマルな言語機能を持っていて、サーバーサイドでは NodeJS、クライアントサイドではブラウザで動かすことができます。 しかし、依然として入門する難易度の高さがあります。 個人的に、それは言語自体の難易度ではなくドキュメントや質問できる場所の少なさなどに起因していると思っています。 特に、質問できる場所に関しては、今まで英語圏のものしか存在していませんでした[1]。 そ

                  PureScript JP Discord サーバーを建てました!
                • PureScriptのガード節とwhere

                  ご存知の通り(?)、PureScriptはHaskell風の構文を持ったAltJSです。しかし、あくまでHaskell「風」であるため、パッと見た限りでは全く同じに見える構文でも実際に書いてみると思わぬ違いに遭遇することがあります。 ガード節とwhereの組み合わせ たとえばHaskellで書かれたこんなコードがあります。 (Wandboxで実行) 若干わざとらしいコードですが、ガード節にまたがるwhereで定義した変数を見て、ガード節を使ってその値によって分岐をしています。 compareWith10 :: Int -> String compareWith10 n | c == LT = show n <> "は10より小さいです。" | c == EQ = show n <> "は10です。" | c == GT = show n <> "は10より大きいです。" | otherwi

                    PureScriptのガード節とwhere
                  • 自作フレームワークに静的サイトジェネレータを組み込んだ

                    はじめに 以前から作っている自作フレームワーク Jelly の v0.5.0 をリリースしました SSG 機能や、クライアントサイドでのルーティングなどの機能追加を行いました。 また、Jelly 以下のモジュールを Jelly.Core、Jelly.Router、Jelly.Generator に分割しました。Router は Core に依存し、Generator は Core と Router に依存しています。 それぞれの役割は以下の通りです。 Core Signal、Component などの基本的な機能の提供 これがあれば単一ページのアプリケーションは作れます Router ルーターの提供 ページ全体を再読み込みするのでなく、CSR でページ遷移を行うことができます Generator SSG の提供 静的な HTML の生成や、静的なデータをとってきてアプリに埋め込むことができ

                      自作フレームワークに静的サイトジェネレータを組み込んだ
                    • 【purescript】purescript-react を動かしてみるまで頑張る - Qiita

                      purescript-reactとな PureScriptに興味があるけど、 手っ取り早く何かを作りたい場合に何かないものか、 と思って探してみたらpurescript-reactを見つけた。 PureScriptの開発環境構築からひと通り軽く舐めてみたい。 PureScriptって何? 何、というとあれだが、altJSの一つ。 以下のプレゼンを見ると良いのではないだろうか 関数型AltJSの決定版!? Purescript開発環境構築 Purescriptの開発環境を構築しないと始まらない。 から、インストール手順を参考にする。 バイナリファイルをダウンロード バイナリファイルで配布されているのか。 からダウンロードを行う。 記事作成時のバージョンはv0.6.2だったので、v0.6.2を落とす。 自分の開発環境はMac OS Xなので、macos.tar.gzをダウンロードする。 ダウン

                        【purescript】purescript-react を動かしてみるまで頑張る - Qiita
                      • マルチタスクはどう実現されているか?JavaScriptとPureScriptで学ぶマルチタスクの実装

                        この記事はJavaScriptとPureScriptでマルチタスクの仕組みがどう実現されているかを解説する記事です。 題材とするのは、PureScriptの非同期処理ライブラリAffです。 実はこのライブラリ、マルチタスクの仕組みを実現する実装のコア部分はJavaScriptで書かれています※。 したがってこの記事に出てくるコードは9割くらいはJavaScriptのコードになります。 なので「PureScriptはわからんけどJavaScriptならわかる」という方の知的好奇心も満たすことができるかもしれません。 目次から「Fiberの実行でまず行われること」にジャンプして下にスクロールしていただければ、JavaScriptのコードが多いということがわかるかと思うので気になる方はまず試しにこちらをぱっと見していただけたらと思います。 こういう話をします マルチタスクの方式の話 Fiberの

                          マルチタスクはどう実現されているか?JavaScriptとPureScriptで学ぶマルチタスクの実装
                        • PureScriptのカレンダー | Advent Calendar 2014 - Qiita

                          URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

                            PureScriptのカレンダー | Advent Calendar 2014 - Qiita
                          • PureScriptのレコードで必須フィールドと任意フィールドを表現する - Qiita

                            目的 必須フィールド「a」「b」 任意フィールド「c」「d」 を持つレコードMyRecordを作りたい! 方法 import Prim.Row as Row import Unsafe.Coerce (unsafeCoerce) data MyRecord type MyRecordRequired opt = { a :: Int, b :: Int | opt } type MyRecordOptional = ( c :: Int, d :: Int ) type MakePartialRecord (req :: # Type -> Type) (opt :: # Type) (rec :: Type) = forall options trash . Row.Union options trash opt => req options -> rec makeMyRecord ::

                              PureScriptのレコードで必須フィールドと任意フィールドを表現する - Qiita
                            • PureScriptで存在型を試す - Qiita

                              またまたたのしい誰得記事です。PureScript知ってる人向けです。 なんでも入る箱 Haskellにはどうやら存在量化(Existential Quantification)という言語拡張があって、以下のようなことができるようです。(参考: https://ja.wikibooks.org/wiki/Haskell/存在量化された型) -- 右辺にforallが書ける data ShowBox = forall s. Show s => SB s -- Showのインスタンスにする instance Show ShowBox where show (SB s) = show s -- showが呼べてしまう heteroList :: [ShowBox] heteroList = [ SB (), SB 5, SB True ] -- 異なる型をリストにまとめる main :: IO

                                PureScriptで存在型を試す - Qiita
                              • 静的型付け関数型言語 PureScript の環境構築。【 WSL2/2021年9月 ver. 】

                                雨のしずくに 景色が映っている しずくのなかに 別の世界がある ― 大江健三郎『私という小説家の作り方』(新潮社) 前提 Ubuntu 20.04 LTS(WSL2) PureScript 0.14.4 手順 以下の公式のドキュメントを参考に、PureScript の環境構築を行ってまいります。 Getting Started with PureScript 最初に PureScript をグローバルインストールします。 ❯ npm install -g purescript npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated har-validator@5.1.5: th

                                  静的型付け関数型言語 PureScript の環境構築。【 WSL2/2021年9月 ver. 】
                                • Reactを題材にPureScriptを始める

                                  はじめに 本記事ではPureScriptの前提知識を仮定せずに、Reactを使ってHello, world!を行います。 本記事の前半でPureScriptをインストールし、基礎文法の一部を紹介します。 後半ではPureScriptを用いてReactの仮想DOMを定義してブラウザに描画します。 本記事を読み進めていく上で関数型プログラミングに精通している必要はありません。 逆に、使用経験があるほうが望ましいのは次の通りです。(必須ではありません。) React バンドルツール(Webpack等) TypeScript なお、本記事ではしばしばJavaScriptのコードと比較してPureScriptを説明しますので、JavaScriptの知識は前提とします。 また、記事中の各コマンドはWindowsユーザー向けの記載になっていますので、Windows以外の方は適宜読み替えてください。 Pu

                                    Reactを題材にPureScriptを始める
                                  • We Are PureScripters #2 関数型WebフロントエンドフレームワークLT大会 (2017/08/29 19:30〜)

                                    We Are PureScripters!とは 6/6のWe Are JavaScripters!で「純粋関数型言語では副作用をどう扱うのか」というLTをした時に、PureScriptに興味があるという方が20名位いました。ゆくゆくは全員登壇するLT大会の開催を目指して、We Are JavaScripters!のスピンオフとしてWe Are PureScipters!を始めました。 PureScriptとは Haskellの影響を受けた純粋関数型AltJS(JavaScriptにコンパイルされる言語)です。JavaScriptでImmutable.jsを使って関数型プログラミングをするのであれば、純粋関数型のPureScriptを試してみませんか。 なぜPureScriptなのか ハッカソンでのJavaScriptを使った開発で、いろいろな落とし穴にハマってしまいMVP(Minimum

                                      We Are PureScripters #2 関数型WebフロントエンドフレームワークLT大会 (2017/08/29 19:30〜)
                                    • PureScript + Halogen + Tailwind で Web フロント開発環境構築 (in VSCode) - Qiita

                                      概要 PureScript は活発に開発が行われているため、開発環境構築の方法を適宜まとめる必要があります。 この記事では PureScript のインストールから Web フロントエンドを開発できるところまでの環境構築をまとめます。 対象 PureScript の環境構築を VSCode でしたい PureScript でフロントエンドの開発がしたい TL;DR にまとまってます 筆者の環境 細かくバージョン書いていますが多分気にしなくて大丈夫です。 Windows 11 22H2 WSL2 5.15.68.1 node 18.12.0 npm 8.19.2 PureScript のインストール プロジェクトルートになるディレクトリを作って初期化します。

                                        PureScript + Halogen + Tailwind で Web フロント開発環境構築 (in VSCode) - Qiita