adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.2 announced http://ocaml.org/releases/4.02.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
swgillespie has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
grouzen has joined #ocaml
ousado has quit [Ping timeout: 255 seconds]
ousado has joined #ocaml
creicher` has quit [Remote host closed the connection]
creicher` has joined #ocaml
creicher` has quit [Remote host closed the connection]
Tamae has joined #ocaml
creichert has joined #ocaml
obadz- has quit [Ping timeout: 244 seconds]
obadz has joined #ocaml
Heiher has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tennix has joined #ocaml
tennix has joined #ocaml
tmtwd has quit [Ping timeout: 255 seconds]
tmtwd has joined #ocaml
tmtwd has quit [Ping timeout: 244 seconds]
Algebr has joined #ocaml
tmtwd has joined #ocaml
tmtwd has quit [Ping timeout: 264 seconds]
linman32 has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
linman16 has joined #ocaml
igoroliveira has quit [Quit: Connection closed for inactivity]
linman32 has quit [Ping timeout: 240 seconds]
manizzle has quit [Ping timeout: 244 seconds]
jeffmo has joined #ocaml
ceryo has joined #ocaml
ceryo has quit [Client Quit]
grouzen has quit [Ping timeout: 264 seconds]
mk270 has quit [Ping timeout: 244 seconds]
mk270 has joined #ocaml
igoroliveira has joined #ocaml
claudiuc has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tokik has quit [Quit: leaving]
tokik has joined #ocaml
ygrek_ has quit [Ping timeout: 246 seconds]
tokik has quit [Client Quit]
tokik has joined #ocaml
jeffmo has quit [Read error: Connection reset by peer]
jeffmo has joined #ocaml
jeffmo has quit [Client Quit]
darkf has joined #ocaml
struktured has joined #ocaml
ski has quit [Ping timeout: 252 seconds]
ski has joined #ocaml
tmtwd has joined #ocaml
shinnya has quit [Ping timeout: 272 seconds]
manud has quit [Quit: manud]
manud has joined #ocaml
tmtwd has quit [Ping timeout: 240 seconds]
ygrek_ has joined #ocaml
siddharthv_away is now known as siddharthv
xificurC has quit [Ping timeout: 256 seconds]
kolko has joined #ocaml
mk270 has quit [Ping timeout: 272 seconds]
MercurialAlchemi has joined #ocaml
ggole has joined #ocaml
keen__________32 has quit [Read error: Connection reset by peer]
keen__________32 has joined #ocaml
<linman16> is it possible to explicitly cast something in ocaml?
<ggole> Yes, (expr :> type)
tmtwd has joined #ocaml
<ggole> Of course this is only allowed if expr is compatible with type.
linman8 has joined #ocaml
<linman8> ggole: thanks. your a life saver :)
mk270 has joined #ocaml
linman16 has quit [Ping timeout: 250 seconds]
manud has quit [Quit: manud]
<linman8> Error: This expression has type int/1 but an expression was expected of type int/1284
<linman8> ^ what is that error mean?
mk270 has quit [Ping timeout: 240 seconds]
Bhavya has joined #ocaml
zaquest has quit [Quit: Leaving]
<ggole> Different type definitions with the same name
MercurialAlchemi has quit [Ping timeout: 246 seconds]
linman8 has quit [Ping timeout: 240 seconds]
Bhavya has quit [Ping timeout: 260 seconds]
mk270 has joined #ocaml
tmtwd has quit [Remote host closed the connection]
swgillespie has joined #ocaml
mk270 has quit [Ping timeout: 272 seconds]
Bhavya has joined #ocaml
kushal has quit [Quit: Leaving]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mk270 has joined #ocaml
Haudegen has quit [Ping timeout: 244 seconds]
mk270 has quit [Ping timeout: 246 seconds]
sepp2k has joined #ocaml
Haudegen has joined #ocaml
kushal has joined #ocaml
mk270 has joined #ocaml
Haudegen has quit [Ping timeout: 250 seconds]
xificurC has joined #ocaml
mk270 has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
TheLemonMan has joined #ocaml
zpe has joined #ocaml
sh0t has joined #ocaml
huza has joined #ocaml
igoroliveira has quit [Quit: Connection closed for inactivity]
creichert has quit [Ping timeout: 250 seconds]
Kakadu has joined #ocaml
teiresias has quit [Quit: leaving]
c74d has quit [Remote host closed the connection]
sh0t has quit [Ping timeout: 244 seconds]
ggole has quit [Read error: Connection reset by peer]
<flux> soo, there is the github bindings in opam, has someone made a nice little command line tool that makes use of it?
<flux> the bindings themselves seem so big that I wonder if they in fact might be complete
<flux> buut it also depends on cmdliner, so does it infact come with some tool?-)
huza has quit [Quit: WeeChat 0.3.8]
<flux> it does, though its binaries are prefixed with git-*. I guess opam doesn't really know where packages install files, does it?
BitPuffin|osx has quit [Ping timeout: 260 seconds]
c74d has joined #ocaml
<Heiher> How can I find the documentation about ocaml native compiler porting? thanks!
ygrek_ has quit [Ping timeout: 246 seconds]
Heiher has left #ocaml [#ocaml]
jao has quit [Ping timeout: 265 seconds]
yomimono has joined #ocaml
_andre has joined #ocaml
Haudegen has quit [Ping timeout: 260 seconds]
Haudegen has joined #ocaml
yomimono has quit [Ping timeout: 250 seconds]
Bhavya has quit [Quit: Quit the channel]
yomimono has joined #ocaml
yomimono has quit [Ping timeout: 250 seconds]
octachron has joined #ocaml
Hannibal_Smith has joined #ocaml
yomimono has joined #ocaml
ggole has joined #ocaml
rand000 has joined #ocaml
Bhavya has joined #ocaml
tennix has quit [Ping timeout: 244 seconds]
Bhavya has quit [Quit: Quit the channel]
nullcatxxx_ has joined #ocaml
yomimono has quit [Ping timeout: 255 seconds]
freehck has joined #ocaml
<freehck> hello people. I have faced to the problem of ocamlmerlin again: my emacs does not see modules.
<freehck> I created file .merlin in the root of my project
<freehck> and have already set "S srs" option there.
siddharthv is now known as siddharthv_away
<freehck> But my Emacs react badly for lines "open Somemodule" even if somemodule is available in src directory.
<freehck> Could somebody help me / explain me how to debug this behaviour?
yomimono has joined #ocaml
<freehck> I think I must denote that the file src/somemodule.ml specifically exists.
<reynir> probably you want to use PKG too
<freehck> I afraid I don't fully understand what PKG option do.
kushal has quit [Ping timeout: 272 seconds]
<freehck> I just want my emacs to know all the definitions I made in files in "src" directory. =/
tennix has joined #ocaml
<freehck> I didn't define packages...
<reynir> oh
<octachron> freehck, you need to add a build directory
<reynir> Then maybe you need to specify B
<freehck> I specified "B _build/src"
<freehck> well, how can I impose merlin-mode to reload .merlin files?
yomimono has quit [Ping timeout: 272 seconds]
<freehck> That directory didn't exist when I started merlin-mode.
<reynir> maybe merlin-restart-process
<freehck> Thank you. I've already restarted the whole Emacs instance, and now everything works fine. :)
<freehck> Shall I run merlin-restart-process every time I add new file into my project?
<ggole> freehck: I think it's only necessary when you change .merlin
<octachron> freehck, (re)building the project should be enough
<freehck> Gotcha. Thanks.
Hannibal_Smith has quit [Quit: Leaving]
kushal has joined #ocaml
igoroliveira has joined #ocaml
nahoj has joined #ocaml
mort___ has joined #ocaml
ceryo has joined #ocaml
badkins has joined #ocaml
Asmadeus has quit [Ping timeout: 272 seconds]
adrien has quit [Ping timeout: 265 seconds]
gpietro has joined #ocaml
yomimono has joined #ocaml
freehck has quit [Ping timeout: 246 seconds]
<gpietro> hi guys. I am learning ocaml I am reading Practical Ocaml. THere is a piece of code in this book: http://paste.ubuntu.com/11966770/ I try to compile it but it keeps telling me syntax error
<gpietro> could you please tell me what the problem is?
<thizanne> gpietro: this is not ocaml code
<thizanne> this is for ocamllex
<gpietro> sorry i mean ocamllex
<gpietro> also the part in between { }
<gpietro> is ocaml code
<gpietro> but that's not where the problem is
<thizanne> it works on my machine (TM)
<thizanne> what is your ocaml version ?
<gpietro> sorry I am an idiot
<gpietro> it works on mine too
<gpietro> sorry for the wwaste of time
<gpietro> :/
<thizanne> no problem, i'm glad it works
struktured has quit [Ping timeout: 240 seconds]
nullcatx_ has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 264 seconds]
mort___ has quit [Quit: Leaving.]
slash^ has joined #ocaml
yomimono has quit [Ping timeout: 246 seconds]
<gpietro> thizanne, can u please check this one? http://paste.ubuntu.com/11967056/ ocamllex gives me an output that then ocamlc cannot compile
<gpietro> it just says SYntax error :(
jeffmo has joined #ocaml
paddymahoney has joined #ocaml
uris77 has joined #ocaml
tennix has quit [Ping timeout: 252 seconds]
<octachron> gpietro, you should remove ";" between the functions in the preambule
<gpietro> thanks octachron
<gpietro> :)
<gpietro> i have some problems in understanding ';'
<gpietro> can u please give ma n hint?
<gpietro> it's like concatenation of statemnents right?
<octachron> ";" is not a terminator in ocaml; it is more an operator
linman8 has joined #ocaml
<gpietro> yeah so it takes two statements (with side effects...) and executes one after the other right?
<gpietro> why wsa it creating problems there?
<octachron> more something like a ; b → ignore a and return b
paddymahoney has quit [Remote host closed the connection]
<gpietro> but still it executes a
<gpietro> right
<gpietro> ?
<octachron> because "let a = print_string "hello"; let s = "world" in print_string s" is valid
<gpietro> if a is a side effects instruciton
<octachron> yes, ocaml is eager by default
<octachron> so if you write "do_something () ; a", "do_something ()" is evaluated
rand000 has quit [Ping timeout: 246 seconds]
<gpietro> ok octachron thanks
<gpietro> so in the code it was creating problems because ; was expecting something later...which was missing
<octachron> another point, there is no separation between expression and statement in Ocaml. So do_something() could return any type
<gpietro> like ()
<gpietro> ok
grouzen has joined #ocaml
<octachron> gpietro,yes. After the first ";", the compiler was reading the "let substract" as a local binding: " let substract ..= ... in"
<gpietro> ok
<gpietro> i see
<gpietro> thanks octachron
tmtwd has joined #ocaml
tennix has joined #ocaml
tane has joined #ocaml
S11001001 has quit [Remote host closed the connection]
mariusae has quit [Remote host closed the connection]
eventualbuddha has quit [Remote host closed the connection]
bobpoekert has quit [Remote host closed the connection]
jeroud has quit [Remote host closed the connection]
andreypopp_ has quit [Write error: Broken pipe]
lyxia has quit [Ping timeout: 256 seconds]
tennix has quit [Ping timeout: 244 seconds]
lyxia has joined #ocaml
tennix has joined #ocaml
jave has quit [Quit: ZNC - http://znc.in]
tennix has quit [Ping timeout: 240 seconds]
eventualbuddha has joined #ocaml
jao has joined #ocaml
zpe has quit [Remote host closed the connection]
lobo has joined #ocaml
tennix has joined #ocaml
grouzen has quit [Ping timeout: 246 seconds]
ollehar has joined #ocaml
creichert has joined #ocaml
IbnFirnas has quit [Remote host closed the connection]
ggherdov has quit [Remote host closed the connection]
strmpnk has quit [Remote host closed the connection]
l1x has quit [Write error: Broken pipe]
sspi has quit [Remote host closed the connection]
mankyKitty has quit [Remote host closed the connection]
l1x has joined #ocaml
strmpnk has joined #ocaml
jeroud has joined #ocaml
octachron has quit [Quit: Leaving]
IbnFirnas has joined #ocaml
yomimono has joined #ocaml
andreypopp_ has joined #ocaml
rand000 has joined #ocaml
ncthom91 has joined #ocaml
mariusae has joined #ocaml
ygrek_ has joined #ocaml
jave has joined #ocaml
ggherdov has joined #ocaml
mankyKitty has joined #ocaml
sspi has joined #ocaml
S11001001 has joined #ocaml
jwatzman|work has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
bobpoekert has joined #ocaml
tennix has quit [Ping timeout: 264 seconds]
darkf has quit [Quit: Leaving]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nahoj has quit []
Hannibal_Smith has joined #ocaml
yomimono has quit [Ping timeout: 256 seconds]
sepp2k has quit [Quit: Leaving.]
tennix has joined #ocaml
tennix has quit [Ping timeout: 252 seconds]
ollehar has quit [Ping timeout: 244 seconds]
yomimono has joined #ocaml
ygrek_ has quit [Ping timeout: 252 seconds]
Algebr` has joined #ocaml
foobar_ has joined #ocaml
foobar_ is now known as Asmadeus
linman8 has quit [Ping timeout: 255 seconds]
malc_ has joined #ocaml
Kakadu has quit [Quit: Page closed]
kiwnix has joined #ocaml
ygrek_ has joined #ocaml
malc_ has quit [Ping timeout: 272 seconds]
shinnya has joined #ocaml
yomimono has quit [Read error: Connection reset by peer]
Algebr has quit [Remote host closed the connection]
malc_ has joined #ocaml
ncthom91 has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
yomimono has joined #ocaml
Haudegen has joined #ocaml
malc_ has quit [Ping timeout: 264 seconds]
nullcatxxx_ has joined #ocaml
nullcatx_ has quit [Ping timeout: 252 seconds]
_whitelogger____ has joined #ocaml
bobpoekert has joined #ocaml
linman8 has quit [Ping timeout: 264 seconds]
l1x has joined #ocaml
mehdid has joined #ocaml
lobo__ is now known as lobo
ggole has quit [Ping timeout: 252 seconds]
sspi has joined #ocaml
yomimono has quit [Ping timeout: 252 seconds]
lobo has quit [Quit: leaving]
tane has quit [Excess Flood]
tane has joined #ocaml
sh0t has joined #ocaml
Kakadu has joined #ocaml
tennix has joined #ocaml
troydm has quit [Quit: What is hope? That all of your wishes and all of your dreams come true? (C) Rau Le Creuset]
troydm has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tennix has quit [Ping timeout: 265 seconds]
Denommus has joined #ocaml
swgillespie has joined #ocaml
tmtwd has quit [Read error: Connection reset by peer]
tmtwd has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
kushal has quit [Read error: Connection reset by peer]
kushal has joined #ocaml
TheLemonMan has joined #ocaml
ollehar has joined #ocaml
ncthom91 has joined #ocaml
kushal has quit [Ping timeout: 240 seconds]
claudiuc has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nullcatxxx_ has joined #ocaml
vishesh has joined #ocaml
nojb has joined #ocaml
nojb_ has joined #ocaml
nojb has quit [Ping timeout: 246 seconds]
nojb_ has left #ocaml [#ocaml]
nojb_ has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ollehar has quit [Ping timeout: 272 seconds]
claudiuc has quit [Read error: Connection reset by peer]
claudiuc has joined #ocaml
claudiuc has quit [Remote host closed the connection]
nojb_ has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
claudiuc has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
ia0 has quit [Quit: leaving]
_andre has quit [Quit: leaving]
ia0 has joined #ocaml
MercurialAlchemi has joined #ocaml
tane has quit [Quit: Verlassend]
claudiuc has quit [Remote host closed the connection]
acieroid` has joined #ocaml
ygrek_ has quit [Ping timeout: 272 seconds]
creicher` has joined #ocaml
Drup has quit [Ping timeout: 250 seconds]
lyxia has quit [Ping timeout: 250 seconds]
acieroid has quit [Ping timeout: 250 seconds]
rand000 has quit [Ping timeout: 250 seconds]
creichert has quit [Ping timeout: 250 seconds]
dmbaturin has quit [Ping timeout: 250 seconds]
w0rp has quit [Ping timeout: 250 seconds]
tobiasBo1 has quit [Ping timeout: 250 seconds]
Drup has joined #ocaml
w0rp has joined #ocaml
lyxia has joined #ocaml
dmbaturin has joined #ocaml
rand000 has joined #ocaml
sh0t has quit [Remote host closed the connection]
struktured has joined #ocaml
tobiasBo1 has joined #ocaml
uris77 has quit [Ping timeout: 255 seconds]
manud has joined #ocaml
tennix has joined #ocaml
linman8 has joined #ocaml
tennix has quit [Ping timeout: 264 seconds]
claudiuc has joined #ocaml
<linman8> how does one force a type over a group of polymorphic functions?
jeffmo has quit [Quit: jeffmo]
<Drup> linman8: just annotate
<linman8> Drup: this works too and i used it. but do you know of any alternative methods?
<Drup> I need an example
<linman8> Drup: looks like a class can solve the problem. http://pastebin.com/Dp7ayZtn
<Denommus> linman8: ewww
<linman8> why eww, Denommus?
<linman8> haha
tmtwd has quit [Ping timeout: 264 seconds]
<Denommus> linman8: that's not a thing that classes solve, that's just value restriction in action
<Drup> yeah, I'm not sure to see what is "solved" here
<Denommus> linman8: you could exploit value restriction to do what you want, btw
<linman8> hmm. well, it is for a programming job question. they want to see an interface so it doesn't use explicit casting
<linman8> how is that, Denommus?
<Drup> linman8: you still didn't told what is your concrete problem and why/where you would need explicit casting in this problem ...
ygrek_ has joined #ocaml
<Denommus> linman8: let foo = ref [];; (* val foo: '_a list ref *) foo := [1] (* val foo: int list ref *)
<linman8> let bloomFilter = BloomFilter.create 10 0.5;;
<linman8> this creates type of: 'a BloomFilter.bloomFilterT
<linman8> but would like to see, for example: int BloomFilter.bloomFilterT
<Drup> why do you want that ?
<linman8> for job related, programming question.. to get job, need to solve their problem :)
<Denommus> linman8: why don't you have a separate mli file instead of putting annotations everywhere?
<linman8> Denommus: interesting. never thought of it like that
<linman8> Denommus: came from a different language, so didn't think that way
<Drup> linman8: just put an annotation, really
<Denommus> linman8: also, OCaml has type inference, so lots of those annotations aren't even needed
<Drup> In this case, the 'a doesn't mean anything, the type restriction is completely useless
<linman8> let bloomFilter = (BloomFilter.create 10 0.5 :> (string, int BloomFilter.bloomFilterT) either);;
<linman8> Drup: see line above ^
<Drup> You don't need ":>"
<Drup> ":" is enough
<Drup> It's not a coercion
<linman8> Drup: it solves it because the type returned is an int instead of an 'a
<linman8> Drup: that works, thanks
jeffmo has joined #ocaml
jeffmo has quit [Client Quit]
<Drup> linman8: The thing I'm hinting at, apparently not clearly enough, is that the problem is pointless because the type variable in this interface is pointless ...
<Denommus> Drup: maybe whoever created this was thinking about phantom types
<linman8> Drup: insert is polymorphic, so it is possible to put in "string" and "int". that is not acceptable!
<linman8> Drup: i mean in same bloomFilterT data. it should be either string based only, or int based only, etc.
<Denommus> linman8: insert has type 'a bloomFilterT -> 'a -> unit
<Drup> linman8: except insert doesn't do anything.
<linman8> it's mutable. it is changing the bloomFilterT
<Denommus> linman8: it's completely impossible to insert a string in a int bloomFilterT because of that. Both type must be equal because the type variables are equal
<Drup> linman8: ok, look carefully at the type "bloomfilterT"
<Drup> do you see, anywhere *inside* the type, a variable 'a ?
<Drup> (oh, btw, bloomfilterT is not mutable)
<linman8> Denommus: yes, i added that to fix the problem
ceryo has quit [Quit: Textual IRC Client: www.textualapp.com]
<linman8> Denommus: but, to qoute from them on the updated code with the type parameter:
<linman8> "It is possible to define interface so that it doesn't require explicit casting from the user to achieve same effect."
<Drup> anyway, if I may, except if you have explicit authorization, you probably shouldn't upload the code that they give you.
<linman8> Drup: that is my code
<Drup> Oh, ok
<linman8> if bloomFilterT didn't have the 'a, then insert would look like: bloomFilterT -> 'a -> unit
<linman8> so the 'a is important, or one could insert any type into the bloomfilter
<Drup> linman8: I mean inside the definition of the record, not the type variables ...
<linman8> Drup: yeah, it doesn't need it though i think
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<linman8> Denommus: do you have any suggestions? need to "define interface so .. type casting is not needed to acheive same effect"
<Drup> (note: I probably don't understand the point of your interface, because for me, those function don't make sense at all)
<linman8> Drup: bloomFilterT is mutable haha. how can i prove it to you? i see the data change in the repl
<Drup> linman8: BitSet is, bloomfilterT isn't.
<linman8> Drup: sure,
<linman8> that is what we want to change
<Denommus> Drup: the value of type 'a is being hashed before modifying the bitset that's inside the bloomFilterT
<Denommus> Drup: that's why you don't see 'a in bloomFilterT
<Drup> Denommus: but why would you restrain the 'a then
<Drup> it will work just fine with any 'a
<Denommus> Drup: maybe that's the problem they want him to solve
<Drup> specializing is completely useless here
marsam has joined #ocaml
<linman8> Denommus, Drup: yes. originally that is how i solved it! but they want to restrain 'a
<Drup> Ok
<Drup> I still don't understand the problem
<Drup> but the solution is easy
<Drup> Make the datatype abstract (through the .mli) and create a function "create : unit -> 'a bloomFilterT"
<Drup> and read up on value restriction
<Drup> (there is a section about it on RWO)
<Denommus> Drup: so, effectively, using shadow types? :P
<Denommus> phantom types
<Denommus> gosh
<Denommus> why do I always call them shadow types?
<Drup> Denommus: 'a is phantom anyway, since it's usesless :p
<Denommus> Drup: it's phantom but can't possibly be enforced
<Drup> Denommus: sure it can, just expose it non covariant
<Denommus> Drup: no, I mean, the way the code is structured RIGHT NOW there's no enforcement
<Denommus> Drup: I guess they want him to enforce the phantom types
<Drup> ah, yeah
<Denommus> Drup: so you can't hash a int in a string bloomFilterT
<Drup> Yeah, I got it
<Drup> (still not seeing a point of the constraint, though :D)
<Denommus> Drup: maybe there's a use for it in some specific machine we don't know. I dunno.
<Denommus> linman8: nevertheless, that's what you need: phantom types
<linman8> Denommus, Drup: this is great! thanks for helping out! would have probably done OOP approach or some crap like that haha. thanks
Kakadu has quit [Remote host closed the connection]
<Denommus> linman8: yeah, OOP in OCaml is hardly ever needed
<Denommus> linman8: anyway, you can even make the shadow type in a functor for it to be parameterized
<Drup> that's .. really overkill here
<Drup> (and that wouldn't be a phantom type anymore, just a functor)
<Denommus> Drup: it's still a phantom type because the type in question is not really relevant internally
<Denommus> Drup: just happens that the phantom type is "filled" by a functor
<Drup> you can just remove the type variable in this case
<Denommus> Drup: ah
<Denommus> Drup: hurr, you're right
<Denommus> linman8: that would be even a simpler approach, in fact
<Drup> not really, no
<Denommus> Drup: it wouldn't involve shadow types
<Denommus> PHANTOM
<Denommus> gosh
<Drup> phantom type is just fine
<Denommus> well, whatever makes him happy
<Denommus> but now that you mentioned that the bloomFilterT could be just an abstract type and 'a be a parameterized type in a functor everything seems simpler to me
vishesh has quit [Ping timeout: 264 seconds]
<linman8> wait, so there is: 1)phantom 2) functor
marsam has quit [Remote host closed the connection]
marsam has joined #ocaml
nullcatxxx_ has joined #ocaml
<linman8> Denommus Drup: what is this last approach? type variable, then what?
tmtwd has joined #ocaml
<linman8> * remove type variable, then...
adrien has joined #ocaml
<Denommus> linman8: you put everything inside a functor that accepts a module with a type "a"
<Denommus> linman8: replace the 'a by a everywhere
<Denommus> linman8: but remove it form bloomFilterT
<Denommus> linman8: and bloomFilterT should be an abstract type in the functor's signature
MercurialAlchemi has quit [Ping timeout: 265 seconds]
<Denommus> linman8: something like this: http://pastebin.com/zPHxbjpz
<Denommus> linman8: with a respective mli, of course
manud has quit [Quit: manud]
marsam has quit [Remote host closed the connection]
<linman8> Denommus: thanks. will check out after break
linman8 has quit [Ping timeout: 244 seconds]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
creicher` has quit [Quit: Leaving]
jave has quit [Quit: ZNC - http://znc.in]
creichert has joined #ocaml
manud has joined #ocaml