pango has quit [Read error: 110 (Connection timed out)]
quamaretto has quit ["HORSEC--- um. Horse carriage. Horse and carriage. Plain and simple!"]
Skal has quit [Remote closed the connection]
malc__ has quit ["leaving"]
smimou has quit ["bli"]
tristram has quit [Remote closed the connection]
tristram has joined #ocaml
khaladan has quit [Connection timed out]
pango has joined #ocaml
malc_ has joined #ocaml
ski_ is now known as ski
zigong has joined #ocaml
ski has quit ["bbl"]
ezraburgh has quit []
malc_ has quit ["leaving"]
zigong has quit [Remote closed the connection]
pango has quit [Nick collision from services.]
pango has joined #ocaml
bd_ has quit [Read error: 104 (Connection reset by peer)]
Herrchen has joined #ocaml
Snark has joined #ocaml
Herrchen_ has quit [Read error: 110 (Connection timed out)]
Skal has joined #ocaml
tom_p has quit [Read error: 110 (Connection timed out)]
Revision17 has quit ["Leaving"]
tom_p has joined #ocaml
Skal has quit [Remote closed the connection]
batdog is now known as batdog|gone
batdog|gone is now known as batdog
KrispyKringle has quit [clarke.freenode.net irc.freenode.net]
Amorphous has quit [clarke.freenode.net irc.freenode.net]
Amorphous has joined #ocaml
KrispyKringle has joined #ocaml
vodka-goo has joined #ocaml
ThomasV has joined #ocaml
<vodka-goo>
by chance, is there anybody here having a decent knowledge/experience of programming ALSA apps ?
<vodka-goo>
JACK would be interesting too...
ThomasV has left #ocaml []
mauke has joined #ocaml
Submarine has quit ["Leaving"]
Skal has joined #ocaml
Skal has quit [Remote closed the connection]
Skal has joined #ocaml
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
malc_ has joined #ocaml
gim_ has joined #ocaml
Revision17 has joined #ocaml
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
descender has joined #ocaml
malc__ has joined #ocaml
malc_ has quit [Read error: 110 (Connection timed out)]
vodka-goo has quit ["Leaving"]
ppsmimou has quit ["Leaving"]
ppsmimou has joined #ocaml
tom_p has quit [Read error: 110 (Connection timed out)]
<flux__>
infact any kind of audio library would be nice ;)
<ppsmimou>
there are audio libraries for caml
<flux__>
hm, infact you're propably right, it was an esd library I was looking for
<flux__>
and even that might happen via libsdl-ocaml
Bigb[a]ng is now known as Bigbang
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
gim_ has quit ["nihongo"]
__DL__ has joined #ocaml
Skal has quit [Remote closed the connection]
zigong has joined #ocaml
smimou has joined #ocaml
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
zigong has quit [Read error: 104 (Connection reset by peer)]
<flux__>
hmm.. so one cannot write functors that would take non-type parameters, such as integers?
<zmdkrbou>
a functor is a "function" that maps a module to another
<zmdkrbou>
int -> module is a bit too much for ocaml :p
<Schmurtz>
it may map a module like :
<Schmurtz>
module aaa
<Schmurtz>
int a = 2
<Schmurtz>
end
* Schmurtz
has some problems with the syntax
<zmdkrbou>
i see what you mean :)
<Schmurtz>
it's like passing 2 as a parameter to the functor
<flux__>
hmm
<flux__>
maybe I'll make some use of that, thanks
<Schmurtz>
module param = struct let intparam = 2 end
<Schmurtz>
<- the good syntax
<flux__>
too much c/java?-)
<Schmurtz>
yes
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
<Schmurtz>
the only time I real wrote an ocaml program, it was for in a research internship
<Schmurtz>
many people want you use C++ or java :(
<Schmurtz>
+to
<zmdkrbou>
:(
<flux__>
hmph, is it really so big a task to maintain .mli-files when you use functors as I think it is?
<flux__>
copying the signature all around the .mli-files
<Schmurtz>
in many case, I don't use .mli files
<zmdkrbou>
argl
<flux__>
I thought they could be a nice thing to have
<Schmurtz>
yes, it is :)
<zmdkrbou>
yes it is
<Schmurtz>
it's a mean to explicitly declare what functions are part of the public API of your .ml file
<Schmurtz>
and it prevent using private one's
<flux__>
yes, and I'll be having both of those
<zmdkrbou>
this is the clean way
<zmdkrbou>
ie the right way
<flux__>
anyway, not even the toplevel is able to access the values if I don't declare them in the .mli
<flux__>
which is kinda annoying
<flux__>
how do I make a makefile where .cmo depends on .cmi only if .mli exists?-)
<Schmurtz>
add and explicit "%.cmo : %.ml %.mli" rule ?
<zmdkrbou>
foo.cmo always depend on foo.cmi
<zmdkrbou>
you can't change that
* zmdkrbou
is not clear in this sentence :\
<flux__>
schmurtz, I have already that, but what if I have files for which I don't have .mli?
<zmdkrbou>
a default .mli is generated when compiling the source .ml (if it doesn't exist)
<flux__>
it is? I don't think so.
<flux__>
it may be generated with ocamlc -i though
<Schmurtz>
zmdkrbou, it's as if : the .mli is not created
* zmdkrbou
is definitively not clear
<zmdkrbou>
yes
<zmdkrbou>
the .cmi
<Schmurtz>
but the .cmi is created as if a .mli file is genereted by ocaml -i
<flux__>
but I can't have a rule like %.cmo : %.ml %.mli because all the files don't have a .mli
<flux__>
and I don't want to drop the %.mli because I want to recompile whenever I change the interface
<flux__>
I could maybe generate the .mli only if it doesn't exist, and then keep on deleting the non-important ones whenever I make an interesting change to the .ml
<Schmurtz>
flux__, "%.cmo : %.ml %.mli" is useful if you want to force the programmer to create a .mli file
tom_p has joined #ocaml
<flux__>
schmurtz, well as we noticed, it can be a big job maintaining them ;)
<Schmurtz>
in other case, a "%.cmo : %.ml" and a "%.cmi : %.mli" should be sufficient
<flux__>
so maybe I could do %.mli: %.ml if [ ! -e $< ]; then ocamlc -i $< > $@; fi
<flux__>
whops, first $< = $@
<flux__>
makefile rules don't actually require that they generate the file they say they generate, so maybe I could make use of that, somehow
<Schmurtz>
you don't need a %.mli : %.ml rule
<flux__>
schmurtz, your rules don't recompile .ml if I change .mli, which is something I want?
<Schmurtz>
ok, you may need to use ocamldep to create such dependencies
<Schmurtz>
ocamldep will create all .mli dependences rules
<Schmurtz>
if an ocaml test.ml file use the module Foo, ocamldep create the rule test.ml : foo.mli
<flux__>
hmm, for me it makes only dependencies between .cm?-files
<Schmurtz>
and also test.ml : test.mli if test.mli exists
* Schmurtz
is totaly wrong
<Schmurtz>
you're right
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
Raziel has quit [Remote closed the connection]
<flux__>
if I'm going to (say) xor two files to produce a third one, it is going to be wildly more efficient to do it in C, right?
<flux__>
I just looked at what assembler for for i = 0 to String.length a do c.[i] <- char_of_int (int_of_char a.[i] lxor int_of_char b.[i]) done looked like, and it wasn't pretty
<flux__>
hm, infact, that might not be a bottleneck still, because that can already xor 74 megabytes per second (of result)
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
__DL__ has quit [Remote closed the connection]
__DL__ has joined #ocaml
kryptt has joined #ocaml
mainland has joined #ocaml
<flux__>
regarding make, this seems to work ok: %.cmi: %.mli @if [ -e $< ]; then echo $(OCAMLC) -o $@ -c $<; $(OCAMLC) -o $@ -c $<; fi %.mli: @true %.cmo: %.ml %.mli $(OCAMLC) -o $@ -c $<
vodka-goo has joined #ocaml
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
Snark has quit ["Leaving"]
Bigbang is now known as Bigb[a]ng
__DL__ has quit ["Bye Bye"]
malc__ is now known as malc_
mainland has quit [Read error: 104 (Connection reset by peer)]
mainland has joined #ocaml
mauke has quit [Remote closed the connection]
mauke has joined #ocaml
Oatmeat|umn has quit [Read error: 104 (Connection reset by peer)]