haskell-jp / questions #100

@soaring zen has joined the channel
@naokij has joined the channel
@Jaeyoung Lee has joined the channel
@田中達也 has joined the channel
https://github.com/egison/egison/blob/master/hs-src/Language/Egison/Math/Rewrite.hs#L64 
このコードがtemplate haskellのQuasiQuotesを使ってるみたいなんですが、[mc | ...... |]の部分の読み方がわかりません。
... Replies ...
beginners であった @Endo Ryunosuke / minerva さんの質問 https://haskell-jp.slack.com/archives/CR2TETE5R/p1643286256145989 を見てて思ったのですが、Cabal (cabal-the-library, Stack とか cabal-installから呼ばれるやつ) と cabal-install (cabal-the-command-line-tool) の違いってなんでしょう。つまり、Cabalがやらなくてcabal-installがやることってなんでしょうか。もちろんCabalはコマンドラインオプションの解析はしないわけですし、Cabalのdependencyを見るに、インターネット接続が必要な、パッケージのダウンロードはやらなそうに見えるのですが…。
... Replies ...
@ has joined the channel
@maken has joined the channel
yesodweb/serversession: Secure, modular server-side sessions.
を新しいStackage LTSに対応させてビルド出来るようにしようかと思っているのですが、
長年放置されているのでもう皆さんこれ使ってなくて他のより良いパッケージを使っていらっしゃったりします?
その場合移行する方針で頑張ろうかと思うのですが
... Replies ...
@Yas Inu has joined the channel
@松永直人 has joined the channel
新しいPersistentに移行をとりあえずやるかとやっています。
Internalに移動したデータコンストラクタに依存してしまうのは一回割り切って、実装してから分離できないかissue建てるかと思っています。
それ以前の問題があるからです。

mkMigrate が受け取るデータ型が EntityDef -> UnboundEntityDef となり、そのように変換する unbindEntityDef を使うと以上のようなよく分からないエラーになってしまい、どこに型エラーを引き起こす場所があるのかエラーメッセージから読み取れなくて困っています。
このような状況のときどうやってエラーメッセージを読み解けば良いのでしょうか…
@idan has joined the channel
type families に data-type families と closed type-synonym families があるけど closed data-type families はないという認識で合ってますか?
data family Foo a where
  Foo Int = Bar
  Foo Char = Buzz

みたいなのはできない?
https://gitlab.haskell.org/ghc/ghc/-/wikis/type-functions/
https://wiki.haskell.org/GHC/Type_families
... Replies ...
Atsushi Takimoto
@Atsushi Takimoto has joined the channel
Hiroshi Shimoda
@Hiroshi Shimoda has joined the channel
TypeFamilyDependencies とカインド注釈の併記ってどうすればいいんでしょう?
type family Foo a :: Type


type family Foo a = t | t -> a

がそれぞれできるんですが両方書こうと思うと……?
... Replies ...
haskell-jp.slackarchive.io にアクセスできないのですが、urlが変更されたりしていますか?
... Replies ...
GADT だとレコードのラベル名は諦めないといけないんでしたっけ?
@ has joined the channel
これマージされたんですが CI 上でテストがコケる(自環境では通る)のでソースコードの修正だけで cabal ファイルはそのままに、とりあえずは
type families って type classes みたいに overlap プラグマでインスタンス解決の制御できないですよね?
@makoto has joined the channel
stack build はデフォルトでコア数に合わせて自動で並列でインストール作業してくれますが、これが原因でstack buildが失敗するとかってありえますか?何回やってもbuildが失敗しています。
... Replies ...
cabal.projectのリファレンス https://cabal.readthedocs.io/en/3.6/cabal-project.html#specifying-the-local-packages を読んでいてわからなくなったのですが、例えばgit submoduleとしてプロジェクトディレクトリーに置いたパッケージを依存パッケージとして使いたい場合、 extra-packages を使うのが適当なのでしょうか?
... Replies ...
https://zenn.dev/ryuu/articles/use-anyversions というものを最近見たのですが、 Haskell が hsenv っていうのはイマドキどうなんでしょうかね?
... Replies ...
Alexandre Prestele
@Alexandre Prestele has joined the channel
@hakamori has joined the channel
THE BLACK COMET CLUB
@THE BLACK COMET CLUB has joined the channel
@ has joined the channel
@ has joined the channel
@matsuo has joined the channel
GeneralizedNewtypeDeriving はLensの makeFields が作る HasFoo のような複数の型引数を受け取る型クラスに対して使えますか?

具体的には、スニペットに添付したような状況を想定しています。

上をコメントアウトして、下のコメントアウトを外すと以下のようなエラーになります。

    • Can't make a derived instance of
        ‘HasBase Search String’ with the newtype strategy:
        GeneralizedNewtypeDeriving cannot be used on non-newtypes
    • In the stand-alone deriving instance for ‘HasBase Search String’
... Replies ...
@d_yama has joined the channel
@queue.r n. has joined the channel
aesonのparseJSONするときにファイルに書かれている設定値を使いたいのですが、
parseJSON :: Value -> Parser a
こんな関数なのでできないですよね。
一度parseJSONしたあとに他でやるしかないですかね。
... Replies ...
@khibino relational-queryはOFFSET/LIMITが生成できないようですが、これには何か背景があるのですか?(見落としているだけだったらすみません)
... Replies ...
HTFを使ってユニットテストをフィルターする方法等はあるのでしょうか?
イメージ:Rubyのrpecであるような bundle exec rspec -P spec/**/some_spec.rb
https://hackage.haskell.org/package/HTF
... Replies ...
@Goshi has joined the channel
@James Haydon has joined the channel
@AC has joined the channel
@ has joined the channel
高塚由利子
@高塚由利子 has joined the channel
@ has joined the channel
@ndadayo has joined the channel
@devk has joined the channel
@kaname yamo has joined the channel
@Rj has joined the channel
↓のようなデータでiの型を指定せずに`show infty` みたいなことをやったとき、型のエラーとかではなく`commitAndReleaseBuffer: invalid argument (invalid character)` が出る理屈ってどなたかわかりますか?
data Point i where
  Pt    :: Integral i => i -> Point i
  Infty :: Point i

infty :: Point i
infty = Infty

instance Show i => Show (Point i) where ...
... Replies ...
vimでhaskellを書いている方はいらっしゃいますか?もしいらっしゃれば設定等を教えていただきたいです。
... Replies ...