sgnb has quit [Read error: Connection reset by peer]
sgnb has joined #ocaml
sysop_fb has joined #ocaml
sysopfb has quit [Ping timeout: 245 seconds]
Zerker has quit [Quit: Colloquy for iPad - Timeout (10 minutes)]
sysopfb has joined #ocaml
Zerker has joined #ocaml
sysop_fb has quit [Ping timeout: 245 seconds]
contempt has quit [Disconnected by services]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
contempt has joined #ocaml
Yoric has joined #ocaml
hkBst has quit [Ping timeout: 272 seconds]
thomasga has joined #ocaml
mika1 has joined #ocaml
cago has joined #ocaml
Snark has joined #ocaml
pango has quit [Ping timeout: 252 seconds]
ocp has joined #ocaml
fraggle_ has quit [Ping timeout: 252 seconds]
djcoin has joined #ocaml
UncleVasya has quit [Read error: Connection reset by peer]
fraggle_ has joined #ocaml
chambart has joined #ocaml
frogfoodeater has quit [Ping timeout: 256 seconds]
eikke has joined #ocaml
jbrown has joined #ocaml
frogfoodeater has joined #ocaml
tane has joined #ocaml
eikke has quit [Ping timeout: 264 seconds]
eikke has joined #ocaml
contempt has quit [Disconnected by services]
contempt has joined #ocaml
eikke has quit [Ping timeout: 245 seconds]
Arsenik has quit [Ping timeout: 246 seconds]
wwilly has joined #ocaml
<wwilly>
bonjour
eikke has joined #ocaml
<pippijn>
morning
eikke has quit [Ping timeout: 256 seconds]
eikke has joined #ocaml
tianon has quit [Ping timeout: 256 seconds]
mcclurmc has quit [Ping timeout: 256 seconds]
tchell has quit [Ping timeout: 245 seconds]
tianon has joined #ocaml
frogfoodeater has quit [Ping timeout: 240 seconds]
chambart has quit [Ping timeout: 246 seconds]
contempt has quit [Ping timeout: 246 seconds]
mort___ has joined #ocaml
contempt has joined #ocaml
hkBst has joined #ocaml
djcoin has quit [Quit: WeeChat 0.3.9.2]
hkBst has quit [Ping timeout: 260 seconds]
eikke has quit [Ping timeout: 260 seconds]
eikke has joined #ocaml
tchell has joined #ocaml
<wmeyer>
morning
<adrien_oww>
o/
Yoric has quit [Read error: Operation timed out]
malo has joined #ocaml
ontologiae has joined #ocaml
contempt has quit [Ping timeout: 256 seconds]
contempt has joined #ocaml
Yoric has joined #ocaml
tane has quit [Quit: Verlassend]
mcclurmc has joined #ocaml
yacks has quit [Read error: Operation timed out]
<vbmithr>
Hi!
<vbmithr>
Do somebody knows the difference between fields standard_library_default and standard_library of `ocamlc -config` ?
wsebastian has joined #ocaml
yacks has joined #ocaml
redfire has joined #ocaml
RagingDave has joined #ocaml
chambart has joined #ocaml
beckerb has joined #ocaml
Tobu has joined #ocaml
contempt has quit [Ping timeout: 255 seconds]
contempt has joined #ocaml
ttamttam has quit [Quit: ttamttam]
Tobu has quit [Ping timeout: 246 seconds]
wsebastian has quit [Remote host closed the connection]
ontologiae has quit [Ping timeout: 260 seconds]
ttamttam has joined #ocaml
ttamttam has quit [Ping timeout: 256 seconds]
mcclurmc has quit [Remote host closed the connection]
_andre has joined #ocaml
contempt has quit [Ping timeout: 264 seconds]
contempt has joined #ocaml
malo has quit [Remote host closed the connection]
contempt has quit [Ping timeout: 264 seconds]
mcclurmc has joined #ocaml
contempt has joined #ocaml
ontologiae has joined #ocaml
yacks has quit [Ping timeout: 252 seconds]
frogfoodeater has joined #ocaml
contempt has quit [Ping timeout: 256 seconds]
contempt has joined #ocaml
contempt has quit [Remote host closed the connection]
fasta has quit [Quit: No Ping reply in 180 seconds.]
fasta has joined #ocaml
talzeus has quit [Remote host closed the connection]
ollehar has joined #ocaml
UncleVasya has joined #ocaml
frogfoodeater has quit [Ping timeout: 264 seconds]
hkBst has joined #ocaml
<companion_cube>
is there a way to tell ocamlbuild where is ocamlfind?
ewanas has quit [Changing host]
ewanas has joined #ocaml
<adrien_oww>
yes
<adrien_oww>
your PATH environment variable
<adrien_oww>
I don't understand why there are so many ugly and complicated things out there (no matter the language) when there's a simple solution: set your PATH
Zerker has quit [Ping timeout: 258 seconds]
Zerker has joined #ocaml
<adrien_oww>
alternatively, you can read up on ocamlfind.conf
<adrien_oww>
I mean
<adrien_oww>
*READ*
<adrien_oww>
*NOW*
<companion_cube>
findlib.conf, you mean?
<adrien_oww>
yes :D
Neros has joined #ocaml
<ewanas>
Might as well ask this: Is there any tool like pkg-config to be used in conjunction with something like opam to make writing compiling easier(easier for the person issuing the compile command :p)
<ewanas>
I'm having to -I +~/.opam/system/lib/batteries/ to start adding batteries
<ewanas>
but everyone seems to be in on the config file that allows ~/.opam/system/lib to be part of the search path so I can just +batteries
<ewanas>
out with it. what's the config file?
<ewanas>
ocamlfind query batteries gets me the same path
<adrien_oww>
ocamlfind
<ewanas>
but I am not quite sure what's the idiomatic way
<thelema_>
ousado: yes, I think it's just inproposal stage
<eikke>
pippijn: check http://github.com/Incubaid for some of the things we make. If interested, send me an email, nicolas at incubaid.com
<gasche>
Incubaid is belgium-located, right?
<pippijn>
belgium
<gasche>
oh eikke, I had a question for you
<pippijn>
Lochristi
<eikke>
yes, .be
<pippijn>
do people speak dutch there?
<eikke>
gasche: shoot
<gasche>
I saw that you were looking at SIMD for the GHC LLVM backend
<pippijn>
Antwerpse Steenweg 19
<pippijn>
seems like yes
<pippijn>
good for me :)
<eikke>
dutch indeed, but we do quite a lot in english since we got people in other non-.be locations as well
<pippijn>
also good for me
<eikke>
gasche: yup
<gasche>
are you considering using Haskell more for your products, is that just a personal experiment of yours, and have you investigated similar low-level stuff for OCaml?
<gasche>
it piqued my sense of competition
<gasche>
(to the point that I spent a whole afternoon looking at the state of the OCaml+LLVM business)
<eikke>
gasche: honestly I personally tend to like Haskell more than OCaml, so in my spare time I mostly do Haskell stuff
<gasche>
hm, afk
<eikke>
gasche: we don't have a real use case for SIMD at the company right now
<eikke>
(ocaml nor haskell)
<adrien>
he didn't like your answer :D
<eikke>
lol
<eikke>
so when I was looking into those things, it was just out of personal interest
<pippijn>
arakoon
<eikke>
pippijn: hmm?
<pippijn>
just looking at it :)
<eikke>
oh, right. don't look at the website too much, it needs work.
<pippijn>
the website is in java
<gasche>
back
<gasche>
as I said, I've been looking at the state of OCaml+LLVM
<eikke>
pippijn: uh? no, its static github pages, some of it generated through Sphinx
<eikke>
gasche: that's interesting (not only from a SIMD point of view)!
<gasche>
but in the end I could not motivate myself to consider investing more work/time on it, because it is very unclear that this might be worth the investment
<gasche>
I'm under the impression that it would be useful for some numeric computing tasks
<eikke>
taking my experience with ghc/llvm into account, it can certainly be worth some experimenting in computationally-intensive code
<gasche>
but also probably hurtful or borderline-equivalent for symbolic manipulation code
<eikke>
but obviously the existing code generator quality has some influence on the possible speedups
<gasche>
my understanding is that OCaml's is pretty good already
<gasche>
(it's not as good as LLVM to use exotic instruction sets, certainly)
<adrien>
didn't something like HLVM support only part of the language, with little interest to support the other features but with some kind of simple bridge between hlvm-compiled code and regular-compiled code?
<gasche>
unfortunately, the software for the last superoptimization work is not available
<gasche>
so I haven't been able to test
<gasche>
adrien: that was the plan, and it is a sound plan, I believe
<eikke>
gasche: did you read the papers on the simd vector work?
<gasche>
in practice I haven't seen HLVM go anywhere
<gasche>
(lots of hype from jdh, sure, but the details were meh)
<gasche>
eikke: no
<gasche>
you mean the recent Fusion work, or some Accelerate/Repa stuff I don't know about?
<adrien>
well, the code is available and there was also Alp Mestan on it
<eikke>
gasche: fusion with multi's
<gasche>
so I've had a look at it, yes
<adrien>
afaiu, it was getting to a very usable point with nice performance but around the same time, both jdh and Alp Mestan basically disappeared
<eikke>
basically, for ocaml, I think having some support for stream fusion might be more interesting
<gasche>
adrien: did Alp really work on HLVM? I was not aware of that
<gasche>
agreed, but it's unclear of stream fusion would work without strong purity assumptions
<companion_cube>
+1
<companion_cube>
</constructiveness>
<gasche>
I regret Alp entirely moved to Haskell, but it's nice to know people there as well :)
<eikke>
hmh, right, the purity thing
<eikke>
didn't consider that
<gasche>
I've been thinking about having a purity qualifier (as a very primitive effect system) in OCaml, but it's difficult to do something that is neither too naive nor too complex
<ggole>
Is Ocaml's codegen really that good? The little assembly output I've looked at hasn't really impressed.
<gasche>
npouillard had a prototype where he just stripped all the effectful stuff away, and I must say it was rather interesting
<gasche>
ggole: it is surprisingly good
<adrien>
gasche: I know Alp looked fairly closely at HLVM; I don't know how much he worked on it
<gasche>
the code is not beautiful and looks fairly naive in some places
<ggole>
Maybe I have an old compiler, but it doesn't seem to know the usual branch tricks with cmov, sbb, etc
<adrien>
it's been some time so don't take what I say for granted but I think he did some commits
<gasche>
but you'll find that all the obvious changes you would like to make won't actually improve speed much
<eikke>
gasche: in my experience the ocaml codegen is similar to the native ghc codegen (in 7.x at least). for some tight loops llvm does provide quite some improvements though
<gasche>
besides, the integration with the runtime is very good
<gasche>
eikke: indeed
<gasche>
the problem is that we have very few tight loops in OCaml strong application domains
<eikke>
true
<gasche>
I mean, you won't really speed up linked list traversal
<adrien>
gasche: btw, I've grown very frustrated with the inability of ocaml to tell me that some function is unused
bsrkaditya has left #ocaml []
<ggole>
I noted how it moves the slow path for allocation out of a function
<gasche>
adrien: unused?
<adrien>
it makes a lot of sense considering the compilation model
<ggole>
Things like that probably matter more than low level detail
<companion_cube>
if it's public, no warning
<adrien>
but it's awful for organic growth of software and dead code
<gasche>
ah
<adrien>
companion_cube: and how do you make private?
<adrien>
make it*
<companion_cube>
adrien: by not declaring it in the .mli
<gasche>
I believe it would not be too difficult to implement a dead code analysis detection on top of cmt+cmti output for your code
<gasche>
Alain Frisch has been thinking about that
<adrien>
companion_cube: but you don't get a warning for unused functions in your .ml that aren't exported either
<gasche>
maybe have a look at what pff, the Facebook project, does
<adrien>
gasche: I don't mind at all if it's a separate step btw
<adrien>
I don't care at all that ocamlopt doesn't tell me that when building; what I want is that every N weeks, when I feel like doing some cleanup, I get help
<adrien>
smondet: that's very interesting, thanks; I'm not really able to look at it right now but I'll do as soon as I have some time
<eikke>
I've been thinking about starting a project to write a production-quality ML-like compiler using 'modern' research or industry stuff
<eikke>
like type-preserving code transformation passes, llvm in the backend, things like kure and hoopl in optimization stages,...
<companion_cube>
please consider writing a compiler for ocaml ;)
<eikke>
but as usual, after reading papers for 2 weeks I started looking into other things and went on :P
<adrien>
^ ^
<eikke>
companion_cube: the goal was to have soemthing starting from a SystemF-like lambda calculus up to LLVM emission, so frontend could be anything
zpe has joined #ocaml
ggole has quit []
zpe has quit [Ping timeout: 258 seconds]
mort___ has joined #ocaml
pkrnj has joined #ocaml
mort___ has quit [Remote host closed the connection]
mort___ has joined #ocaml
mort___ has quit [Client Quit]
ocp has joined #ocaml
RagingDave has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 256 seconds]
<gasche>
eikke: type-preserving compilation can hardly be called "modern", it's been all over the FLINT project in the nineties, gave disappointing results
<orbitz>
how come?
ulfdoz has quit [Ping timeout: 276 seconds]
<eikke>
gasche: hmh, I read some relatively new (as in, max 5 years) papers on it as well
<eikke>
gasche: 'modern' features like gadts and type families might have changed the situation compared to 20 years ago ;)
<gasche>
it's a subject I'm personally interested in
<gasche>
but still, I believe expecting too much effectiveness with it is setting up for big disappointments
<gasche>
-s
_andre has quit [Quit: (^)]
ulfdoz has joined #ocaml
chambart has joined #ocaml
ttamttam has left #ocaml []
zpe has joined #ocaml
eni has joined #ocaml
malo has joined #ocaml
RagingDave has quit [Read error: Connection reset by peer]
<ousado>
eikke: wow, that's a nicely written paper
thomasga1 has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
<eikke>
ousado: I enjoyed reading it. The author wrote some interesting papers during the work on his thesis as well, some highlighting a part of it, some related but not contained into the final text
<eikke>
gasche: thanks for the link, will look into it
<gasche>
there is also interesting work to be done on certified compilation of functional languages (eg. in the Compcert project, as a continuation of Zaynah Dargaye's PhD work)
<gasche>
hm
<eikke>
gasche: that stuff is a bit above my level :) read some work on it, but I'm more of an engineer than a researcher
<gasche>
then I'm not sure compilation is what you should invest in
<gasche>
how do you get a ballpark estimate of the gains you expect?
chambart has quit [Ping timeout: 246 seconds]
<eikke>
not :D (this would be a non-work project, obviously)
<gasche>
we like compilation because it's *beautiful*, but the harsh truth is that what you'll gain with it being done better than it already is are quite thin
<gasche>
I think
<gasche>
right now there are better gains to be had working on static analysis tools
<gasche>
the stuff our own community developped for C and Java, because there was demand
<gasche>
but we haven't considered adding to the functional languages that are supposed to have a nicer semantics
<gasche>
stuff like SMT-solving refinement types is much uglier than typed intermediate languages, but it could also be damn useful
<eikke>
that might even be pretty far already
<ousado>
.. and the nice truth is that everybody learns valuable things by doing stuff regardless whether it has been done or done better before
<eikke>
for several FP languages to be acceptable in industry, there's lots of plain engineering to be done
<eikke>
(like it or not, the scala people seem to handle this really well)
<gasche>
right
RagingDave_ has quit [Ping timeout: 256 seconds]
<gasche>
but I'm sometimes wondering whether some of those problems are not research problems in hiding
<eikke>
some of them are
<gasche>
it's strange that it's still so hard to build IDEs
<eikke>
but basic things like "insight in running processes" most likely isn't
<gasche>
like we haven't figured out what the right abstraction layer is to write graphic interfaces for programming languages
<eikke>
that's vim, obviously
<eikke>
:P
contempt has joined #ocaml
<adrien>
FRP is nice to make GUIs and it should make it easy (if not trivial) to have well-working transitions in GUIs
<adrien>
but the FRP people seem to be going too far and to forget that research is better if it can actually be used by people
<bernardofpc>
j'irais suggérer le EWD249, mais c'est un peu vieux
<bernardofpc>
(et pas très graphique)
smondet has quit [Ping timeout: 252 seconds]
<adrien>
you probably don't want to go very far with FRP stuff because otherwise you'll spend an awful lot of time just thinking about FRP itself instead of thinking about your program
<adrien>
I went fairly far and complicated with FRP; in the end, my use for FRP boiled down to what I think is a very simple monad
<adrien>
and/or maybe a reactor (I need to check the definition of that, and I need to look at my code again too actually)
<eikke>
mmmm, monads.... *drool*
<adrien>
and which does one additional thing: logging
<adrien>
i.e. there's an event, my application state which was foo becomes bar
<adrien>
and I need to log that
<adrien>
without RTTI it's actually painful to do
<ousado>
the clean people claim to basically have solved the GUI issue
<adrien>
completely falling asleep; good night
cdidd has quit [Remote host closed the connection]
Trollkastel has quit [Ping timeout: 245 seconds]
Yoric has quit [Ping timeout: 246 seconds]
Snark has quit [Ping timeout: 256 seconds]
eni has quit [Quit: Leaving]
malo has quit [Quit: Leaving]
redfire has quit [Quit: WeeChat 0.3.8]
tianon has quit [Quit: "I'm a very important man. I've got a tower!"]
Zerker has quit [Quit: Colloquy for iPad - Timeout (10 minutes)]
tianon has joined #ocaml
<ollehar>
incidentally, there's a famous swedish song about a hen called AGDA who got no action when the new COQ arrived...