■ このスレッドは過去ログ倉庫に格納されています
【純粋関数型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 したもの)
総レス数 27
8 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★