関数型プログラミング言語 Haskell について語るスレです。
haskell.org (公式サイト)
https://www.haskell.org/
前スレ
関数型プログラミング言語Haskell Part30
http://mevius.2ch.net/test/read.cgi/tech/1484491434/
探検
関数型プログラミング言語Haskell Part31©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/09/27(水) 02:33:08.70ID:2XAqPuH2
539デフォルトの名無しさん
2018/03/12(月) 17:16:39.91 最近毛の壁みないな
540デフォルトの名無しさん
2018/04/03(火) 13:16:07.09ID:CL00mLmV モナドの中での条件分岐ってはどうやればいいでしょうか
m0 >>= m1 arg1 【 >>= m2 arg2 】 >>= mN argN
【 】のブロックを条件に応じて呼び出すかどうかを制御したいです
whenだと値が取り出せない
m0 >>= m1 arg1 【 >>= m2 arg2 】 >>= mN argN
【 】のブロックを条件に応じて呼び出すかどうかを制御したいです
whenだと値が取り出せない
541デフォルトの名無しさん
2018/04/03(火) 13:25:16.21ID:CL00mLmV 自己解決しました
普通にif使えるんですね
普通にif使えるんですね
542デフォルトの名無しさん
2018/04/03(火) 16:36:19.17ID:bMx8P0pN 遅延評価って面白いね
ぱっと見挙動がわかりにくいのと使い所がみつけづらいのが難点だけど
ぱっと見挙動がわかりにくいのと使い所がみつけづらいのが難点だけど
543デフォルトの名無しさん
2018/04/03(火) 20:15:57.85ID:BMbwb1La544デフォルトの名無しさん
2018/04/13(金) 01:52:39.63ID:UkwKelSp purescriptをめっちゃ強化してクロスコンパイル&ネイティブコンパイル&jsコンパイル&wasmコンパイル可能でさらにビルド速度とGC性能をocaml並に出来ませんか😱
545デフォルトの名無しさん
2018/04/17(火) 11:35:04.71ID:qNbsUSYn もし自作の型が Generic クラスのインスタンスなら、
その型を Num クラスのインスタンスにするのは容易でボイラープレートを書くだけだ、
という話を聞いたのですが、どういうことでしょうか。
その型を Num クラスのインスタンスにするのは容易でボイラープレートを書くだけだ、
という話を聞いたのですが、どういうことでしょうか。
546デフォルトの名無しさん
2018/04/17(火) 15:15:39.87ID:xGORc44D Genericは代数的データ型の代数的構造に対して型クラスを使えるようにする仕組みという感じだから
例えば自然数の型クラスがあったらdata Nat = Zero | Succ Natっぽい型をインスタンスにできる(ようにできる)
data List a = Nil | Cons (List a)とかもList a=Natでいけそうだけど詳しいことは知らない
でNumは整数の型クラスだから符号情報を持たせた自然数っぽい型で考えればいいと思う
例えば自然数の型クラスがあったらdata Nat = Zero | Succ Natっぽい型をインスタンスにできる(ようにできる)
data List a = Nil | Cons (List a)とかもList a=Natでいけそうだけど詳しいことは知らない
でNumは整数の型クラスだから符号情報を持たせた自然数っぽい型で考えればいいと思う
547デフォルトの名無しさん
2018/04/18(水) 21:28:14.85ID:BYjTZdeC FRPのBehaviorとEventの構成ってなんか恣意的なのかなって印象で手付かずだったけど、
型がそれぞれ関数と直積で、カリーハワード考えるとForAllとExistsですよて説明見たら、
何に効いてくるのかまだよく分からんけど、真面目にやろうかなと思った。
型がそれぞれ関数と直積で、カリーハワード考えるとForAllとExistsですよて説明見たら、
何に効いてくるのかまだよく分からんけど、真面目にやろうかなと思った。
548デフォルトの名無しさん
2018/04/20(金) 15:57:50.03ID:0HOWAbgI Yesod のオライリー本ってまだ翻訳されてないの
549デフォルトの名無しさん
2018/04/20(金) 19:31:13.34ID:wBOVlPyY print "日本語"
で日本語を表示するにはどうしたらいいですか?
で日本語を表示するにはどうしたらいいですか?
550デフォルトの名無しさん
2018/04/20(金) 20:11:46.72ID:kdAO2jaP551デフォルトの名無しさん
2018/04/20(金) 20:49:36.18ID:4Eu7Barh できないんですね
わかりました
わかりました
552デフォルトの名無しさん
2018/04/20(金) 21:00:49.10ID:0HOWAbgI できますよ
553デフォルトの名無しさん
2018/04/26(木) 12:38:49.74ID:X3BRJjDS 公開したくない自作データ型を引数に持つ自作関数をhspecでテストする方法を探しています。
自作のモジュールは2つあり、ひとつはテストしたい関数 g がある ModSub、もうひとつは ModSub を使用する ModMain です。
-----[ ModMain.hs ]-----
module ModMain where
import ExtLib (calc) -- 外部ライブラリ
import ModSub
f = calc g 他のいくつかの引数 -- 他にも関数を呼び複雑な計算をする
-----[ ModSub.hs ]-----
module ModSub (g) where
import Control.Applicative
import ExtLib (SomethingClass) -- 外部ライブラリ
data D = D Bool Int
instance SomethingClass D where
someFunc = pure D <*> makeBool 適当 <*> makeInt 適当
g (D b i) = 何か
ExtLib の calc 関数は Something クラスのインスタンス型を引数に持つ関数を取り、その具体的な型は知る必要がありません。
私はアプリケーションの作成に当たって公開しなても動く設計のものは公開しないスタンスです。
なので、ModSub モジュールは D 型のコンストラクタを公開していません。
このような状況ではテストモジュールからも D 型が使えずテストできないため、私は2つの選択肢を考えました。
ひとつは、諦めてスタンスを曲げて D 型のコンストラクタを公開する。
もうひとつは、D 型を別のモジュール InnerModSub 内に定義して公開し、ModSub モジュールとテストモジュールは InnerModSub モジュールを使う。
そして、ModMain モジュールや他のモジュールは決して InnerModSub モジュールを使わないようルールを設ける。
他に何か良い方法はあるでしょうか。
自作のモジュールは2つあり、ひとつはテストしたい関数 g がある ModSub、もうひとつは ModSub を使用する ModMain です。
-----[ ModMain.hs ]-----
module ModMain where
import ExtLib (calc) -- 外部ライブラリ
import ModSub
f = calc g 他のいくつかの引数 -- 他にも関数を呼び複雑な計算をする
-----[ ModSub.hs ]-----
module ModSub (g) where
import Control.Applicative
import ExtLib (SomethingClass) -- 外部ライブラリ
data D = D Bool Int
instance SomethingClass D where
someFunc = pure D <*> makeBool 適当 <*> makeInt 適当
g (D b i) = 何か
ExtLib の calc 関数は Something クラスのインスタンス型を引数に持つ関数を取り、その具体的な型は知る必要がありません。
私はアプリケーションの作成に当たって公開しなても動く設計のものは公開しないスタンスです。
なので、ModSub モジュールは D 型のコンストラクタを公開していません。
このような状況ではテストモジュールからも D 型が使えずテストできないため、私は2つの選択肢を考えました。
ひとつは、諦めてスタンスを曲げて D 型のコンストラクタを公開する。
もうひとつは、D 型を別のモジュール InnerModSub 内に定義して公開し、ModSub モジュールとテストモジュールは InnerModSub モジュールを使う。
そして、ModMain モジュールや他のモジュールは決して InnerModSub モジュールを使わないようルールを設ける。
他に何か良い方法はあるでしょうか。
554デフォルトの名無しさん
2018/04/26(木) 22:19:07.30ID:XXRDrUvo >>553
ふたつめの選択肢が定番の解決策っぽい。Internalディレクトリに実装をまとめといて上層でre-export。
https://disarli.me/blog/haskell/testing/2017/08/21/testing-non-exported-functions-with-haskell.html
ふたつめの選択肢が定番の解決策っぽい。Internalディレクトリに実装をまとめといて上層でre-export。
https://disarli.me/blog/haskell/testing/2017/08/21/testing-non-exported-functions-with-haskell.html
555デフォルトの名無しさん
2018/04/27(金) 07:51:16.88ID:5zUTZf4m556デフォルトの名無しさん
2018/05/03(木) 01:36:32.06ID:kRKy+vnx ようやくwin10 wslでghcが遅かった件直った感じかな
557デフォルトの名無しさん
2018/05/04(金) 07:55:06.89ID:losdahgV558デフォルトの名無しさん
2018/05/04(金) 08:58:01.41ID:eKrFMwvm 日本人の「モナド萌え〜」Tシャツはないの?
559デフォルトの名無しさん
2018/05/06(日) 09:54:40.96ID:KRn6cuFA モナまでは可愛いが、油断してるとドがついて怖い感じ。
560デフォルトの名無しさん
2018/05/06(日) 10:12:01.34ID:KRn6cuFA Reflexやってる人います?Stackと親和的じゃないから結局諦めちゃった。
Threepenny-GUIはシンプルで良いね。Threepennyで作ったのをiOSやAndroidに移植できるんかな。
Threepenny-GUIはシンプルで良いね。Threepennyで作ったのをiOSやAndroidに移植できるんかな。
561デフォルトの名無しさん
2018/05/09(水) 03:57:47.41ID:yAd9yFdW >>557
三拍子揃っててだめだった
三拍子揃っててだめだった
562デフォルトの名無しさん
2018/05/16(水) 06:39:11.37ID:KuTIShdq intellijにhaskellいれようとしてたらいくらやってもだめだったの
よーくみたらWindow Defenderがじゃましてた
はらたつー
よーくみたらWindow Defenderがじゃましてた
はらたつー
563デフォルトの名無しさん
2018/05/16(水) 14:15:35.67ID:86oQSZWQ MS「永続性はウイルス」
564デフォルトの名無しさん
2018/05/20(日) 16:01:44.58ID:h2BQfP5S random パッケージの System.Random モジュールの split 関数は、
新しい RandomGen クラスのインスタンスをなぜ2つも生成するのでしょうか。
2つのインスタンスが要るのなら、引数の1つ目があるのだから、
新たに生成するのも1つで十分だと思うのです。
もっと必要なら、この処理を繰り返せばいいのでは?
私は何か勘違いをしているのでしょうか。
新しい RandomGen クラスのインスタンスをなぜ2つも生成するのでしょうか。
2つのインスタンスが要るのなら、引数の1つ目があるのだから、
新たに生成するのも1つで十分だと思うのです。
もっと必要なら、この処理を繰り返せばいいのでは?
私は何か勘違いをしているのでしょうか。
565デフォルトの名無しさん
2018/05/20(日) 17:35:56.32ID:FfB1JAMU そもそもnextだってgetValとnextGenに分けてもいいけどね
まあ基本的には設計とか効率の問題なんじゃない?
それに戻り値が一つのsplitは引数の方がそのままもう一回splitされないように注意する必要があるし
まあ基本的には設計とか効率の問題なんじゃない?
それに戻り値が一つのsplitは引数の方がそのままもう一回splitされないように注意する必要があるし
566デフォルトの名無しさん
2018/05/23(水) 19:45:00.92ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
P0GWF
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
P0GWF
567デフォルトの名無しさん
2018/05/24(木) 10:55:19.93ID:cPlRxlDn 567
568デフォルトの名無しさん
2018/05/25(金) 21:11:33.96ID:cptzVN/K エスパー来る
ところで、関数型言語のこの世の春は来ますか?
ところで、関数型言語のこの世の春は来ますか?
569デフォルトの名無しさん
2018/05/26(土) 04:33:44.12ID:d8ZkW1Ij GHCのインストール先の変え方教えて
ちなWindows
Cドライブに入れたくない
ちなWindows
Cドライブに入れたくない
570デフォルトの名無しさん
2018/05/26(土) 04:40:40.86ID:d8ZkW1Ij Stackのコンフィグをイジる?
571デフォルトの名無しさん
2018/05/31(木) 00:34:57.11ID:zA1zBE3e haskellの練習してる初心者なんですが2進数の文字列表現を10進数の整数に変換する処理ってこんな感じで大丈夫でしょうか? https://csacademy.com/code/CsGalG5X/
572デフォルトの名無しさん
2018/05/31(木) 01:09:51.63ID:CXLwfWM5 単に数値にしてるだけであって、10進数に変換して表示してるのはprintさんでしょ?
573デフォルトの名無しさん
2018/05/31(木) 08:07:17.08ID:Dl0sFDMW Showが忖度したのであってInteger大臣が文字列化を指示したわけではない
574デフォルトの名無しさん
2018/06/01(金) 00:33:16.96ID:vzHrz6jW 10進数への変換も自前で実装しろって話の流れ?
575デフォルトの名無しさん
2018/06/01(金) 01:50:05.31ID:0E17r036 >>571が何を目指すのかによる。
576デフォルトの名無しさん
2018/06/05(火) 20:09:41.67ID:pRSj0ubW どうでもいいけど、それぞれのGHC言語拡張の名前で単数形と複数形の違いがいまいち分からん。
うろ覚えで複数形で書いてコンパイルエラーになったり。
命名規則とかあるんかな?
うろ覚えで複数形で書いてコンパイルエラーになったり。
命名規則とかあるんかな?
577デフォルトの名無しさん
2018/06/06(水) 07:44:03.32ID:azXcBu8b 使った中じゃ英語で説明するのに複数形が使われるであろうものなら
大体複数形だったと思うけど
カタカナ語のノリでやってるから割と間違う
大体複数形だったと思うけど
カタカナ語のノリでやってるから割と間違う
578デフォルトの名無しさん
2018/06/13(水) 21:49:00.45ID:i4vh63zU すごいH本に煽られるとまじでムカつくんだけど
579デフォルトの名無しさん
2018/06/17(日) 22:53:19.15ID:kUxbeqDh すごいHだから勃起botをリツイートしてるのか
580デフォルトの名無しさん
2018/06/18(月) 09:11:06.80ID:QNagypIW おい!あの岡部健(毛の壁)がgithubで活動を再開してるぞ!
581デフォルトの名無しさん
2018/06/18(月) 18:39:20.54ID:MmynirXE IT芸人が新作コンテンツ提供開始か
>>580
本当ですか!ぜひお会いしたい!
本当ですか!ぜひお会いしたい!
583デフォルトの名無しさん
2018/06/27(水) 12:31:39.52ID:+XG/5Wm3 今時コンパイルとか流行らないよ
サクッと書けても実行までが面倒だと普及しない
もっと標準ライブラリをヘビィにしてPython化するしか生き残りの道はない
サクッと書けても実行までが面倒だと普及しない
もっと標準ライブラリをヘビィにしてPython化するしか生き残りの道はない
584デフォルトの名無しさん
2018/06/27(水) 14:44:28.75ID:rnjnLILH 同意だ。Turtle使ってシェバンにstackコマンドライン書いて、
Haskellでシェルスクリプトするというのがあったが正気の沙汰とは思えない。
Haskellでシェルスクリプトするというのがあったが正気の沙汰とは思えない。
585デフォルトの名無しさん
2018/06/27(水) 19:48:00.92ID:luhHLeJ1 むしろ今はコンパイル全盛期でしょ
rubyとか下火だし
rubyとか下火だし
586デフォルトの名無しさん
2018/06/27(水) 22:56:56.37ID:kWgGKFVN どれだけ簡潔に記述出来ても
短いプログラムでは実行するまでの手間の割合が大きくなるから
pythonでいいやってなる
短いプログラムでは実行するまでの手間の割合が大きくなるから
pythonでいいやってなる
587デフォルトの名無しさん
2018/06/28(木) 05:41:11.51ID:F07eHa3U 対話環境使わんの?短いプログラムてのがどんな状況か知らんからなんとも。
588デフォルトの名無しさん
2018/06/28(木) 07:28:52.90ID:BPlVOF4a Haskellで簡潔に書けるという特殊能力を持っておきながら
破壊的で動的型付けな言語を選ばなければいけないという悲劇
破壊的で動的型付けな言語を選ばなければいけないという悲劇
589デフォルトの名無しさん
2018/06/28(木) 15:27:57.03ID:5C2saF7L なんで宗教みたいに二者択一になるの
要所要所で使い分ければいいだけでしょ
要所要所で使い分ければいいだけでしょ
590デフォルトの名無しさん
2018/06/28(木) 16:47:06.64ID:aKd05JxM たかだか数秒のことで簡潔さを失いたいとは思わないね
591デフォルトの名無しさん
2018/06/28(木) 16:57:33.76ID:rY43/kt0 バンパターンとかseqとか使いまくるからあんま簡潔に書けないわ
592デフォルトの名無しさん
2018/06/28(木) 17:36:24.62ID:kdV1Odt0 簡単なプログラムだと
このifでこれとこれ書き換えてさらにネストしたifでこれとこれを書き換えて
とかやっちゃうな
haskellでもStateモナドとか使えばいいんだろうけど
このifでこれとこれ書き換えてさらにネストしたifでこれとこれを書き換えて
とかやっちゃうな
haskellでもStateモナドとか使えばいいんだろうけど
593デフォルトの名無しさん
2018/06/28(木) 18:02:30.70ID:rjCVmVg9 文字列を直接操作したければ動的型でいい
直接操作することなくShowとReadで処理できるならHaskellの型は無駄ではない
直接操作することなくShowとReadで処理できるならHaskellの型は無駄ではない
594デフォルトの名無しさん
2018/06/28(木) 20:20:52.20ID:8bPXL4i4 より真理に近い言語以外使いたくないのだ
595デフォルトの名無しさん
2018/06/28(木) 20:47:06.63ID:5C2saF7L 込み入った評価戦略で脳ミソ使わされるのが真理とも思えんがw
596デフォルトの名無しさん
2018/06/28(木) 20:59:45.19ID:rY43/kt0 量子コンピュータが実用化されればへーきへーき
597デフォルトの名無しさん
2018/06/28(木) 22:01:03.00ID:GLp7lVXW 文字列入力を要求してその文字列を含むファイルを検索して見つかったらエディタで開く、
的な、コマンドラインからさっと使いたいので実行までが重いと困るけど、
cabalプロジェクトにする程のもんでもない規模のやつ
的な、コマンドラインからさっと使いたいので実行までが重いと困るけど、
cabalプロジェクトにする程のもんでもない規模のやつ
598デフォルトの名無しさん
2018/06/28(木) 22:04:23.65ID:GLp7lVXW if ってあんま使ったことない。関数のガードとcase、あとData.Bool.bool
599デフォルトの名無しさん
2018/06/29(金) 18:53:31.79 Yesodって失敗したの?
600デフォルトの名無しさん
2018/07/02(月) 22:40:55.64ID:Q8zb4uVa Haskellは"関数型だから"コードが短く生産性が高いと聞いたのに
関数型ではないPythonの方がコードが短く書けると知った時の絶望感
関数型ではないPythonの方がコードが短く書けると知った時の絶望感
601デフォルトの名無しさん
2018/07/02(月) 22:42:40.97ID:zz3F/ohp そうなのか?
602デフォルトの名無しさん
2018/07/03(火) 12:03:15.48ID:j/SH2c2P 関数型ではないHaskellがあるってことだろ
男の娘みたいなやつが
男の娘みたいなやつが
603デフォルトの名無しさん
2018/07/03(火) 12:11:44.26ID:jJAl/nPq 関数型こそ邪悪なシンタックスに頼らない無敵の流派なのだ
ただし両方使う方が強い
ただし両方使う方が強い
604デフォルトの名無しさん
2018/07/03(火) 12:22:05.97ID:vylnwloM 最強はF#で決まりがこのスレの結論です
605デフォルトの名無しさん
2018/07/03(火) 15:28:26.92ID:RDWAs26/0 バグバグしてていいならpythonの方が手っ取り早いでしょ
606デフォルトの名無しさん
2018/07/03(火) 19:37:38.72ID:h6TZWOAm そのバグが出ない haskell で、まともなグラフ描けるライブラリ作ってくれよ
607デフォルトの名無しさん
2018/07/03(火) 20:25:29.91ID:k4izv0NM そういう考え方の人はpythonの方がいいでしょ
住み分け住み分け
住み分け住み分け
608デフォルトの名無しさん
2018/07/03(火) 20:42:26.69ID:kQlTmain >>606
hackage にアップされているグラフ描画ライブラリの
まともではない点とその理由を列挙していただけないでしょうか。
来月ちょっと暇ができるので、ここで議論が深まれば、
列挙されたものの幾つかを改善してみようかと思います。
hackage にアップされているグラフ描画ライブラリの
まともではない点とその理由を列挙していただけないでしょうか。
来月ちょっと暇ができるので、ここで議論が深まれば、
列挙されたものの幾つかを改善してみようかと思います。
609デフォルトの名無しさん
2018/07/03(火) 22:20:48.11ID:UwUpR5rd >>608
Haskell は調べかかってあきらめたからよく知らないんだが、Python ユーザの視点で書かせてくれ。
Python だとグラフ描くライブラリは、単純な(と言っても強力な)matplotlib って Matlab のパクリの他、
よりハイレベルなグラフが簡単に描けるライブラリとか、インタラクティブなグラフが描けるライブラリとかがある。
どれも、Jupyter ってWeb環境から普通に使えるし、データフレームって表みたいなデータ構造を入力に出来る。
データフレームはつまらないけど実用的には必須で、
カンマ区切りのテキストファイルとかエクセルとかデータベースを読み取れる。
Haskell ってそもそも標準的なデータフレームが無い気がするんだ。間違ってたらぜひ教えて欲しい。
あとオレが調べた時は単純にHaskell のグラフライブラリは見た目が古臭かった。gnuplot 並み。
最近だとPythonでもRでも、カッコいい色のセットとかを選べるし、複数のグラフを簡単にレイアウトできる。
頑張ればカッコよく描けるのかもしれないけど、そんなところに頑張りたくないんだ。
Haskell は調べかかってあきらめたからよく知らないんだが、Python ユーザの視点で書かせてくれ。
Python だとグラフ描くライブラリは、単純な(と言っても強力な)matplotlib って Matlab のパクリの他、
よりハイレベルなグラフが簡単に描けるライブラリとか、インタラクティブなグラフが描けるライブラリとかがある。
どれも、Jupyter ってWeb環境から普通に使えるし、データフレームって表みたいなデータ構造を入力に出来る。
データフレームはつまらないけど実用的には必須で、
カンマ区切りのテキストファイルとかエクセルとかデータベースを読み取れる。
Haskell ってそもそも標準的なデータフレームが無い気がするんだ。間違ってたらぜひ教えて欲しい。
あとオレが調べた時は単純にHaskell のグラフライブラリは見た目が古臭かった。gnuplot 並み。
最近だとPythonでもRでも、カッコいい色のセットとかを選べるし、複数のグラフを簡単にレイアウトできる。
頑張ればカッコよく描けるのかもしれないけど、そんなところに頑張りたくないんだ。
610デフォルトの名無しさん
2018/07/04(水) 03:12:38.67ID:kJrFfDeb0 じゃあグラフ描くならPythonってことでいいんじゃないですかね
611デフォルトの名無しさん
2018/07/04(水) 03:48:39.08ID:y2B7jfXw すいません。ハマってしまってます。助けてください。
GHC 7.8.3です。
有理数係数の複素数の計算をしようとして
import Data.Ratio
import Data.Complex
として
Prelude Data.Ratio Data.Complex> ((0%1):+(1%1))^2
としたら
<interactive>:5:1:
No instance for (RealFloat (Ratio a0)) arising from a use of ‘it’
In a stmt of an interactive GHCi command: print it
と駄目みたいです。
何がだめなのかさっぱりわかりません。
どなたか解決策わかりますか?
GHC 7.8.3です。
有理数係数の複素数の計算をしようとして
import Data.Ratio
import Data.Complex
として
Prelude Data.Ratio Data.Complex> ((0%1):+(1%1))^2
としたら
<interactive>:5:1:
No instance for (RealFloat (Ratio a0)) arising from a use of ‘it’
In a stmt of an interactive GHCi command: print it
と駄目みたいです。
何がだめなのかさっぱりわかりません。
どなたか解決策わかりますか?
612デフォルトの名無しさん
2018/07/04(水) 06:46:15.75ID:We7MgVDS >>609
matplotlibやpandasあたりは、
そのためだけに、Python使うくらいのライブラリだから、
他の言語に使いたいライブラリがあれば、
その言語を使うで使い分けで良いんじゃない。
Excelの読み書きもなんかもPython使ってるよ。
matplotlibやpandasあたりは、
そのためだけに、Python使うくらいのライブラリだから、
他の言語に使いたいライブラリがあれば、
その言語を使うで使い分けで良いんじゃない。
Excelの読み書きもなんかもPython使ってるよ。
613デフォルトの名無しさん
2018/07/04(水) 07:58:03.61ID:RQ3++Y83 HaskellのシンタックスのPythonが欲しい
614デフォルトの名無しさん
2018/07/04(水) 09:21:13.05ID:NlExtjkH >>611
HaskellのComplexで四則演算などをしようとすると
各要素はRealFloatクラスのインスタンス (いわゆる浮動小数点数)である必要がある
Ratio a はRealFloatのインスタンスになれないので計算できない
こうなってる理由はざっくり言えばHaskellのNumが悪い
(参考: https://blog.miz-ar.info/2016/06/haskell-num-class/#abs_signum )
HaskellのComplexで四則演算などをしようとすると
各要素はRealFloatクラスのインスタンス (いわゆる浮動小数点数)である必要がある
Ratio a はRealFloatのインスタンスになれないので計算できない
こうなってる理由はざっくり言えばHaskellのNumが悪い
(参考: https://blog.miz-ar.info/2016/06/haskell-num-class/#abs_signum )
615デフォルトの名無しさん
2018/07/04(水) 11:08:34.25ID:y2B7jfXw616デフォルトの名無しさん
2018/07/04(水) 11:21:15.35ID:rsOJUgV3 >>609
例えば QuickPlot (https://github.com/sheegl/QuickPlot)
そこそこモダンな描画を行うライブラリでしたが、
README.md にあるとおり、もうメンテナンスは行われていません。
ビジュアライゼーションサーバーのクライアントを作る方がより効率的だから、だそうです。
私もそう思います。
haskell でグラフ描画ライブラリを作るなら、
・データの作成 (取得や加工、整形など)
・サーバーへアクセスするためのインターフェース
この2点の実装に絞りたいですね。
データの作成は、python では Pandas のデータフレームを挙げていますが、
haskell ではこんなのはどうでしょうか。
https://github.com/chrisdone/labels/tree/master/labels-explore
あと、gnuplot を卑下してるようですが、そんなにダメですか?
私には視認性の良いグラフに見えますけど。
Wikipedia のグラフにも使われていますし。
例えば QuickPlot (https://github.com/sheegl/QuickPlot)
そこそこモダンな描画を行うライブラリでしたが、
README.md にあるとおり、もうメンテナンスは行われていません。
ビジュアライゼーションサーバーのクライアントを作る方がより効率的だから、だそうです。
私もそう思います。
haskell でグラフ描画ライブラリを作るなら、
・データの作成 (取得や加工、整形など)
・サーバーへアクセスするためのインターフェース
この2点の実装に絞りたいですね。
データの作成は、python では Pandas のデータフレームを挙げていますが、
haskell ではこんなのはどうでしょうか。
https://github.com/chrisdone/labels/tree/master/labels-explore
あと、gnuplot を卑下してるようですが、そんなにダメですか?
私には視認性の良いグラフに見えますけど。
Wikipedia のグラフにも使われていますし。
617デフォルトの名無しさん
2018/07/04(水) 14:52:23.98ID:okkM4kUQ gnuplot も悪いとまでは言わないが、昔の解像度が低く色数もあまりなかった時代に最適化されてる気がするんだよ
Python のグラフと、微妙に用途が違うのかもしれないが
Python のグラフ
ttps://seaborn.pydata.org/examples/index.html
Python のグラフと、微妙に用途が違うのかもしれないが
Python のグラフ
ttps://seaborn.pydata.org/examples/index.html
618デフォルトの名無しさん
2018/07/04(水) 16:23:51.06ID:rsOJUgV3 >>617
すいません、違いがよくまかりません。
gnuplot デモ
http://gnuplot.info/demos/
私には低解像度&少色数時代の環境に最適化されているようにはどうしても見えないです。
すいません、違いがよくまかりません。
gnuplot デモ
http://gnuplot.info/demos/
私には低解像度&少色数時代の環境に最適化されているようにはどうしても見えないです。
619デフォルトの名無しさん
2018/07/04(水) 19:14:51.99ID:J/c/gMh10 会社のプレゼンに使うならPythonの例の方がオシャレに見える
しかしオシャレなグラフというのは見栄え以外の面では役に立たない
しかしオシャレなグラフというのは見栄え以外の面では役に立たない
620デフォルトの名無しさん
2018/07/04(水) 21:47:59.97ID:gFgZc5FG MY6
621デフォルトの名無しさん
2018/07/05(木) 02:06:23.28ID:4KPVS4+Q その無駄に思えるオシャレが大事なんだぜ
622デフォルトの名無しさん
2018/07/05(木) 06:27:20.02ID:fgqUaerO Pythonの例として上げられてるのは、seabornという
1. Rからデザインと
2. 人気のあるデータ表示方法
をパクって、同じことをmatplotlib.pyplotを裏で使ってお手軽にできるようにしたパッケージであって、
素のmatplotlib.pyplotのグラフはgnuplotのデフォルトと変わりのない見た目ですよ
gnuplotだって、山ほど表示用オプションがあって綺麗に表示できます
1. Rからデザインと
2. 人気のあるデータ表示方法
をパクって、同じことをmatplotlib.pyplotを裏で使ってお手軽にできるようにしたパッケージであって、
素のmatplotlib.pyplotのグラフはgnuplotのデフォルトと変わりのない見た目ですよ
gnuplotだって、山ほど表示用オプションがあって綺麗に表示できます
623デフォルトの名無しさん
2018/07/05(木) 09:04:27.74ID:HeNpkv8u >>622
gnuplot でお手軽に綺麗に表示できるようになってるの?
話が逸れたが、ある程度データ構造が共通に使えて
目的に応じて使えるかなり機能も見た目も
良くできたグラフライブラリが幾つかある、ってのが Python の状況だよ
個人的にはHaskell でそれが出来りゃ嬉しいが、、
Python は実行しないとエラーが出ないから、げんなりする時もある
教えてもらった labels- explorer は面白そうなんで見てみるよ
gnuplot でお手軽に綺麗に表示できるようになってるの?
話が逸れたが、ある程度データ構造が共通に使えて
目的に応じて使えるかなり機能も見た目も
良くできたグラフライブラリが幾つかある、ってのが Python の状況だよ
個人的にはHaskell でそれが出来りゃ嬉しいが、、
Python は実行しないとエラーが出ないから、げんなりする時もある
教えてもらった labels- explorer は面白そうなんで見てみるよ
624デフォルトの名無しさん
2018/07/05(木) 12:35:27.07ID:aP+h4Ji7 >>623
綺麗にできるかどうかは使用者のセンスに依ると思います。
python の方のサンプルは、単に淡い色を使い、
線を太めに表示しているだけに見えますが、違いますか?
他に python のグラフならではの特徴があれば言ってください。
下記のような設計のライブラリがあればあなたの要望は満たされますか?
1. 見た目が python のサンプルの様になる「デザインのプリセット」がある。
2. pandas のデータフレームに似た使い勝手の「2次元の表」からグラフを生成できる。
3. 上記1. 2. を満たせば、グラフの生成自体は gnuplot に任せても良い。
綺麗にできるかどうかは使用者のセンスに依ると思います。
python の方のサンプルは、単に淡い色を使い、
線を太めに表示しているだけに見えますが、違いますか?
他に python のグラフならではの特徴があれば言ってください。
下記のような設計のライブラリがあればあなたの要望は満たされますか?
1. 見た目が python のサンプルの様になる「デザインのプリセット」がある。
2. pandas のデータフレームに似た使い勝手の「2次元の表」からグラフを生成できる。
3. 上記1. 2. を満たせば、グラフの生成自体は gnuplot に任せても良い。
625デフォルトの名無しさん
2018/07/05(木) 18:25:11.62ID:rB4OVQ4f 一見丁寧に見えてなかなかに辛辣でワロた。
626デフォルトの名無しさん
2018/07/05(木) 18:32:51.78ID:Ia+ptacm そんなところ頑張りたくないからデフォルトで一般受けする図を出せる奴が欲しいってだけの議論でなんでこんな白熱するんだ
627デフォルトの名無しさん
2018/07/05(木) 18:54:20.69ID:rB4OVQ4f628デフォルトの名無しさん
2018/07/05(木) 21:16:31.45ID:aP+h4Ji7 勘違いしているようですが、python 視点とかはどうでもいいです。
要は、希望されている機能がどれだけ楽に実装できるかが問題なんです。
その「頑張りたくないからデフォルトで」がプリセットの提供で満たせ、
かつ gnuplot を使ってもいいのなら、
見た目の部分は頭をそれほど使わず実装できそうです。
また、データフレーム的なデータ構造も、
もうメンテされてなさそうですが、labels-explore で賄えます。
となれば、ライブラリの形はインターフェースを簡易化したラッパー的なもので十分。
一から作るより遙かに楽です。
でも、私の指摘の他に python のグラフならではの特徴があり、
それを求められているのであれば、実装が難しくなり、
正直腰が引けます。
そのための確認です。
要は、希望されている機能がどれだけ楽に実装できるかが問題なんです。
その「頑張りたくないからデフォルトで」がプリセットの提供で満たせ、
かつ gnuplot を使ってもいいのなら、
見た目の部分は頭をそれほど使わず実装できそうです。
また、データフレーム的なデータ構造も、
もうメンテされてなさそうですが、labels-explore で賄えます。
となれば、ライブラリの形はインターフェースを簡易化したラッパー的なもので十分。
一から作るより遙かに楽です。
でも、私の指摘の他に python のグラフならではの特徴があり、
それを求められているのであれば、実装が難しくなり、
正直腰が引けます。
そのための確認です。
629デフォルトの名無しさん
2018/07/05(木) 21:59:46.30ID:LtuS5J6M 普通にいける範囲なら実装してくれるってこと……?
神かよ
神かよ
630デフォルトの名無しさん
2018/07/05(木) 22:39:32.46ID:JLdZJLqI Pythonならでは、って訳じゃないが(むしろ Rのパクリだと思うが)
facet とかいうグラフを二次元の表に並べたオシャレなグラフは欲しい
軸はグラフ毎に共通にできたりバラバラにできたりする
seaborn の facetgrid ってクラス見てくれ、map でグラフ書いたりしてて、ちょっと関数型言語の影響がありそうだから
あとは逆にHaskell ならではの良さが出るかどうかだな
facet とかいうグラフを二次元の表に並べたオシャレなグラフは欲しい
軸はグラフ毎に共通にできたりバラバラにできたりする
seaborn の facetgrid ってクラス見てくれ、map でグラフ書いたりしてて、ちょっと関数型言語の影響がありそうだから
あとは逆にHaskell ならではの良さが出るかどうかだな
631デフォルトの名無しさん
2018/07/05(木) 23:17:35.48ID:mFkifadT > Haskellならではの良さ
フーム
フーム
632デフォルトの名無しさん
2018/07/05(木) 23:22:55.84ID:aP+h4Ji7 >>630
複数のグラフを並べるのは、gnuplot では、このサンプルの一番下のものですね。
http://gnuplot.sourceforge.net/demo_5.0/layout.html
すみませんが、python 自体は昔に少し触ったくらいで殆ど門外漢です。
不慣れなものを調べるのは面倒で、そこまで労力や時間をかけたくないです。
あくまで、暇ができるのでやってみましょうか、という話です。
なので、実装してほしい事は自分の口で、
python を知らない者にも分かるように説明してください。
それでも、あまりに大変そうならお断りするかも知れませんが。
あと何度も言いますが、オシャレなグラフになるかどうかは個人のセンスですので、
そんなものはライブラリに期待しないでください。
ある程度のプリセットは用意しようと思いますが、あくまで私のセンスです。
普通は利用者がパラメーターを調整して自分でオシャレに仕上げるものです。
複数のグラフを並べるのは、gnuplot では、このサンプルの一番下のものですね。
http://gnuplot.sourceforge.net/demo_5.0/layout.html
すみませんが、python 自体は昔に少し触ったくらいで殆ど門外漢です。
不慣れなものを調べるのは面倒で、そこまで労力や時間をかけたくないです。
あくまで、暇ができるのでやってみましょうか、という話です。
なので、実装してほしい事は自分の口で、
python を知らない者にも分かるように説明してください。
それでも、あまりに大変そうならお断りするかも知れませんが。
あと何度も言いますが、オシャレなグラフになるかどうかは個人のセンスですので、
そんなものはライブラリに期待しないでください。
ある程度のプリセットは用意しようと思いますが、あくまで私のセンスです。
普通は利用者がパラメーターを調整して自分でオシャレに仕上げるものです。
633デフォルトの名無しさん
2018/07/06(金) 00:29:48.55ID:qcgYo1MM それはいけない。
現にSeaborneはおしゃれに仕上げて来ているので、Pythonならライブラリに期待できるのにHaskellでは期待出来ないということになってしまう
現にSeaborneはおしゃれに仕上げて来ているので、Pythonならライブラリに期待できるのにHaskellでは期待出来ないということになってしまう
634デフォルトの名無しさん
2018/07/06(金) 01:50:57.76ID:nHf3/Uiq >>633
プログラミング言語を用いてグラフを作る目的は、
データの取得、加工、整形までをサクッとプログラムしたのだから、
そのデータの全体像を捉えるための可視化も「ついでに」してしまおうというもの。
つまり、プロセッシングしたデータの特徴を「すぐに見たい」という要求に応えるもの。
その様な目的のグラフに求めるのは、データの様相を正しく映すこと。
オシャレなんて入る余地は微塵もありません。
(例えば haskell には使用メモリ量をプロファイルしたデータのグラフ化ツールがありますが、
そのグラフにオシャレさは必要でしょうか)
もし、人にカッコイい思われるグラフを作りたいとか、
人にインパクトを与えるグラフを作りたいという目的ならば、
なにもプログラミング言語を使わなくてもいい。
というのが、古臭いかもしれませんが、私の考えです。
なので、あくまでオシャレなグラフを作るライブラリを求めているのでしたら、
私のモチベーションは大きく下がるので、
この件から降ります。
プログラミング言語を用いてグラフを作る目的は、
データの取得、加工、整形までをサクッとプログラムしたのだから、
そのデータの全体像を捉えるための可視化も「ついでに」してしまおうというもの。
つまり、プロセッシングしたデータの特徴を「すぐに見たい」という要求に応えるもの。
その様な目的のグラフに求めるのは、データの様相を正しく映すこと。
オシャレなんて入る余地は微塵もありません。
(例えば haskell には使用メモリ量をプロファイルしたデータのグラフ化ツールがありますが、
そのグラフにオシャレさは必要でしょうか)
もし、人にカッコイい思われるグラフを作りたいとか、
人にインパクトを与えるグラフを作りたいという目的ならば、
なにもプログラミング言語を使わなくてもいい。
というのが、古臭いかもしれませんが、私の考えです。
なので、あくまでオシャレなグラフを作るライブラリを求めているのでしたら、
私のモチベーションは大きく下がるので、
この件から降ります。
635デフォルトの名無しさん
2018/07/06(金) 02:04:10.34ID:qcgYo1MM >>634
そういう考えなら降りた方が良いと思うよ
そういう考えなら降りた方が良いと思うよ
636デフォルトの名無しさん
2018/07/06(金) 05:21:13.62 なんでオシャレにしないといけないんですか(正論)
637デフォルトの名無しさん
2018/07/06(金) 06:38:28.09ID:hZ+CPQ2X 自己肯定感かな
論理に自信があるなら論理だけでいいがそうでなければオシャレが必要なような気がする
論理に自信があるなら論理だけでいいがそうでなければオシャレが必要なような気がする
638デフォルトの名無しさん
2018/07/06(金) 06:41:34.00ID:2hmUlp+S 何がオシャレなのかを定義して
正確に人に伝えるところからじゃないの?
正確に人に伝えるところからじゃないの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ★2 [♪♪♪★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 【高市悲報】大暴落 [115996789]
- レンタル店のアダルトコーナーでムラムラしてチンチン出した男(78)が逮捕される※今月2回目
- 16のヒッキー女に構って
- 一人暮らしだからケツ出してみてるけど
- ジャンボ宝くじで10億当たる予定なんだが親戚からたかられない方法教えろ
- ネトウヨ「レアアースは日本でも採れるから輸入しなくてもOK!」 なお精製コストがバカ高く有害物質が大量に出ることは全く知らない模様 [314039747]
