関数型プログラミング言語Haskell Part24at TECH
関数型プログラミング言語Haskell Part24 - 暇つぶし2ch49:デフォルトの名無しさん
13/10/30 13:20:22.69
>>46
unsafePerformIOだって保証ないじゃん

50:デフォルトの名無しさん
13/10/30 19:04:39.77
>>49
無理に穴を見つけようとしないで、もっと気楽に素直になれ

51:デフォルトの名無しさん
13/10/30 19:29:28.28
>>48
心の底から要らない。あっても使わない

52:デフォルトの名無しさん
13/10/30 19:50:42.76
>>48
ループはいらんかもね。
俺は再帰よりもmapとかを多用するようになった。

53:デフォルトの名無しさん
13/10/30 20:12:40.70
caseいらないとかも同じで
最初から完璧な最終的なコード書けるならいいけど
実験的なコード書いてるときはどうしてもゆるい書き方が欲しくなるのだよ

54:デフォルトの名無しさん
13/10/30 20:24:55.77
xml-conduit モジュールの Text.XML.Cursor.content や attribute などは
戻り値として text モジュールの Data.Text.Internal.Text 型のリストを返します。

このリストの要素に対して text モジュールの Data.Text.unpack 関数を適用すると
String 型の値が返ってきます。

しかし、なぜ Data.Text.Internal.Text 型の値に
Data.Text.unpack 関数が使えるのでしょうか。

Data.Text.unpack :: Text -> String の第1引数の型は
Data.Text.Text であって、Data.Text.Internal.Text ではないにも関わらず、です。

55:デフォルトの名無しさん
13/10/30 20:30:34.85
>>54
コンパイラーさんがいいと言ってるんだから、細けぇことはいいんだよ!

56:デフォルトの名無しさん
13/10/30 23:20:41.33
再帰はスタックを馬鹿食いするから多用すべきではない

57:54
13/10/30 23:50:04.37
>>55
真面目にお願いします

58:デフォルトの名無しさん
13/10/30 23:53:13.23
>>54
名前空間が違うだけで、型は同じ。

59:デフォルトの名無しさん
13/10/30 23:54:53.51
>>56
List->Listなら、再起でもスタック消費しない。
それ以外は基本、末尾再帰。

60:デフォルトの名無しさん
13/10/31 00:08:02.05
>>57
URLリンク(hackage.haskell.org)

61:デフォルトの名無しさん
13/10/31 17:03:37.76
Egisonの話題ってここで良いの?

62:デフォルトの名無しさん
13/10/31 19:51:29.64
ダメだろ

63:デフォルトの名無しさん
13/10/31 20:11:50.44
どこですればいい?

64:デフォルトの名無しさん
13/10/31 20:37:46.69
>>63
こちらで
スレリンク(tech板)

65:デフォルトの名無しさん
13/10/31 20:42:14.31
おっ サンキュー

66:54
13/11/01 07:51:27.23
>>58
>>60

「名前空間が違うだけで、型は同じ」 そういうことなんですね。

でも、どうしてわざわざ Internal の方の名前空間を使うのでしょうか。

"Internal" というモジュールは他のライブラリでもありますが、
基本的にはより低レベルの内部的な処理のためのものだと思います。
ライブラリを利用する側の者が使うのはあまり好ましいことではないような気がしますが、
Data.Text.Internal の説明には

Modules which extend the Text system may need to use this module.

とあるように、むしろ Data.Text ではなくこちらを使うよう促していますよね。
なぜなんでしょうか?

67:デフォルトの名無しさん
13/11/01 09:24:55.23
>>66
それ以上は言語とは関係ないライブラリ固有の話題だからドキュメント調べろよ

68:デフォルトの名無しさん
13/11/01 09:47:45.58
>>66
>Modules which extend the Text system
ってライブラリを拡張する場合だから、ただの利用者じゃないでしょ。

69:デフォルトの名無しさん
13/11/01 10:16:27.59
>>68
その上、その後ろに、こう書いてあるしな。

You should not use this module unless you are determined to monkey
with the internals, as the functions here do just about nothing to preserve
data invariants. You have been warned!

そもそも、>>54の前提がおかしい。

>xml-conduit モジュールの Text.XML.Cursor.content や attribute などは
>戻り値として text モジュールの Data.Text.Internal.Text 型のリストを返します。

ソースを見るとこうなってる。
URLリンク(hackage.haskell.org)

import qualified Data.Text as T
content :: Cursor -> [T.Text]


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch