ikaros has quit [Quit: Leave the magic to Houdini]
Nahra` has quit [Remote host closed the connection]
Nahra has quit [Remote host closed the connection]
Nahra has joined #ocaml
Nahra has quit [Remote host closed the connection]
Sniffy has quit [Quit: Leaving]
sohum has quit [Ping timeout: 240 seconds]
zubeen has quit [Read error: Connection reset by peer]
Nahra has joined #ocaml
Nahra has quit [Remote host closed the connection]
Edward_ has joined #ocaml
ztfw has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
ztfw has joined #ocaml
carm_ has quit [Ping timeout: 240 seconds]
avsm has quit [Quit: Leaving.]
lamawithonel_ has joined #ocaml
lamawithonel has quit [Ping timeout: 255 seconds]
mjonsson has joined #ocaml
valross has joined #ocaml
Amorphous has quit [Ping timeout: 252 seconds]
Amorphous has joined #ocaml
Edward_ has quit []
ftrvxmtrx has quit [Quit: Leaving]
drunK has quit [Remote host closed the connection]
f[x] has quit [Ping timeout: 240 seconds]
ztfw has quit [Remote host closed the connection]
joewilliams is now known as joewilliams_away
f[x] has joined #ocaml
f[x] has quit [Ping timeout: 255 seconds]
valross has quit [Ping timeout: 265 seconds]
mjonsson has quit [Remote host closed the connection]
_y_ has joined #ocaml
valross has joined #ocaml
Nanakhiel has joined #ocaml
ulfdoz has joined #ocaml
Lajla has quit [Ping timeout: 255 seconds]
metasyntax has quit [Ping timeout: 252 seconds]
coucou747 has joined #ocaml
metasyntax has joined #ocaml
philtor has quit [Ping timeout: 245 seconds]
ikaros has joined #ocaml
f[x] has joined #ocaml
ulfdoz has quit [Ping timeout: 250 seconds]
ikaros has quit [Quit: Leave the magic to Houdini]
Yoric has joined #ocaml
init1 has joined #ocaml
_y_ has quit []
f[x] has quit [Ping timeout: 240 seconds]
ski has quit [Read error: Connection reset by peer]
ttamttam has joined #ocaml
f[x] has joined #ocaml
_y_ has joined #ocaml
<_y_>
I'm at my wits' end here ... I've built OCaml 3.12.0 from source on a Windows platform using the MSVC toolchain, and almost everything is working correctly ... but check this out: http://txt.pastebin.com/xsY2HSJT
<_y_>
make, ocamlc fails trying to load pervasives.cmi, run the exact same command that make ran, this time it succeeds, run make again, it tries to compile the next file and then fails trying to load pervasives.cmi, run the same command that make ran, this time it works, repeat ad naseum
<_y_>
driving me absolutely insane
init1 has quit [Read error: Connection reset by peer]
init1 has joined #ocaml
<f[x]>
run ocamlc -verbose
<f[x]>
there is only one ocaml installed on machine?
<f[x]>
look what files accesses in both cases (with strace or sysinternal utilities)
<_y_>
there's an older one, but I've updated $PATH, $LIBPATH, and $OCAMLLIB to point to the new one
<f[x]>
to be completely sure - temporarily rename the directory with the old one
<_y_>
k, I straight-up deleted it and I still get the same error
<_y_>
adding -verbose to my command line seems not to have done anything
<flux>
zubeen, you want to remove that :ELEMENT module type restriction from the definition of Element
<flux>
zubeen, what you're doing there is defining a module that has one abstract type, and no means to create or destruct it
<mfp>
or do : ELEMENT with type element_i = N of int | CNN of cnn
<zubeen>
let me try that
<zubeen>
flux: if i remove :ELEMENT then i wont be able to use the functor
<flux>
zubeen, well, there's actually another issue there as well
<flux>
actually two
<zubeen>
please enlighten me
<flux>
Element.element_i 0 isn't a sensical expression. but yes, Element.N 0 would be
<zubeen>
yes
<flux>
another is that you have functor(Element:ELEMENT) -> ..
<flux>
so again you have a module that doesn't have any concrete types
<zubeen>
so what is the way out?
<flux>
you could use sig type element_i = N of int | CNN of cnn end as the module type in place of ELEMENT
<flux>
not sure if the resulting Semiring functor is any more structurally equivalent to SEMIRING, though
<zubeen>
thank you
<zubeen>
i will try to work on it
fraggle_ has quit [Ping timeout: 240 seconds]
fraggle_ has joined #ocaml
Snark has joined #ocaml
<flux>
good luck :)
Yoric has joined #ocaml
avsm has joined #ocaml
ftrvxmtrx has joined #ocaml
seafood has joined #ocaml
valross has quit [Quit: Ex-Chat]
seafood has quit [Quit: seafood]
boscop_ has joined #ocaml
boscop has quit [Ping timeout: 245 seconds]
Snark has quit [Quit: Ex-Chat]
mfp has quit [Ping timeout: 245 seconds]
th5 has joined #ocaml
f[x] has quit [Ping timeout: 240 seconds]
f[x] has joined #ocaml
mfp has joined #ocaml
<mfp>
gildor: going to try my hand at OASIS again, both as a end user (trying to install the latest Lwt) and as a devel (for http://github.com/mfp/ocaml-sqlexpr). 1st step, installation... what does the linux-installer do/include? no idea, since it's an opaque i386 executable (as opposed to e.g. a shell script)
<gildor>
mfp: hi
<mfp>
morning gildor
<gildor>
mfp: it installs the command oasis + manual into a directory
<gildor>
but as stated in the caml-list
<mfp>
I ended up installing ounit, odn, oasis from sources because I assumed the i386 executable wouldn't work with a 64-bit OCaml environment
<gildor>
you need to have libpcre.so.0 which is only available on old arch (e.g. centos5)
<gildor>
mfp: I choose i386 becase on most linux distribution you will be able to install it with lib32 compat layer
<gildor>
e.g. on Debian you have no additional depends
<mfp>
what does the installer do, though? just copy some binary data it carries inside?
<gildor>
yes
<gildor>
and a shell script to launch it with the right env
ftrvxmtrx_ has joined #ocaml
ftrvxmtrx has quit [Read error: Connection reset by peer]
<mfp>
sorry for the noise, step 1 is done with, now on to reading the manual... do you want feedback from the 1st time user perspective? (I'd played with OASIS 0.1.0 long ago but essentially forgotten everything)
<gildor>
mfp: yes go on, use the BTS, a mail or the IRC channel
<gildor>
to report anything you want
<mfp>
OK, I'll just drop some lines on this channel and file in the BTS when you think it makes sense
<gildor>
ok
<gildor>
it is nearby lunch time for me, so I'll be a little unresponsive for 1 hour or so
<mfp>
np, enjoy your meal
Nanakhiel has quit [Ping timeout: 265 seconds]
Yoric has quit [Read error: Connection reset by peer]
ztfw has joined #ocaml
avsm has quit [Quit: Leaving.]
avsm has joined #ocaml
fraggle_ has quit [Read error: Connection reset by peer]
fraggle_ has joined #ocaml
hto has quit [Read error: Connection reset by peer]
hto has joined #ocaml
seanmcl has quit [Quit: seanmcl]
init1 has quit [Quit: Lost terminal]
init1 has joined #ocaml
seafood has joined #ocaml
seafood has quit [Client Quit]
ikaros has joined #ocaml
rks has quit [Quit: bllblbl]
ccasin has joined #ocaml
philtor has joined #ocaml
rks has joined #ocaml
stdDoubt has joined #ocaml
<stdDoubt>
where can I can consult the default types of the standard library - for instance the definition of list and array? Is it possible to use an array in pattern matching?
<stdDoubt>
*for instance the definition of list and array types
<adrien>
I don't think there's such a definition: they're built-in
<stdDoubt>
is it possible to use arrays with pattern matching?
<adrien>
as for the pattern-matching, of course: match [ 1; 2; 3 ] with | [a; b] -> false | [a; b; 3] -> true
<adrien>
err, that's for list
<adrien>
so use [| and |] instead of [ and ]
<stdDoubt>
the empty array would be [| |]?
<adrien>
yes
<stdDoubt>
and match arrayXPTO with [| |] -> true | x::xs -> currentFunction xs;; -> is it possible to accomplish this with arrays?
<adrien>
well, that's the problem with arrays: you can have them as tail+queue so this is not possible
<adrien>
you have an easy access to the array length however
<adrien>
what are you trying to achieve?
<stdDoubt>
iteration over an array...just getting acquainted with the language
<stdDoubt>
so over arrays we usually have to use a more imperative approach
<stdDoubt>
with a cycle
<stdDoubt>
?
<adrien>
yes, with a for-loop or Array.iter(i)
<orbitz>
lame, my school doesn't want to resolve caml.inria.fr
<stdDoubt>
adrien: thanks
<adrien>
stdDoubt: np :-)
<adrien>
orbitz: I have yet to see a corporate network that doesn't suck
<orbitz>
We are nto a corproation (in name)
<orbitz>
:)
<adrien>
school is the same ;-)
<orbitz>
adrien: the group fo 3 people i'm in were the first people to find a week-long network bottleneck that ffected teh entire campus
<orbitz>
it's quite sad
stdDoubt has quit [Quit: Leaving]
joewilliams_away is now known as joewilliams
ftrvxmtrx_ is now known as ftrvxmtrx
Smerdyakov has joined #ocaml
avsm has quit [Quit: Leaving.]
hcarty has quit [Quit: leaving]
hcarty has joined #ocaml
<orbitz>
is (<-) a LWT syntax extension? I'm having trouble finding it int he docs
<mfp>
<- is just the usual instance variable update
<orbitz>
oh duuuuuurh
<orbitz>
hah
<mbac>
yeah
<mfp>
<-- is from pa_monad, and pa_lwt has got lwt x = ... in and do_foo () >> ...
<orbitz>
it reminde dme of (<-) in do-notation in haskell and since i'm in lwt code i just sort of assumed teh same
<mfp>
I used pa_monad for a while but now much prefer pa_lwt
<mfp>
lwt x = ... reads better than x <-- foo; and try_lwt ... with ... finally is very useful
ikaros_ has joined #ocaml
ikaros has quit [Read error: Operation timed out]
<orbitz>
ocamlmq seems...less functional than previous thought
larhat has quit [Quit: Leaving.]
ccasin has quit [Quit: Leaving]
ccasin has joined #ocaml
ccasin has quit [Remote host closed the connection]
ccasin has joined #ocaml
<mfp>
orbitz: well, there's not enough work to do to fit too much functional code, if you see what I mean; e.g. _ Hashtbl.t would become _ Map(Something).t ref most of the time
munga has joined #ocaml
<orbitz>
mfp: I think i misspoke, I had an error in my hashtable handler
<munga>
hello. I use schroot . how do I copy a file in the chroot in an easy way ?
<orbitz>
but now i'm running into antoher issue i'm ebguging, the code is nice and small though
<orbitz>
mfp: replacing pgsql with hashtable backend
<mfp>
ah
<mfp>
I have a sqlite-powered branch somewhere
<mfp>
which uses a hashtbl and only writes to disk every N msgs or M seconds
<mfp>
you can use that one and raise the limits to max_int, that'll keep everything in mem
<orbitz>
mfp: My changes can't eaisly be merged back into your master unfortuantely either
<orbitz>
mfp: right now i'm experiencing weirdness where i'm only receivign every other message
<mfp>
gotta push that branch (it actually uses ocaml-sqlexpr)
<orbitz>
mfp: what are "topic" destinations?
<mfp>
orbitz: pushed a few commits to the master branch and a new sqlite branch with the SQLite (ocaml-sqlexpr) storage
<mfp>
orbitz: in STOMP/ActiveMQ parlance, it's a destination with broadcast semantics: all the subscribers get the message (as opposed to only 1 as in queues)
<orbitz>
mfp: can i subscribe to topics?
<mfp>
also, whereas messages sent to queues are persistent (they will be delivered until some received ACKs them), topic messages aren't
<orbitz>
ok
<mfp>
sure, just use /topic/foo as the destination when subscribing
<orbitz>
ah i must have some funkyness in how i'm handlgin /queue, because I'm only getting every other message. I wonder if i'm just not getting them in order or something
root__ has joined #ocaml
<mfp>
orbitz: queue messages are sent in a round-robin manner to the subscribers
<orbitz>
in this case i haev 1 sender 1 receiver
<mfp>
e.g. if you have 2 subs A and B, the 1st msg goes to A, then the next one to B, and so on
<orbitz>
and on the receiver side it's gettinge very other message for somer ason
<orbitz>
sendign to topics is workign though
<mfp>
if there's a timeout, the msg is sent to the next free one (depending on the max number of unack'ed pending messages allowed)
<mfp>
gildor: some feedback -> quickstart is a good idea, but it took me several attempts to beat it :) didn't know the input expected in some cases and then had to restart from the beginning
<mfp>
it'd be better if it didn't quit on error, but just keep asking
<mfp>
pbs that made me restart several times: empty Path (must use "."), modules being comma-separated (I used Foo Foobar and then got an error msg about it not being a valid name, plugin selection (I typed 123, should have been 1, 2, 3 or 1 2 3)
<mfp>
when I finally completed the quickstart, I was on top of the world, but then took a look at the _oasis file and felt the process had been relatively tricky for such a meager output
<mfp>
gildor: and here goes the feature request which I think would simplify the 1st time use: oasis examples which gives some simple, real-world examples ready to cut & paste (simple library, lib with syntax extension, lib/program, src with unit tests, examples of findlib-dep management)
ftrvxmtrx has quit [Quit: Leaving]
cthuluh has quit [*.net *.split]
npouillard has quit [*.net *.split]
jlouis has quit [*.net *.split]
flux has quit [*.net *.split]
thomasga has quit [*.net *.split]
theDroggl has quit [*.net *.split]
theDroggl has joined #ocaml
flux has joined #ocaml
cthuluh has joined #ocaml
npouillard has joined #ocaml
thomasga has joined #ocaml
xarch has joined #ocaml
<xarch>
hi
<xarch>
I'm tring to install Macaque
<xarch>
by using the darcs version
<xarch>
and applying a patch fromm his author, but I've got an error "File "sql.ml", line 1, characters 0-1: Error: inner_sql.cmi is not a compiled interface"
<xarch>
but there's a file inner_sql.cmi somewhere
<xarch>
how can I fix that?
jlouis has joined #ocaml
drunK has joined #ocaml
<mfp>
xarch: did you update OCaml in the meantime? try to rebuild after make clean or equivalent
<xarch>
hum well, i actually downgraded OCaml, if I don't it doesn't work either
<mfp>
gildor: oasis give a warning about a missing plugin when I added that
<gildor>
and I think you can remove the XMETARequires (if it is a true syntax extension, of course)
<mfp>
and it seemed to work without it
<gildor>
mfp: warning -> I know, this is a bug
<gildor>
I submit a bug myself about that
yezariaely has joined #ocaml
<mfp>
OK, then I'm adding it in 0.2.1 and trying without XMETARequires
<gildor>
mfp: otherwise, your whole _oasis file is right
<gildor>
mft: it'd be better if it didn't quit on error, but just keep asking -> you mean that it quits on error ?
<gildor>
mfp: ^^^
<gildor>
mfp: this is a bug as well
<gildor>
mfp: just tested it, and this is a real bug, do you want to submit it to the BTS (so that you can track it) or do you want me to submit it
<gildor>
?
* gildor
time for kids, leave messages on IRC, I will read in 3 hours
avsm has joined #ocaml
<adrien>
gildor: btw, there's something I have troubles figuring out in oasis: I need to get get values from pkg-config for cflags, I saw XCustomConf but how can I "feed" this back to oasis for use during build? (it's not urgent at all :-) )
ikaros has joined #ocaml
<orbitz>
mfp: durh found problem, test code I was looking at was susbscribing to teh queue and not receiving
ttamttam has quit [Remote host closed the connection]
<mfp>
orbitz: I think it's correct: send synchronously if there's a receipt: header (and no force_async in place) or used mem + len >= max mem
philtor has quit [Ping timeout: 245 seconds]
<Smerdyakov>
mfp, what are you discussing?
<mfp>
Smerdyakov: orbitz is modifying the ocamlmq STOMP broker
<orbitz>
mfp: ok that sounds about right
<Smerdyakov>
I've never heard of STOMP before. It's amazing how many different acronyms can spring up around simple data record formats and protocols. :)
<orbitz>
Smerdyakov: hah
<orbitz>
mfp: I think I've got all my stuff wroking, I'm going to push to my github repo, if it's of any interest to you: http://github.com/orbitz/ocamlmq it's just modified so there is no persistence, everything is in a hashtable
<Smerdyakov>
What seems to be the main STOMP web site doesn't link to an OCaml implementation.
ygrek has joined #ocaml
<Smerdyakov>
Anyone here working on any web applications? I'm trying to find "customers" for my Ur/Web language.
Yoric has joined #ocaml
<orbitz>
Smerdyakov: do you have a pretty demo page up showing all the awesome stuff you can do wtih Ur/Web and why it's beter than X, Y, AND Z?
<Smerdyakov>
orbitz, are you building web apps these days?
<orbitz>
i am not, but i like looking at web app software
Tianon has quit [Read error: Operation timed out]
mjonsson has quit [Remote host closed the connection]
pikachuyann has joined #ocaml
Tianon has joined #ocaml
Tianon has quit [Changing host]
Tianon has joined #ocaml
ikaros_ has joined #ocaml
ikaros has quit [Ping timeout: 240 seconds]
xarch has quit [Ping timeout: 272 seconds]
_y_ has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
<_y_>
building an OCaml library that wraps a C library; I notice that if I declare my OCaml wrappers in the .mli files as just being 'val' with the signature, and putting the 'external' declarations inside of the .ml files, things work; however, if I instead put the 'external' declarations directly inside of the .mli files, when I attempt to invoke those functions, I get an error about how the underlying primitive is not available
<_y_>
e.g. Ida.get_screen_ea ();;Error: The external function `IDAOCaml_get_screen_ea' is not available
<_y_>
fair enough; the easy solution here is obviously just to put the external declarations into the .ml files
<_y_>
unfortunately, I'm using a third-party library here (Microsoft's OCaml wrapper for Z3)
<hcarty>
_y_: Are you putting "external ..." in the .mli and the .ml?
<_y_>
for the code I'm writing, I put "external" in the .ml, and "val" in the .mli, and that works fine
<_y_>
for the third party library I'm using, it put "external" in the .mli
<_y_>
it also puts "external" in the .ml
<_y_>
and this library is not working at all
<adrien>
I didn't even expect "external" to be possible in the .mli files actually :P
<hcarty>
adrien: It apparently affects some optimizations
<hcarty>
I haven't tested this, but I've read in a few places that keeping the "external" form in a .mli leaves some extra options available to the compiler
<adrien>
could be possible, I've never had to worry about the performance of the bindings
albacker has joined #ocaml
<albacker>
hello, is there any graph implementation writen in ocaml or should i go for coding mine?
<_y_>
OCamlgraph
<_y_>
pretty sophisticated too
<_y_>
bbl, meeting
_y_ has quit []
<albacker>
i need this for a project in algorithmics. The result will be given to the prof. Dunno if she would like reading caml code btw :/
<gildor>
adrien: quick answer (but will needs further answer), if you want to feed anything that should live inside oasis, just add it to setup.data (or setup.log depending if you do it at configure or buildà
<gildor>
)
<gildor>
adrien: e.g. echo 'pkg_pcre_cflags="-I/usr/include/pcre"' >> setup.data
<gildor>
adrien: for now, there is not yet an automatic way to use it in myocamlbuild.ml
<gildor>
adrien: I am working on it for ocamlmpi
<mfp>
gildor: you'll find a couple bugs in the BTS
<adrien>
gildor: ok, thanks, I think that'll be more than good :-)
init1 has quit [Quit: Quitte]
<gildor>
adrien: basically it will be something like tag ["compile"; "c"; "pkg_pcre_cflags"] && flag ["-ccopt"; BaseEnvLight.var_get "pkg_pcre_cflags"];;
<gildor>
mfp: thanks for the bugs, the one concerning quickstart that exits directly on error, will be fixed in the next release (0.2.1)
<adrien>
gildor: ok, will try to use that in the next few days
<adrien>
currently I hardcode everything in the _oasis file :P
<gildor>
adrien: but nothing is done for now, you need to patch the myocamlbuild.ml by yourself
<mfp>
btw I remember some announcements sent to the ML by OASIS, how does one do that?
<gildor>
adrien: that is also my solution CCOpt: -I/usr/include/pcre
<mfp>
or did you fake it? ;-)
<gildor>
mfp: I have an OASIS-announce.ml script sitting on my computer
<gildor>
mfp: I will commit it in src/tools
<mfp>
ah ok, was thinking it was an undocumented option
<adrien>
gildor: I need to repeat it 14 times and the options are *REALLY* long (1000 chars) ;p
<gildor>
mfp: do you need it now ?
<mfp>
nope, just being curious
<gildor>
adrien: sorry for that, Maxence ask me about a possible macro system in _oasis
<gildor>
e.g. #define my_long_option XXX YYY ZZZ and then do the replacement in the rest of the file
<gildor>
adrien: do you think it can solve your problem ;-)
<gildor>
gtg, dinner time ;-)
<adrien>
gildor: well, _I_ don't *need* it because I already generate the whole file, it's all automated, but it could maybe be nice
<albacker>
if i use external libraries to write a program (ocamlgraph for example), is it possible to create a .tgz for someone that doesn't have the libraries installed but still can run my application without needing to install anything.. ? I mean only ocaml.
<adrien>
bon appétit :-)
<adrien>
albacker: you can probably bundle the .so files and use LD_LIBRARY_PATH=/path/to/the/folder/with/the/so/files/
<mfp>
albacker: if you only use OCaml code, it'll be linked statically and nothing needs to be installed; otherwise, you can also link statically the C libs
<albacker>
mfp: i want them to be able to read the code and excecute it without needing to install ocamlgraph.
<adrien>
albacker: argh, right, I had invented additional words in your sentence and thought you were talking about bindings to C libraries =/ , forget what I said: mfp is right
<adrien>
for ocamlgraph, there's nothing additional to ship I think
<mfp>
albacker: IIRC ocamlgraph ir OCaml only, so the executable will have no dependencies besides libc6
<albacker>
mfp: is there a way so the other person compiles the code without needing to download/install the library.
<albacker>
can i include the library somewhere in the .tgz and a Makefile that would do everything itself ?
<albacker>
or tell to ocamlc the path to the library.
<mfp>
you can probably bundle ocamlgraph's sources and link against it in your program with -I (without installing with ocamlfind), but getting the build system in place could be tricky
<adrien>
you could bundle it but it's not a very good solution imho, maybe something temporary but not as a long-term solution
lpereira has joined #ocaml
<albacker>
since this is a miniproject for my school i was considering doing it in ocaml (since i like the language), but i think i'll go for C since it's more "known"..
<albacker>
there are possibilities that my professor wouldn't enjoy reading ocaml code.
<adrien>
ask him, definitely, ocaml is easy to read and especially for graphs
ygrek has quit [Ping timeout: 245 seconds]
Edward__ has joined #ocaml
Smerdyakov has quit [Ping timeout: 245 seconds]
spargers has joined #ocaml
yezariaely has left #ocaml []
spargers has left #ocaml []
<orbitz>
i generally consider a less-suck Python
<hcarty>
orbitz: That's a horrible thing to say.
<hcarty>
Python
<hcarty>
:-)
<orbitz>
haha
<orbitz>
especially if you use ocaml+twt
Smerdyakov has joined #ocaml
lpereira has quit [Quit: Leaving.]
* adrien
stabs GTK's imperative interface
ccasin has quit [Quit: Leaving]
seafood has joined #ocaml
ulfdoz has joined #ocaml
ztfw has quit [Read error: Connection reset by peer]
seafood has quit [Quit: seafood]
Yoric has quit [Quit: Yoric]
ulfdoz has quit [Ping timeout: 252 seconds]
zubeen has quit [Ping timeout: 240 seconds]
ikaros_ has quit [Quit: Leave the magic to Houdini]