【純粋関数型AltJS】PureScript
1 :デフォルトの名無しさん :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
2 :デフォルトの名無しさん :2020/03/27(金) 23:37:38 ID:AZZ9Lfcm.net モナドある?
3 :デフォルトの名無しさん :2020/03/27(金) 23:48:25 ID:Rb3nizEF.net モナドよりモノイドの話をしようぜ
4 :デフォルトの名無しさん :2020/03/29(日) 21:21:52.27 ID:ASPmEZpT.net 関数型の言語は難しいわ
5 :デフォルトの名無しさん :2020/03/29(日) 21:29:19.83 ID:lnMZbQFE.net >>4 慣れの問題でしょ 俺にとってはオブジェクト指向の方が難しい
6 :デフォルトの名無しさん :2020/04/01(水) 07:23:35 ID:Bo1VBV+d.net なんかきたな https://caloo.jp/hospitals/detail/1270000130 React Hooksに着想得た、Halogen用の状態つきコンポーネントを作る手段だと
7 :デフォルトの名無しさん :2020/04/01(水) 07:31:36 ID:0sLmxtDE.net すまん、URL間違えた https://github.com/thomashoneyman/purescript-halogen-hooks
8 :デフォルトの名無しさん :2020/04/01(水) 11:19:41 ID:J6ChlXYh.net そもそもReact Hooksってどういうところがエポックメイキングだったの? 詳しい人やさしく教えてくれ
9 :デフォルトの名無しさん :2020/04/04(土) 02:00:32 ID:sQk2k7c/.net >>8 https://ja.reactjs.org/docs/hooks-intro.html ここの動機以降を読めば理解できる
10 :デフォルトの名無しさん :2020/04/04(土) 09:04:53 ID:L/BdUORC.net これ以上増やすならゴミが
11 :デフォルトの名無しさん :2020/04/30(木) 19:18:08 ID:K8xm/HnN.net もうVueとtypeScriptで消耗する日々を終わりにしたい 頼むからPureScript Halogenで仕事させてくれ
12 :デフォルトの名無しさん :2020/05/04(月) 03:41:06 ID:0kqhmca7.net Try PureScriptが最新のコンパイラで動くようになったな
13 :デフォルトの名無しさん :2020/06/04(木) 10:29:19 ID:tCZ+i58G.net PureScript halogenのバージョン5がついに正式リリースやぞ
14 :デフォルトの名無しさん :2020/10/01(木) 20:28:58.52 ID:niZNqEsd.net 過疎りすぎてて草
15 :デフォルトの名無しさん :2021/02/26(金) 10:21:24.95 ID:jRB7MJTc.net 0.14出たのから PolyKindsサポートされるのとrowが#でなくRowというコンストラクタに変わるとか
16 :デフォルトの名無しさん :2021/03/22(月) 18:10:17.97 ID:GMNO2OGC.net Halogen v6きたぞ
17 :デフォルトの名無しさん :2021/04/25(日) 02:51:51.80 ID:RzdX+r0w.net Data.Codec.Argonautでレコードのコーデック聞いたけどTypeMismatch、、encodeしたやつをdecodeしても失敗するのは何故だ
18 :デフォルトの名無しさん :2021/04/25(日) 02:52:38.69 ID:RzdX+r0w.net 関係ないけど、Halogen hooksでコンポーネント作るの楽ね
19 :デフォルトの名無しさん :2021/10/22(金) 01:37:24.41 ID:0905Weml.net まじで過疎ってて草 5chでPureScript書いてるのは俺だけなのか?
20 :デフォルトの名無しさん :2023/09/12(火) 16:34:57.19 ID:FooNA5X7.net 今日入門。過疎ってるけどだれかいると信じてあげます 今日はspago initしてrunを動かすところまでやりました linuxのntfs-3g上ではfatal: destination path '.' already exists and is not an empty directory. のようなエラーが多数でて動かないので気をつけてください それを解明するまでにかなり時間がかかりました
21 :デフォルトの名無しさん :2023/09/16(土) 10:58:20.89 ID:YSu5R3en.net 今halogen guideを読んでる途中 型がよくわからないので小さいサンプルを作ろうとしたのですが これすら型エラーで動かせない 型エラー対策に便利なhaskellのerror :: [Char] -> aがないので別のところでも苦戦中 module Main where import Prelude import Affjax.Web as AX import Affjax.ResponseFormat as AXRF import Effect (Effect) import Effect.Aff.Class (class MonadAff) import Halogen as H import Effect.Console(log) import Effect.Class(liftEffect) main :: Effect Unit main = do response <- H.liftAff $ AX.get AXRF.string ("https://api.github.com/users/test") log $ show response
22 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 :デフォルトの名無しさん :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 したもの)
8 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者