flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.01.0 http://bit.ly/1851A3R | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
ontologiae_ has joined #ocaml
Amanite has quit [Quit: Lost terminal]
ulfdoz has quit [Ping timeout: 264 seconds]
nikki93 has joined #ocaml
avsm has joined #ocaml
contempt has quit [Ping timeout: 276 seconds]
ygrek has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
boogie has quit [Read error: Connection reset by peer]
boogie has joined #ocaml
avsm has quit [Ping timeout: 252 seconds]
ontologiae_ has quit [Ping timeout: 272 seconds]
mreca has joined #ocaml
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
boogie has quit [Read error: Connection reset by peer]
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
jwatzman|work has quit [Quit: jwatzman|work]
talzeus has joined #ocaml
talzeus_ has joined #ocaml
lostcuaz has joined #ocaml
jao has quit [Remote host closed the connection]
csakatoku has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
talzeus has quit [Ping timeout: 246 seconds]
arjunguha has joined #ocaml
arjunguha has quit [Ping timeout: 264 seconds]
<erider> can you use match like: match x y with .... ?
<Drup> erider: "match (x,y) with"
<erider> and you can match on x and y separately?
<Drup> well, it's a regular pattern match no pairs
<bernardofpc> match x,y with 0,0 -> something | 1,0 -> other | 0,1 -> and another | x,y -> default case
<bernardofpc> the commas are important, otherwise (I think) OCaml iterprets as match (x y) with ..., which means that you calculate (x y) and then match the result
mcclurmc has joined #ocaml
talzeus_ has quit [Read error: Connection reset by peer]
<erider> ok thanks for the help on understanding that
talzeus has joined #ocaml
talzeus_ has joined #ocaml
mcclurmc has quit [Ping timeout: 272 seconds]
contempt has joined #ocaml
talzeus has quit [Ping timeout: 252 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20131020]: i've been blurred!]
contempt has quit [Ping timeout: 264 seconds]
contempt has joined #ocaml
<zRecursive> I have installed ocaml 3.12 from OS repo. what's the best way to upgrade to newest ocaml ?
<zRecursive> and there is ocaml-opam-1.0.0 installed
ollehar1 has quit [Ping timeout: 265 seconds]
P1RATEZ has joined #ocaml
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Drup> opam can install locally a new compiler quite easily
<Drup> opam 1.0 is a bit old though, if you could compile the last (1.1) version, it would be better, there is tons of bugfix in it
<Drup> once you have opam installed
<Drup> just do "opam switch 4.01.0"
<Drup> (I will let you browse the doc for more info)
mcclurmc has joined #ocaml
talzeus_ has quit [Read error: Connection reset by peer]
watermind has quit [Read error: Connection reset by peer]
kyrylo has quit [Read error: Operation timed out]
mcclurmc has quit [Ping timeout: 272 seconds]
csakatoku has quit [Remote host closed the connection]
yacks has joined #ocaml
csakatoku has joined #ocaml
talzeus has joined #ocaml
talzeus has quit [Read error: Connection reset by peer]
<zRecursive> Drup: thanks ! i need to upgrade opam first ?
csakatoku has quit [Remote host closed the connection]
<zRecursive> but `pkg search opam` => ocaml-opam-1.0.0, so i have to install opam from source.
avsm has joined #ocaml
csakatoku has joined #ocaml
avsm has quit [Ping timeout: 272 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest25933
P1RATEZ has quit [Ping timeout: 252 seconds]
ollehar has joined #ocaml
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 272 seconds]
lostcuaz has joined #ocaml
csakatoku has quit [Remote host closed the connection]
ollehar has quit [Ping timeout: 264 seconds]
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ollehar has joined #ocaml
talzeus has joined #ocaml
csakatoku has joined #ocaml
boogie has joined #ocaml
introom has joined #ocaml
boogie has quit [Remote host closed the connection]
jdoles has joined #ocaml
boogie has joined #ocaml
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 260 seconds]
nikki93 has quit [Remote host closed the connection]
ollehar has quit [Ping timeout: 264 seconds]
avsm has joined #ocaml
nikki93 has joined #ocaml
avsm has quit [Ping timeout: 272 seconds]
axiles has joined #ocaml
mocrunsthecity has joined #ocaml
<mocrunsthecity> wow i didnt think this channel would have so many people
<mocrunsthecity> out of curiosity, has anyone here ever worked at janestreet
jao has quit [Ping timeout: 252 seconds]
boogie has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 272 seconds]
rz has quit [Ping timeout: 272 seconds]
lostcuaz has joined #ocaml
mcclurmc has joined #ocaml
<UltimateGOTO> mocrunsthecity, I was as surprised as you, but also at how silent it often is here.
mcclurmc has quit [Ping timeout: 260 seconds]
mreca has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
introom has quit [Ping timeout: 245 seconds]
<zRecursive> silent than #haskell
avsm has joined #ocaml
avsm has quit [Ping timeout: 245 seconds]
<UltimateGOTO> That's because in #haskell people just like to talk about how awesome haskell is all the time.
<zRecursive> :)
<zRecursive> haskell is indeed awesome but i would like to use OCaml
<UltimateGOTO> I use both, the thing with OCaml is that as a high performance functional language you sort of continually end up cheating tyhe functional style paradigm because it's not pure so it's often more efficient to write code in a semi functional style.
<UltimateGOTO> Whereas Haskell's laziness doesn't give you a penalty for writing in a functional style.
yacks has quit [Quit: Leaving]
mocrunsthecity has quit [Remote host closed the connection]
introom has joined #ocaml
mchqwerty has joined #ocaml
introom has quit [Ping timeout: 272 seconds]
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<zRecursive> I enjoy OCaml's fast building speed
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
nikki93 has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 260 seconds]
avsm has joined #ocaml
<UltimateGOTO> zRecursive, fast compared to what?
<UltimateGOTO> It builds about as quickly as Haskell though
ygrek has joined #ocaml
<UltimateGOTO> On that note, I read somewhere that after template expansion, some C++ identifiers in boost can be half a megabyte in size...
avsm has quit [Ping timeout: 252 seconds]
Guest25933 has quit [Remote host closed the connection]
nikki93 has joined #ocaml
TDJACR has quit [Ping timeout: 240 seconds]
TDJACR has joined #ocaml
thomasga has joined #ocaml
nikki93 has quit [Ping timeout: 246 seconds]
<flux> what? I've found ocaml compilation speeds to be very high compared to ghc
thomasga has quit [Quit: Leaving.]
<adrien> well, even s/ocaml/C++/ :P
Kakadu has joined #ocaml
<zRecursive> Just referring to compiling speed, ghc is not on the same level as ocaml
mcclurmc has joined #ocaml
<adrien> either there are GHC options involved or it has gotten much much faster
Arach has joined #ocaml
mcclurmc has quit [Ping timeout: 260 seconds]
<UltimateGOTO> Hmm, are there any benchmarks involved here?
<flux> hello world takes 0.020 s on my machine in ocaml, ghc takes 0.400, that's 20x right there ;)
<adrien> :)
introom has joined #ocaml
<flux> but I've found that there is still a difference even in larger programs
<zRecursive> flux: big difference
cago has joined #ocaml
wolfnn has joined #ocaml
thomasga has joined #ocaml
thomasga has quit [Client Quit]
avsm has joined #ocaml
dant3 has joined #ocaml
avsm has quit [Ping timeout: 245 seconds]
thomasga has joined #ocaml
Kakadu has quit [Quit: Page closed]
Kakadu has joined #ocaml
skchrko has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
<UltimateGOTO> flux, , hmm, that is quite a lot faster
<UltimateGOTO> and this is with similar optimizations going on?
<flux> which default options
<flux> well, with ocamlopt it takes 0.1 s in ocaml
<flux> but in practice it doesn't matter
<flux> as during development you can just pick the fastest compiler
<adrien> flux: 100ms is probably mostly caused by ld
<adrien> and maybe as too
dant3 has quit [Remote host closed the connection]
<flux> ocamlopt -c takes 0.02 seconds
<flux> ghc -c hello.hs takes 0.09 seconds
Guest54257 has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
mcclurmc has quit [Ping timeout: 252 seconds]
zRecursive has left #ocaml []
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
Amanite has joined #ocaml
dant3 has joined #ocaml
talzeus has quit [Remote host closed the connection]
cago has quit [Read error: Connection reset by peer]
cago has joined #ocaml
adrien_oww has joined #ocaml
thomasga has quit [Quit: Leaving.]
wwilly has joined #ocaml
wwilly has quit [Client Quit]
zpe has joined #ocaml
ocp has joined #ocaml
cago has quit [Quit: Leaving.]
cago1 has joined #ocaml
csakatoku has quit [Remote host closed the connection]
mika1 has joined #ocaml
csakatoku has joined #ocaml
thomasga has joined #ocaml
_andre has joined #ocaml
<Amanite> Can anyone explain to me what's the point of learning OCaml over Haskell and vice versa?
avsm has joined #ocaml
<flux> OCaml pros: OCaml is a pragmatic nice, smallish language that doesn't require you to use monads for side-effects in a pinch (though monads are popular in ocaml async libraries)
avsm has quit [Client Quit]
<flux> Haskell pros: Haskell is a purely functional language that doesn't allow you to leak side-effects by forcing the use of monads
<flux> (slightly tongue-in-cheek)
<flux> you probably find better comparsions in the web :)
wwilly has joined #ocaml
<wwilly> bonjour
rwmjones has quit [Ping timeout: 252 seconds]
avsm has joined #ocaml
avsm has quit [Ping timeout: 272 seconds]
thomasga has quit [Quit: Leaving.]
Amanite has quit [Remote host closed the connection]
avsm has joined #ocaml
Amanite has joined #ocaml
dsheets has joined #ocaml
rwmjones has joined #ocaml
mika2 has joined #ocaml
nikki93 has joined #ocaml
Amanite has quit [Ping timeout: 272 seconds]
ontologiae_ has joined #ocaml
Amanite has joined #ocaml
mika1 has quit [Ping timeout: 252 seconds]
ygrek has quit [Ping timeout: 272 seconds]
pminten has joined #ocaml
nikki93 has quit [Ping timeout: 272 seconds]
rwmjones has quit [Ping timeout: 252 seconds]
mcclurmc has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
<UltimateGOTO> flux, so the only reason that ocaml bits have a tag is because of polymorphic > and =?
csakatok_ has joined #ocaml
thomasga has joined #ocaml
<flux> no, GC uses it
csakatoku has quit [Ping timeout: 245 seconds]
mcclurmc has quit [Ping timeout: 252 seconds]
<UltimateGOTO> Hmm
<UltimateGOTO> I wounder why GHC doesn't need the tag bit
<adrien_oww> it's also a very convenient way to make ocaml try to jump to crazy memory addresses :P
<UltimateGOTO> Well, it boxes ints I guess with thunks
<companion_cube> UltimateGOTO: ghc uses a totally different abstract machine
<UltimateGOTO> Which are effectively boxes.
thomasga has quit [Client Quit]
<companion_cube> ghc needs to deal with pervasive lazyness, ocaml doesn't, so ocaml has a much more straightforward representation of values
<UltimateGOTO> Yeah, I know, I just wonder how on earth they got GHC to be tagless but I just realized that because it thunks everything that effectively creates a box for ints.
<companion_cube> in ghc values are pointers to code that pushes the value on a stack
<UltimateGOTO> So much complicated stuff to worry about. =(
<UltimateGOTO> They should create a purely functional language without GC with monadic manual memory management
<UltimateGOTO> Less stuff to worry about
<companion_cube> looks complicated ^^
<UltimateGOTO> Nahh, it's easy cons :: a -> [a] -> IO [a] allocates a list for you and you free that list with cons :: [a] -> IO ()
<UltimateGOTO> Just use unsafePerformIO within pure functions and you're done.
kizzx2 has quit [Quit: Leaving.]
rwmjones has joined #ocaml
rwmjones has quit [Ping timeout: 252 seconds]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
demonimin has quit [Ping timeout: 260 seconds]
rwmjones has joined #ocaml
malo has joined #ocaml
nikki93 has joined #ocaml
nikki93 has quit [Ping timeout: 252 seconds]
avsm has quit [Quit: Leaving.]
<flux> but where do you put the value?
<flux> or would you separate between automatically allocated memory (stack) and heap
<flux> I suppose that would work
jonludlam has joined #ocaml
demonimin has joined #ocaml
pminten has quit [Quit: Leaving]
<companion_cube> UltimateGOTO: that doesn't sound very safe
<companion_cube> since it's hard to know whether a value is still used...
kyrylo has joined #ocaml
dant3 has quit [Remote host closed the connection]
<UltimateGOTO> flux, stack is automatic, heap isn't, like in C
<UltimateGOTO> companion_cube, yeah, like C
<UltimateGOTO> referencing memory you ve already freed has undefined behaviour.
<ousado> UltimateGOTO: sounds like you want linear types
<UltimateGOTO> What are those?
<companion_cube> UltimateGOTO: that's cool, but ocaml tries to be memory-safe
<companion_cube> and the GC is really a huge convenience for writing algorithms
<companion_cube> or any kind of high level code
watermind has joined #ocaml
<ousado> linear types are tracked statically so you can't forget to "free" them
<companion_cube> but a programming language with linear types is still a research topic
<UltimateGOTO> companion_cube, well, ocaml also isn't purely functional so there you go.
<ousado> they work quite well in ATS
<companion_cube> UltimateGOTO: it's still memory safe
<ousado> and others
<companion_cube> ATS is a research language ^^
<UltimateGOTO> companion_cube, it also doesn't use :: to denote tpyes so clearly this isn't about ocaml but a hypothetical purely functional language without garbage collection
<ousado> linearML, clean, etc.
<companion_cube> UltimateGOTO: yeah, sure, but I was just saying that it's not obvious at all how usable a language you'd get
<ousado> optional GC, rather
<UltimateGOTO> Ah, linear types are uniqueness types?
<UltimateGOTO> companion_cube, completely unusuable most likely
<companion_cube> ^^
<UltimateGOTO> But fun none the less
<ousado> yes, very similar at least
<companion_cube> I'm quite interested in rust for this kind of lower-level issues
<companion_cube> it's impure but it looks quite well designed
Amanite has quit [Quit: Lost terminal]
rwmjones has quit [Read error: Operation timed out]
<whitequark> it used to have optional purity, but as it turns out, "purity" can mean a lot of different things
<whitequark> so adding just one arbitrary kind of purity was too limiting, and adding all of them resulted in combinatorial explosion
sam___ has joined #ocaml
<sam___> Hello
<whitequark> unfortunately I cannot find an article with a more elaborate description of the problems...
<sam___> Can someone help me with my tiny program?
<sam___> I just started learning OCaml and tried to make a text adventure based game
<sam___> but I get a syntax error in my main loop
<whitequark> don't ask to ask, just show the code
<pippijn> UltimateGOTO: Ur
<pippijn> is what you want
dant3 has joined #ocaml
<UltimateGOTO> pippijn, what is Ur?
<pippijn> purely functional programming language without GC
<pippijn> it is not exactly what you want, because it's safe
<pippijn> you want an unsafe language, Ur is not that
<companion_cube> sam___: is it a syntax error or a type error?
<sam___> syntax error
<sam___> on the while
<sam___> nevermind, it's on the "in"
<sam___> in my last variable declaration
<companion_cube> well, if those are global variables you should remove the "in", indeed
rwmjones has joined #ocaml
<sam___> then I get an error on the while
arjunguha has joined #ocaml
<companion_cube> what's the error?
<sam___> sam@crunchbang:~/Dropbox$ ocaml game.ml
<sam___> File "game.ml", line 9, characters 0-5:
<sam___> Error: Syntax error
<companion_cube> try adding ;; after the first line
<UltimateGOTO> pippijn, how does ur work, not a lot on the internets about it
<pippijn> region inference
<sam___> same error
<sam___> exactly the same
<ousado> hm.. I wouldn't call a langauge with region inference a language 'without GC'
<pippijn> ok
<pippijn> I would agree
<sam___> what was the problem, companion_cube ?
<sam___> but thanks
<Kakadu> sam___: don't write let ... and there
<Kakadu> your values are not recursive, you don't need and
<companion_cube> sam___: you can't write let .... in expr;; at the toplevel
<Kakadu> sam___: and you can avoid bla;; using let () = bla
<companion_cube> yep
<sam___> ah
<sam___> okay
rwmjones has quit [Read error: Operation timed out]
darkf has quit [Quit: Leaving]
<UltimateGOTO> One may argue that the same keyword for block scoping and top declarations is an intereting choice
<companion_cube> I think it would be more reasonable to use begin .... end;; at the toplevel for pure side-effect
<def-lkb> Imho, a pain if you want to work with partially incorrect buffers…
<companion_cube> :D
<pippijn> UltimateGOTO: revised ocaml syntax changes that
<UltimateGOTO> Yeah, I know, the revised syntax looks more sane to me on many levels.
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<UltimateGOTO> I don't get the [hd :: tl] thing though
<companion_cube> I wonder whether anyone uses the revised syntax
<pippijn> camlp4 people do
<companion_cube> hmmm
<companion_cube> are there conversion tools?
<pippijn> camlp4 :)
<companion_cube> -_-
<pippijn> => not really
cdidd has quit [Ping timeout: 245 seconds]
<companion_cube> ok, I dislike the list notation, indeed
<UltimateGOTO> I don't see why (::) can't just be a normal infix type constructor
<UltimateGOTO> or is there some rule gainst infix type constructrs?
cdidd has joined #ocaml
<companion_cube> hmmm, it also changes the references
<companion_cube> oh my, the syntax for types
<pippijn> the true/false thing is the most annoying one
<pippijn> because one can no longer make tycons called True and False
<UltimateGOTO> Why not/
<companion_cube> hmmm
<companion_cube> pippijn: that's more consistent with true/false being a sum type
<companion_cube> there are interesting things in this syntax
<pippijn> companion_cube: I understand
<companion_cube> I like the do{} block
<pippijn> but I have code that does have True and False as tycons
<companion_cube> you can use sed ;)
<pippijn> and I do :\
<companion_cube> I do too actually, but well, True_ and False_ can be workarounds
<pippijn> it's really ugly
<pippijn> in opam, can I somehow switch to 4.01.0+BER?
<companion_cube> you mean opam switch 4.01.0+BER ?
rwmjones has joined #ocaml
<pippijn> yes
<pippijn> oh that actually works
<pippijn> companion_cube: I made my own
<companion_cube> :D
<pippijn> 4.01.0+PIC
<pippijn> do I need to register that somewhere?
<companion_cube> probably on opam.ocaml.org ?
nikki93 has joined #ocaml
<pippijn> I can't do it locally?
<companion_cube> look into opam-repository/compilers/
<companion_cube> if you have a local opam repo
<pippijn> I did that
<pippijn> and I put my own there
<pippijn> ~/.opam/compilers/4.01.0$ ls
<pippijn> 4.01.04.01.0+BER 4.01.0+fp 4.01.0+PIC
<companion_cube> oh, and opam update + opam switch doesn't show it?
<pippijn> I didn't run update
<pippijn> doing that now
<companion_cube> you also need to have your directory registered with opam repository, ofc
<pippijn> aha
nikki93 has quit [Read error: Operation timed out]
<pippijn> so I just put it into the compiler-index file?
csakatok_ has quit [Remote host closed the connection]
<companion_cube> I guess. Isn't there doc on opam.ocaml.org ?
<pippijn> I'll check it later
csakatoku has joined #ocaml
ygrek has joined #ocaml
rz has joined #ocaml
csakatoku has quit [Ping timeout: 252 seconds]
ccasin has quit [Remote host closed the connection]
ollehar has joined #ocaml
avsm has joined #ocaml
thomasga has joined #ocaml
malo has quit [Quit: Leaving]
<vbmithr_> Hi
<vbmithr_> Do someone knows anything about dynamic linking cma modules (in bytecode at least)
<vbmithr_> Is there any mechanism to get the transitive closure of dependencies of the module ?
<vbmithr_> If I load a .cma, do I need to manually load any dependent cma before that ?
<companion_cube> yes you do
<companion_cube> but if the .cma are libraries packaged with ocamlfind, maybe it will load them also
<companion_cube> with #require I mean
<vbmithr_> ok
<vbmithr_> But in a program, there is no #require
<companion_cube> no, if you compile a program you need to specify a list of package() for ocamlfind
<companion_cube> (are you using ocamlbuild?)
<vbmithr_> I'm using ocsigen
<vbmithr_> At some point ocsigen loads an "eliom application" which is a .cma
<companion_cube> ah
<vbmithr_> This fails because there is undefined reference to a module
<companion_cube> I have no idea :/
<jpdeplaix> how did you load it ?
nikki93 has joined #ocaml
kyrylo has quit [Ping timeout: 252 seconds]
kyrylo has joined #ocaml
nikki93 has quit [Ping timeout: 264 seconds]
lostcuaz has joined #ocaml
mreca has joined #ocaml
csakatoku has joined #ocaml
ollehar has quit [Ping timeout: 264 seconds]
mcclurmc has joined #ocaml
csakatoku has quit [Remote host closed the connection]
ontologiae_ has quit [Ping timeout: 272 seconds]
csakatoku has joined #ocaml
mcclurmc has quit [Ping timeout: 245 seconds]
pminten has joined #ocaml
kyrylo has quit [Read error: Operation timed out]
arjunguha has joined #ocaml
talzeus_ has joined #ocaml
kyrylo has joined #ocaml
talzeus__ has joined #ocaml
talzeus_ has quit [Ping timeout: 272 seconds]
talzeus_ has joined #ocaml
talzeus__ has quit [Read error: Connection reset by peer]
nikki93 has joined #ocaml
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mchqwerty has quit [Quit: Odcházím]
mcclurmc has joined #ocaml
ontologiae_ has joined #ocaml
ontologiae has joined #ocaml
ontologiae_ has quit [Read error: Connection reset by peer]
thomasga has quit [Quit: Leaving.]
ontologiae has quit [Read error: Connection reset by peer]
dant3 has quit [Remote host closed the connection]
dant3 has joined #ocaml
shinnya has joined #ocaml
dant3 has quit [Ping timeout: 252 seconds]
ontologiae has joined #ocaml
lostcuaz has joined #ocaml
csakatoku has quit [Remote host closed the connection]
talzeus_ has quit [Read error: Connection reset by peer]
boogie has joined #ocaml
divyansr has joined #ocaml
rand000 has joined #ocaml
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ollehar has joined #ocaml
arjunguha has joined #ocaml
wwilly has quit [Remote host closed the connection]
_5kg has joined #ocaml
avsm has quit [Quit: Leaving.]
mocrunsthecity has joined #ocaml
boogie has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 253 seconds]
WraithM_ has joined #ocaml
avsm has joined #ocaml
pminten has quit [Quit: Leaving]
mika2 has quit [Quit: Leaving.]
cago1 has left #ocaml []
mocrunsthecity has quit [Quit: Leaving...]
Arach has quit [Ping timeout: 240 seconds]
Arach has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<j0sh> how do i match against a polymorphic variant that's declared in a module?
thomasga has joined #ocaml
dant3 has joined #ocaml
<Drup> match x with A.Bla -> ...
<Drup> oh, polymorphic
<Drup> doesn't matter then, just match it
<j0sh> getting this error
<Drup> Closed ≠ Close
<Drup> :3
<j0sh> arrrrrrr
honewolf has joined #ocaml
<j0sh> can't believe i spent so much time figuring that out... d'oh
<adrien_oww> :)
<companion_cube> j0sh: to debug this kind of things, try adding explicit type information to your arguments
divyansr has quit [Read error: Connection reset by peer]
<companion_cube> let f (x : [<#A.foobar]) = ....
<adrien_oww> (or wait for ht next compiler version :D )
<Drup> j0sh: don't worry, it's the same for everyone for this kind of stuff =')
Kakadu has quit [Quit: Page closed]
<j0sh> companion_cube: yeah, still getting the hang of the polymorphic variant syntax
<companion_cube> lots of things to learn ^^
ben_m has joined #ocaml
<j0sh> yeah especially with the declarations, etc
msch has left #ocaml []
thomasga has quit [Quit: Leaving.]
<j0sh> i haven't seen a great need for polymorphic variants in my own code, but they seem to be commonly used in public code
<companion_cube> depends, but most often to represent lots of options/flags (see lablgtk or ocamlbet, I think)
<Drup> I wouldn't say "commonly"
ocp has quit [Ping timeout: 252 seconds]
honewolf has quit [Ping timeout: 272 seconds]
<adrien_oww> hmmm
<adrien_oww> inheritance tags
<adrien_oww> and for when names would collide
<adrien_oww> that's lablgtk's uses
boogie has joined #ocaml
<j0sh> wouldn't the newest compiler fix the name collision issue for regular variants?
kyrylo has quit [Read error: Connection reset by peer]
<adrien_oww> maybe, haven't looked at them
<adrien_oww> I'm not sure it's guaranteed to succeed however
<adrien_oww> (the new stuff in the compiler)
kyrylo has joined #ocaml
<adrien_oww> but as I said, I haven't really looked at that
<ben_m> What's the generally prefered way to do OpenGL in OCaml?
thomasga has joined #ocaml
<Drup> I'm not sure there is a prefered way
<Drup> no, you don't want to do that
<Drup> except if you have very special needs, manipulating the low level interface of openGL is a pain
<Drup> I like glMlite interface, there is various nice feature. There is also lablgl, but I don't now in which state it is
<ben_m> glMlite seems the nicest of all the things I found via Google
<ben_m> Uses glut unfortunately but I suppose I can cope :p
<Drup> Bunzli's stuff may be nice in the feature, as basic bloc of a higher level library, but for now .. bll.
<Drup> future*
ccasin has joined #ocaml
<sam___> Can anyone help me to figure out why won't my code run?
<sam___> I get File "game.ml", line 30, characters 4-8:
<sam___> Error: Syntax error
thomasga has quit [Quit: Leaving.]
tnguyen has joined #ocaml
<Drup> sam___: ";" is a separator, not a terminator
<Drup> remove all the extra ";" at the end of else if branches
<sam___> Okay, gonna try
<sam___> uh
<sam___> I still get the same error
<sam___> nevermind, I'm stupid
<Drup> s/stupid/learning/
<sam___> yay it works
osa1_ has joined #ocaml
<bernardofpc> sam___: you probably want one array of messages, because List.nth is not so efficient
<sam___> bernardofpc: I'm just getting started
<sam___> I don't even know what arrays are
<sam___> Just toying with the syntax for now, I'll try to clean and optimise later
ccasin has quit [Quit: leaving]
ccasin has joined #ocaml
ccasin has quit [Client Quit]
<bernardofpc> this is your first prog lang ?
<sam___> yeah
ccasin has joined #ocaml
jwatzman|work has joined #ocaml
watermind has quit [Read error: Connection reset by peer]
watermind has joined #ocaml
introom has left #ocaml []
ontologiae has quit [Ping timeout: 260 seconds]
thomasga has joined #ocaml
Kakadu has joined #ocaml
manizzle has quit [Read error: Connection reset by peer]
jonludlam has quit [Ping timeout: 272 seconds]
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
avsm1 has joined #ocaml
avsm has quit [Ping timeout: 245 seconds]
avsm1 has quit [Ping timeout: 264 seconds]
shinnya has quit [Ping timeout: 265 seconds]
S11001001 has joined #ocaml
thomasga has quit [Quit: Leaving.]
rand000 has quit [Ping timeout: 246 seconds]
ben_m has quit [Ping timeout: 245 seconds]
ontologiae has joined #ocaml
sam___ has quit [Quit: Lost terminal]
ben_m has joined #ocaml
thomasga has joined #ocaml
rand000 has joined #ocaml
tnguyen has quit [Ping timeout: 252 seconds]
thomasga has quit [Quit: Leaving.]
tnguyen has joined #ocaml
dsheets has quit [Ping timeout: 272 seconds]
nlucaroni has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
manizzle has joined #ocaml
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ollehar has quit [Ping timeout: 264 seconds]
dsheets has joined #ocaml
NoNNaN has joined #ocaml
mcclurmc has joined #ocaml
arjunguha has joined #ocaml
arjunguha has quit [Client Quit]
mcclurmc has quit [Ping timeout: 248 seconds]
rwmjones has quit [Read error: Operation timed out]
mwbwbm has joined #ocaml
arjunguha has joined #ocaml
thomasga has joined #ocaml
rwmjones has joined #ocaml
axiles has quit [Ping timeout: 246 seconds]
jonludlam has joined #ocaml
_andre has quit [Quit: leaving]
Amanite has joined #ocaml
jonludlam has quit [Ping timeout: 272 seconds]
axiles has joined #ocaml
jonludlam has joined #ocaml
tobiasBora has joined #ocaml
ocp has joined #ocaml
nlucaroni has left #ocaml []
mcclurmc has joined #ocaml
ontologiae has quit [Ping timeout: 245 seconds]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
ulfdoz has joined #ocaml
mcclurmc has quit [Ping timeout: 248 seconds]
ocp has quit [Ping timeout: 252 seconds]
zpe has quit [Ping timeout: 246 seconds]
thomasga has quit [Quit: Leaving.]
mhi^ has joined #ocaml
emmanueloga has quit [Quit: Connection closed for inactivity]
clog has joined #ocaml
thomasga has joined #ocaml
tnguyen has quit [Quit: tnguyen]
ollehar has joined #ocaml
rwmjones has quit [Ping timeout: 252 seconds]
mort___ has joined #ocaml
saml has quit [Quit: Leaving]
rwmjones has joined #ocaml
tobiasBora has quit [Quit: Konversation terminated!]
mreca has joined #ocaml
mreca has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Amanite> yay my text based adventure game works
<Amanite> it's most likely terribly written
<Amanite> it's my first real project
arjunguha has joined #ocaml
mw1001_ has joined #ocaml
darkf has joined #ocaml
mw1001_ has quit [Quit: Ex-Chat]
Amanite has quit [Quit: Lost terminal]
kyrylo has quit [Changing host]
kyrylo has joined #ocaml
ulfdoz has quit [Ping timeout: 248 seconds]
rand000 has quit [Quit: leaving]
gabemc_ has quit [Quit: gabemc_]
pango has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
mhi^ has quit [Quit: Lost terminal]
srcerer has joined #ocaml
avsm has joined #ocaml
madroach has quit [Ping timeout: 252 seconds]
thomasga has quit [Quit: Leaving.]
madroach has joined #ocaml
srcerer has quit [Quit: ChatZilla 0.9.90.1 [Firefox 25.0/20131025151332]]
srcerer has joined #ocaml
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 245 seconds]
jao has quit [Ping timeout: 265 seconds]