jake-is-a-virus has quit [Quit: ChatZilla 0.9.86 [Firefox 3.5.7/20100106054534]]
matt__ has joined #ocaml
matt__ has quit [Quit: Konversation terminated!]
matt__ has joined #ocaml
matt__ has left #ocaml []
matt__ has joined #ocaml
matt__ has quit [Remote host closed the connection]
fomatt has joined #ocaml
<dark>
Hello! I always use my own conventions while programming in ocaml: my own homegrown makefile, my own indent convention etc. I now want to try adhering the ocaml usual conventions. Apps are usually compiled with OMake + findlib, right?
<dark>
would anyone recommend me omake for new projects?
<dark>
some said it's unmaintained
seafood has quit [Quit: seafood]
tmaedaZ is now known as tmaeda
Amorphous has quit [Ping timeout: 256 seconds]
seafood has joined #ocaml
Amorphous has joined #ocaml
fomatt has left #ocaml []
fomatt has joined #ocaml
tmaeda is now known as tmaedaZ
tmaedaZ is now known as tmaeda
travisbrady has quit [Quit: travisbrady]
<flux>
dark, I've found the use of omake to be quite rare, but I guess it's a decent option. batteries uses it.
<dark>
flux, yeah i am going to ask about batteries
<dark>
there are ropes, and utf-8 strings in a separated module
<dark>
I want to build a irc client / bot engine. should I use what?
<dark>
I am worried about charset compatiblity and charset translation
<flux>
the standard solution is to use ocamlbuild, which comes with the ocaml itself. but, it is not that easy to use, for example for findlib-integration you need put in a ready-made 70-line configuration.. (actually it's an .ml-file)
<dark>
flux, but to use findlib the compiling host must have findlib installed right?
<flux>
dark, sure
<dark>
so give me a biased opinion (there is such a thing as a unbiased opinion?lol), what should I use?
<flux>
I have no expeirence in omake, but it should be easy enough to make it work. if you'll use batteries anyway, the user likely has omake installed anyway.
<flux>
and omake does have some nice features, like directory monitoring for recompilation etc, and familiar syntax
<flux>
I suppose it handles the ocaml's cmo/cmi-situation decently, perhaps even out-of-the-box
<dark>
ah the batteries guy is thelema not you
<flux>
yes :)
<dark>
flux, what do you use?
<flux>
I use ocamlbuild
<dark>
with standard makefiles?
<flux>
before I switched to ocamlbuild I used OCamlMakefile
<flux>
it's pretty nice as well
<dark>
ocamlbuild is a build system in itself?
<dark>
or it uses also makefiles?
<flux>
it is a build system, doesn't use Makefiles
<dark>
flux, that directory monitoring feature is nice
<dark>
flux, i think that someone should continue the omake work =p
<flux>
:)
<dark>
because nowdays software tends to not work anymore if it not get updated :(
<flux>
in any case if it's a smallish project such as an irc-bot, I don't think switching the build system later on would be that big of an issue
<flux>
ocamlbuild is nice in that it doesn't need a separate 'make depend'-stage
<flux>
but to implement that it apparently does quite a lot of work
<flux>
I haven't used ocamlbuild yet for anything big, but apparently the previous incarnation of batteries did find that ocamlbuild could be slow
tmaeda is now known as tmaedaZ
thrasibule has quit [Ping timeout: 260 seconds]
avsm has joined #ocaml
<dark>
flux, but i want something cool
<dark>
not for easing the management but for being pleasurable
<dark>
eg. i find git cool for versioning
<flux>
:)
sfuentes has joined #ocaml
sfuentes has left #ocaml []
sfuentes has joined #ocaml
<sfuentes>
Can anyone recommend a good book for getting up to speed with ocaml?
<flux>
Introduction to Objective Caml. happily it's available online for free, in addition to that there are two variants of it available for purchase.
sysop_fb has left #ocaml []
<flux>
avoid Practical O'Caml
<sfuentes>
what about OCaml for Scientist?
<flux>
it's good as well, I hear
<sfuentes>
and what are the two variants you speak of?
<flux>
well, there was some copyright dispute around the book IOC. the work originates from two authors and they have both published a book.
<sfuentes>
i'm looking to purchase a print copy
<flux>
I'm not sure what's the situation now.
<sfuentes>
ok. well thank you for your feedback.
<flux>
apparently jason hickey is yet to publish the book and I can't find the other variant, so perhaps OCaml for Scientists is the best option. it is not cheap, however..
<flux>
good luck :)
<sfuentes>
it is pretty pricey ... i would imagine there's a good reason for it though
<sfuentes>
btw my understanding is that f# is very, very similar to ocaml .... thus i wonder if you happen to know whether there is much difference between the two besides the .net platform that comes with f#
<Associat0r>
sfuentes: also because OCaml lacks op overloading and has does structural subtyping you have to annote types less than in F#
<Associat0r>
there is a delimited overloading workaround though
<Associat0r>
also Ocaml batteries added comprehension syntax like you see in Haskell and F#
<Associat0r>
sfuentes: anyway if you are into F# there is #fsharp
<sfuentes>
Associat0r: thank you for the info.
<sfuentes>
I always wanted to learn ocaml so I think I'll start with that.
<sfuentes>
Associat0r: how long have you been using ocaml if i may ask?
<Associat0r>
I only dabbled in it, mostly to learn FP
<Associat0r>
my main language is FP lang is F# now
<Associat0r>
I started like 2 years ago
<sfuentes>
and i presume you like f#, correct?
<Associat0r>
sfuentes: I wish it had some Ocaml features
<Associat0r>
sfuentes: but I'm on windows and already used to Visual Studio and I need good numerical performance
<Associat0r>
sfuentes: so that were my main reasons
<sfuentes>
i see. that's cool.
<sfuentes>
i imagine it will be inevitable for me to learn f#.
<Associat0r>
sfuentes: if you are on *nix and don't need much numerical work and a no compromise language than OCaml is a better choice
<sfuentes>
what about haskell?
<Associat0r>
I learned some of that as well
<Associat0r>
that's an even more no compromise design
<Associat0r>
since it's all pure but you have to workaround stuff a lot to make it do what you want
<Associat0r>
and getting good performance out of it isn't easy
<sfuentes>
well i'm mostly on *nix systems so i'm going to start with ocaml and go from there.
<sfuentes>
thanks again
<Associat0r>
np
<Associat0r>
sfuentes: it's good to learn some haskell too
ttamttam has joined #ocaml
BigJ has joined #ocaml
slash_ has joined #ocaml
_unK has joined #ocaml
avsm has quit [Quit: Leaving.]
ikaros has quit [Quit: Leave the magic to Houdini]
ikaros has joined #ocaml
Drk-Sd has joined #ocaml
pimmhogeling has joined #ocaml
seafood has quit [Quit: seafood]
maskd has joined #ocaml
pimmhogeling has quit [Remote host closed the connection]
avsm has joined #ocaml
derdon has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
Drk-Sd has quit [Quit: /]
tmaedaZ is now known as tmaeda
_zack has joined #ocaml
derdon has quit [Quit: derdon]
Associat0r has quit [Quit: Associat0r]
tmaeda is now known as tmaedaZ
_zack has quit [Ping timeout: 245 seconds]
ksson has joined #ocaml
avsm has quit [Quit: Leaving.]
<quelqun_dautre>
(au fait, ya des francophones ici ?)
smimou has joined #ocaml
Yoric has joined #ocaml
<Camarade_Tux>
quelqun_dautre: many, and you can actually /join #ocaml-fr ;-)
<quelqun_dautre>
thx :D
Drk-Sd has joined #ocaml
ski_ has quit [Quit: Lost terminal]
_zack has joined #ocaml
Anarchos has joined #ocaml
Narrenschiff has joined #ocaml
Drk-Sd has quit [Quit: Lost terminal]
Drk-Sd has joined #ocaml
pimmhogeling has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
pimmhogeling has quit [Read error: Connection reset by peer]
penny has joined #ocaml
dark has quit [Remote host closed the connection]
penny has quit [Quit: ERC Version 5.2 (IRC client for Emacs)]
_zack has quit [Ping timeout: 265 seconds]
ksson has quit [Ping timeout: 260 seconds]
tmaedaZ is now known as tmaeda
Anarchos has joined #ocaml
Anarchos has quit [Ping timeout: 256 seconds]
rwmjones has quit [Ping timeout: 272 seconds]
Anarchos has joined #ocaml
Drk-Sd has quit [Read error: Operation timed out]
Drk-Sd has joined #ocaml
Anarchos has quit [Ping timeout: 256 seconds]
avsm has joined #ocaml
thrasibule has joined #ocaml
thrasibule has quit [Read error: Connection reset by peer]
thrasibule has joined #ocaml
_unK has quit [Remote host closed the connection]
Narrenschiff has quit [Quit: Narrenschiff]
travisbrady has joined #ocaml
sysop_fb has joined #ocaml
sysop_fb has left #ocaml []
Yoric has quit [Quit: Yoric]
Anarchos has joined #ocaml
det has joined #ocaml
Anarchos has quit [Ping timeout: 258 seconds]
solistic has joined #ocaml
derdon has joined #ocaml
_zack has joined #ocaml
_zack has quit [Client Quit]
cygwinports has joined #ocaml
<cygwinports>
is it expected that ocaml libs built against 3.11.1 will be incompatible with 3.11.2?
<cygwinports>
that's what I've seen, I'm getting inconsistent assumption errors in interface Obj and implementation String
Alpounet has quit [Ping timeout: 240 seconds]
pimmhogeling has joined #ocaml
<mfp>
cygwinports: binary compatibility is broken whenever the interface changes
<cygwinports>
and there is no guarantee when an interface will changed or not?
<thelema>
cygwinports: none at all, that I know of.
<flux>
cygwinports, it'd be quite limiting, because extending an interface is a change as well
<cygwinports>
so that means that all ocaml libraries have to be rebuilt for each point release?
<flux>
yes. well, binaries don't depend on the libraries, so upgrading doesn't break binaries, only the development environment.
<mfp>
yes, the repackagers (Debian, Fedora, etc.) rebuild the libs on each release
<mfp>
*all the...
<cygwinports>
as a packager myself, it would be nice to have some consistency, at least in a given x.y series
<flux>
if you don't use such a distribution, there's the alternative of Godi, which does that for you
<cygwinports>
in a way I *am* a distribution :-)
<mfp>
cygwinports: have you seen the paper about versioning by the Debian OCaml maintainers?
<flux>
was it debian, I was thinking redhat?
<cygwinports>
no, I knew they used to use /usr/lib/ocaml/$version, but it looks like they stopped
<cygwinports>
actually, I see fedora: "Rationale: OCaml does not offer binary compatibility between releases of the compiler (even between bugfixes). "
<mfp>
flux: I'm quite certain the Debian guys wrote a paper describing "interface approximations", along with the ocamldumpapprox tool
<mfp>
"We discuss how to guarantee link-time compatibility using inter-package relationships; in doing so, we take into account real-life maintainability problems such as support for automatic package rebuild and manageability of ABI ... We present the dh_ocaml implementation of the proposed solution, which is currently in use in the Debian distribution to safely deploy more than 300 OCaml-related packages."
<cygwinports>
so bottom line I should expect to rebuilt all ocaml libraries for each ocaml point release
<thelema>
yes. They're not particularly frequent at this point.
<cygwinports>
ok, one more question, flexdll-built code can't seem to survive a fork()
_unK has joined #ocaml
<thelema>
can't help there.
avsm has quit [Quit: Leaving.]
pimmhogeling has quit [Ping timeout: 256 seconds]
<solistic>
Hello what should I read to get a quick start with OCaml (I have some basic knowlege about lambda-calculus and Haskell)?
<flux>
perhaps the official ocaml manual?
<solistic>
flux: Ah, Part | - The core language looks like a good starting point