generated at
PureScriptのFFI
JavaScriptのコードを呼び出す
実装はJSで型だけpsで定義されているpackageも割といっぱいあるmrsekut




かんたんな例
./readline.js
"use strict"; var readlineSync = require('readline-sync') exports.readLine = function () { return readlineSync.question('user> ') }
./Readline.purs(hs)
module Readline where import Effect (Effect) foreign import readLine :: Effect String
expors.hoge の部分と、 foreign import hoge の部分の名前を合わせないとコンパイルエラーになるmrsekut


新たなkindを定義する
hsでのDataKindsのようなものをforeign import dataで定義する
purs(hs)
foreign import data Frob :: Type foreign import data UseState :: Type -> Type -> Type
実際のsyntax hilight




型の付け方
例えば間違った型を付けることもできるのか
できる.
tsの型定義と同じ感じ
手順
ディレクトリ
js側のexport
purs側のimport
カリー化
jsの多引数関数をどうやってカリー化してpursの世界に持ってくるのか
この記事はめちゃくちゃ古いので参考程度に
JSのnullの扱い
この記事はめちゃくちゃ古いので参考程度に
副作用の扱い
この記事はめちゃくちゃ古いので参考程度に
JSのthisの扱い
この記事はめちゃくちゃ古いので参考程度に


関連
TSの型定義ファイルをpursに使う