wtetzner has quit [Remote host closed the connection]
wtetzner has joined #ocaml
bzzbzz has quit [Quit: leaving]
eb4890 has joined #ocaml
mdelaney has quit [Quit: mdelaney]
rgrinberg has quit [Remote host closed the connection]
sebz has joined #ocaml
sebz has quit [Client Quit]
sebz has joined #ocaml
sebz has quit [Client Quit]
ftrvxmtrx has quit [Quit: Leaving]
wtetzner has quit [Read error: Connection reset by peer]
wtetzner has joined #ocaml
lopex has quit []
dnolen has quit [*.net *.split]
rwmjones has quit [*.net *.split]
dnolen has joined #ocaml
rwmjones has joined #ocaml
wtetzner has quit [Read error: Connection reset by peer]
joewilliams is now known as joewilliams_away
wtetzner has joined #ocaml
wtetzner has quit [Client Quit]
wtetzner has joined #ocaml
wtetzner has quit [Remote host closed the connection]
eb4890 has quit [Ping timeout: 245 seconds]
ocamlnoob has joined #ocaml
<ocamlnoob>
When writing types like ('a * 'b * 'c) -> 'd -> 'e is there a difference if you have the parentehses or not?
<thelema>
yes
<thelema>
'a * 'b * 'c -> 'd -> 'e is 'a * 'b * ('c -> 'd -> 'e)
<ocamlnoob>
What type of situation would cause the parentheses to be on the front part then?
ftrvxmtrx has joined #ocaml
<thelema>
ocamlnoob: sorry, I'm not sure I understand your question - you're asking why is the type ('a * 'b * 'c) -> 'd -> 'e useful?
<ocamlnoob>
thelema: I'm not even sure what would have a type like that
<thelema>
that particular type isn't particularly useful - it's unsound for the result type to be polymorphic and unrelated to any input type
Kevin has joined #ocaml
<thelema>
but for particular values of 'a through 'e, the type skeleton is useful.
<thelema>
it's a two parameter function where the first parameter is a triple of three values.
<thelema>
(or you can look at it as a four parameter function where the first three parameters have to be passed together)
Kevin is now known as Karbon
Karbon has quit [Remote host closed the connection]
surikator has quit [Quit: Computer is sleeping. I'm probably not.]
<ocamlnoob>
thelema: I thought a two parameter function with the first being a triple like let f (a, b, c) d ... would have type, say, string*string*string -> string -> ... if abcd were strings
<_habnabit>
Yes.
ocamlnoob has quit [Quit: Page closed]
joewilliams_away is now known as joewilliams
sebz has joined #ocaml
sebz has quit [Client Quit]
sebz has joined #ocaml
dnolen has quit [Quit: dnolen]
dnolen has joined #ocaml
ulfdoz has joined #ocaml
dnolen has quit [Quit: dnolen]
joewilliams is now known as joewilliams_away
junsuijin has quit [Quit: Leaving.]
ankit9 has joined #ocaml
ulfdoz has quit [Ping timeout: 264 seconds]
mdelaney has joined #ocaml
mdelaney has quit [Quit: mdelaney]
arubin has quit [Quit: arubin]
bobry1 has joined #ocaml
bacam has quit [Ping timeout: 258 seconds]
ankit9 has quit [Quit: Leaving]
f[x] has quit [Ping timeout: 260 seconds]
Cyanure has joined #ocaml
Snark_ has joined #ocaml
Snark_ is now known as Snark
ttamttam has joined #ocaml
ankit9 has joined #ocaml
edwin has joined #ocaml
edwin has quit [Read error: Connection reset by peer]
<adrien>
I've tried a number of combinations of function calls in lablgtk2's threading and unless I've missed the right one, I'm getting horrible throughput from my file loading
<adrien>
I'm maybe going to try with lwt
<adrien>
and lwt threading for lablgtk
ikaros has joined #ocaml
thomasga has joined #ocaml
sebz has quit []
Modius has quit [Read error: Connection reset by peer]
thelema has quit [Remote host closed the connection]
Modius has joined #ocaml
patronus_ has quit [Read error: Connection reset by peer]
patronus has joined #ocaml
zzz_ has quit [Remote host closed the connection]
zzz_ has joined #ocaml
ttamttam has quit [Ping timeout: 246 seconds]
Pepe_ has quit [Ping timeout: 246 seconds]
brendan has quit [Ping timeout: 246 seconds]
Pepe_ has joined #ocaml
brendan has joined #ocaml
thelema has joined #ocaml
ttamttam has joined #ocaml
sepp2k has joined #ocaml
<flux>
��.
<flux>
(I wonder if anyone has a font that knows that character..)
<flux>
hm, I just realized I can write type foo = () in ocaml, and it apparently is the same as type foo = unit
<flux>
is that some special rule?
larhat has joined #ocaml
<sgnb>
it's not the same
<flux>
what is it then?
<sgnb>
I guess () is just parsed specially as a constructor
<flux>
indeed it is
<sgnb>
you can do e.g. type a = () | ::
<flux>
so this won't work: let foo () = () type foo = ();; foo ();;
<flux>
hm, I also had had this idea that :: couldn't be 'really' used as a constructor in user-written code, has it always been like that?
<sgnb>
don't know
<sgnb>
looks like a bad idea anyway
<flux>
definitely :)
<flux>
but it could be useful for opening those operators in a local scope
<flux>
say, for dealing with lazy lists
<sgnb>
note that constructors are not the same as infix operators
<sgnb>
:: is parsed as a constructor, not an infix operator
<sgnb>
i.e. (::) doesn't make sense
<sgnb>
(an infix constructor)
avsm has joined #ocaml
lopex has joined #ocaml
surikator has joined #ocaml
avsm1 has joined #ocaml
drake01 has joined #ocaml
drake01 has quit [Max SendQ exceeded]
avsm has quit [Ping timeout: 245 seconds]
Cyanure has quit [Read error: Connection reset by peer]
f[x] has joined #ocaml
avsm has joined #ocaml
avsm1 has quit [Ping timeout: 258 seconds]
<adrien>
I thought that select() was still usable with lwt (instead of libev)
<adrien>
or am I wrong? I can't configure lwt on windows right now because of that
<adrien>
it seems that it's possible to use select() instead of libev, at runtime, but not at compilation time; what's the purpose? it requires libev anyway
thomasga has quit [Quit: Leaving.]
edwin has joined #ocaml
edwin has quit [Remote host closed the connection]
<diml>
adrien: at runtime you can choose between libev and select, and select is used by default on windows
<adrien>
larhat: I don't think I'd be able to use overbld right now but basically, I've stripped the corresponding code
<adrien>
which is really ugly but which we'll do for now =/
<diml>
i never thought it was a problem but i can add a --without-libev configure switch if you want
<adrien>
diml: that'd be really great, yes
<diml>
ok
<adrien>
currently, adding any library on "windows" is a pain because having even 3 or 4 is unanageable (no package management for msys/mingw; only cygwin)
sepp2k1 has joined #ocaml
sepp2k has quit [Ping timeout: 258 seconds]
<adrien>
diml: also, discover.ml mentions C_INCLUDE_PATH and LIBRARY_PATH in the help message when the discovery of a C library failed but it doesn't seem to ever use them
<diml>
adrien: it is gcc which use them
<adrien>
ok
thomasga has joined #ocaml
<diml>
adrien: it is done, now you can configure lwt with --disable-libev
<flux>
it would be great if ocaml on windows was one of those things 'just worked', but I guess we're still far off :)
avsm has quit [Quit: Leaving.]
<adrien>
diml: ok, thanks, I'm currently facing another issue that has just popped up during the build; and ocamlbuild's error message don't really help
<adrien>
I'll try your change as soon as I get my program to compile with lwt
<adrien>
flux: it's actually not _that_ bad now
<diml>
ok
<adrien>
ah, might be my fault: leftover from libev
<adrien>
flux: to be completely fair, I still have to copy various .o and .a files to ocamlbuild's _build/ directory for them to be found, because I slightly deviated from the blessed paths
<adrien>
(meaning msys and mingw defaults, in C:/)
avsm has joined #ocaml
<flux>
there should be a windows buildserver :)
snarkyboojum has joined #ocaml
<adrien>
I want to make one, or rather: a test server (so that "eval" versions can be used)
<adrien>
diml: I've also seen a '#include <ev.h>' in "lwt_glib_stubs.c" which I only noticed because of the build failures
<diml>
ah, yes, in fact it is not used since a long time. i remove it
<adrien>
larhat: along with testing hopefully and more libs hopefully; and I have to say that I don't want to use binaries from a build-server when I cann
ftrvxmtrx has quit [Ping timeout: 252 seconds]
<flux>
was that sentence cut off?
<adrien>
s/cann/can/ and no
ftrvxmtrx has joined #ocaml
<adrien>
maybe a gallicism however ;-)
<adrien>
build server builds aren't really meant to be used
<adrien>
but for that, I'll spend time on yypkg during the year
waern has joined #ocaml
waern_ has quit [Ping timeout: 240 seconds]
dnolen has joined #ocaml
as has joined #ocaml
avsm has quit [Quit: Leaving.]
ftrvxmtrx has quit [Read error: Operation timed out]
<adrien>
well, lwt installed fine, I got it with lablgtk2, and the outcome is starting to look good
ftrvxmtrx has joined #ocaml
<flux>
hmm, I would say debian/ubuntu/redhat/etc projects would disagree with that statement :)
<adrien>
diml: Lwt_glib.install ~mode:`glib_into_lwt () seems to work btw; and the documentation isn't very explicit, why is one better than the other?
<adrien>
flux: I meant: continuous integration servers, not build servers
<diml>
adrien: it did not worked for me when i tried. glib_into_lwt is better on unix because it allow to use libev
<diml>
glib uses poll on unix
<adrien>
maybe because I'm using select() now?
<diml>
when i tried i was also using select, but i got an error from the select implementation of OCaml on windows
<diml>
it was GetFileType which failed
<diml>
but maybe it is related to the windows version, i tried on Windows XP
jaar has joined #ocaml
<adrien>
Windows 7 here
<adrien>
going to try on windows xp sp0
<adrien>
hmm, a bit later
<adrien>
windows is really annoying
<adrien>
currently, my biggest problem is that I want to have a glib callback which does something on the GUI, and the GUI should be updated before the callback returns (it's a long callback)
<diml>
does the callback uses Lwt ? is it long because it does IO or for some other reason ?
<diml>
actually if it uses Lwt you can just do something like ignore (...) and ... will continue after the callback returns
<adrien>
the callback does IO+computations but does not directly use lwt; I had been under the impression that, after installing lwt_glib, all callbacks were ran as lwt threads, or am I wrong?
<adrien>
hmmm, I'm doing this wrong: I'm going to have to change some code instead of trying to simply transposing it to lwt
<adrien>
there are a few things which probably don't make sense
<diml>
callbacks are run as usual after installing lwt_glib
<adrien>
how do they magically stop blocking the main UI then? :o
<diml>
basically if you execute something of type _ Lwt.t in a callback, it is just that it may terminate after the callback returns
avsm has joined #ocaml
<adrien>
ahh, ok, I was really thinking that it was automatically creating a new thread for each callback
<flux>
I think it's a good thing it doesn't automatically thread everything
<diml>
that would require rewriting GTK with Lwt
<adrien>
I remember some blocking UI which wasn't using threads and then, installing lwt magically made the callbacks not block the interface anymore
<adrien>
and lwt with gtk could be nice :P
<diml>
adrien: without changing the code, just by adding Lwt_glib.install ?
<adrien>
diml: that's why I've called it "magic" ;-)
<adrien>
also, I think it might be possible with what glib currently offers, but not with what lablgtk2 has
surikator has quit [Quit: Computer is sleeping. I'm probably not.]
rby has quit [Read error: No route to host]
rby has joined #ocaml
<adrien>
I really wish I has started with lwt right away on yesterday ='(
<adrien>
(meaning that now, with lwt, it works well :-) )
bobry has quit [Quit: Leaving.]
dnolen has quit [Quit: dnolen]
thomasga1 has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
oriba has joined #ocaml
as____ has joined #ocaml
as has quit [Ping timeout: 258 seconds]
as____ is now known as as
oriba has quit [Quit: oriba]
spearalot has joined #ocaml
eb4890 has joined #ocaml
lopex has quit []
ag4ve has quit [Ping timeout: 258 seconds]
Reaganomicon has quit [Read error: Connection reset by peer]
lamawithonel_ has quit [Ping timeout: 245 seconds]
lamawithonel_ has joined #ocaml
ag4ve has joined #ocaml
lamawithonel__ has joined #ocaml
lamawithonel_ has quit [Ping timeout: 245 seconds]
jaar has quit [Quit: Quitte]
avsm has quit [Quit: Leaving.]
jaar has joined #ocaml
lamawithonel__ has quit [Remote host closed the connection]
lamawithonel__ has joined #ocaml
agarwal1975 has joined #ocaml
hockpa2e has joined #ocaml
lamawithonel has joined #ocaml
lopex has joined #ocaml
The_third_man has joined #ocaml
lamawithonel__ has quit [Ping timeout: 260 seconds]
oriba has joined #ocaml
<hockpa2e>
hi, compiling question: when I do "ocamlc -c treeanalyze.ml" it says "Unbound module ParseTree" even though I already compiled the module ParseTree and have parsetree.cmi and .cmo in the current directory. I tried adding "-I ." and also generating parsetree.mli, but nothing worked. Thanks.
<thelema>
capitalization
<hockpa2e>
the filenames have to be capitalized the same?
<thelema>
"parsetree.cmi" corresponds to a module named "Parsetree", not "ParseTree"
<hockpa2e>
oh. Thanks very much!
ankit9 has quit [Remote host closed the connection]
lamawithonel_ has joined #ocaml
mdelaney has joined #ocaml
lamawithonel has quit [Ping timeout: 245 seconds]
avsm has joined #ocaml
lamawithonel_ has quit [Ping timeout: 240 seconds]
larhat has quit [Quit: Leaving.]
joewilliams_away is now known as joewilliams
ulfdoz has joined #ocaml
BiDOrD_ has joined #ocaml
BiDOrD has quit [Ping timeout: 264 seconds]
surikator has joined #ocaml
avsm has quit [Quit: Leaving.]
junsuijin has joined #ocaml
ulfdoz has quit [Ping timeout: 246 seconds]
ttamttam has quit [Quit: ttamttam]
mdelaney has quit [Quit: mdelaney]
lopex has quit [Ping timeout: 258 seconds]
ulfdoz has joined #ocaml
lopex has joined #ocaml
ygrek has joined #ocaml
hockpa2e has left #ocaml []
oriba has quit [Remote host closed the connection]
mdelaney has joined #ocaml
bobry has joined #ocaml
Reaganomicon has joined #ocaml
ankit9 has joined #ocaml
ulfdoz has quit [Read error: Operation timed out]
ulfdoz has joined #ocaml
ztfw has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
elehack has joined #ocaml
<elehack>
thelema: I've got a fix for a bug in the optparse stuff; should it just go against master for inclusion in 1.5.x (in which case I'll put a backported version as a fix in the GODI package)
<elehack>
or in a separate branch for a 1.4.2 bugfix release?
<adrien>
hcarty: did you do anything with that possible fix for cairo_gtk so far?
<adrien>
s/did you do/have you done/
* elehack
might not include backported fix... custom git repo meets my needs, and evidently I'm the only one that uses this feature