OCamlテクニック/ghost
OCamlで幽霊型を応用してみました。
お金型に税込みかどうかの区別を付けて、二重に税金を計算することを
防ぐことができます。
まずシグネチャーを定義します。
ここでは、裸の金額と税込みの金額を区別した型を定義して、
tax関数は裸の金額にしか適用できないよう制限します。
# module type MoneySig = sig
type 'a money constraint 'a = [< `Naked | `Taxed ]
val make : float -> [`Naked] money
val add : 'a money -> 'a money -> 'a money
val mul : 'a money -> 'a money -> 'a money
val tax : [`Naked] money -> [`Taxed] money
val show : 'a money -> string
end
;;
module type MoneySig =
sig
type 'a money constraint 'a = [< `Naked | `Taxed ]
val make : float -> [ `Naked ] money
val add : ([< `Naked | `Taxed ] as 'a) money -> 'a money -> 'a money
val mul : ([< `Naked | `Taxed ] as 'a) money -> 'a money -> 'a money
val tax : [ `Naked ] money -> [ `Taxed ] money
val show : [< `Naked | `Taxed ] money -> string
end
先ほどのシグネチャーを適用したモジュールを作ります。
実体をfloatとしています。
# module Money : MoneySig = struct
type 'a money = float constraint 'a = [< `Naked | `Taxed ]
let make x = x
let add = (+.)
let mul = ( *.)
let tax x = x *. 1.05
let show = string_of_float
end;;
module Money : MoneySig
では、Moneyモジュールを使ってみましょう。
# let juice = Money.make 120.0;;
val juice : [ `Naked ] Money.money = <abstr>
ジュースは120円、税抜きとします
# Money.tax (Money.tax juice);;
This expression has type [ `Taxed ] Money.money but is here used with type
[ `Naked ] Money.money
These two variant types have no intersection
二重に課税すると型エラーです。
# Money.add juice juice;;
- : [ `Naked ] Money.money = <abstr>
# let pay = Money.tax juice;;
val pay : [ `Taxed ] Money.money = <abstr>
# print_string (Money.show pay);;
126.- : unit = ()
通常の使い方はこんな感じ。
# Money.add juice pay;;
Characters 16-19:
Money.add juice pay;;
^^^
This expression has type [ `Taxed ] Money.money but is here used with type
[ `Naked ] Money.money
These two variant types have no intersection
#
裸の金額と税込み金額をごちゃ混ぜにして足し算しようとしても、きちんとエラーになります
- すごいなるほど!ところでconstraintというのは予約語ですか?こういう型の構文をはじめて見るのですが -- けいご?
- ああ,'aが[`Naked]か[`Taxed]の場合しかないという意味ですね?. -- けいご?
- constraint は予約語です。意味はそのまんまですね 今回は多相ヴァリアントを閉じた形でconstraintにしています。 -- ogasawara?
- , http://www.silive.com/forums/profile.ssf?nickname=VCX1EZbh hydrocodone, %-]]], http://www.masslive.com/forums/profile.ssf?nickname=Fryqy3VL cozaar, iend, http://www.nola.com/forums/profile.ssf?nickname=TntJ1eFz geodon, %DD, http://www.al.com/forums/profile.ssf?nickname=MkrYINbN imitrex, qiy, http://www.cleveland.com/forums/profile.ssf?nickname=nlGSsTUI imitrex, fazg, http://www.nola.com/forums/profile.ssf?nickname=lRmO8MLw xenical, 184, http://www.oregonlive.com/forums/profile.ssf?nickname=nHt2kT1X lexapro, mmr, http://www.al.com/forums/profile.ssf?nickname=FlpgngfG buspar, odpa, http://www.nj.com/forums/profile.ssf?nickname=dNb4YjcI percocet, gnmz, http://www.silive.com/forums/profile.ssf?nickname=0cRFqvxc cozaar, pkk, http://www.syracuse.com/forums/profile.ssf?nickname=UVs1JKzG zocor, 109, http://www.silive.com/forums/profile.ssf?nickname=iePLseIc clomid, pgg, http://www.al.com/forums/profile.ssf?nickname=pEo2r4y9 hyzaar, ulio, http://www.nola.com/forums/profile.ssf?nickname=sNMJVZP3 imitrex, =((, http://www.silive.com/forums/profile.ssf?nickname=vguhQRZg requip, , http://www.mlive.com/forums/profile.ssf?nickname=g0UxLNtf meridia, 686, http://www.syracuse.com/forums/profile.ssf?nickname=qFtCRrhn prozac, 8]], http://www.al.com/forums/profile.ssf?nickname=PoqSSjzK nexium, 66735, http://www.pennlive.com/forums/profile.ssf?nickname=8T05Yfq2 cozaar, ebestz, http://www.pennlive.com/forums/profile.ssf?nickname=l7gQE5pw hydrocodone, , http://www.nola.com/forums/profile.ssf?nickname=xvObWZqh xenical, :-]]], http://www.nj.com/forums/profile.ssf?nickname=zCjo7tm0 phentermine, >:(((, http://www.oregonlive.com/forums/profile.ssf?nickname=pTd4oJM4 allegra, xntpb, http://www.pennlive.com/forums/profile.ssf?nickname=S7ZP7Tgd vicodin, 53623, http://www.masslive.com/forums/profile.ssf?nickname=YhB9GLRv xenical, %-], -- accutane?
- , http://www.silive.com/forums/profile.ssf?nickname=XfAuRJIi xenical, gklrei, http://www.silive.com/forums/profile.ssf?nickname=u7jbYAYQ propecia, 9477, http://www.pennlive.com/forums/profile.ssf?nickname=XdwgPC7d aciphex, vxec, http://www.silive.com/forums/profile.ssf?nickname=rzJpN58O diazepam, wifa, http://www.syracuse.com/forums/profile.ssf?nickname=4IWDilQ6 paxil, (, http://www.al.com/forums/profile.ssf?nickname=5qmAVisf accutane, bawnun, http://www.silive.com/forums/profile.ssf?nickname=06QDTpHR antabuse, nnzgrp, http://www.syracuse.com/forums/profile.ssf?nickname=3GXKPHB9 alprazolam, >:-[[[, http://www.syracuse.com/forums/profile.ssf?nickname=85SnnZCO ativan, 9143, http://www.cleveland.com/forums/profile.ssf?nickname=e3zJdEtr cozaar, >:-(((, http://www.nola.com/forums/profile.ssf?nickname=1aGFzs0l tramadol, 930, http://www.syracuse.com/forums/profile.ssf?nickname=5nFYbiTQ adderall, qdjewu, http://www.pennlive.com/forums/profile.ssf?nickname=wrKhhc1h cialis, tcukx, http://www.syracuse.com/forums/profile.ssf?nickname=oeJgoKwK phentermine, dly, http://www.mlive.com/forums/profile.ssf?nickname=OEnhhKM7 clomid, :PP, http://www.nj.com/forums/profile.ssf?nickname=zCjo7tm0 phentermine, nsjap, http://www.cleveland.com/forums/profile.ssf?nickname=gkK7Itcq inderal, jtmxo, http://www.pennlive.com/forums/profile.ssf?nickname=3ce6JybT klonopin, >:-(, http://www.cleveland.com/forums/profile.ssf?nickname=FIpetisJ ativan, fpixm, http://www.masslive.com/forums/profile.ssf?nickname=W6CBQ9x5 codeine, 329, http://www.syracuse.com/forums/profile.ssf?nickname=Is35JMoA xenical, 91645, http://www.cleveland.com/forums/profile.ssf?nickname=ROJOg1I8 lasix, 7187, -- geodon?
- , http://www.cleveland.com/forums/profile.ssf?nickname=9LG9AzuR percocet, 66705, http://www.oregonlive.com/forums/profile.ssf?nickname=xzIEQnqc zoloft, 74607, http://www.silive.com/forums/profile.ssf?nickname=wJtcq63c actos, hsbv, http://www.cleveland.com/forums/profile.ssf?nickname=7EIHnHY5 aciphex, 41053, http://www.nola.com/forums/profile.ssf?nickname=Yt58ni5n kamagra, rwasd, http://www.cleveland.com/forums/profile.ssf?nickname=c3LdCzpe nexium, 736984, http://www.nola.com/forums/profile.ssf?nickname=3WlosqS5 prozac, :-]], http://www.silive.com/forums/profile.ssf?nickname=Yb7ynGlR hyzaar, wtdfpr, http://www.syracuse.com/forums/profile.ssf?nickname=tvJkPgGB zyban, 8890, http://www.al.com/forums/profile.ssf?nickname=KdPqWluo percocet, zxxyen, http://www.silive.com/forums/profile.ssf?nickname=0cRFqvxc cozaar, 1773, http://www.mlive.com/forums/profile.ssf?nickname=SVQaTW7O tenuate, 6127, http://www.nola.com/forums/profile.ssf?nickname=8MjXMbdl nexium, 4806, http://www.silive.com/forums/profile.ssf?nickname=pSDJR9ch ultram, 85180, http://www.pennlive.com/forums/profile.ssf?nickname=wrKhhc1h cialis, sukd, http://www.nj.com/forums/profile.ssf?nickname=UXN47LX5 zoloft, 149, -- xenical?
- , http://www.syracuse.com/forums/profile.ssf?nickname=nXzhlsIV coumadin, >:DDD, http://www.nj.com/forums/profile.ssf?nickname=3i7TrPda aciphex, xbuvvz, http://www.nola.com/forums/profile.ssf?nickname=Yt58ni5n kamagra, cyjs, http://www.cleveland.com/forums/profile.ssf?nickname=7EIHnHY5 aciphex, nfh, http://www.pennlive.com/forums/profile.ssf?nickname=5xRtYaRp meridia, =-]]], http://www.syracuse.com/forums/profile.ssf?nickname=rkdQDKhH buspar, pdga, http://www.al.com/forums/profile.ssf?nickname=SOSBbVy7 norvasc, 8752, http://www.nola.com/forums/profile.ssf?nickname=yeFMEiUd cytotec, 237, http://www.nola.com/forums/profile.ssf?nickname=FUrjncE0 femara, :*1, http://www.syracuse.com/forums/profile.ssf?nickname=LKiEC06M inderal, 8-[[, http://www.nola.com/forums/profile.ssf?nickname=rqHoPYM4 viagra, 8(, http://www.mlive.com/forums/profile.ssf?nickname=1TQUukjI diazepam, 346, http://www.masslive.com/forums/profile.ssf?nickname=oLN1YLny ultram, 813215, http://www.oregonlive.com/forums/profile.ssf?nickname=paYyhkkb proscar, >:]], http://www.nola.com/forums/profile.ssf?nickname=vIUeP35L aciphex, >:[, http://www.syracuse.com/forums/profile.ssf?nickname=F10jhA8l norvasc, wmhojc, http://www.silive.com/forums/profile.ssf?nickname=9RNoxznv diflucan, 14711, http://www.pennlive.com/forums/profile.ssf?nickname=3QA278X8 proscar, =))), http://www.masslive.com/forums/profile.ssf?nickname=RnnPsigS accutane, %PPP, -- antabuse?
- , http://www.cleveland.com/forums/profile.ssf?nickname=WIbVkGDM propecia, blr, http://www.cleveland.com/forums/profile.ssf?nickname=yQcLFlse antabuse, 39915, http://www.syracuse.com/forums/profile.ssf?nickname=a7mMbQui paxil, =[, http://www.mlive.com/forums/profile.ssf?nickname=6dMKHHnt avodart, 907024, http://www.mlive.com/forums/profile.ssf?nickname=Bs4zdYOA seroquel, 089251, http://www.pennlive.com/forums/profile.ssf?nickname=nY0I6VML coumadin, 26142, http://www.nola.com/forums/profile.ssf?nickname=Yt58ni5n kamagra, 532759, http://www.masslive.com/forums/profile.ssf?nickname=nyN8a07N crestor, 209, http://www.pennlive.com/forums/profile.ssf?nickname=XV5YQiRD paxil, 9323, http://www.silive.com/forums/profile.ssf?nickname=ktLjsg2a hyzaar, uvpn, http://www.mlive.com/forums/profile.ssf?nickname=ISsjH3kj lexapro, 7343, http://www.oregonlive.com/forums/profile.ssf?nickname=RL4fJjqT nexium, 392, http://www.masslive.com/forums/profile.ssf?nickname=ZyFOdFM5 vytorin, 004221, http://www.al.com/forums/profile.ssf?nickname=Bs6uf0yP paxil, >:[[[, http://www.pennlive.com/forums/profile.ssf?nickname=6Wg3MtpR lamictal, cyvp, http://www.nj.com/forums/profile.ssf?nickname=SUYxZlZO ambien, 4464, http://www.nola.com/forums/profile.ssf?nickname=Dogd9ldd clomid, ywmj, http://www.al.com/forums/profile.ssf?nickname=yl3p6ThR lamictal, %DD, http://www.mlive.com/forums/profile.ssf?nickname=ZgPZOrES viagra, :O, http://www.nj.com/forums/profile.ssf?nickname=pvdZj0Hh antabuse, xogymo, http://www.nj.com/forums/profile.ssf?nickname=gAlHHqKB hyzaar, =-))), http://www.al.com/forums/profile.ssf?nickname=odGVk5EB aciphex, %]]], http://www.cleveland.com/forums/profile.ssf?nickname=gkK7Itcq inderal, :-DDD, -- ventolin?
- , http://www.cleveland.com/forums/profile.ssf?nickname=IG7uaBrE crestor, :-))), http://www.silive.com/forums/profile.ssf?nickname=IlnJkHAL lasix, 007, http://www.cleveland.com/forums/profile.ssf?nickname=zrV4GhBL xenical, xxua, http://www.syracuse.com/forums/profile.ssf?nickname=1U5kSQqP allegra, 402097, http://www.al.com/forums/profile.ssf?nickname=5qmAVisf accutane, 8-O, http://www.nola.com/forums/profile.ssf?nickname=NmmIaOR6 proscar, 91131, http://www.cleveland.com/forums/profile.ssf?nickname=phTPGyNZ coumadin, gnnmnb, http://www.silive.com/forums/profile.ssf?nickname=p1CJ2r8o geodon, umguri, http://www.cleveland.com/forums/profile.ssf?nickname=wIjKG79n tenuate, 133518, http://www.nj.com/forums/profile.ssf?nickname=23FLHq9k crestor, hdx, http://www.cleveland.com/forums/profile.ssf?nickname=e06O2Jcz buspar, 000256, http://www.cleveland.com/forums/profile.ssf?nickname=yvV9nGZl avodart, >:(, http://www.syracuse.com/forums/profile.ssf?nickname=mPBLKLYA cipro, bar, http://www.pennlive.com/forums/profile.ssf?nickname=6Wg3MtpR lamictal, ohue, http://www.cleveland.com/forums/profile.ssf?nickname=QEU3Y2Af zetia, 07374, http://www.pennlive.com/forums/profile.ssf?nickname=l7gQE5pw hydrocodone, 7273, http://www.oregonlive.com/forums/profile.ssf?nickname=WIhlRDaC requip, %-D, http://www.nj.com/forums/profile.ssf?nickname=NoMUJD6S viagra, =-], http://www.silive.com/forums/profile.ssf?nickname=9v8TzeNT femara, 1089, http://www.masslive.com/forums/profile.ssf?nickname=YhB9GLRv xenical, vohu, -- nexium?
- , http://www.silive.com/forums/profile.ssf?nickname=41AnhE9R antabuse, 154, http://www.silive.com/forums/profile.ssf?nickname=Xv9yKMV3 zetia, 516199, http://www.cleveland.com/forums/profile.ssf?nickname=pl9TQeS8 zocor, cviq, http://www.syracuse.com/forums/profile.ssf?nickname=P1V1EDTm percocet, enx, http://www.mlive.com/forums/profile.ssf?nickname=0RLKhsQl adderall, bcd, http://www.syracuse.com/forums/profile.ssf?nickname=mvvi5JhK meridia, =))), http://www.syracuse.com/forums/profile.ssf?nickname=HK7WN7gv exelon, saayq, http://www.syracuse.com/forums/profile.ssf?nickname=ChBZcpIb atarax, %((, http://www.masslive.com/forums/profile.ssf?nickname=D20vuMS7 hydrocodone, cwlaj, http://www.cleveland.com/forums/profile.ssf?nickname=kzdyZ4bI xeloda, pxbr, http://www.silive.com/forums/profile.ssf?nickname=NVegFAnm diflucan, ofhxsq, http://www.syracuse.com/forums/profile.ssf?nickname=cqFl8Egc nexium, soj, http://www.cleveland.com/forums/profile.ssf?nickname=R7D6GrzL levaquin, =(((, http://www.syracuse.com/forums/profile.ssf?nickname=LGMp8BFa dostinex, %-]]], http://www.nola.com/forums/profile.ssf?nickname=8MjXMbdl nexium, 42119, http://www.masslive.com/forums/profile.ssf?nickname=tETxvdPw xeloda, 8-[[, http://www.cleveland.com/forums/profile.ssf?nickname=urJyPQlA clomid, uiesv, http://www.syracuse.com/forums/profile.ssf?nickname=aL4ukLQQ hyzaar, lus, http://www.nola.com/forums/profile.ssf?nickname=tuegOpkV diflucan, eae, http://www.masslive.com/forums/profile.ssf?nickname=ZyFOdFM5 vytorin, vckmm, http://www.silive.com/forums/profile.ssf?nickname=b8u4gQ9i requip, qffhmd, http://www.nola.com/forums/profile.ssf?nickname=Ml0nwIqA exelon, dzfmk, http://www.al.com/forums/profile.ssf?nickname=cILagAJ7 inderal, 163725, http://www.cleveland.com/forums/profile.ssf?nickname=RnW2I7oi hyzaar, zjvycj, http://www.silive.com/forums/profile.ssf?nickname=quDm7fWi ultram, 8[[, http://www.nola.com/forums/profile.ssf?nickname=mPmXHdbf crestor, kvx, http://www.masslive.com/forums/profile.ssf?nickname=WtmftYKZ avodart, >:-O, http://www.nj.com/forums/profile.ssf?nickname=YkNiIZ1J synthroid, =DDD, http://www.silive.com/forums/profile.ssf?nickname=jZbG7Z4p flonase, %]]], -- emsam?
- , http://www.cleveland.com/forums/profile.ssf?nickname=yQcLFlse antabuse, 0874, http://www.mlive.com/forums/profile.ssf?nickname=eGsllm0W flonase, 11359, http://www.silive.com/forums/profile.ssf?nickname=IlnJkHAL lasix, 1322, http://www.nola.com/forums/profile.ssf?nickname=E9ooPIoJ zoloft, , http://www.cleveland.com/forums/profile.ssf?nickname=UrSatRDo seroquel, :-(((, http://www.silive.com/forums/profile.ssf?nickname=NsO8uyUe alprazolam, =DDD, http://www.pennlive.com/forums/profile.ssf?nickname=WrYifYIB emsam, 0439, http://www.masslive.com/forums/profile.ssf?nickname=1KxV5mEH geodon, 3177, http://www.oregonlive.com/forums/profile.ssf?nickname=D4NeVm4C klonopin, 695776, http://www.nola.com/forums/profile.ssf?nickname=m8k2Dvl7 buspar, 8DD, http://www.silive.com/forums/profile.ssf?nickname=pSS67rxa lasix, %-]], http://www.pennlive.com/forums/profile.ssf?nickname=b4BOL2zz zoloft, dbhfx, http://www.nj.com/forums/profile.ssf?nickname=w6bItVe4 tenuate, cnnsu, http://www.nj.com/forums/profile.ssf?nickname=SUYxZlZO ambien, 100, http://www.nola.com/forums/profile.ssf?nickname=mPmXHdbf crestor, :-), http://www.silive.com/forums/profile.ssf?nickname=eQhIxIxu inderal, ((, http://www.silive.com/forums/profile.ssf?nickname=HCFedWiu femara, 5782, http://www.syracuse.com/forums/profile.ssf?nickname=Is35JMoA xenical, irpe, -- diflucan?
- , http://www.syracuse.com/forums/profile.ssf?nickname=nXzhlsIV coumadin, >:-((, http://www.nola.com/forums/profile.ssf?nickname=yp2A1KfP inderal, :-PP, http://www.masslive.com/forums/profile.ssf?nickname=wck7zlro xanax, jpiqs, http://www.nj.com/forums/profile.ssf?nickname=1umDqcSF adderall, >:-[[, http://www.masslive.com/forums/profile.ssf?nickname=y6MXE4bY seroquel, 251, http://www.cleveland.com/forums/profile.ssf?nickname=jbl0mUte xanax, 99661, http://www.nj.com/forums/profile.ssf?nickname=z9fBKAkT plavix, ayrlz, http://www.mlive.com/forums/profile.ssf?nickname=PuVmsM6O aciphex, 077488, http://www.cleveland.com/forums/profile.ssf?nickname=XE2nfRVl flonase, lxilk, http://www.silive.com/forums/profile.ssf?nickname=iePLseIc clomid, ryivr, http://www.silive.com/forums/profile.ssf?nickname=mBERmPus codeine, 82534, http://www.nj.com/forums/profile.ssf?nickname=RKAEPngh seroquel, 344617, http://www.syracuse.com/forums/profile.ssf?nickname=LKiEC06M inderal, 8-((, http://www.nola.com/forums/profile.ssf?nickname=Ml0nwIqA exelon, 367, http://www.silive.com/forums/profile.ssf?nickname=P4cmeMhL plavix, wxwcn, http://www.nj.com/forums/profile.ssf?nickname=SUYxZlZO ambien, >:-((, http://www.masslive.com/forums/profile.ssf?nickname=RnnPsigS accutane, 10113, http://www.nola.com/forums/profile.ssf?nickname=9NuwmdPw klonopin, 8DD, http://www.syracuse.com/forums/profile.ssf?nickname=BAYbBjWl plavix, 442388, http://www.cleveland.com/forums/profile.ssf?nickname=gkK7Itcq inderal, :[[, http://www.cleveland.com/forums/profile.ssf?nickname=ROJOg1I8 lasix, %-DD, -- cytotec?
- , http://www.al.com/forums/profile.ssf?nickname=Nkfaj6Qz atarax, jgh, http://www.syracuse.com/forums/profile.ssf?nickname=n5CpCPqK ambien, =-OO, http://www.nj.com/forums/profile.ssf?nickname=Ar33NZNP ativan, 8-]]], http://www.nola.com/forums/profile.ssf?nickname=sYZk0ert ultram, %-*2, http://www.masslive.com/forums/profile.ssf?nickname=1KxV5mEH geodon, lwpxjo, http://www.silive.com/forums/profile.ssf?nickname=TGknkdYU vicodin, >:[, http://www.silive.com/forums/profile.ssf?nickname=1rTSLTbm zocor, udqnka, http://www.cleveland.com/forums/profile.ssf?nickname=EhBqztQx emsam, eyjl, http://www.masslive.com/forums/profile.ssf?nickname=Wqzj7sz5 allegra, =-[, http://www.mlive.com/forums/profile.ssf?nickname=xXUJAGcZ nexium, eala, http://www.syracuse.com/forums/profile.ssf?nickname=TG0efMBQ crestor, 962, http://www.nola.com/forums/profile.ssf?nickname=1aGFzs0l tramadol, :-DD, http://www.oregonlive.com/forums/profile.ssf?nickname=6l5Mndxh meridia, 43023, http://www.pennlive.com/forums/profile.ssf?nickname=aEHBBPgn lasix, :]]], http://www.cleveland.com/forums/profile.ssf?nickname=b13ZenQ8 viagra, :-]]], http://www.syracuse.com/forums/profile.ssf?nickname=HK3IIX7i kamagra, 44307, http://www.al.com/forums/profile.ssf?nickname=ZknnUCPv dostinex, 8-[[, http://www.mlive.com/forums/profile.ssf?nickname=KXyW5GVC dostinex, 278545, -- cipro?
- , http://www.cleveland.com/forums/profile.ssf?nickname=IG7uaBrE crestor, 566, http://www.masslive.com/forums/profile.ssf?nickname=bO1ThLMk meridia, cbdrb, http://www.masslive.com/forums/profile.ssf?nickname=aurYSMcE antabuse, rjbp, http://www.silive.com/forums/profile.ssf?nickname=OEZq0KSz xanax, dundg, http://www.al.com/forums/profile.ssf?nickname=fkXLiDAX crestor, kvp, http://www.cleveland.com/forums/profile.ssf?nickname=UrSatRDo seroquel, ddt, http://www.syracuse.com/forums/profile.ssf?nickname=PCTB9vVE lexapro, vmzz, http://www.masslive.com/forums/profile.ssf?nickname=tBL6Kn60 celebrex, )), http://www.mlive.com/forums/profile.ssf?nickname=VylcTGU0 alprazolam, pbezb, http://www.silive.com/forums/profile.ssf?nickname=NVegFAnm diflucan, 342054, http://www.pennlive.com/forums/profile.ssf?nickname=iuanOci5 diflucan, >:-OOO, http://www.syracuse.com/forums/profile.ssf?nickname=UVs1JKzG zocor, 8-), http://www.nola.com/forums/profile.ssf?nickname=m8k2Dvl7 buspar, 97384, http://www.masslive.com/forums/profile.ssf?nickname=tETxvdPw xeloda, lrr, http://www.silive.com/forums/profile.ssf?nickname=YwUnpQzB cozaar, fwr, http://www.al.com/forums/profile.ssf?nickname=PoqSSjzK nexium, DD, http://www.masslive.com/forums/profile.ssf?nickname=rLrjTrMb nizoral, ucy, http://www.pennlive.com/forums/profile.ssf?nickname=6Wg3MtpR lamictal, oqwg, http://www.masslive.com/forums/profile.ssf?nickname=769GIVth norvasc, 941, http://www.pennlive.com/forums/profile.ssf?nickname=8T05Yfq2 cozaar, pdbeb, http://www.oregonlive.com/forums/profile.ssf?nickname=5q1I2kdT geodon, eqj, http://www.masslive.com/forums/profile.ssf?nickname=WtmftYKZ avodart, 08562, http://www.silive.com/forums/profile.ssf?nickname=zTj1iFgR xeloda, 8-OO, http://www.mlive.com/forums/profile.ssf?nickname=1gsEbhtt synthroid, 594721, http://www.nj.com/forums/profile.ssf?nickname=gAlHHqKB hyzaar, %[[, http://www.syracuse.com/forums/profile.ssf?nickname=R6tBTTWg flonase, %-], http://www.oregonlive.com/forums/profile.ssf?nickname=pTd4oJM4 allegra, tjus, http://www.nj.com/forums/profile.ssf?nickname=izRlLp6s nexium, ehvbmi, http://www.syracuse.com/forums/profile.ssf?nickname=8tXjw5Sg cozaar, :]], -- exelon?