<thelema>
gildor: sleep, then. I'll play with this for a bit and then continue what I need to do
<thelema>
Thanks for working on this
ymasory_ has joined #ocaml
mrvn has quit [Ping timeout: 252 seconds]
mrvn has joined #ocaml
ymasory_ has quit [Quit: Leaving]
arubin has joined #ocaml
Yoric has quit [Quit: Yoric]
joewilliams is now known as joewilliams_away
cthuluh has joined #ocaml
eelte has joined #ocaml
coucou747 has quit [Read error: Operation timed out]
joewilliams_away is now known as joewilliams
qqmrw has joined #ocaml
haelix_ has joined #ocaml
hyperbor1ean has joined #ocaml
schme has quit [*.net *.split]
pantsd has quit [*.net *.split]
flux has quit [*.net *.split]
orbitz has quit [*.net *.split]
cods has quit [*.net *.split]
rossberg has quit [*.net *.split]
Tobu has quit [*.net *.split]
bitbckt has quit [*.net *.split]
svenl_ has quit [*.net *.split]
jld has quit [*.net *.split]
ftrvxmtrx has quit [*.net *.split]
jonafan has quit [*.net *.split]
hto has quit [*.net *.split]
rixed has quit [*.net *.split]
dgfitch has quit [*.net *.split]
philtor has quit [*.net *.split]
fabjan has quit [*.net *.split]
mcclurmc has quit [*.net *.split]
f[x] has quit [*.net *.split]
thelema has quit [*.net *.split]
Obfuscate has quit [*.net *.split]
noj has quit [*.net *.split]
cthuluh has quit [*.net *.split]
brendan has quit [*.net *.split]
emmanuelux has quit [*.net *.split]
hcarty has quit [*.net *.split]
Tianon has quit [*.net *.split]
wagle has quit [*.net *.split]
strlen has quit [*.net *.split]
fremo__ has quit [*.net *.split]
bohanlon has quit [*.net *.split]
eye-scuzzy has quit [*.net *.split]
npouillard has quit [*.net *.split]
gildor has quit [*.net *.split]
sgnb has quit [*.net *.split]
Pepe_ has quit [*.net *.split]
diml has quit [*.net *.split]
_2x2l has quit [*.net *.split]
Amorphous has quit [*.net *.split]
lopex has quit [*.net *.split]
mattam has quit [*.net *.split]
eelte has quit [*.net *.split]
fraggle_ has quit [*.net *.split]
myu2 has quit [*.net *.split]
explodus has quit [*.net *.split]
srcerer has quit [*.net *.split]
hyperboreean has quit [*.net *.split]
bacam has quit [*.net *.split]
jlouis has quit [*.net *.split]
haelix has quit [*.net *.split]
nimred has quit [*.net *.split]
Lor has quit [*.net *.split]
emias has quit [*.net *.split]
Asmadeus has quit [*.net *.split]
caligula_ has quit [*.net *.split]
joewilliams has quit [*.net *.split]
ptrf has quit [*.net *.split]
nejimban has quit [*.net *.split]
bzzbzz has quit [*.net *.split]
Derander has quit [*.net *.split]
rwmjones has quit [*.net *.split]
rproust has quit [*.net *.split]
patronus has quit [*.net *.split]
kerneis has quit [*.net *.split]
arubin has quit [*.net *.split]
mrvn has quit [*.net *.split]
pheredhel` has quit [*.net *.split]
willb has quit [*.net *.split]
kaustuv has quit [*.net *.split]
zzz_` has quit [*.net *.split]
deavid has quit [*.net *.split]
adrien has quit [*.net *.split]
coucou747 has joined #ocaml
fraggle_ has joined #ocaml
bacam_ has joined #ocaml
avsm has joined #ocaml
cthuluh has joined #ocaml
brendan has joined #ocaml
emmanuelux has joined #ocaml
hcarty has joined #ocaml
Tianon has joined #ocaml
wagle has joined #ocaml
strlen has joined #ocaml
fremo__ has joined #ocaml
dnolen has joined #ocaml
dnolen has quit [Excess Flood]
dnolen has joined #ocaml
bzzbzz has joined #ocaml
bohanlon has joined #ocaml
eye-scuzzy has joined #ocaml
npouillard has joined #ocaml
gildor has joined #ocaml
sgnb has joined #ocaml
Pepe_ has joined #ocaml
diml has joined #ocaml
_2x2l has joined #ocaml
emias has joined #ocaml
Derander has joined #ocaml
rwmjones has joined #ocaml
rproust has joined #ocaml
patronus has joined #ocaml
kerneis has joined #ocaml
nimred_ has joined #ocaml
jlouis_ has joined #ocaml
ptrf has joined #ocaml
Asmadeus has joined #ocaml
caligula_ has joined #ocaml
joewilliams has joined #ocaml
nejimban has joined #ocaml
ftrvxmtrx has joined #ocaml
jonafan has joined #ocaml
hto has joined #ocaml
rixed has joined #ocaml
dgfitch has joined #ocaml
schme has joined #ocaml
pantsd has joined #ocaml
flux has joined #ocaml
jld has joined #ocaml
orbitz has joined #ocaml
cods has joined #ocaml
rossberg has joined #ocaml
Tobu has joined #ocaml
bitbckt has joined #ocaml
svenl_ has joined #ocaml
Amorphous has joined #ocaml
lopex has joined #ocaml
mattam has joined #ocaml
philtor has joined #ocaml
fabjan has joined #ocaml
mcclurmc has joined #ocaml
f[x] has joined #ocaml
thelema has joined #ocaml
Obfuscate has joined #ocaml
noj has joined #ocaml
myu2 has joined #ocaml
mrvn has joined #ocaml
pheredhel` has joined #ocaml
willb has joined #ocaml
kaustuv has joined #ocaml
zzz_` has joined #ocaml
deavid has joined #ocaml
adrien has joined #ocaml
lopex has quit []
thelema_ has joined #ocaml
thelema has quit [Ping timeout: 240 seconds]
myu2 has quit [Remote host closed the connection]
explodus has joined #ocaml
scooty-puff has joined #ocaml
<scooty-puff>
i was wondering if using functors with known size "arrays" that expand to some type t, which would be a tuple
<scooty-puff>
would actually be worth it
<scooty-puff>
this is for use with multidimensional points
<scooty-puff>
i guess another question is if its possible - were it haskell, i'd use peano numbers and type classes, or maybe type families
<thelema_>
why not use a tuple (or record)?
thelema_ is now known as thelema
<scooty-puff>
well, that is the idea
<scooty-puff>
for a "body" type containing an int giving the dimensions, then an array of floats containing the actual
<scooty-puff>
point
<scooty-puff>
the idea would be to instead have a 'a body, where for <some type meaning one> body, you just have the value
<scooty-puff>
etc.
<thelema>
not a big deal in ocaml to have things this generic
<scooty-puff>
basically, i don't need to know the number of dimensions at runtime, just some aggregations on them
<scooty-puff>
are there any open libraries that do this?
<thelema>
then you don't need functors, just use arrays
<scooty-puff>
ok
<thelema>
there's plenty of libraries that work with arrays. Are you looking for high-performance numerical stuff?
<scooty-puff>
i'm assuming then the compiler would be smart enough to eliminate a lot of the bounds checking that it wouldn't be doing with tuples
<scooty-puff>
yes, but it would have to be very platform independent - no asm, etc.
<scooty-puff>
and the arrays aren't the big part
<scooty-puff>
just had been thinking of interesting ways to improve the algorithm
<thelema>
Well, depending on the functions you're using, they'd do the bounds check once (to find out how much to iterate) and then use unchecked access (like tuples) along the way.
<scooty-puff>
though if there are multiple and you prefer one, that would be useful
<scooty-puff>
ok
<thelema>
lacaml is what i'm using now, although it helps to know blas/lapack
<scooty-puff>
ok, thanks for all the help
<scooty-puff>
does ocaml automatically perform unpacking of values as appropriate, if thats makes sense?
<scooty-puff>
i.e. int * int * (int * int)
<scooty-puff>
as int * int * int * int
<scooty-puff>
or would it have to be with separate record types?
<scooty-puff>
(at compile time)
<thelema>
The ocaml compiler is pretty literal about doing what you ask it to
<thelema>
ocaml's great performance is mostly due to very efficient high-level primitives
<thelema>
it won't rewrite your data structures or deforest or any of these brittle optimizations
npouillard has quit [Read error: Operation timed out]
npouillard has joined #ocaml
<scooty-puff>
ok
sepp2k has joined #ocaml
scooty-puff has quit [Quit: Leaving]
emmanuelux has quit [Ping timeout: 248 seconds]
eye-scuzzy has quit [Read error: Operation timed out]
eye-scuzzy has joined #ocaml
ulfdoz has joined #ocaml
myu2 has joined #ocaml
dnolen has quit [Quit: dnolen]
jonafan_ has joined #ocaml
jonafan has quit [Ping timeout: 246 seconds]
joewilliams is now known as joewilliams_away
philtor has quit [Ping timeout: 240 seconds]
ulfdoz has quit [Ping timeout: 250 seconds]
joelr has joined #ocaml
ygrek has joined #ocaml
larhat has joined #ocaml
ttamttam has joined #ocaml
sepp2k has quit [Ping timeout: 246 seconds]
sepp2k has joined #ocaml
ikaros has joined #ocaml
Cyanure has joined #ocaml
mcclurmc_home has joined #ocaml
adlsaks has joined #ocaml
Associat0r has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
nimred_ has quit [Quit: leaving]
nimred has joined #ocaml
joelr has quit [Quit: joelr]
ankit9 has joined #ocaml
<flux>
I wonder..
<flux>
if, one day, it would be possible to take a bulk of ocaml code
<flux>
and automatically replace type string with the read/write-capable version of batteries
<flux>
and have it all just work (TM). of course, to actually be helpful, some inference step for having a less strict requirements, would be nice. or possibly hand-work.
mcclurmc_home has quit [Ping timeout: 276 seconds]
hcarty has quit [Ping timeout: 248 seconds]
ygrek has quit [Ping timeout: 246 seconds]
bacam_ is now known as bacam
Yoric has joined #ocaml
Yoric has quit [Client Quit]
Wojtas has joined #ocaml
<Wojtas>
Hello, how can I write a function that checks if a list has a specific type, so that it returns a bool?
<f[x]>
0 = Sys.command "python isinstance(x,t)"
hyperbor1ean has quit [Quit: leaving]
<flux>
hah, hah.
<flux>
wojtas, you cannot
<flux>
wojtas, maybe you can pass a boolean (or a function) with the list, that gives answer to that
Associat0r has quit [Quit: Associat0r]
<Wojtas>
ok
f[x] has quit [Ping timeout: 240 seconds]
lopex has joined #ocaml
noj has quit [Ping timeout: 240 seconds]
<mrvn>
Wojtas: no
<mrvn>
Wojtas: at runtime only memory representation of a type is accessible, not the type itself. And the representation is far from unique.
sudo has quit [Read error: Connection reset by peer]
lamawithonel_ has joined #ocaml
jonafan_ is now known as jonafan
lamawithonel has quit [Ping timeout: 246 seconds]
lamawithonel_ has quit [Ping timeout: 246 seconds]
lamawithonel_ has joined #ocaml
JohnnyL has left #ocaml []
avsm has quit [Quit: Leaving.]
yezariaely has joined #ocaml
MUILTFN has quit [Ping timeout: 250 seconds]
ttamttam has quit [Remote host closed the connection]
ulfdoz has joined #ocaml
<hcarty>
thelema: Cool, thanks
boscop__ has joined #ocaml
alexyk has joined #ocaml
<alexyk>
so I want to learn oasis and ocamlbuild. Do I have to learn ocamlbuild first? Does oasis subsume ocamlbuild?
boscop_ has quit [Ping timeout: 246 seconds]
<gildor>
alexyk: you can ignore part of ocamlbuild if you use oasis
<hcarty>
alexyk: My understanding is that you can use oasis for a lot without dealing with ocamlbuild directly, but for some uses you still need to do some work with ocamlbuild.
<gildor>
hcarty: indeed, if you need some "advanced" stuff like syntax extension, you'll need to add a couple of line in _tags
<alexyk>
ok
<hcarty>
gildor: That's what I had gathered from discussions in here
<gildor>
hcarty: if you need extra rules (e.g. to use alphaCaml or ocamlify) you'll have to hack myocamlbuild.ml, but this is REALLY advanced stuff
<gildor>
alexyk: the syntax extension stuff is very simple in fact, see my today answer to Joel Reymont on caml-list
<gildor>
alexyk: read also my two other reply to hcarty ^^^
<alexyk>
gildor: when, if ever, do you plan to support omake?
<gildor>
oasis don't claim to be a 100% frontend for ocamlbuild, just provide the basic stuff you need (C library building and ocamlfind handling)
<gildor>
alexyk: I plan, one day, to support
<gildor>
alexyk: patches are welcome ;-)
<alexyk>
gildor: I don't even know omake yet :)
<gildor>
alexyk: for now, ocamlbuild is the main plugin I have worked on, but this is only a plugin
<alexyk>
but it looked right... if only it were supported better
<gildor>
alexyk: I even stated that one of my goal was to support omake
<gildor>
but EENOUGHTIME got me
* gildor
time for dinner
<alexyk>
bon appetit
* bitbckt
just heard Julia Child in his head
<alexyk>
let's say I want to explore zeromq form ocaml. How would I manage and fork processes?
<alexyk>
or do folks mostly do manual programs for client and server?
<hcarty>
alexyk: Most MPI distributions have their own tools for starting a set of processes. zeromq may have something similar.
ttamttam has joined #ocaml
philtor has joined #ocaml
jonafan has quit [Read error: Connection reset by peer]
alexyk has quit [Quit: alexyk]
<rwmjones>
thelema: sorry missed that
<rwmjones>
thelema: that website has problems (same server as ocaml-tutorial), however
alexyk has joined #ocaml
<rwmjones>
thelema: the ancient code is hosted here
<hcarty>
gildor: On the page, or elsewhere? I see a file listing.
<hcarty>
gildor: But I'm not sure if I thinking of this in the correct context.
<gildor>
hcarty: this is an odb compatible repository, extracted from oasis-db
<gildor>
hcarty: I try to mimic what thelema has done by hand
<hcarty>
gildor: Ah. In that case, it's probably a good idea to include that. I believe the original odb info files have that information.
ymasory has joined #ocaml
<hcarty>
gildor: I need to go - I can hopefully provide some feedback tomorrow if needed
<gildor>
see you
wagle has joined #ocaml
wagle has quit [Quit: No Ping reply in 180 seconds.]
wagle has joined #ocaml
rwmjones has quit [Read error: Operation timed out]
wagle has quit [Ping timeout: 240 seconds]
emias has quit [Quit: Changing server]
emias has joined #ocaml
sepp2k has quit [Quit: Leaving.]
ikaros has quit [Quit: Leave the magic to Houdini]
rwmjones has joined #ocaml
wagle has joined #ocaml
yezariaely has quit [Quit: Leaving.]
adlsaks has joined #ocaml
wagle has quit [Remote host closed the connection]
wagle has joined #ocaml
Yoric has quit [Quit: Yoric]
MUILTFN has joined #ocaml
adlsaks has quit [Ping timeout: 240 seconds]
enthymeme has joined #ocaml
alexyk has quit [Quit: alexyk]
Amorphous has quit [Ping timeout: 250 seconds]
joelr has quit [Quit: joelr]
Amorphous has joined #ocaml
<ptrf>
is there any way of specifying a signature with a functor definition? like with modules, you can do module M = (struct ... end : sig ... end) - I get an error when I try module M = functor ( Q : S ) -> (struct ... end : sig ... end) for appropriate Q and S
<ptrf>
wait... i dont
<ptrf>
disregard that :P
<ptrf>
when you start making nested functors, is it then time to get some rest?
alexyk has joined #ocaml
Cyanure has quit [Remote host closed the connection]
alexyk has quit [Read error: Connection reset by peer]