mbishop changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | Grab Ocaml 3.10.0 from http://caml.inria.fr/ocaml/release.html (featuring new camlp4 and more!)
rutlov has joined #ocaml
rutlov has left #ocaml []
netx has quit ["Leaving"]
netx has joined #ocaml
pango has quit [Remote closed the connection]
pango has joined #ocaml
seafoodX has joined #ocaml
seafoodX has quit []
rutlov has joined #ocaml
rutlov has left #ocaml []
CRathman has joined #ocaml
Cygal has quit [Remote closed the connection]
tsuyoshi has quit ["goodbye"]
seafoodX has joined #ocaml
buluca has quit [Read error: 113 (No route to host)]
P_1 has joined #ocaml
<P_1> hey, I have a slight problem with my recursive code
<P_1> can I pm anyone for help?
<Smerdyakov> No. You should explain your problem here. Never ask to ask; but also don't paste many lines of code or otherwise take up too much space. Best is to post a URL to pertinent information.
<P_1> let rec sep_concat slist =
<P_1> match slist with [] -> ""
<P_1> | (x::xs) -> x ^ " " ^ sep_concat xs;;
<P_1> well the problem here
<P_1> is that i get an extra " " at the end
<P_1> and i dont know how in ocaml to detect if its at the end of the list
<Smerdyakov> Please don't split sentences across lines needlessly.
<P_1> so i can leave out the " " at the end
<P_1> sorry about splitting the sentences
<Smerdyakov> Can you clarify what you mean by "detect if its at the end of the list"?
<P_1> meaning if i input a list ["this";"is";"a";"test"] it will give me "this is a test " so I need to detect if its at "test" which is at the end of the list
<P_1> Ideally I would want the output "this is a test"
<Smerdyakov> Can you write a recursive function in pseudocode that does what you want?
<P_1> I can write it in c/c++
<P_1> would that do?
<Smerdyakov> If you know how to do it, that's good enough.
<Smerdyakov> Can you name the precise piece of your C++ code that you don't know how to translate to OCaml?
<P_1> the part where I detect that I am at the end of the list
<P_1> because when i am at the end I will with hold the extra " "
<Smerdyakov> What does that mean in terms of the recursive C++ function?
<P_1> meaning I can check the length of an array for example and if it is at the end I will not append a " " to it
<Smerdyakov> I guess you understand that a recursive function over lists, even in C++, will have no concept of "current position"?
<P_1> in a list i will know which is the tail and which is the head
<P_1> by a simple check
<P_1> the structure of a list will have a head and a tail and nodes inbetween
<Smerdyakov> No.
<Smerdyakov> That's not the way you do things in OCaml, at least.
<P_1> well thats why im confused
<Smerdyakov> You consider each list anew.
<P_1> yea which is a huge problem
<Smerdyakov> No, it's not at all.
<Smerdyakov> It's a much nicer way to doing things.
<Smerdyakov> Makes for much simpler definitions.
<P_1> i didnt say it wasn't nicer, Im just making a transition and its tough
<P_1> infact I think ocaml and haskell are beautiful languages
<P_1> Its just very tough for a beginner to do this
<Smerdyakov> Instead of thinking about "what to do at a certain position," you need to think in terms of just examining the list you have in front of you.
<Smerdyakov> You can't figure out how to omit the final space from that perspective?
<P_1> Ive tried for an hour
<P_1> Then I gave up and googled up this irc channel
<Smerdyakov> I recommend this: Pick a couple of example lists.
<Smerdyakov> Look at the recursive call structure of your definition for each example list.
<Smerdyakov> Ask yourself what you could do at some predictable point in that structure to solve your problem.
<P_1> well it would be to check if its an empty list after the element but I dont know how to check for that
<P_1> I have tried this: if (x::[]) then etc
<Smerdyakov> Ah, good, now we're getting warm.
<P_1> but that doesnt work
<P_1> i already thought of this
<Smerdyakov> But that code snippet you just gave is complete nonsense. Don't try to make up syntax. :P
<P_1> I just don't know how to do it in ocaml
<Smerdyakov> What tools have you learned for examining lists?
<P_1> I am not supposed to use built in functions to do this
<P_1> this is an excercise for a class of mine
<Smerdyakov> That's sort of a non-answer to the question.
<P_1> I don't know how to answer then
<Smerdyakov> What tools are you _allowed_ to use that you've learned?
<P_1> pattern matching?
<Smerdyakov> That sounds like one.
<Smerdyakov> Do you know how to use pattern matching to test if a list ends after the current node?
<P_1> no
<P_1> thats what im trying to ask here
<Smerdyakov> That's very strange.
<Smerdyakov> Can you summarize what you know about how to use pattern matching?
<P_1> not really, the teacher just gives examples and we have to learn through experimentation
<P_1> I'll send you a link to the website
<Smerdyakov> Ah, then step one is to find a good text.
<Smerdyakov> You might find this useful: http://www.cs.cmu.edu/~rwh/smlbook/
<P_1> ok
<P_1> but can you teach me how to use pattern matching to test if the list ends after the current node?
<Smerdyakov> I don't think it's in anyone's interests to try to learn a programming language that haphazardly. You should have a clear textual exposition, not someone asking you to learn from examples alone.
<Smerdyakov> I'll just throw you this bone: you tried to use pattern matching with 'if', but did your teacher show you any example that used pattern matching with 'if'?
<P_1> no the teacher did not
<P_1> I had to experiment with it a lot before i got it
<Smerdyakov> Why not try something closer to the examples that you _do_ have available?
<P_1> because I don't think its possible with those examples
<P_1> can you please look through the stuff, I am sure you will get what I mean once you see the material
[azoic] has left #ocaml []
<Smerdyakov> I know exactly what code solves your problem. I just don't think it's helpful to just give you the answer.
<Smerdyakov> I mean, do you understand that 'match', not 'if', introduces pattern matching?
<P_1> yes
seafoodX has quit [Connection timed out]
<P_1> I am using match
<P_1> have you see the code I pasted before?
<Smerdyakov> I'm talking about in testing if a list is one element long.
<Smerdyakov> You gave an attempt with 'if' before.
<P_1> yes, and the main part of my code does not use if
<P_1> i have even tried this
<P_1> | (x::[])
<P_1> as one of the cases
<P_1> but that does not work
<Smerdyakov> Do you understand that case order matters?
<P_1> yes I do
<P_1> If i put that case under the main case I have
<P_1> it will not even go through
<Smerdyakov> Can you paste the code with that change made, so I can see what you are saying doesn't work?
<P_1> yea hold on
<Smerdyakov> And what error message do you get?
<P_1> oh shit i just noticed i put a double semi colon in ther eby mistake
<P_1> ok but i still get the same error
<P_1> it highlights the - on the -> before the ^ x and says syntax error
<Smerdyakov> I can't think of a less direct way to say it than this: something foul is going on to the _right_ of the arrow in that case.
<P_1> well i have it now
<P_1> let rec sep_concat slist =
<P_1> match slist with [] -> ""
<P_1> | (x::[]) -> x ^ ""
<P_1> | (x::xs) -> x ^ " " ^ sep_concat xs;;
<P_1> well i can even leave out the ^ ""
<Smerdyakov> OK, so you knew how to do it all along. :)
<P_1> i did like i said its just syntax issues
<P_1> lol
<P_1> and if you look at my teachers slides, i had to deeply deeply infer from them to get how to do this
<Smerdyakov> Yes, you should read the book I linked cover to cover, if you want to avoid further pain during a semester-long course.
<P_1> But anyway I love functional programming in terms of how powerful it can be
<P_1> however it is a huge huge pain transitioning from an imperative language to a functional one
<Smerdyakov> Probably some portion of this can be blamed on an instructor not handling it all properly.
<P_1> I'm wondering though can I directly relate my experience from ocaml to haskell
<P_1> because I hear haskell is even more powerful than ocaml
<Smerdyakov> I don't know what meaning of "powerful" you're using.
<P_1> as in it can do more than ocaml and its also faster
<Smerdyakov> All of these languages are Turing complete, so "do more" is a weird thing to say.
<Smerdyakov> As for "it's also faster," compiled OCaml programs tend to outperform compiled Haskell programs.
<P_1> really? I thought haskell performed faster
<Smerdyakov> Haskell has multiple compilers, so you can't talk about "Haskell's performance," but all of the Haskell compilers underperform the OCaml native code compiler.
<Smerdyakov> On programs written naturally, at least
<P_1> "Haskell is more feature-full (with unique laziness semantics and advanced features like type classes and monads)"
netx has quit ["Leaving"]
<P_1> that was what i was referring to
CRathman_ has joined #ocaml
<Smerdyakov> Haskell with GHC extensions has more features than anything, sure.
<Smerdyakov> Often doesn't lead to practical benefit, though.
CRathman_ has quit [Remote closed the connection]
* Smerdyakov goes away.
<P_1> wait
<P_1> is it the higher number on the left means higher performance
<P_1> or lower is better
rutlov has joined #ocaml
rutlov has left #ocaml []
CRathman has quit [Read error: 110 (Connection timed out)]
Smerdyakov has quit ["Leaving"]
authentic has left #ocaml []
authentic has joined #ocaml
msingh has joined #ocaml
<msingh> how accurate is it to say that F# has all the ugliness of ocaml and none of the speed advantages?
ygrek has joined #ocaml
<P_1> The differences small enough that the F# compiler can be compiled as OCaml code, or can compile itself as F# code.
<P_1> put quotes around that
<mbishop> they do ok with the mllib dll, but if you want full compatability, go with OCamIK
<mbishop> er
<mbishop> OCamIL*
<P_1> well i was just answering msingh's question
<P_1> meaning he could just compile his stuff in ocaml instead of f#
<msingh> P_1, thats cool .. cheers :)
<msingh> otoh i dont understand why F# is being pushed for scientific computing
<msingh> what qualities of it make it apppropriate for such tasks?
<P_1> err i guess it is because ocaml is as well
<P_1> ms just wants to provide an alternative
<P_1> to ocaml and haskell
<P_1> the syntax is nearly the same from what im reading
<msingh> hmm
<msingh> it doesn't follow though that if ocaml is suitable for scientific computing then so is F#
<P_1> the reason ocaml is touted as suitable for scientific computing is because of its functional programming style
gmh33 has quit ["Leaving"]
<P_1> where you can just define things as equations and etc
<msingh> oooh
<msingh> i see
<msingh> so a similar thing could be said about Erlang?
<mbishop> well that and the fact that it's "fast as C++"
<msingh> mbishop, that's not true of F# though :P
<mbishop> microsoft marketing? :P
<P_1> its faster than c++ and c isnt it?
<P_1> speaking of ocaml that is
ktne has joined #ocaml
<mbishop> ocaml is typically just as fast as C++ (I've seen examples of it being faster), not sure about C, I think I remember Xavier saying 50% on average?
<P_1> 50% faster or 50% of c code speed
<mbishop> 50% speed, which is pretty good for an average
<mbishop> SML (using mlton) probably gets you a little more speed
<P_1> but Haskell is usually faster then most c code
<P_1> and if ocaml is faster than haskell
<P_1> it would be logical that ocaml is faster than most c code
<mbishop> Doubtful, people might like to CLAIM haskell is faster than C, and there are all kinds of blog posts about it, but those are usually just special cases
<mbishop> or very small benchmarks
<mbishop> But ocaml is generally faster than haskell
<P_1> there was a darpa paper or something on it
<ktne> haskell is slow afauk
<ktne> afaik
<msingh> is ocaml a small language, do you think?
<P_1> if c code is pretty much supreme
<P_1> why look at haskell and ocaml at all
<P_1> c is easier to program in and faster if what you guys say is true
<msingh> programmer convenience?
<P_1> c is more convenient for me
<P_1> lol
<msingh> wow, really? :)
<P_1> its a lot easier to do things iteratively
<P_1> recursion is beautiful but if it slows things down
<P_1> why do it
<ktne> P_1 you don't have to use recursion
<ktne> P_1 also tail recursive recursion is a fast as iteration
<P_1> i understand that its not necessary to use recursion, but its a lot more attractive to use recursion in a functional programming language
<P_1> and yes i understand that tail recursion is just as fast as iteration
<ktne> yes but for performance reasons you can also use iteration
<P_1> but what im saying is that it sucks since recursion is so beautiful but its slower in a few cases
<P_1> what im saying is that it would be nice to have nice performance coupled with the beauty of recursion
<ktne> i just tried to say that you don't necesarly have to use C because you can use recursion in ocaml too :)
<ktne> err, iteration
seafoodX has joined #ocaml
<P_1> yes but what I'm saying is, its faster to think it out in C than in ocaml and if C produces faster code on average
<P_1> why not just code stuff in C
<ktne> hmm
<ktne> c doesn't necesarly produce much better code
<ktne> then you get a lot more features in ocaml
<ktne> that you don't have in C
<P_1> well the features comes with a heavy price in syntax
<ktne> it's not that bad, i've got used to it :)
<ktne> it's just different :)
<P_1> from an old presentation made by tim sweeney of epic games
<flux> definitely, if you can write faster code in a faster fashion in C, and the code is better maintainable to boot, it makes sense to use C
<P_1> he was talking about haskell and c
<flux> however, many people feel that more expressive languages allow to write complex code that is still readable, with less effort
<P_1> and how haskell and c are both non options to the future of programming in terms of multithreading and data parallelism
<P_1> the reason he says haskell isnt viable is because of the hard syntax, and the reason that c isnt is because it doesnt have really good support to make threading easy
<ktne> P_1 do you have a link to the presentation?
<ktne> hard syntax?
<P_1> yea hold on ill try to find it
<ktne> that's one weird reason :)
<P_1> let me phrase it the way he wrote it
<ktne> it has a syntax optimised for the way it works
<flux> the presentation has been quite much around programming.reddit and other sites.. should be easy to find.
<ktne> not for the way C works
<P_1> "Learning a functional language will scare off a lot of programmers"
<flux> I don't think haskell was criticized for its syntax
<P_1> hold on ill just get a link to it
<ktne> so you don't want to learn a functional programming language because it would scare other programmers? :)
<flux> I think he didn't like global type-inference (or rather, the error messages) and perhaps lazy evaluation was also in the list
<P_1> there we go
<ktne> didn't liked type inference??
<ktne> but i like so much type inference :)
<flux> global type inference, I think local one was ok. and I believe the problem was the error messages, which I admit, can sometimes be difficult to penetrate for the unexperienced.
<ktne> it makes things so easy
<mbishop> C has lots of problems, I think they've all been said before however
<ktne> but those are all fluffy arguments
<flux> not anywhere near as impenetrable as c++ template errors, though..
<P_1> go to page 58
<P_1> it talks about the haskell syntax right there
<ktne> i can't see any serious argument against
<P_1> i was right, he talks about the syntax scaring off programmers
<ktne> i agree that the syntax could be improved, i would like a C-like syntax too, but the syntax is not that bad
<ktne> and it's efficient too, good for it's purpose
<ktne> it's just different from C
<mbishop> I hate C syntax
<msingh> C syntax is fine for that kind of programming
<msingh> but i wouldnt like a FP language with C syntax
<flux> for starters, every block would need to be an expression
<mbishop> scala has a C like syntax
<flux> I guess scala has that, then?
* mbishop shrugs
rutlov has joined #ocaml
<P_1> well anyway the point with sweeney and haskell is that the syntax scares programmers off, but it could enable easy programming for multiple cores compared to c
<P_1> which is what got me interested into functional programming
<P_1> i wouldnt mind swallowing the syntax if it allowed for better performance
<P_1> but from what you guys said its opposite of what i was expecting
<msingh> what kind of programmer gets scared of a bit of syntax?
<P_1> read above
<P_1> i wouldnt, but if it doesnt provide extra performance why learn it
<ktne> P_1 in what way different from what you expected?
<P_1> i was thinking that haskell would produce code that runs much faster than c code
<mbishop> languages aren't just about looks
<ktne> no, usually haskell produces much slower code
<P_1> yea which is a bad thing
<ktne> P_1 but that's because of bad implementation
<P_1> well how does proper haskell implementation look like
<mbishop> Haskell probably COULD, in theory produce faster code, since you (and the compiler) can reason about the code a lot more
<mbishop> C has major problems with aliasing and such, so you can't really reason about the code
<ktne> P_1 the point is that haskell has a lot of barriers to optimisation removed
<ktne> P_1 while C has a lot of problems, so other imperative programming languages
<ktne> P_1 but that doesn't mean anyone actually implemented a good optimiser :)
<P_1> well i want to know how proper haskell implementation would look, is it all done in recursions, or tail recursions, or iteration?
<ktne> haskell people will usually spend time discussing the new fashionable metaconcepts, rather than work on the compiler :)
<P_1> lol
<mbishop> optimizing compilers are hard
<P_1> well some guy did it
<mbishop> the more you optimize, the less helpful your error messages are heh
<P_1> and apparently made some code run faster than c code
<msingh> look a monad :P
<P_1> wait heres the actual link
<P_1> with this guys "supero" compiler hes able to produce compiled code working faster than c code
rutlov has left #ocaml []
<P_1> "The reason for this is an advanced optimisation that has managed to remove <i>all</i> the intermediate lists. In a normal Haskell program, <tt>getContents</tt> would build a list of characters, <tt>lines</tt> would take that list, and build a list of strings, then <tt>length</tt> would take that list and consume it. With my optimisation, no intermediate lists are created at all.<br /><br />While in the previous benchmark it was easy to examine and understa
seafoodX_ has joined #ocaml
<mbishop> you can optimize stuff away until you're faster than C, but most people prefer the code to be helpful (with bounds checking, etc) and correct rather than super fast
<P_1> wow this guy made a presentation too
<P_1> well this guy is optimizing the compiler
<P_1> he talks about why haskell is slower than c
<P_1> on page 5
<ktne> interesting paper
<ktne> howhever it's going to take a while until haskell gets faster
<P_1> im looking forward to some sort of functional language being faster than c 90% of the time
<P_1> its just really nice looking to write things in recursions
<P_1> albeit harder to grasp for me
<ktne> well you have to learn how to use a few primitives, like folding mapping, et
<ktne> P_1 page 35 in first paper is really interesting
<ktne> 90% of integer variables in Unreal exist to index into arrays
<P_1> how are they implementing folds in c
<ktne> “For” loops in Unreal: 40% are functional comprehensions, 50% are functional folds
<P_1> and sorry for my ignorance but what exactly are functional folds
<ktne> folding is like calculating the sum of the elements of a vector
<ktne> foldr (+) 5 [1,2,3,4]
<ktne> this initializes the accumulator with 5, then applies ((((5+1)+2)+3)+4)
<P_1> oh
<P_1> why would he need a loop for that
<P_1> unless its stored in arrays and such
<ktne> foldr max 18 [3,6,12,4,55,11]
<P_1> i have no idea what that means
<P_1> lol
<P_1> max of the list?
<ktne> max(max(max(max(max(max(18,3),6),12),4),55),11)
<P_1> oh i see
<ktne> if + is a function
<P_1> why would u have to input 18 though
<P_1> i mean
<P_1> the max function should just take 1 arguement
<ktne> 18 is the initial value of the accumulator
<ktne> when you compute the maximum value of a vector you have to store something in max
<ktne> usually you store -9999999
<ktne> max=-99999; for (i=0;i<length(list) if (list[i]>max) max=list[i]
<ktne> here is a description of what fold does on wikipedia :)
<flux> p_1, the argument is because you want the case where the list is empty to be well-defined
<P_1> oh
<flux> of course, you can just take the head of the list and the tail of the list, and fail before the call to fold
seafoodX has quit [Connection timed out]
pango has quit ["I shouldn't really be here - dircproxy 1.0.5"]
pango has joined #ocaml
<P_1> whats really interesting though
<P_1> is transparent parallelism
<P_1> its being funded by microsoft as well
bluestorm_ has joined #ocaml
<ktne> P_1 a lot of people are now interested in functional programming
<P_1> yea because of easy maintenance of code + the potential to be the key to parallel programming
<msingh> whoever linked that pdf earlier
<msingh> what was the point?
<msingh> i am 26 pages in and i still dont know
<ktne> msingh it's a paper on the future of programming languages from a practical point of view
<msingh> does it have a happy ending involving lisp?
<ktne> no, it's about haskell :)
<msingh> oh ok .. i need not bother then ;)
ygrek_ has joined #ocaml
ygrek has quit [Remote closed the connection]
P_1 has quit [Remote closed the connection]
jedai has joined #ocaml
<bluestorm_> ktne: what was that paper you were talking about ?
ramkrsna_ has joined #ocaml
smimou has quit [Remote closed the connection]
smimou has joined #ocaml
l_a_m has joined #ocaml
<ktne> bluestorm_ a game programmer from Epic
<ktne> bluestorm_ describing how the unreal engine would be much more efficient if written in a functional programming language
<bluestorm_> ha
<bluestorm_> Sweeney ?
<ktne> yes
<ktne> assuming you have a good optimizing compiler
gaja has joined #ocaml
ramkrsna has quit [Read error: 113 (No route to host)]
<msingh> by unreal do they mean UT2003 or whatever it was?
ygrek_ has quit [Remote closed the connection]
ygrek_ has joined #ocaml
ygrek_ has quit [Remote closed the connection]
ygrek_ has joined #ocaml
rwmjones has joined #ocaml
Cygaal has joined #ocaml
Mr_Awesome has quit ["aunt jemima is the devil!"]
smimou has quit ["bli"]
ramkrsna_ is now known as ramkrsna
olegfink has quit [Read error: 110 (Connection timed out)]
olegfink has joined #ocaml
buluca has joined #ocaml
<mattam> msingh: unreal engine 3, the one behind bioshock :)
Demitar has quit [Read error: 110 (Connection timed out)]
<msingh> that's a great presentation
<bluestorm_> yes it's interesting
<bluestorm_> altough i never found explanations about the "lenient evaluation" he is talking about
<bluestorm_> +h
<bluestorm_> looks like an idea of him, but not really well documented
<mattam> There's a discussion about it on LtU: http://lambda-the-ultimate.org/node/243
<mattam> Sweeney's here actually
<bluestorm_> herf
<bluestorm_> first post : Y :p
<bluestorm_> hm
<bluestorm_> Sweeney looks like a infiltred LtU agent in the world of Real World Computer Use :-p
<ktne> what is LtU?
<ktne> ah :)
Cygaal has quit [Read error: 104 (Connection reset by peer)]
Cygaal has joined #ocaml
seafoodX_ has quit [Read error: 104 (Connection reset by peer)]
ygrek_ has quit [Remote closed the connection]
seafoodX has joined #ocaml
Demitar has joined #ocaml
Demitar has quit ["Burn the land and boil the sea. You can't take the sky from me."]
seafoodX has quit []
zmdkrbou has quit [Read error: 110 (Connection timed out)]
|Jedai| has joined #ocaml
buluca has quit ["Leaving."]
buluca has joined #ocaml
jedai has quit [Read error: 110 (Connection timed out)]
Nickname has joined #ocaml
Nickname has quit [Remote closed the connection]
Demitar has joined #ocaml
Smerdyakov has joined #ocaml
pango has quit [Remote closed the connection]
[azoic] has joined #ocaml
[azoic] has left #ocaml []
pango has joined #ocaml
Nickname has joined #ocaml
Nickname has quit [Remote closed the connection]
P_1 has joined #ocaml
Cygaaal has joined #ocaml
Cygaal has quit [Read error: 113 (No route to host)]
|Jedai| is now known as jedai
buluca has quit ["Leaving."]
buluca has joined #ocaml
slipstream has joined #ocaml
ygrek_ has joined #ocaml
slipstream-- has quit [Read error: 110 (Connection timed out)]
rwmjones has quit ["Closed connection"]
ktne has quit []
bla has joined #ocaml
<bla> Hi.
<msingh> sup
<bla> (;
cannedfish has joined #ocaml
netx has joined #ocaml
ygrek_ has quit [Remote closed the connection]
_JusSx_ has joined #ocaml
Cygaal has joined #ocaml
cannedfish has quit [Remote closed the connection]
cannedfish has joined #ocaml
Mr_Awesome has joined #ocaml
Cygaaal has quit [Read error: 110 (Connection timed out)]
CRathman has joined #ocaml
kosmikus has quit [Read error: 104 (Connection reset by peer)]
kosmikus has joined #ocaml
kosmikus has quit [Read error: 104 (Connection reset by peer)]
kosmikus has joined #ocaml
cannedfish has quit [Remote closed the connection]
cannedfish has joined #ocaml
cpst_ has joined #ocaml
cpst has quit [Read error: 104 (Connection reset by peer)]
Mr_Awesome has quit ["aunt jemima is the devil!"]
buluca has quit [No route to host]
bluestorm_ has quit ["Konversation terminated!"]
kosmikus has quit [Read error: 104 (Connection reset by peer)]
kosmikus has joined #ocaml
love-pingoo has joined #ocaml
buluca has joined #ocaml
cannedfish has quit [Remote closed the connection]
cannedfish has joined #ocaml
<CRathman> how do you get access the Thread.create & Mutex.create?
<CRathman> complains about unbound value - which I assume means that I need to open something first?
<grirgz> you need the option -thread
zer0z0ne has joined #ocaml
zer0z0ne has left #ocaml []
TFK has quit [Read error: 110 (Connection timed out)]
<CRathman> grirgz: thanks.
cannedfish has quit [Remote closed the connection]
cannedfish has joined #ocaml
love-pingoo has quit ["have fun"]
_JusSx_ has quit ["leaving"]
mav_ has joined #ocaml
mvitale_ has joined #ocaml
mav_ has quit ["Leaving"]
mav has quit ["Leaving"]
seafoodX has joined #ocaml
seafoodX has quit []
Cygaal has quit [Remote closed the connection]
cannedfish has quit ["leaving"]
seafoodX has joined #ocaml