lpw25 has quit [Remote host closed the connection]
philtor_ has quit [Ping timeout: 260 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
dbuenzli has quit [Quit: Leaving.]
troutwine is now known as troutwine_away
englishm_ has quit [Ping timeout: 246 seconds]
q66 has quit [Quit: Leaving]
cody__ has quit [Quit: Leaving]
rgrinberg has quit [Quit: Leaving.]
ygrek has quit [Ping timeout: 245 seconds]
lordkryss has quit [Quit: Connection closed for inactivity]
englishm has joined #ocaml
pyon has quit [Quit: Fiat justitia ruat caelum.]
malo has quit [Remote host closed the connection]
pyon has joined #ocaml
ygrek has joined #ocaml
studybot has joined #ocaml
NoNNaN has joined #ocaml
yomimono has joined #ocaml
SethTisue has joined #ocaml
yomimono has quit [Ping timeout: 264 seconds]
rgrinberg has joined #ocaml
SethTisue has quit [Quit: SethTisue]
shinnya has quit [Ping timeout: 272 seconds]
SethTisue has joined #ocaml
SethTisue has quit [Client Quit]
SethTisue has joined #ocaml
SethTisue has quit [Quit: SethTisue]
SethTisue has joined #ocaml
SethTisue has quit [Client Quit]
troutwine_away is now known as troutwine
fold has quit [Ping timeout: 260 seconds]
troutwine is now known as troutwine_away
Cypi has quit [Ping timeout: 250 seconds]
zapu has quit [Ping timeout: 250 seconds]
vbmithr_ has quit [Ping timeout: 250 seconds]
jrw has quit [Ping timeout: 250 seconds]
Cypi has joined #ocaml
jrw has joined #ocaml
vbmithr has joined #ocaml
zapu has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
gperetin has quit [Ping timeout: 260 seconds]
esden has quit [Ping timeout: 260 seconds]
abbe has quit [Ping timeout: 260 seconds]
abbe has joined #ocaml
esden has joined #ocaml
hexo has quit [Excess Flood]
gperetin has joined #ocaml
hexo has joined #ocaml
koderok has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
samrat has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
dsheets_ has quit [Ping timeout: 240 seconds]
samrat has quit [Quit: Computer has gone to sleep.]
cespinoza has quit [Ping timeout: 240 seconds]
relrod has quit [Ping timeout: 255 seconds]
marvin-hh has quit [Ping timeout: 240 seconds]
philtor_ has joined #ocaml
cespinoza has joined #ocaml
claudiuc has quit [Ping timeout: 240 seconds]
axiles has joined #ocaml
isomorph1smes is now known as isomorphismes
philtor_ has quit [Ping timeout: 272 seconds]
ggole has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
samrat has joined #ocaml
MercurialAlchemi has joined #ocaml
relrod has joined #ocaml
<orbitz>
I wish exceptions in Async had more information taht was useful
ggole has quit [Read error: Connection timed out]
ggole has joined #ocaml
keen______ has quit [Read error: Connection reset by peer]
keen______ has joined #ocaml
fold has joined #ocaml
Hannibal_Smith has joined #ocaml
Sizur has joined #ocaml
<Sizur>
is there a lib of modules that mimic haskell's monoids, functors, applicatives, monads, arrows, lenses, etc?
rgrinberg has joined #ocaml
dubst3pp4 has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
paddymahoney has joined #ocaml
<Drup>
Sizur: since those need HKT, and ocaml doesn't have them, no.
<Sizur>
Drup: i dont understand why we need HKT when module system is more general than typeclasses.
<ggole>
modules can do it, but they get pretty verbose
<Drup>
1) Sizur: module system is not "more general" than typeclasses, it's "as" general
<Sizur>
so verbosity gets ugly enough that it makes no sense to do it?
<Drup>
2) Sizur : Imagine having typeclasses but no HKT, how do you do this stuff ? :)
<Sizur>
Drup: i don't know HKT, but I can imagine implementing all of the above with some additional tieing verbosity by users -- that is just lacking overloading basically
<Drup>
how, right :)
<Drup>
HKT is what allows you to be polymorphic in the "container" type, so "Monad m => int m -> int list m" need HKT
<Drup>
you can "emulate" HKT with ocaml's functors, but it's a huge PITA, as ggole said.
<Drup>
heh, I use reverse type notation a la ocaml, sorry =')
<Sizur>
Drup: right, but you can do the same thing modules, the only difference is one additional line tieing the impl module
<Drup>
yeah, you """can"""
<Sizur>
ok, so the take away is it's not worth it
<ggole>
Various people have written monad libraries for OCaml, so perhaps they think it is worth it
<Sizur>
yeah, i've noticed a few, and thought why it's not standardised
<Sizur>
seems like it should me
<Sizur>
be
<Sizur>
is there any effort going on similar to what java did with interfaces?
<Sizur>
i mean defining a whole slew of standard module sigs
<Drup>
Sizur: the thing is, we might have HKT at some point, so nobody is going to want to include anything in the standard library while we don't know if we might have it or not :p
<Sizur>
does "some point" have a limit? i wonder if something provisional is worth the trouble or not
<Drup>
not that I know of :p
<Sizur>
but also the standard module sigs are not limited to haskell abstractions. copying what java has in FP way seems very beneficial even without haskell's stuff
<Sizur>
i'm inquiring because i'm considering using Mirage for production
<Sizur>
and that's by gateway into ocaml
<Sizur>
my*
<ggole>
Yeah, things are pretty ad hoc. Even basic things like OrderedType are defined on a module-by-module basis.
<Sizur>
ouch :(
hhugo has joined #ocaml
<ggole>
Structural typing makes this less of a problem than you might think though
<ggole>
...at least, as long as everybody takes care to meet the specification
<Sizur>
but you could depend on a standard module sig and it would be exponentially better
<Sizur>
that's when the promise of modularity would finally realise imo
* Sizur
realizes he might not be aware of implication of "structural typing"
<ggole>
Take module String in the stdlib: it doesn't formally declare that it meets OrderedType or HashedType, it just defines the necessary bits
<ggole>
So you can do Map.Make(String) or Hashtbl.Make(String) without any further fuss
<Sizur>
there is no conceivable use of Map.Make and Hashtbl.Make for anything else than String?
<ggole>
Er, what?
<ggole>
You can use Map.Make with any module that meets the signature
ygrek has joined #ocaml
<Sizur>
ah, now i understand what you meant by that syntax.
* Sizur
needs some practice with ocaml
hhugo has quit [Quit: Leaving.]
srax_ has joined #ocaml
Shozan is now known as SHODAN
hhugo has joined #ocaml
freling has quit [Ping timeout: 255 seconds]
cago has joined #ocaml
hhugo has quit [Client Quit]
AltGr has joined #ocaml
eikke__ has joined #ocaml
tane has joined #ocaml
eikke__ has quit [Ping timeout: 255 seconds]
rgrinberg1 has joined #ocaml
clog_ has joined #ocaml
contempt has quit [Disconnected by services]
arj has joined #ocaml
ddosia1 has joined #ocaml
contempt has joined #ocaml
gregoire has joined #ocaml
nickmeharry has joined #ocaml
bernardo1pc has joined #ocaml
Valda has joined #ocaml
sad0ur_ has joined #ocaml
WraithM_ has joined #ocaml
MasseR has joined #ocaml
ousado_ has joined #ocaml
sh1ken_ has joined #ocaml
siddharthv_away has joined #ocaml
Reventlo1 has joined #ocaml
relrod_ has joined #ocaml
relrod_ has quit [Changing host]
relrod_ has joined #ocaml
Shozan has joined #ocaml
pippijn_ has joined #ocaml
samebcha1e has joined #ocaml
Derander_ has joined #ocaml
freling has joined #ocaml
bartbes has quit [Remote host closed the connection]
srax_ has quit [*.net *.split]
SHODAN has quit [*.net *.split]
Derander has quit [*.net *.split]
nickmeha1ry has quit [*.net *.split]
isomorphismes has quit [*.net *.split]
WraithM has quit [*.net *.split]
Armael has quit [*.net *.split]
MasseR_ has quit [*.net *.split]
sad0ur has quit [*.net *.split]
Reventlov has quit [*.net *.split]
ousado has quit [*.net *.split]
rgrinberg has quit [*.net *.split]
relrod has quit [*.net *.split]
axiles has quit [*.net *.split]
pyon has quit [*.net *.split]
pippijn has quit [*.net *.split]
Valdo has quit [*.net *.split]
thorsten` has quit [*.net *.split]
sh1ken has quit [*.net *.split]
samebchase has quit [*.net *.split]
Nahra has quit [*.net *.split]
tg has quit [*.net *.split]
siddhart1v_away has quit [*.net *.split]
ivan\ has quit [*.net *.split]
burgobianco has quit [*.net *.split]
ddosia has quit [*.net *.split]
bcuccioli has quit [*.net *.split]
bernardofpc has quit [*.net *.split]
so has quit [*.net *.split]
clog has quit [*.net *.split]
Valda is now known as Valdo
bartbes has joined #ocaml
isomorphismes has joined #ocaml
contempt has quit [Ping timeout: 255 seconds]
rgrinberg1 has quit [Quit: Leaving.]
huza has joined #ocaml
bcuccioli has joined #ocaml
contempt has joined #ocaml
tg has joined #ocaml
_0xAX has joined #ocaml
Armael has joined #ocaml
axiles has joined #ocaml
pyon has joined #ocaml
thorsten` has joined #ocaml
gregoire is now known as _srax
BitPuffin has joined #ocaml
Shozan is now known as SHODAN
<Sizur>
Drup: thanks for the paper link!
thomasga has joined #ocaml
burgobianco has joined #ocaml
contempt has quit [Remote host closed the connection]
contempt has joined #ocaml
eikke__ has joined #ocaml
elspru_ has joined #ocaml
paddymahoney has quit [Ping timeout: 246 seconds]
<elspru_>
how do I set batteries namespace?
<elspru_>
so don't have to constantly write BatInt and can just do Int or something.
<whitequark>
elspru_: module Int = BatInt, etc
<whitequark>
you can even put that in a module called MyPervasives or something and pass -open MyPervasives to ocamlc
koderok has quit [Quit: koderok]
<elspru_>
oh okay
<elspru_>
I'm having issue with some pattern matching, tells me that "pattern expected"
<elspru_>
let rec fileStringList xs = match xs with | x :: xs` -> (load_file x) : (fileConcat xs`) ;;
<acieroid>
elspru_: don't use ` in variable names (' works though)
<elspru_>
okay cool, I think that worked. tells me pattern matching not exhaustive so I added | [] -> "" but it gives me error
<elspru_>
op I got it
<elspru_>
cool [] -> []
koderok has joined #ocaml
_srax has quit [Quit: WeeChat 0.3.7]
srax_ has joined #ocaml
Kakadu has joined #ocaml
ontologiae_ has joined #ocaml
_0xAX has quit [Remote host closed the connection]
avsm has joined #ocaml
Tekk_` has joined #ocaml
Tekk_ has quit [Ping timeout: 240 seconds]
relrod_ has quit [Ping timeout: 260 seconds]
Tekk_` has quit [Ping timeout: 263 seconds]
eizodo has joined #ocaml
avsm has quit [Quit: Leaving.]
bacam_ is now known as bacam
pminten has joined #ocaml
pminten has quit [Client Quit]
relrod has joined #ocaml
ivan\ has joined #ocaml
ivan\ has quit [Max SendQ exceeded]
so has joined #ocaml
ivan\ has joined #ocaml
rand000 has joined #ocaml
deavid has quit [Ping timeout: 250 seconds]
deavid has joined #ocaml
dsheets_ has joined #ocaml
huza has quit [Read error: Connection reset by peer]
<elspru_>
Error: This expression has type 'a -> 'a -> bool but an expression was expected of type ('b -> 'b -> bool) option
<elspru_>
?
<elspru_>
how do I make it have the () stuff
<mrvn>
you make it an option
<elspru_>
?
<mrvn>
Use None or Some x
koderok has quit [Quit: koderok]
<elspru_>
right now it is : let notEqualString str mat = if compare str mat = 0 then false else true ;;
dsheets_ has quit [Ping timeout: 264 seconds]
<mrvn>
let notEqualStringOpt = Some notEqualString
<elspru_>
k i'll try that
<elspru_>
cool thanks :-)
_0xAX has joined #ocaml
thomasga has quit [Quit: Leaving.]
fold has quit [Ping timeout: 260 seconds]
<elspru_>
hmmm, for some reason it's not working, only outputing the last two non unique ones.
dsheets_ has joined #ocaml
<elspru_>
oh i get it, because at least one other was not same. hmmm
_andre has joined #ocaml
<elspru_>
so I'm thinking of producing a list of tuples, where each has a word, and the number of occurences of that word in the list.
<elspru_>
do you think I could do that with BatMap?
<mrvn>
why not a hashtbl?
<elspru_>
that sounds good to :-)
srax_ has quit [Ping timeout: 272 seconds]
eikke__ has quit [Ping timeout: 250 seconds]
lordkryss has joined #ocaml
Reventlo1 has quit [Quit: leaving]
Reventlov has joined #ocaml
<def`>
cd
ygrek has quit [Remote host closed the connection]
<elspru_>
is there are increment function in ocaml?
ygrek has joined #ocaml
<mrvn>
incr
<mrvn>
but wether replacing an int with the next or incrementing a ref is better you have to test
BitPuffin has quit [Ping timeout: 240 seconds]
pminten has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
eikke__ has joined #ocaml
Kakadu has quit [Quit: Page closed]
tane has quit [Quit: Verlassend]
avsm has joined #ocaml
<elspru_>
hmmm how do I make a list from a hashtable?
Kakadu has joined #ocaml
srax_ has joined #ocaml
<mrvn>
List.iter Hashtbl.add?
<madroach>
Other way round use Hashtbl.fold (fun key value l -> (key,value) :: l) htable []
Hannibal_Smith has quit [Quit: Sto andando via]
SethTisue has joined #ocaml
srax_ has quit [Read error: Connection reset by peer]
<Drup>
elspru_: "open Batteries"
<Drup>
(beware : it will shadow stdlib's modules)
tane has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
siddharthv_away has quit [Ping timeout: 240 seconds]
jonludlam has joined #ocaml
deavid has quit [Quit: No Ping reply in 180 seconds.]
Valdo has quit [Ping timeout: 240 seconds]
lusory_ has quit [Ping timeout: 240 seconds]
lusory has joined #ocaml
jonludlam has quit [Ping timeout: 240 seconds]
jonludlam has joined #ocaml
Valdo has joined #ocaml
jonludlam is now known as Guest24493
BitPuffin has quit [*.net *.split]
pippijn_ has quit [*.net *.split]
SHODAN has quit [*.net *.split]
sh1ken has quit [*.net *.split]
bernardo1pc has quit [*.net *.split]
zapu has quit [*.net *.split]
alinab_ has quit [*.net *.split]
hnrgrgr_ has quit [*.net *.split]
def` has quit [*.net *.split]
girrig has quit [*.net *.split]
papna has quit [*.net *.split]
_2can has quit [*.net *.split]
tizoc has quit [*.net *.split]
_`_ has quit [*.net *.split]
alexey has quit [*.net *.split]
adrien has quit [*.net *.split]
j0sh has quit [*.net *.split]
jlouis has quit [*.net *.split]
amiller has quit [*.net *.split]
binarybitme has quit [*.net *.split]
wormphlegm has quit [*.net *.split]
smondet has quit [*.net *.split]
rks` has quit [*.net *.split]
BitPuffin has joined #ocaml
pippijn_ has joined #ocaml
papna has joined #ocaml
girrig has joined #ocaml
hnrgrgr_ has joined #ocaml
SHODAN has joined #ocaml
bernardo1pc has joined #ocaml
_2can has joined #ocaml
adrien has joined #ocaml
zapu has joined #ocaml
alexey has joined #ocaml
alinab_ has joined #ocaml
j0sh has joined #ocaml
amiller has joined #ocaml
jlouis has joined #ocaml
tizoc has joined #ocaml
wormphlegm has joined #ocaml
sh1ken has joined #ocaml
def` has joined #ocaml
smondet has joined #ocaml
rks` has joined #ocaml
_`_ has joined #ocaml
binarybitme has joined #ocaml
Tekk_` has joined #ocaml
srcerer has quit [Ping timeout: 272 seconds]
pminten has joined #ocaml
cespinoza has quit [Ping timeout: 250 seconds]
Sizur has quit [Read error: Connection reset by peer]
rand000 has joined #ocaml
Sizur has joined #ocaml
cespinoza has joined #ocaml
dsheets__ has joined #ocaml
dsheets_ has quit [Quit: Leaving]
BitPuffin has quit [Ping timeout: 255 seconds]
avsm has quit [Quit: Leaving.]
Asmadeus_ has joined #ocaml
le1f is now known as leifw
mfp has quit [Read error: Connection reset by peer]
Asmadeus has quit [Remote host closed the connection]
Asmadeus_ is now known as Asmadeus
mfp has joined #ocaml
Cypi_ has joined #ocaml
shinnya has joined #ocaml
tane has quit [Quit: Verlassend]
cespinoza has quit [Ping timeout: 240 seconds]
Cypi has quit [Ping timeout: 240 seconds]
freling has quit [Ping timeout: 240 seconds]
freling has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
zpe has joined #ocaml
cespinoza has joined #ocaml
hcarty has quit [Ping timeout: 240 seconds]
hcarty has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
yacks has quit [Ping timeout: 260 seconds]
SethTisue has joined #ocaml
yacks has joined #ocaml
<SethTisue>
hi, I'm on Mac OS X 10.9, I did "brew install ocaml" and "brew install opam" and set up opam, and I'm now I'm trying to do "opam install utop", but I get this error: https://gist.github.com/SethTisue/f99fcb80ffa639951d18
hhugo has quit [Quit: Leaving.]
<SethTisue>
any insight? bear in mind I'm completely new to OCaml. I was hoping to use utop as I start working my way through Real World OCaml
<smondet>
dav: as far as I understood, call and make are what you use to create yourown “sweet” bindings
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
Nahra has joined #ocaml
avsm has joined #ocaml
<dav>
smondet: that means having to write proxy for every class when a reasonable default could actually be autogenerated (clojure has reasonable java interop)..
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
troutwine is now known as troutwine_away
ZackaryDoyle has joined #ocaml
troutwine_away is now known as troutwine
cdidd has quit [Ping timeout: 260 seconds]
englishm has quit [Remote host closed the connection]
cody__ has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
troutwine is now known as troutwine_away
dav has quit [Ping timeout: 250 seconds]
madroach has quit [Ping timeout: 250 seconds]
darkf has joined #ocaml
madroach has joined #ocaml
NoNNaN has quit [Remote host closed the connection]