1 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 23:08:17.93 ID:adWh10vX.net] Haskellの直系の子孫であり、JavaScriptを主なコンパイル対象とする純粋関数型AltJS PureScript について語るスレです。 PureScript公式サイト https://www.purescript.org/ 言語リファレンス https://github.com/purescript/documentation/blob/master/language/README.md その他有用なラーニングリソース https://github.com/JordanMartinez/purescript-jordans-reference https://github.com/justinwoo/purescript-resources/blob/master/docs/index.rst https://discourse.purescript.org/t/recommended-tooling-for-purescript-applications-in-2019/948
22 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 18:48:48.85 ID:YSu5R3en.net] 実行時エラー XMLHttpRequest is not definedはでるがコンパイルは出来た module Main where import Prelude import Effect(Effect) import Effect.Aff import Effect.Console (log) import Effect.Class(liftEffect) import Data.Either import Halogen.Aff.Util(runHalogenAff) import Affjax(Response,printError) import Affjax.Web as AX import Affjax.ResponseFormat as AXRF import Affjax(Error) main :: Effect Unit main = runHalogenAff $ do fb <- AX.get AXRF.string "https://api.github.com/users/test" case fb of Left err -> liftEffect $ do log $ printError err Right x -> liftEffect $ do log $ x.body あと、この~>という記号はどういう意味か分かる人いますか joinFiber :: Fiber ~> Aff
23 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 03:36:47.44 ID:2thFGrAB.net] >>22 自然変換 https://pursuit.purescript.org/packages/purescript-prelude/6.0.1/docs/Data.NaturalTransformation#t:type%20(~%3E)
24 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 09:14:10.06 ID:ucaTRy+v.net] >>23 ありがとうございます (~>)などでpursuitで検索しても出ないので助かります joinFiber :: Fiber ~> Affは joinFiber :: forall (a :: Type). Fiber a -> Aff a ですね そしてFiberもAffもFunctorのインスタンスになってました ttps://zenn.dev/funnycat/articles/c871fef434c36c ここのサンプルが軒並み動かなくなってるけど 昔はAffにEffectを混ぜて使えたのかな 例えば import Prelude import Effect(Effect) import Effect.Aff import Effect.Console(log) import Data.Either main :: Effect Unit main = launchAff_ do a <- makeAff \callback -> do log "関数が呼ばれたよ" callback (Right "Done!") pure nonCanceler log a log aがEffectモナドで動いてて他の行がAffモナドで動いてるのでエラーになってる logの前にliftEffectをつければ動くので一応補完しながら読んでます
25 名前:デフォルトの名無しさん mailto:sage [2023/09/18(月) 10:41:43.01 ID:UmWRU5gb.net] halogen難しいね 次の関数とかどんな関数か想像もつかない _1って何ですか。普通のaとかと同じもの? slot :: forall query action input output slots m label slot _1. Cons label (Slot query output slot) _1 slots => IsSymbol label => Ord slot => Proxy label -> slot -> Component query input output m -> input -> (output -> action) -> ComponentHTML action slots m
26 名前:デフォルトの名無しさん [2023/10/04(水) 20:54:14.40 ID:raXXa6I6.net] >>25 Halogenは、ある程度PureScriptに慣れるまではシグネチャおまじないだと思ってあんまり気にしない方がいいかもね
27 名前:デフォルトの名無しさん [2023/10/05(木) 17:14:25.83 ID:qkLTqCla.net] >>24 記事のは Effect.Class.Console の log を使ってるはず(Effect.Consoleのlog を liftEffect したもの)