<gasche>
avsm: given the absence of build problems caused by the switch to -use-ocamlfind by default, what would you think of enabling it in version/4.01?
<avsm>
gasche: way too late i'd say. i really think 4.1 just needs to be shipped.
<gasche>
well
<avsm>
gasche: i haven't been using trunk at all, so I havent spotted problems
<gasche>
ok
<gasche>
I was wondering whether your ocaml-ot infrastructure was monitoring trunk buildability
<avsm>
4.1 mainly, not trunk atm
<gasche>
(I mean on-trunk buildability of packages)
<gasche>
hm
<avsm>
i'm just writing down all the infrastructure stuff at this very moment, since we have a lot more resources (50-100 VMs) once we switch to Rackspace
<gasche>
note that enabling -use-ocamlfind or not would not change the release schedule
<avsm>
well, it would change it if it buggers up everyone's projects, presumably
<gasche>
of course
<ollehar>
Kakadu: Thanks, will give it a try!
<gasche>
I thought ocaml-ot would have catched bugs introduced by the change, but it hasn't
<gasche>
(build failures, that is)
<avsm>
need to do a run. What's missing from ocamlot is the auto-rebuilding of cutting-edge compilers
<gasche>
well
<gasche>
I'm mildly tempted to send the -use-ocamlfind change to the version/4.1 branch so that your infrastructure tests it, and then revert
ggole has joined #ocaml
<avsm>
that's manual too
<gasche>
hm
<avsm>
really, i'm at the stage where all these things take up more and more time. Just release it.
<avsm>
I spent ages uploading the new PPAs after Xavier added those
<avsm>
but ofc the CLOSE_EXEC change is really important
<avsm>
(but they broke Core, Lwt, OCamlnet and pretty much anything else that builds on top of Unix)
<gasche>
I saw the Core and Lwt patches
<gasche>
I didn't now OCamlnet re-exported Unix as well
<avsm>
I just saw the ocamlnet breakage. I dont normally use it, so didn't spot it in my use
<gasche>
but did you discuss that on the bugtracker? I mean the change could have been reverted with proper feedback
<avsm>
why revert it? it's an important change
<gasche>
well
<avsm>
(i just posted the patches to fix it). Note that ocamlnet was already broken on 4.1 anyway (multiple object methods)
mfp has joined #ocaml
<gasche>
if a patch breaks user code a few weeks before the release, maybe it should have waited for the next
mcclurmc has joined #ocaml
<avsm>
Anyway, my point is: once you branch, just treat it like a release branch. Not a playground to experiment in any more. If you're unsure about the impact of -use-ocamlfind, then you've answered your own question about whether it gets into a release or not
* avsm
shrugs. The CLO_EXEC thing seems really important. I'm happy to defer to Xavier's opinion on that.
<avsm>
use-ocamlfind: less important
<avsm>
and this will improve for 4.2. We'll have ocamlot much readier to run in production once the infrastructure issues settle
<avsm>
(most importantly, them running on a professionally managed cloud will ensure it *stays* running)
Anarchos has joined #ocaml
mcclurmc has quit [Quit: Leaving.]
djcoin has quit [Read error: Operation timed out]
thomasga has quit [Read error: Operation timed out]
contempt has quit [Read error: Operation timed out]
thomasga has joined #ocaml
contempt has joined #ocaml
djcoin has joined #ocaml
avsm has quit [Quit: Leaving.]
introom has quit [Remote host closed the connection]
zRecursive has joined #ocaml
dsheets has joined #ocaml
introom has joined #ocaml
q66 has joined #ocaml
avsm has joined #ocaml
sofiaaaa has joined #ocaml
<sofiaaaa>
guys, opam repository had been changed?
<thomasga>
nope
<sofiaaaa>
why it can not find opam then
<sofiaaaa>
E: Unable to locate package opam
amirmc has joined #ocaml
<sofiaaaa>
guys
<thomasga>
sofiaaaa: can you be more precise ?
<thomasga>
what are you trying to do ?
<sofiaaaa>
install opam
<sofiaaaa>
add-apt-repository ppa:avsm/ppa
<sofiaaaa>
apt-get update
<sofiaaaa>
apt-get install ocaml opam
<thomasga>
ha right, you speak of the PPA repository
<sofiaaaa>
yes
<thomasga>
avsm: have you changed anything ?
<avsm>
not stable, no
<avsm>
only ppa-unstable
<sofiaaaa>
advice?
<sofiaaaa>
bem brem bem
_andre has joined #ocaml
<avsm>
email me please, busy atm
<sofiaaaa>
what is yr e-mail
<sofiaaaa>
?
<zRecursive>
IIRC, i installed opam from source on freebsd
<sofiaaaa>
any stable repo I can add to install opam
<thomasga>
sofiaaaa: ppa:avsm/ppa-opam-unstable
<thomasga>
or install from sources
<thomasga>
we are preparing the 1.1 release, things are not yet completely smooth
<thomasga>
should be better next week
<sofiaaaa>
thomasga, didn't work either
<sofiaaaa>
install from source, omg
<kerneis>
sofiaaaa: or just get a binary from the web site
<sofiaaaa>
opam 1.0.0 is what I installed
<sofiaaaa>
is this updated
<kerneis>
sofiaaaa: if you have opam 1.0.0, I think you can keep it for a while
<kerneis>
wait for 1.1 to upgrade
<kerneis>
no gurry, except if you have annoying bugs?
<kerneis>
hurry*
<sofiaaaa>
next week u will have it ready guys?
<sofiaaaa>
btw, I wanted to join you in opam. what is the first step?
<gasche>
sofiaaaa: you would be a bit easier to read if you avoided english abbreviations
<gasche>
(what does "join you in opam" mean?)
<sofiaaaa>
gasche, Sorry.
<sofiaaaa>
ah, contribute to Opam.
<sofiaaaa>
I think it's great thing
<sofiaaaa>
yet I am still new to fp
<kerneis>
have you written any piece of code that you could package?
<sofiaaaa>
with caml?
<Anarchos>
sorry for the beginner's question, but what is opam ?
<sofiaaaa>
Anarchos, run. They will jump on you now.
<Kakadu>
interesting, have somebody asked 'what is caml' in this conference?...
<gasche>
Anarchos: opam is a newish package manager for OCaml developped mainly by thomasga and anil
<Guest18064>
Kakadu, your chance!
Guest18064 is now known as f[x]
<Anarchos>
gasche: oh ok
<sofiaaaa>
thomasga, oh
<sofiaaaa>
thomasga, nice to meet you.
<gasche>
it's source-based like GODI, and is also git-based and hm has a nice interface
f[x] has quit [Quit: f[x]]
<sofiaaaa>
what is hm?
<Anarchos>
sofiaaaa: so you have troubles to download the package management ? Hey recursion at the installation level :)
skchrko has quit [Remote host closed the connection]
ygrek has joined #ocaml
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
<gasche>
"hm" was just a sound word to indicate uncertainty, sorry for the confusion
<gasche>
sofiaaaa: if you wish to contribute to the source of opam as a software, you can look on the bugtracker for low-hanging fruits to fix or improve; I don't know if there are any
<gasche>
if you're just an user, I think giving feedback on bugs you would find or problems with the interface can be helpful
<Kakadu>
sofiaaaa: And probably ppa is not your variant than
<sofiaaaa>
gasche, I need some help to kick start
<gasche>
of course, writing packages is also helpful
<gasche>
for the OCaml software you use that is not yet available
<Kakadu>
sofiaaaa: Just build it from source using checkinstall and start your journey after that
<sofiaaaa>
Kakadu, I did. thanks
<sofiaaaa>
gasche, I need help to start the contribution
<gasche>
I'm not familiar with OPAM's internal at all, so I probably won't be able to help you
<kerneis>
sofiaaaa: moreover, what you need before you know how to contribute, is *what* to contribute
<Kakadu>
sofiaaaa: In June opam have not SVN support. Maybe it is not contributed yet
<gasche>
as a general guide I would
<gasche>
first get some experience using the software
<sofiaaaa>
which software
<sofiaaaa>
opam?
<Kakadu>
ye[
<gasche>
then look at the bugtracker and see whether you can help
<gasche>
well sofiaaaa , where do you want to contribute?
<sofiaaaa>
where is the bug tracer link
<gasche>
you've been talking about opam so far
<sofiaaaa>
I need something easy in the first
<gasche>
but you can also contribute in many other ways that could help the OCaml community as a whole
<gasche>
hm
<sofiaaaa>
gasche, like?
<gasche>
something that can always help is more libraries for problem domains that are not well covered by OCaml yet
<sofiaaaa>
sounds cool,
<zRecursive>
Can opam upgrade itself ?
<gasche>
if you write software where, in other language, a specific library is available and helpful
<Anarchos>
gasche: like an interfacing with C++ multithread libs ?
<gasche>
it can be a good idea to develop a binding to it in OCaml, or do a pure-ocaml implementation of similar features
<gasche>
Anarchos: of course; you'll be very helpful to all the other Haiku+ocaml users out there :-'
<gasche>
(and I think you should definitely write about your experience because there is certainly to be gained for other plugin-writers)
<Anarchos>
gasche: i did it for hte Haiku API and finished the proof of concept yesterday
<sofiaaaa>
gasche, I am in.
<sofiaaaa>
gasche, u have gtalk?
<gasche>
nope
<sofiaaaa>
or prefer to be here
<gasche>
hm
<gasche>
to give some examples
<Anarchos>
gasche: 6 threads, 3 windows and use the mouse
<Kakadu>
sofiaaaa: Do u have other SOftware development related experience? (Web, Qt, etc. )
<sofiaaaa>
Kakadu, I do c++
<sofiaaaa>
beginner in ocaml but did some
<Anarchos>
gasche: as soon as i will have time enough ...
<gasche>
I have written very small pieces of OCaml software using the MIDI file format, and another using a part of the OpenCV library
<gasche>
as far as I know there is no publicly available to deal with MIDI, or a binding to OpenCV, in OCaml yet
<Anarchos>
now time to eat with my kid :)
<gasche>
those would be helpful additions
<gasche>
of course, those are from my personal experience, it's always better to work on something you have a personal use for
<gasche>
what kind of software do you write?
<gasche>
(as a rule of thumb: don't write code that you have no use for yourself)
<sofiaaaa>
gasche, what is yr skype
<gasche>
I don't have skype
<sofiaaaa>
just irc?
<sofiaaaa>
any irc clients that keep logs of history then
<sofiaaaa>
I am using hexchat
<thizanne>
look at the topic
<zRecursive>
Is there any STM implementation in OCaml ?
<sofiaaaa>
ah
<gasche>
zRecursive: zheng li had developped something for it, but it was pure-ocaml impl. so not very fast
<Anarchos>
gasche: what is STM ?
q66 has quit [Remote host closed the connection]
<zRecursive>
gasche: URL ?
<zRecursive>
STM means Software Transaction Model ?
<Kakadu>
sofiaaaa: AFAIR there is OCaml-top project at github where guys going to help beginners to have simple IDE for OCaml to study it. Because you are target audience you can review it and explain what is dome bad. Also, imho, it is not very big tool so you can try to study code and start immediately fixing what you don't like in it.
<Kakadu>
Is this article useful for me only if I have +fp version of compiler?
<Kakadu>
There is compiler version 4.01.0+fp so it seems this patches was not added to upstream
<gasche>
Kakadu: the patch was proposed for inclusion upstream
<gasche>
but it is currently on hold, and may not get in at all, because of the performance implications of the change
Anarchos has quit [Quit: Page closed]
<gasche>
it would be a bit vexing to decrease OCaml's performances to work around the lack of a good DWARF implementation in the linux kernel (or design limitations of the perf tool)
<Kakadu>
I have executed the same commad with 4.00.1 and have a similar output. Now I'm wondering what will change if I install +fp OCaml compiler ....
<gasche>
I guess I'll need to upgrade at some point
<Kakadu>
have your bug 727 been inspired by my question?
sofiaaaa has quit [Remote host closed the connection]
<gasche>
Kakadu: yes, indeed
<gasche>
it's the first bug I file on opam
<gasche>
and I feel mildly bad about not using the latest version to test
<gasche>
if some 1.0.0-user out there could confirm that opam config exec --switch <foo> "opam switch show" always reports the current switch instead of <foo>, that would be appreciated
<Kakadu>
I have probably found a simple exercise for sofiaaa. Output is not pretty printed nice: http://paste.in.ua/8552/raw/
piotrm1 has joined #ocaml
<gasche>
hm
<gasche>
Kakadu: aligning this kind of stuff is actually not that easy, but that's a good idea
<gasche>
you should feel free to add that on the OPAM bugtracker and, if you can, tag it as "junior job"
<gasche>
I tagged some "junior job"s on the OCaml bugtracker recently, and I think that can help people trying to contribute
<gasche>
(I wrote a wiki page with junior jobs idea for Batteries, but I'm afraid it may have byte-rotted a bit; it's really better if that can be a lightweight annotation on a working up-to-date issue tracker instead of a separate page)
<gasche>
*job ideas
<Kakadu>
A little bit offtop: is it possible to add label to github issue at the moment of creating it?
<Kakadu>
or I should do it after creating issue?
<Drup>
gasche: I can confirm
<Drup>
with opam dev version minus around a week.
ollehar has quit [Ping timeout: 276 seconds]
ollehar has joined #ocaml
<introom>
I asked the day before yesterday, but I am still confused as the unpacking thing is trivial. My problem is https://gist.github.com/introom/6184355
<gasche>
Drup: thomasga just closed my PR as "cannot reproduce on recent version"
avsm has quit [Quit: Leaving.]
<gasche>
introom: let (_name, _pass, data) = List.nth 2 d in data
<gasche>
otherwise define your own accessors
<gasche>
(eg. let get3 (_v1, _v2, v3) = v3 )
<gasche>
(I use "_name" instead of "_" to give a meaningful name but still disable the unused-value warning)
<Drup>
gasche: Hum, I misread your comment. So, for me 'opam config exec --switch <foo> "opam switch show"' print "<foo>
<gasche>
ok
<gasche>
that's the expected behavior of course
<gasche>
introom: as was said yesterday, you may want to use records instead of tuples
<introom>
ahhh, yesterday?
avsm has joined #ocaml
<thomasga>
Kakadu: thx for the "junior" issue, I've created a milestone for these
<gasche>
not sure if it was yesterday
<introom>
I forget that List has nth method :-)
<thomasga>
(currently quite empty unfortunately)
<gasche>
introom: it shouldn't be used as it has a linear-time complexity
piotrm_ has quit [Remote host closed the connection]
cdidd has quit [Ping timeout: 240 seconds]
travisbrady has joined #ocaml
cdidd has joined #ocaml
travisbrady has quit [Client Quit]
travisbrady has joined #ocaml
amirmc has quit [Quit: Leaving.]
osa1 has joined #ocaml
piotrm_ has joined #ocaml
<piotrm_>
are there any simple examples out there on how to use jane street's async for parallelism ?
<kerneis>
piotrm_: Real World OCaml maybe?
<kerneis>
(just guessing)
beckerb has joined #ocaml
yezariaely has quit [Quit: Leaving.]
cdidd has quit [Remote host closed the connection]
pango_ has quit [Remote host closed the connection]
piotrm_ has quit [Remote host closed the connection]
amirmc has joined #ocaml
zpe has quit [Remote host closed the connection]
avsm has quit [Quit: Leaving.]
cdidd has joined #ocaml
osa1 has quit [Quit: Konversation terminated!]
amirmc has quit [Ping timeout: 256 seconds]
osa1 has joined #ocaml
ollehar1 has joined #ocaml
ollehar has quit [Ping timeout: 260 seconds]
<Kakadu>
Guys, if I parse arithmetic expressions with parser-combinators when backtracking can possibly happen?
<Kakadu>
Ii want to see backtracking, use memoization and don't see backtracking after that
<whitequark>
rixed: it doesn't seem that 4.01 is compilable now :/ O_CLOEXEC
demonimin has quit [Remote host closed the connection]
shinnya has joined #ocaml
demonimin has joined #ocaml
zpe has joined #ocaml
levi has quit [Read error: Connection reset by peer]
levi has joined #ocaml
zpe has quit [Ping timeout: 264 seconds]
avsm has joined #ocaml
morolin has joined #ocaml
<chris2>
in the ocaml topleve, is there something like #load_rec which will load the source files like #use? (but figure out the modules and their deps...)
<ggole>
Source files, no
<ggole>
You have to compile them and use #load: better, use a build system to do all the fiddling for you
<chris2>
so, what is a good workflow? build everything with ocamlbuild, load_rec the stuff, and then use while changing a single file?
<ggole>
Use a build system
<chris2>
ocamlbuild is a build system, no?
AltGr has quit [Quit: Konversation terminated!]
<whitequark>
and tests, preferably automated
<ggole>
You can compile toplevels with all the modules you want already loaded
<chris2>
ok
<ggole>
Yes, ocamlbuild makes compiling toplevels pretty easy
<chris2>
i have been using simple programs that i compile and just run
<ggole>
Basically: make toplevel.mltop and put all your module names in that
<ggole>
Then ocamlbuild toplevel.top
<chris2>
ok
<ggole>
This is easier than fiddling with the toplevel as soon as you pass one file, imo
<chris2>
yeah
thomasga has quit [Quit: Leaving.]
<chris2>
i mainly miss printing arbitrary terms quickly :>
<chris2>
i have "true: thread" in _tags, why doesnt it pass it on to ocamlmktop...
amirmc has joined #ocaml
amirmc has quit [Ping timeout: 246 seconds]
<ggole>
chris2: hmm, it certainly should do that
<chris2>
-cflags -thread works
<chris2>
but -tag thread doesnt
introom has quit [Remote host closed the connection]
<ggole>
(I haven't gone through that process myself though.)
<chris2>
yay, after renaming everything i can build a toplevel :>
<technomancy>
ggole: ah; I was thinking that was for libraries rather than applications, but it looks like that's not true
<technomancy>
thanks
Kakadu has quit [Quit: Konversation terminated!]
<chris2>
opam is pretty "flexible"
jpdeplaix has quit [Ping timeout: 276 seconds]
<ggole>
gasche: ping
thelema has joined #ocaml
thelema_ has quit [Remote host closed the connection]
avsm has quit [Quit: Leaving.]
<chris2>
technomancy: so, what makes you interested in ocaml?
<technomancy>
chris2: I need something that will fit places where I can't take the JVM =)
<technomancy>
and it's basically the only other place (outside clojure) I can sane equality (egal) without having to hear abound monads day in and day out =)
mcclurmc has joined #ocaml
<chris2>
technomancy: hehe, yay
rossberg has quit [Ping timeout: 240 seconds]
<technomancy>
thinking of writing a fast-start launcher for Leiningen that can communicate with a running daemon for starters
<technomancy>
chris2: what are you using it for?
<chris2>
oh, i did a compiler building course and used it
<chris2>
and now i'm toying with a shell-like language
<chris2>
and prototyping an interpreter with it
<technomancy>
cool
<chris2>
but i think i
<chris2>
'll rewrite that one in C for production use
<chris2>
after i know how its supposed to work :)
thomasga has joined #ocaml
darkf has quit [Quit: Leaving]
<technomancy>
C so you'd have an easier time getting contributions from others?
<chris2>
nah, i want a really small binary
mort___ has quit [Ping timeout: 276 seconds]
<technomancy>
gotcha
<technomancy>
it looks like you can't get under ~200k or so with ocaml?
jpdeplaix has joined #ocaml
<chris2>
dunno, i use Core right now and it's more like 10mb :P
<whitequark>
I don't have Core and the binary is still about 10mb
<whitequark>
which is to be honest perfectly fine these days even for embedded targets
<ggole>
The linker doesn't elide unreferenced code afaik
<chris2>
yep
<ggole>
So you get all the bits of the stdlib you don't need
<chris2>
a good tree shaker would help a lot already i guess
<technomancy>
huh; you'd think that wouldn't be too hard given how much the compiler knows up front
<technomancy>
I guess it just hasn't been a priority
<chris2>
i wonder if it's that easy...
zpe has joined #ocaml
pkrnj has joined #ocaml
zpe has quit [Ping timeout: 256 seconds]
travisbrady has quit [Quit: travisbrady]
tane has joined #ocaml
hcarty has quit [Ping timeout: 264 seconds]
cdidd has quit [Ping timeout: 264 seconds]
hcarty has joined #ocaml
<gasche>
whitequark, ggole: I work in asychronous mode over IRC as well
<ggole>
gasche: ocamlbuild doesn't seem to know that thread.cma depends on Unix. Is that a bug?
<ggole>
Repro: mkdir test && cd test; echo 'let _ = ()' > test.ml; echo Test >toplevel.mltop; echo 'true: thread' >_tags; ocamlbuild -classic-display toplevel.top
<whitequark>
gasche: I considered using GADTs for something but then it stopped looking like a good idea
<whitequark>
so nevermind
dsheets has quit [Ping timeout: 276 seconds]
cdidd has joined #ocaml
zpe has joined #ocaml
travisbrady has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
cdidd has quit [Remote host closed the connection]
cdidd has joined #ocaml
<gasche>
whitequark, ggole: I work in asychronous mode over IRC as well; do not hesitate to ask question, bug pings are futile
<gasche>
hm
<whitequark>
oh I see
<whitequark>
thanks.
<gasche>
sorry for the repost
<gasche>
ggole: thanks, will have a look later; do not hesitate to post bug reports in such cases (better too much than not enough)
<ggole>
OK.
avsm has joined #ocaml
zpe has joined #ocaml
ohama has quit [Ping timeout: 240 seconds]
amirmc has joined #ocaml
dsheets has joined #ocaml
zpe has quit [Ping timeout: 264 seconds]
piotrm0 has joined #ocaml
amirmc has quit [Ping timeout: 256 seconds]
tianon has quit [Ping timeout: 276 seconds]
tianon has joined #ocaml
<piotrm0>
is there a clearly preferred mode of doing graphics in ocaml? I see at least 2 options for openGL bindings
<chris2>
anyone use jenga to actually build ocaml projects?
<avsm>
it's still under development, but yes, I've been experimenting with it
<rks`>
chris2: you shouldn't.
<rks`>
(you shouldn't because it still very much in development as avsm said)
<avsm>
The authors are quite interested in feedback, though I wouldn't use it in production just yet
<chris2>
ok
<chris2>
i guess it will have default rules for ocaml things one day?
<avsm>
i imagine so. that would just be a library of rules
<chris2>
yep
ollehar1 has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
zpe has joined #ocaml
amirmc has joined #ocaml
ninon has joined #ocaml
<ninon>
hello, i'm trying to build: https://github.com/sgimenez/laby i have ocaml 4, i installed liblablgtk2-ocaml-dev and liblablgtk2-ocaml, but i'm getting error: "Error: /usr/lib/ocaml/lablgtk2/gdkPixbuf.cmi is not a compiled interface for this version of OCaml. It seems to be for an older version of OCaml." when trying to compile using make
<ninon>
i'm on ubuntu
amirmc has quit [Ping timeout: 264 seconds]
<ninon>
i forgot how i installed ocaml, but how can i remove it so that i try with version 3.12?
Yonex has joined #ocaml
zpe has quit [Ping timeout: 276 seconds]
Xom has joined #ocaml
ulfdoz has joined #ocaml
amirmc has joined #ocaml
amirmc has quit [Ping timeout: 246 seconds]
zpe has joined #ocaml
clog has quit [Ping timeout: 256 seconds]
clog has joined #ocaml
ninon has quit [Quit: Page closed]
dsheets has joined #ocaml
amirmc has joined #ocaml
osa1 has quit [Ping timeout: 240 seconds]
ggole has quit []
zpe has quit [Ping timeout: 264 seconds]
clog has quit [Ping timeout: 256 seconds]
clog has joined #ocaml
piotrm0 has quit [Remote host closed the connection]