板検索:
関数型プログラミング言語Haskell Part29 (1001)
まとめビュー
ID:VGvD8wHt.neの書き込みを表示中 すべて表示する

414
デフォルトの名無しさん[sage]   投稿日:2015/08/31 00:21:09  ID:VGvD8wHt.net
()もいいけど、型をラベルみたいにして情報載せるのは、ファントムタイプの出番ですよ。
data Umai a = Umai { defaultLevel :: Int,
season :: Season}
data Season = Spring | Summer | Autumn | Winter deriving Eq

data Nasu
data Tomato

class Level a where level :: a -> Int

instance Level (Umai Nasu) where level = defaultLevel * 100
instance Level (Umai Tomato) where level = defaultLevel * (liftA (== Summer) season ?) 200 100
{--
> level (Umai 1 Summer :: Umai Nasu)
100
> level (Umai 1 Summer :: Umai Tomato)
200
> level (Umai 2 Summer :: Umai Tomato)
400
--}


415
412[sage]   投稿日:2015/08/31 00:22:07  ID:VGvD8wHt.net
ちな
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances,TypeFamilies #-}

module Main where
import Control.Applicative

(412の中身)
instance Num n => Num (a -> n) where
(+)= liftA2 (+)
(-) = liftA2 (-)
(*) = liftA2 (*)
abs = liftA abs
signum = liftA signum
fromInteger = const . fromInteger

class Conditional q a where
type ConditionalExec q a
(?) :: q -> ConditionalExec q a -> ConditionalExec q a -> ConditionalExec q a
infixr 1 ?

instance Conditional Bool a where
type ConditionalExec Bool a = a
(?) b x y = if b then x else y

instance Conditional (a -> Bool) b where
type ConditionalExec (a -> Bool) b = a -> b
(?) = liftA3 (?)

main :: IO ()
main = print $ level (Umai 1 Spring :: Umai Tomato)
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

プログラム板 タイトル検索

このスレッドが人気です(実況系)
激レアさんを連れてきた。★4 (617)テレ朝実況
THE NEWS α (583)フジ実況
月曜から夜ふかし★1 (503)NTV実況
しゃべくり007SP★7 (918)NTV実況
もしかしてズレてる?【藤井リナが3年ぶりにTV登場!▼愛内里菜改名&爆弾告白】★2 (896)フジ実況
AI−TV (586)フジ実況
NEWS ZERO 3 (279)NTV実況
クローズアップ現代+「中国 再エネが日本を飲み込む!?」 (749)NHK実況
このスレッドが人気です(ニュース系)
【北海道・松前町】北朝鮮船に「第854部隊」 島は荒らされ放題 「金目のもの全部ない!」 食べ残しのホッケをとった跡 生活の跡も…★2 (983)ニュー速+
【北海道・松前町】北朝鮮船に「第854部隊」 島は荒らされ放題 「金目のもの全部ない!」 食べ残しのホッケをとった跡 生活の跡も… (1001)ニュー速+
【相撲】日馬富士、起訴猶予へ…モンゴル力士軍団の闇、ビール瓶より危険だった凶器★2 (924)音楽・芸能ニュース
【大相撲】<日馬富士の長女にイジメ>横野リポーターが涙 ネット「泣きたいのは貴ノ岩」 (651)音楽・芸能ニュース
【北朝鮮情勢】菅官房長官 「邦人の安全に影響ない」「韓国への渡航や退避の危険情報出す状況ではない」★2 (965)ニュー速+
【柔道】「もう悪人でいい」内柴正人、フジテレビ独占インタビュー 「被害女性とは合意」主張は曲げず (1001)音楽・芸能ニュース
【社会】「土地は捨てられるのか」 鳥取県の男性、国を相手に実験的訴訟 島根・安来市 (797)ニュー速+
【相撲】日馬富士、起訴猶予へ…モンゴル力士軍団の闇、ビール瓶より危険だった凶器 (1001)音楽・芸能ニュース
プログラム板の人気スレ
次世代言語Part8[Haskell Rust Kotlin TypeScript] (124)
C++相談室 part133 (294)
ふらっと C#,C♯,C#(初心者用) Part134 (150)
次世代言語Part7[Go Rust Swift Kotlin TypeScript] (1001)
C言語なら俺に聞け 143 (697)
Excel VBA 質問スレ Part51 (346)
オブジェクト指向システムの設計 174 (853)
Java入門・初心者質問スレ Part.5 (798)
Visual Studio 2017 Part4 (307)
Pythonのお勉強 Part54 (777)
Xamarin Part6 (346)
Kotlin 2 (271)
プログラミング言語 Rust 4 (356)
Go language part 2 (161)
くだすれPython(超初心者用) その35 (881)
C#, C♯, C#相談室 Part95 (198)
【初心者歓迎】C/C++室 Ver.102【環境依存OK】 (139)
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21 (844)
【統計分析】機械学習・データマイニング18 (228)
プログラミング始めたいんだけどどこ言語がいい? (203)
☆★Java質問・相談スレッド180★★ (940)
Swift part11 (687)
関数型プログラミング言語Haskell Part31 (321)
【PHP】下らねぇ質問はここに書き込みやがれ 8 (976)
MacでもLinuxでも使えるVisual Studio Code Part2 (799)
スレ立てるまでもない質問はここで 146匹目 (968)
ねえ、これ僕間違ってる? (148)
Win32API質問箱 Build124 (73)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)