dark_light changed the topic of #ocaml to: OCaml 3.09.2 available! Archive of Caml Weekly News: http://sardes.inrialpes.fr/~aschmitt/cwn/ | A free book: http://cristal.inria.fr/~remy/cours/appsem/ | Mailing List: http://caml.inria.fr/bin/wilma/caml-list/ | Cookbook: http://pleac.sourceforge.net/
dark_light has joined #ocaml
hikozaemon has joined #ocaml
MassAveAttack has joined #ocaml
ramki has quit [Read error: 110 (Connection timed out)]
pango_ has joined #ocaml
bzzbzz has joined #ocaml
pango has quit [Remote closed the connection]
ramkrsna has joined #ocaml
bzzbzz has quit ["leaving"]
jcreigh has joined #ocaml
Smerdyakov has quit ["Leaving"]
holo has quit [Read error: 113 (No route to host)]
jcreigh has quit ["Cuius rei demonstrationem mirabilem sane detexi. Hanc marginis exiguitas non caperet."]
shekmalhen has joined #ocaml
MassAveAttack has quit [Read error: 110 (Connection timed out)]
tristram has joined #ocaml
shekmalhen has quit ["Snakes on a Plane sti... des serpents sur un avion! Fallait y penser."]
shans_home has quit ["Leaving"]
mwc has joined #ocaml
tristram has quit ["leaving"]
mwc_ has joined #ocaml
tristram has joined #ocaml
mwc has quit [Nick collision from services.]
mwc_ is now known as mwc
<mwc> What is ocamlfind, and why can't I find it :D
<pango_> $ dpkg -S `which ocamlfind`
<pango_> ocaml-findlib: /usr/bin/ocamlfind
<pango_> part of findlib I think
<ulfdoz> mwc: ocamlfind searches for Ocaml-libraries on your system and passes appropriate Compilerflags.
<mwc> thanks, it looked like it was part of the standard distribution. I have a package that depends on it
<ulfdoz> quite comfortable tool, imho.
<mwc> Kind of an unpleasant job packaging it... tries to manually create files during the install
Itkovian has joined #ocaml
mwc has quit [Remote closed the connection]
Itkovian has quit [Read error: 110 (Connection timed out)]
Itkovian has joined #ocaml
pango_ has quit [Remote closed the connection]
pango has joined #ocaml
mnemonic has joined #ocaml
<mnemonic> hi
mnemonic has quit ["leaving"]
smimou has joined #ocaml
Itkovian has quit []
Itkovian has joined #ocaml
revision17_ has joined #ocaml
Itkovian has quit [Read error: 110 (Connection timed out)]
Revision17 has quit [Read error: 110 (Connection timed out)]
Itkovian has joined #ocaml
m3ga has joined #ocaml
joelr1 has joined #ocaml
<joelr1> good morning
<joelr1> do you say "an order management system" or "a order management system"?
<m3ga> evening joelr1
<joelr1> :)
<m3ga> i'd use the former
<joelr1> ah!
<joelr1> what's the rule?
<m3ga> i'm afraid i don't know the rule, english is my first language but i don't know the rules :-)
<joelr1> haha
<joelr1> ok then
<m3ga> the rule is something along the lines of "use 'an' in the thing it refers to starts with a vowel"
<joelr1> cool
<joelr1> english is /obviously/ not my native language :D
<m3ga> for every rule in english there seems to be at least one exception. enjoy :-)
<joelr1> :)
hikozaemon has quit ["Leaving..."]
<joelr1> i just wrote up an article on ocaml
<joelr1> post, rather, no article
Itkovian has quit []
joelr1 has quit []
slipstream-- has quit [Remote closed the connection]
<m3ga> joelr1 : nice!
slipstream has joined #ocaml
asbeta has joined #ocaml
mnemonic has joined #ocaml
holo has joined #ocaml
m3ga has quit ["disappearing into the sunset"]
mnemonic has quit [Read error: 110 (Connection timed out)]
Itkovian has joined #ocaml
Itkovian has quit []
slipstream has quit [Remote closed the connection]
Itkovian has joined #ocaml
slipstream has joined #ocaml
holo has left #ocaml []
Itkovian has quit []
slipstream-- has joined #ocaml
slipstream-- has quit [Client Quit]
slipstream has quit ["leaving"]
slipstream has joined #ocaml
Itkovian has joined #ocaml
slipstream has quit ["leaving"]
rillig has joined #ocaml
slipstream has joined #ocaml
Smerdyakov has joined #ocaml
pango has quit ["Leaving"]
pango has joined #ocaml
Itkovian has quit []
finelemo1 has joined #ocaml
finelemon has quit [Read error: 110 (Connection timed out)]
svref has joined #ocaml
<svref> I'm debugging. How do I print a list of objects?
<svref> (yes, I'm sooper newbie)
Itkovian has joined #ocaml
<pango> svref: print from toplevel, debugger, or printing from the program itself ?
<svref> the program itself, e.g. function isn't doing what I want, I want to print out a list halfway through to see what its thinking about
<svref> like in LISP, you can just call (print X), and it doesn't matter the type of X, it just gets printed.
<zmdkrbou> ocaml *cares* for types :)
<svref> Allright, what does the toplevel call after you tell it something? That's what I wanna call.
<zmdkrbou> you can try with the Marshal module
<pango> compiled programs don't contain the toplevel
<svref> I can arrange to call my buggy function through the toplevel, too. :)
dmitri83 has joined #ocaml
<dmitri83> hello
<svref> hi
<pango> toplevel seems to know how to print objects' signature, but probably not value (never used objects...)
<pango> # object method x = "hello" end ;;
<pango> - : < x : string > = <obj>
<dmitri83> I am a newbie in ocaml, could anybody tell me whether there is an unsigned 32-bit integer type in ocaml?
<zmdkrbou> yep
<zmdkrbou> module Int32
<pango> dmitri83: there's no unsigned type
<zmdkrbou> oups
<dylan> I thought int32 was signed
<zmdkrbou> unsigned :p
<zmdkrbou> my mistake
<dmitri83> no, i tried it, it's signed :)
<dmitri83> so, what should I do? :/
<zmdkrbou> dmitri83: but you can do unsigned arthmetic with the signed module
<zmdkrbou> other solution is to bind with C :)
<svref> pango: surely there's a method I can define on my objects that changes the way they print, right? :)
<dylan> or use a int64 and write a wrapper to emulate unsigned 32bit
<pango> svref: yes, call it print or display ;)
<dmitri83> dylan: that was my first thought
<dmitri83> dylan: but that's very space-inefficient
<dmitri83> dylan: I have big arrays of 32-bit uints
<dylan> Only on 32bit machines, right?
<zmdkrbou> dmitri83: the most efficient way is to bind to C
<dmitri83> and what if I define a new type -- a vector of booleans --- and define arithmetical operations on it?
<svref> what's the shortest expression to test if a list is empty?
<dmitri83> would a vector of booleans of length 32 occupy 4 bytes?
<zmdkrbou> dmitri83: this won't be efficient at all :)
<zmdkrbou> i don't think so
<pango> svref: there's no predefined method, so you're free to make one
<pango> svref: then List.map (fun o -> o#print) objects
<pango> List.iter even
<pango> dmitri83: each boolean will use a word, but you can use Bitv module (see ocaml hump)
<pango> svref: e = []
<svref> ah...well the tutorials never say that! ;)
<pango> dmitri83: but indeed it will be much slower
<dmitri83> pango: ... than using int64
<svref> dmitri83: can I intrest you in some 30-bit unsigned ints?
<pango> dmitri83: even if int64s are not blazing fast, they'll probably be much faster than doing your own arithmetic on bit vectors :)
<dmitri83> svref: no, I need 32-bit uints
<dmitri83> pango: anyway, thanks for the ref to Bitv
<pango> dmitri83: in fact 32 bits values are difficult to get efficiently in ocaml :/
<zmdkrbou> dmitri83: you can use Int32 and make wrappers to have unsigned 32bis arithmetic
<zmdkrbou> so you'll use exactly 32bits
* pango nods
<zmdkrbou> you just have to take care of some cases, i think
<svref> (by the way, if Ocaml is so incredibly strongly typed, why does it need a 1-bit tag for everything?)
<pango> svref: for gc
<dylan> and for efficient unboxed types
<pango> svref: gc being unaware of types (well, only basic types) has proven to be more efficient
<svref> hm...
<dmitri83> what's this 1-bit tags business?
<dmitri83> my signed int32-s actually take 5 bytes??!
<svref> prolly more like 8 bytes
<dmitri83> omg
<pango> dmitri83: prolly more like 12 bytes, at best
<dylan> omg ponies!
<svref> If you're lucky, then that's not the case when they're stored in arrays
<dmitri83> and if I have a vector of them
<dmitri83> ?
<dmitri83> ah
<pango> svref: mmh why not ?
<svref> Well I don't know about ocaml, but in LISP good implementations store the type of the array in the array header, so that they don't have to box the array contents.
<pango> svref: ocaml only does that in few specific cases (arrays of floats, mainly)
<svref> that's where you need it most.
<pango> (www.ocaml.org down again ?)
<svref> Lisp also only does it in a few specific cases, and again its highly implementation dependant.
<zmdkrbou> apffff
<pango> dmitri83: 32 bits to store the value, a word for block header, a word for the reference to the block
* zmdkrbou hands a decent internet connection to the inria
svref has quit ["Client exiting"]
<pango> http://web.archive.org/web/20050319025103/caml.inria.fr/about/papers.en.html (don't remember where making gc type-(un)aware is discussed... either one of the Gc papers, or Zinc paper, I guess)
<pango> ah, site works again, http://caml.inria.fr/about/papers.en.html
<pango> dmitri83: check the Bigarray path too
Itkovian has quit []
shawn has quit ["This computer has gone to sleep"]
Itkovian has joined #ocaml
dmitri83 has quit ["ERC Version 5.1.2 $Revision: 1.796.2.4 $ (IRC client for Emacs)"]
shawn has joined #ocaml
Itkovian has quit [No route to host]
pango has quit [Remote closed the connection]
slipstream has quit [Read error: 104 (Connection reset by peer)]
pango has joined #ocaml
slipstream has joined #ocaml
alcojol has joined #ocaml
Banana has joined #ocaml
smimou has quit [Read error: 110 (Connection timed out)]
Banana has left #ocaml []
rillig has quit ["exit(EXIT_SUCCESS)"]
tristram has quit [Read error: 110 (Connection timed out)]
chessguy has joined #ocaml
asbeta has quit []
chessguy has quit [" HydraIRC -> http://www.hydrairc.com <- 100,000+ downloads can't be wrong"]
mwc has joined #ocaml
mwc has quit ["Leaving"]
mwc has joined #ocaml
smimou has joined #ocaml
smimou has quit ["bli"]