gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.1 http://bit.ly/nNVIVH
hongboz has quit [Ping timeout: 244 seconds]
Chambart has joined #ocaml
ChristopheT has quit [Ping timeout: 246 seconds]
emmanuelux has joined #ocaml
ontologiae has joined #ocaml
mnabil has quit [Ping timeout: 244 seconds]
thelema has quit [Ping timeout: 268 seconds]
madroach has quit [Ping timeout: 265 seconds]
madroach has joined #ocaml
thelema has joined #ocaml
ontologiae has quit [Ping timeout: 268 seconds]
lusory has quit [Ping timeout: 240 seconds]
Chambart has quit [Ping timeout: 246 seconds]
Progster has joined #ocaml
jave has quit [Read error: Connection reset by peer]
jave has joined #ocaml
testcocoon has quit [Ping timeout: 246 seconds]
testcocoon has joined #ocaml
thelema has quit [Ping timeout: 245 seconds]
osa1 has joined #ocaml
mattrepl has joined #ocaml
mattrepl has quit [Client Quit]
thelema has joined #ocaml
methods1 has joined #ocaml
methods has quit [Ping timeout: 276 seconds]
emmanuelux has quit [Ping timeout: 246 seconds]
thelema has quit [Remote host closed the connection]
thelema has joined #ocaml
methods1 has quit [Quit: Leaving.]
testcocoon has quit [Ping timeout: 260 seconds]
thelema has quit [Ping timeout: 244 seconds]
osa1 has quit [Quit: Konversation terminated!]
methods has joined #ocaml
thelema has joined #ocaml
ocp has quit [Ping timeout: 256 seconds]
Ptivalternative has joined #ocaml
ocp has joined #ocaml
Ptival has quit [Ping timeout: 244 seconds]
testcocoon has joined #ocaml
Progster has quit [Ping timeout: 260 seconds]
cdidd has quit [Remote host closed the connection]
Ptivalternative has quit [Quit: Quat]
thelema_ has joined #ocaml
thelema has quit [Read error: Connection reset by peer]
olle_ has joined #ocaml
mnabil has joined #ocaml
proq has quit [Ping timeout: 265 seconds]
err404 has joined #ocaml
jave has quit [Read error: Connection reset by peer]
jave has joined #ocaml
Snark has joined #ocaml
olle_ has quit [Ping timeout: 264 seconds]
olle_ has joined #ocaml
Ptival has joined #ocaml
ocp has quit [Ping timeout: 252 seconds]
ulfdoz has joined #ocaml
ontologiae has joined #ocaml
thelema_ has quit [Remote host closed the connection]
thelema has joined #ocaml
ontologiae has quit [Ping timeout: 244 seconds]
olle_ has quit [Ping timeout: 264 seconds]
Chambart has joined #ocaml
sepp2k has joined #ocaml
ChristopheT has joined #ocaml
Yoric has quit [Ping timeout: 246 seconds]
cdidd has joined #ocaml
Kakadu has joined #ocaml
Progster has joined #ocaml
eni has joined #ocaml
Qrntz has quit [Changing host]
Qrntz has joined #ocaml
osa1 has joined #ocaml
eikke has joined #ocaml
olle_ has joined #ocaml
osa1 has quit [Ping timeout: 248 seconds]
osa1 has joined #ocaml
emmanuelux has joined #ocaml
paolooo has joined #ocaml
arsatiki has joined #ocaml
paolooo has quit [Quit: Page closed]
Chambart has quit [Ping timeout: 252 seconds]
<osa1> I'm looking for a library to parse OCaml source, does anoyne know?
Tinned_Tuna has left #ocaml []
lggr has quit [Quit: leaving]
eni has quit [Ping timeout: 246 seconds]
lggr has joined #ocaml
lggr has quit [Client Quit]
lggr has joined #ocaml
Progster has quit [Ping timeout: 260 seconds]
<wmeyer> osa1: You can either use camlp4 or the original OCaml parser in compiler-libs
<wmeyer> my advice be to use camlp4 for time being
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
osa1 has quit [Quit: Konversation terminated!]
osa1 has joined #ocaml
hongboz has joined #ocaml
cago has joined #ocaml
Anarchos has joined #ocaml
oriba has joined #ocaml
oriba has quit [Read error: Connection reset by peer]
thelema_ has joined #ocaml
thelema has quit [Read error: Connection reset by peer]
emmanuelux has quit [Ping timeout: 246 seconds]
cago has quit [Quit: Leaving.]
bddn has quit [Ping timeout: 264 seconds]
hongboz has quit [Ping timeout: 252 seconds]
bddn has joined #ocaml
caligula has quit [Ping timeout: 244 seconds]
osa1 has quit [Ping timeout: 272 seconds]
Yoric has joined #ocaml
lusory has joined #ocaml
osa1 has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
olle_ has quit [Ping timeout: 264 seconds]
mattrepl has joined #ocaml
lusory has quit [Ping timeout: 246 seconds]
Cyanure has joined #ocaml
osa1 has quit [Quit: Konversation terminated!]
sepp2k1 has joined #ocaml
sepp2k has quit [Ping timeout: 276 seconds]
eni has joined #ocaml
Plazma has joined #ocaml
osa1 has joined #ocaml
Yoric has quit [Ping timeout: 260 seconds]
eikke has quit [Ping timeout: 240 seconds]
<Harzilein> would it be hard to add something like the verbose syntax from f#?
<Qrntz> Harzilein, … but OCaml's standard syntax is F#'s verbose one?
<Harzilein> Qrntz: wtf, end exists?
<Harzilein> s/end exists/"end" exists/
<wmeyer> Harzilein: what Qrntz is saying is that the F# verbose syntax resembles the OCaml syntax more than the lightweight counterpart
<Qrntz> exactly
eni has quit [Ping timeout: 246 seconds]
<Harzilein> ah, hmm...
Cyanure has quit [Ping timeout: 252 seconds]
Cyanure has joined #ocaml
eikke has joined #ocaml
wmeyer has quit [Read error: Connection reset by peer]
<Harzilein> well, i think i'd prefer always using "end" where syntactic blocks end over using ;; where they are ambiguous
Cyanure has quit [Ping timeout: 248 seconds]
<Anarchos> Harzilein ;; are never ambiguous ?
wmeyer has joined #ocaml
fschwidom has joined #ocaml
<Qrntz> Harzilein, euhm, you aren't supposed to use ;; to end blocks, it's a phrase terminator in the toplevel and is completely unnecessary in actual source code
<Qrntz> (in case I understood your preference properly)
<ChristopheT> Harzilein: if your worries are with "if ... then ... else" expressions, you can use parentheses to delimit the “blocks” (much like C {}).
<Harzilein> ChristopheT: i have yet to use if then else at all %-)
mnabil has quit [Ping timeout: 246 seconds]
<Harzilein> ChristopheT: my problem is match inside a let defining a function
<Harzilein> ChristopheT: i can use parentheses around the match but they are ugly
<Harzilein> (or at least they appear ugly to me coming from procedural languages where multiline round bracket expressions are ugly)
<Qrntz> Harzilein, could you show us your code?
<Anarchos> Harzilein you can use begin/end if you prefer
<wmeyer> Oh no'! again these syntax wars
<adrien> I vote for a consensus syntax!
<Qrntz> not the revised one please
Snark has quit [Quit: Quitte]
eikke has quit [Ping timeout: 245 seconds]
fschwidom has quit [Ping timeout: 260 seconds]
eikke has joined #ocaml
<Anarchos> wmeyer i too !
<Anarchos> wmeyer i remember the wonderful days of caml light when you had so few primitive syntax :)
hongboz has joined #ocaml
<arsatiki> I'm looking for a simple practice project to get my feet wet in ocaml land
<arsatiki> Are there well-known small problems that demonstrate the philosophy of ocaml well?
caligula_ has joined #ocaml
<Harzilein> Anarchos: i guess i'll have to find the syntax reference, i did not know such a thing exists
<wmeyer> arsatiki: what is your background?
<arsatiki> wmeyer: academic or programming language-wise?
<wmeyer> arsatiki: language-wise, because if you know Haskell then the answer would be different than if you had experience in Ruby
<Anarchos> arsatiki stuff about list : reversing concat etc
<wmeyer> arsatiki: so the question is, if you want to know more about typed functional programming techniques in general, or just need to know how to use practicaly the OCaml module system
<wmeyer> (that's an example)
<arsatiki> Let me think...
<wmeyer> arsatiki: For the first, good starting point are for instance parsing combinators
<arsatiki> I've never really used any of the H-M languages, although I have passing familiarity with Haskell and SML. I know about static type systems but I don't know how to use them effectively.
<wmeyer> arsatiki: that's good already
<arsatiki> I'm more on the dynamic side of the divide, since my first real programming course was around SICP, which tends to leave a mark on a psyche.
<arsatiki> And most of my programming needs are met by Python for the past decade or so.
<wmeyer> arsatiki: definitely. SICP is a nice introduction, many people love it, many hate it. I think reading that was an adventure.
<arsatiki> But I have no problems with C or Java and will happily use either if it makes sense. Usually Java doesn't though for me :-)
<Anarchos> wmeyer what is SICP ?
<Harzilein> Anarchos: structure and interpretation of computer programs
<Harzilein> Anarchos: _the_ scheme textbook
<arsatiki> What I'd like to know is a) what OCaml is good for and b) would I like it?
<arsatiki> A) is difficult because internet says OCaml is good for HFT and aerospace and writing compilers. I don't do any of that stuff =)
<arsatiki> wmeyer: I'm watching the lectures by the original MIT staff now too. They are fantastic.
<wmeyer> arsatiki: a) generally I've not come across any problem that OCaml is not good at, both in terms of expresivity or performance b) You will love it, once you caught a bug, otherwise you might find yourself jealous about haskell using more monads at some point.
<arsatiki> wmeyer: Is there something where OCaml is sort of "order of magnitude" better than say Java? Those are the sort of things I'd love to learn
<hongboz> arsatiki: Writing compilers is true
<Anarchos> arsatiki try to define a tree type in two lines in java....
<Harzilein> from a basic/pascal/perl/c/python/ruby perspective (with educational contact with scheme, prolog, java), i think ocaml is very nice for reading, a lot more than scheme is. so one of the reasons it is good for aerospace (apart from being easy to reason about) is that it's compact while not being very surprising, syntax wise
<wmeyer> arsatiki: from my experience, Java is good at verbose code, and documenting itself. The community is strong because there are lot of them, the quality of the code is different; Swing for me seems to be the poorest GUI toolkit i came across
<arsatiki> right
<wmeyer> arsatiki: More over: Swing is standard java library. No ranting, I had struggle with it in not very distant past. The problem is always, how the language solves your problem. Solving itself is not everything, if there are too many doors open to hell (neverending fixing bugs, and crap abstractions, no extensibility or modularity), then there will be always a person who will enter them incounciously.
<wmeyer> arsatiki: OTOH if the language is clean, and have good fundamantals, like Scheme or ML, then there isn't much choices to say break things by design
<wmeyer> arsatiki: Last eccounter with Java was when I attempted to write simple parsing combinators; and because it was not an evening job, I decided to just go for ad-hoc parser; which I didn't finish, because I sat down and did my chunk of OCaml for this evening.
<wmeyer> so for some reaon you have all the weapons in Java, but you need to write a lot of code
<arsatiki> Indeed
<arsatiki> If I can't think of a good practice project, are these problems sane? http://www.christiankissig.de/cms/index.php/programming/217-99-problems-in-ocaml
<wmeyer> AFAIR - I looked at it, and I didn't like some of the answers
<arsatiki> Right, thanks
<wmeyer> arsatiki: this is a bit old, but I always tend to advise to read: http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/
<arsatiki> Problem sets are problematic. They're good for learning the syntax I guess, but don't really give a clue about the philosophy of the language. (Which is what I care about.)
<wmeyer> you could start from skimming the examples
<arsatiki> Ah, very cool. Thank you!
<wmeyer> arsatiki: You are welcome.
olle_ has joined #ocaml
olle_ has quit [Client Quit]
olle_ has joined #ocaml
olle_ has quit [Client Quit]
methods has left #ocaml []
bzzbzz has quit [Quit: leaving]
eni has joined #ocaml
eikke has quit [Ping timeout: 260 seconds]
mnabil has joined #ocaml
bzzbzz has joined #ocaml
Submarine has quit [Quit: Leaving]
Cyanure has joined #ocaml
mattrepl has quit [Quit: mattrepl]
Kakadu has quit [Quit: Konversation terminated!]
hongboz has quit [Ping timeout: 244 seconds]
ocamler has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
<ocamler> hi
<ocamler> is there a FAQ for this channel?
<ocamler> Im trying to figure out what's the most used date/calendar library in Ocaml
<ocamler> I need my program to be able ot answer questions like "is date xyz a business day?"
dwmw2_gone has quit [Ping timeout: 240 seconds]
fasta has quit [Ping timeout: 240 seconds]
fraggle_ has joined #ocaml
fasta_ has joined #ocaml
dwmw2_gone has joined #ocaml
osa1 has quit [Quit: Konversation terminated!]
ftrvxmtrx has joined #ocaml
<Qrntz> there is no FAQ I know of
<ocamler> Qrntz: as far as I could tell from the website ( I looked before ), that library offers ddate and tiem support, but you can't really ask "is date 'd' a business date"
<Anarchos> ocamler don't forget that business dates depends on the business ! in stock exchange some days are off while other business are on, etc.
eikke has joined #ocaml
<Qrntz> ocamler, could you elaborate on your needs?
<Qrntz> there are functions for converting to/from business dates according to ISO 8601
ChristopheT has left #ocaml []
mnabil has quit [Ping timeout: 244 seconds]
bzzbzz has quit [Quit: leaving]
<ocamler> Anarchos: I know
<ocamler> Anarchos: but I am looking for a some API that alow me to do that
<ocamler> Qrntz: I thought Calendar allowed you to return what business week your date belonged to
<ocamler> I'll look again
<ocamler> yeah, Qrntz, that does not look like what I am looking for. I am looking for a Calendar API that would allow me to figure whether a certain date is a business day or a non-business day. As Anarchos said, that depends on the calendar data... I agree. It looks like Jane Street's Core library has something on these lines
<ocamler> does anyone have experience with Jane Street's Core library
<ocamler> ?
<ocamler> is it is to integrate? is it easy in particuar to cherry pick only certain API from the library wihtout tainting the whole application?
<Qrntz> ocamler, it does allow you to return the business week
<Qrntz> through functions I mentioned
<ocamler> Qrntz: the business week is the number of the week in which that day falls into, am I missing something?
<Qrntz> see to_business, from_business
<ocamler> I've looked at that
<ocamler> did you see what it returns?
<Qrntz> oh, I see, I misunderstood your statement
<ocamler> the useful information it returns is the day of the week
<ocamler> but that will only give you "some" information about non-business days
<ocamler> Ayway gotta run now. I'll be back later. Thanks for the help so far.
ontologiae has joined #ocaml
ocamler has quit [Ping timeout: 252 seconds]
thelema_ has quit [Ping timeout: 260 seconds]
eikke has quit [Ping timeout: 245 seconds]
thelema has joined #ocaml
ontologiae has quit [Ping timeout: 246 seconds]
err404 has quit [Remote host closed the connection]
Anarchos has quit [Quit: back to sleep]