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
【純粋関数型AltJS】PureScript
2020/03/27(金) 23:08:17.93ID:adWh10vX
2020/03/27(金) 23:37:38.68ID:AZZ9Lfcm
モナドある?
3デフォルトの名無しさん
2020/03/27(金) 23:48:25.03ID:Rb3nizEF モナドよりモノイドの話をしようぜ
2020/03/29(日) 21:21:52.27ID:ASPmEZpT
関数型の言語は難しいわ
5デフォルトの名無しさん
2020/03/29(日) 21:29:19.83ID:lnMZbQFE2020/04/01(水) 07:23:35.00ID:Bo1VBV+d
7デフォルトの名無しさん
2020/04/01(水) 07:31:36.52ID:0sLmxtDE8デフォルトの名無しさん
2020/04/01(水) 11:19:41.53ID:J6ChlXYh そもそもReact Hooksってどういうところがエポックメイキングだったの?
詳しい人やさしく教えてくれ
詳しい人やさしく教えてくれ
9デフォルトの名無しさん
2020/04/04(土) 02:00:32.15ID:sQk2k7c/10デフォルトの名無しさん
2020/04/04(土) 09:04:53.51ID:L/BdUORC これ以上増やすならゴミが
11デフォルトの名無しさん
2020/04/30(木) 19:18:08.36ID:K8xm/HnN もうVueとtypeScriptで消耗する日々を終わりにしたい
頼むからPureScript Halogenで仕事させてくれ
頼むからPureScript Halogenで仕事させてくれ
12デフォルトの名無しさん
2020/05/04(月) 03:41:06.13ID:0kqhmca7 Try PureScriptが最新のコンパイラで動くようになったな
13デフォルトの名無しさん
2020/06/04(木) 10:29:19.91ID:tCZ+i58G PureScript halogenのバージョン5がついに正式リリースやぞ
14デフォルトの名無しさん
2020/10/01(木) 20:28:58.52ID:niZNqEsd 過疎りすぎてて草
15デフォルトの名無しさん
2021/02/26(金) 10:21:24.95ID:jRB7MJTc 0.14出たのから
PolyKindsサポートされるのとrowが#でなくRowというコンストラクタに変わるとか
PolyKindsサポートされるのとrowが#でなくRowというコンストラクタに変わるとか
16デフォルトの名無しさん
2021/03/22(月) 18:10:17.97ID:GMNO2OGC Halogen v6きたぞ
17デフォルトの名無しさん
2021/04/25(日) 02:51:51.80ID:RzdX+r0w Data.Codec.Argonautでレコードのコーデック聞いたけどTypeMismatch、、encodeしたやつをdecodeしても失敗するのは何故だ
18デフォルトの名無しさん
2021/04/25(日) 02:52:38.69ID:RzdX+r0w 関係ないけど、Halogen hooksでコンポーネント作るの楽ね
19デフォルトの名無しさん
2021/10/22(金) 01:37:24.41ID:0905Weml まじで過疎ってて草
5chでPureScript書いてるのは俺だけなのか?
5chでPureScript書いてるのは俺だけなのか?
2023/09/12(火) 16:34:57.19ID:FooNA5X7
今日入門。過疎ってるけどだれかいると信じてあげます
今日はspago initしてrunを動かすところまでやりました
linuxのntfs-3g上ではfatal: destination path '.' already exists and is not an empty directory.
のようなエラーが多数でて動かないので気をつけてください
それを解明するまでにかなり時間がかかりました
今日はspago initしてrunを動かすところまでやりました
linuxのntfs-3g上ではfatal: destination path '.' already exists and is not an empty directory.
のようなエラーが多数でて動かないので気をつけてください
それを解明するまでにかなり時間がかかりました
2023/09/16(土) 10:58:20.89ID:YSu5R3en
今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
型がよくわからないので小さいサンプルを作ろうとしたのですが
これすら型エラーで動かせない
型エラー対策に便利な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
2023/09/16(土) 18:48:48.85ID:YSu5R3en
実行時エラー 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
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
2023/09/17(日) 03:36:47.44ID:2thFGrAB
2023/09/17(日) 09:14:10.06ID:ucaTRy+v
>>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をつければ動くので一応補完しながら読んでます
(~>)などで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をつければ動くので一応補完しながら読んでます
2023/09/18(月) 10:41:43.01ID:UmWRU5gb
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
次の関数とかどんな関数か想像もつかない
_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.40ID:raXXa6I6 >>25
Halogenは、ある程度PureScriptに慣れるまではシグネチャおまじないだと思ってあんまり気にしない方がいいかもね
Halogenは、ある程度PureScriptに慣れるまではシグネチャおまじないだと思ってあんまり気にしない方がいいかもね
27デフォルトの名無しさん
2023/10/05(木) 17:14:25.83ID:qkLTqClaレスを投稿する
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【速報】高市首相 青森震度6強地震で負傷者30人 [蚤の市★]
- ぼくくん、昨年PCを組んだため値上げ回避 ちなスペック [794961135]
- 【高市悲報】日経が議員削減法案を痛烈批判「これほど党利党略を優先した法案も珍しい」 [663382246]
- 【画像】TOKIO山口達也に「いいべ」された当時のJK、性加害の反動であたしこグラドルにwww [779857986]
- 声優・矢尾一樹の妻「治療の影響で思う様に話せない彼に、近くで仕事をしてきた人が、かっこ悪い!もう辞めなよと言った。私は許さない」 [594040874]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
- 【動画】ママチャリまんさん「わたし女ですけど!」シャコシャコシャコシャコ 🚴‍♀❗🚛 [329329848]
