adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.00.1 http://bit.ly/UHeZyT | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
ahokaomaeha has quit [Ping timeout: 252 seconds]
tane has quit [Quit: Verlassend]
ahokaomaeha has joined #ocaml
Icarot has joined #ocaml
Icarot has quit [Remote host closed the connection]
madroach has quit [Ping timeout: 248 seconds]
madroach has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
m4b` has joined #ocaml
mcsquiggedy_ has joined #ocaml
mcsquiggedy_ has left #ocaml []
yacks has joined #ocaml
mye_ has joined #ocaml
mye has quit [Ping timeout: 252 seconds]
mye_ is now known as mye
ahokaomaeha has quit [Ping timeout: 245 seconds]
yacks has quit [Remote host closed the connection]
mattrepl has quit [Quit: mattrepl]
sgnb` has joined #ocaml
sgnb has quit [Ping timeout: 256 seconds]
creichen has quit [Ping timeout: 245 seconds]
Icarot has joined #ocaml
yacks has joined #ocaml
Icarot has quit [Read error: Connection reset by peer]
Icarot has joined #ocaml
Icarot has quit [Read error: Connection reset by peer]
Icarot has joined #ocaml
Icarot has quit [Read error: Connection reset by peer]
Icarot has joined #ocaml
Icarot has quit [Client Quit]
Icarot has joined #ocaml
Icarot has quit [Read error: Connection reset by peer]
Icarot has joined #ocaml
lopex has quit [Read error: Operation timed out]
bobry has quit [Ping timeout: 245 seconds]
Leonidas has quit [Ping timeout: 245 seconds]
vpm has quit [Ping timeout: 276 seconds]
Leonidas has joined #ocaml
lenstr has quit [Ping timeout: 245 seconds]
olasd has quit [Ping timeout: 264 seconds]
vpm has joined #ocaml
mfp has quit [Ping timeout: 244 seconds]
Icarot has quit [Ping timeout: 248 seconds]
yacks has quit [Ping timeout: 248 seconds]
olasd has joined #ocaml
olasd has quit [Changing host]
olasd has joined #ocaml
LeNsTR has joined #ocaml
mfp has joined #ocaml
yacks has joined #ocaml
yacks has quit [Ping timeout: 255 seconds]
ttamttam has joined #ocaml
ttamttam has quit [Remote host closed the connection]
yacks has joined #ocaml
Cyanure has joined #ocaml
m4b` has quit [Ping timeout: 245 seconds]
Yoric has joined #ocaml
ulfdoz has joined #ocaml
Icarot has joined #ocaml
Icarot has quit [Remote host closed the connection]
rixed has quit [Read error: Operation timed out]
bobry has joined #ocaml
lopex has joined #ocaml
ttamttam has joined #ocaml
<flux> orbitz, the type seems ok, but maybe your actual type involves '_a
<orbitz> flux: it faield when the function I pass returned a polmorphic variant, but worked when I changedit to a regular variable
<orbitz> err
<orbitz> regular variant
q66 has joined #ocaml
<orbitz> is the error
<orbitz> errr no it isn't
Cyanure has quit [Remote host closed the connection]
<orbitz> Error: The type of this expression, _[> `Foo ] Protobuf.Parser.t, contains type variables that cannot be generalized
<orbitz> is the actual error
hkBst has joined #ocaml
ttamttam has quit [Ping timeout: 256 seconds]
<flux> orbitz, is it a value?
ulfdoz has quit [Ping timeout: 276 seconds]
<orbitz> let enum_conv = function | 300 -> Ok `Foo | _ -> Error `Overflow
<orbitz> if I change `Foo to Foo (with the correct type) it works as expected
<orbitz> gotta take a shower and head to work, i appreciate you in advance for any suggestiosn
thomasga has joined #ocaml
ttamttam has joined #ocaml
tac has joined #ocaml
Yoric has quit [Ping timeout: 264 seconds]
djcoin has joined #ocaml
cdidd has quit [Remote host closed the connection]
rixed has joined #ocaml
cyball2 has quit [Ping timeout: 245 seconds]
cago has joined #ocaml
tac has quit [Ping timeout: 245 seconds]
adotbrown has quit [Ping timeout: 248 seconds]
mika1 has joined #ocaml
Yoric has joined #ocaml
Guest34021 has quit [Ping timeout: 248 seconds]
q66 has quit [Remote host closed the connection]
mika1 has quit [Quit: Leaving.]
mika1 has joined #ocaml
hkBst has quit [Ping timeout: 245 seconds]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
Sergey has quit [Read error: Connection reset by peer]
Sergey has joined #ocaml
Sergey_ has joined #ocaml
ottbot has joined #ocaml
Sergey has quit [Ping timeout: 245 seconds]
mye has quit [Quit: mye]
Kakadu has joined #ocaml
ontologiae has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
mika1 has quit [Quit: Leaving.]
mika1 has joined #ocaml
yacks has quit [Quit: Leaving]
Yoric has quit [Ping timeout: 256 seconds]
hkBst has quit [Ping timeout: 245 seconds]
rwmjones has quit [Ping timeout: 256 seconds]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
adotbrown has joined #ocaml
yacks has joined #ocaml
adotbrown has quit [Ping timeout: 252 seconds]
Sergey_ has quit [Quit: Leaving]
rwmjones has joined #ocaml
mika1 has quit [Quit: Leaving.]
mcclurmc has quit [Ping timeout: 256 seconds]
mika1 has joined #ocaml
Yoric has joined #ocaml
hkBst has quit [Read error: Connection reset by peer]
hkBst has joined #ocaml
Guest34021 has joined #ocaml
hkBst has quit [Remote host closed the connection]
myx has joined #ocaml
hkBst has joined #ocaml
dwmw2_gone is now known as dwmw2
leoncamel has joined #ocaml
cyball has joined #ocaml
mcclurmc has joined #ocaml
adotbrown has joined #ocaml
_andre has joined #ocaml
yacks has quit [Read error: Operation timed out]
hkBst_ has joined #ocaml
hkBst has quit [Ping timeout: 245 seconds]
ontologiae has quit [Ping timeout: 260 seconds]
yacks has joined #ocaml
Yoric has quit [Ping timeout: 264 seconds]
mika1 has quit [Ping timeout: 252 seconds]
ttamttam has quit [Quit: ttamttam]
Tobu has quit [Ping timeout: 264 seconds]
Tobu has joined #ocaml
ontologiae has joined #ocaml
Icarot has joined #ocaml
mika1 has joined #ocaml
Yoric has joined #ocaml
Icarot has quit [Remote host closed the connection]
Yoric has quit [Ping timeout: 245 seconds]
mfp has quit [Ping timeout: 245 seconds]
adotbrown has quit [Ping timeout: 264 seconds]
Yoric has joined #ocaml
hkBst__ has joined #ocaml
hkBst_ has quit [Read error: Connection reset by peer]
chambart has joined #ocaml
hkBst__ has quit [Ping timeout: 248 seconds]
<avsm> i've just added a cluster of 8 raspberry pis to the OPAM continuous build pool
<avsm> fun!
<flux> ..
<flux> finally got some use to rpis?-)
<flux> orbitz, it is different it youw rite it let enum_conv x = match x with | 300 -> ..
q66 has joined #ocaml
<flux> ?
<flux> I think it shouldn't be, though..
<flux> orbitz, or did you resolve the issue otherwise
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
ttamttam has joined #ocaml
hkBst has quit [Ping timeout: 256 seconds]
tane has joined #ocaml
<Leonidas> avsm: isn't that like, less powerful than one x86 box with 8 qemus? :)
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
hkBst has quit [Excess Flood]
hkBst has joined #ocaml
<flux> leonidas, oh yeah, well I bet your x86 box doesn't decode 8 mpeg4 videos at full hd at the same time !!
<flux> ;-)
mattrepl has joined #ocaml
<Leonidas> flux: actually, with VAAPI I get 1% CPU load when decoding 1 MPEG4 video at full hd, and 10% without, so I think it might just manage 8 MPEG4 videos.
Kakadu has quit [Quit: Page closed]
<Leonidas> (Sandybridge i5 in a laptop, so probably storage is the bottleneck)
<Leonidas> ;-)
<flux> leonidas, but how much is your GPU load?
<flux> it still does palette conversions without VAAPI
<flux> but I suppose that's still fast
<Leonidas> flux: can't check that atm, as I am on a laptop which is about as powerful as a rpi ^^
<Leonidas> and I am not really sure where to check for GPU load
<Leonidas> (Intel HD 3000)
mfp has joined #ocaml
<avsm> Leonidas: yeah, but you just can't beat testing on real hardware. it's also a nice segway to a crowdsourced way of contributing to OPAM tests that we're building
<flux> avsm, do you have an image people can just stick into their rpi's and it works?-)
<flux> run random internet folk's code on your home network with ease ;)
<flux> (ok after you firewall the box I suppose)
<Leonidas> avsm: how do you manage the 8 rpi's? I currently have one that does nothing for the most of the time, so if there is a way to set it up as a buildbot, I'd be willing to do that
<avsm> working on it; we'll have an opam package that'll add you to the global build pool automatically and take care of NAT traversal etc
<avsm> a few bits of infrastructure coming first though
<Leonidas> ohhh, shiny :)
ontologiae has quit [Ping timeout: 264 seconds]
<Leonidas> avsm: you don't need any more readers for real world ocaml? I'm writing my bachelors thesis with ocaml so having one more reference would be cool
<avsm> email me
<flux> is it a good reference if it's not available?-)
<Leonidas> alright, will do when i'm back home where I have a proper mail program :)
<Leonidas> flux: the current best reference is a book that was never released, so adding a book that might eventually be released is a considerable improvement :-)
tane has quit [Quit: Verlassend]
ahokaomaeha has joined #ocaml
hkBst has quit [Ping timeout: 272 seconds]
lusory_ has quit [Read error: Connection reset by peer]
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
ttamttam has quit [Quit: ttamttam]
ontologiae has joined #ocaml
ttamttam has joined #ocaml
yacks has quit [Read error: Connection reset by peer]
LeNsTR has quit [Changing host]
LeNsTR has joined #ocaml
kaustuv has joined #ocaml
leoncamel has quit [Ping timeout: 252 seconds]
<kaustuv> Sorry if this is a FAQ, but what is the status of OCaml 4.0 on Debian? Currently I see some 4.0 packages in experimental, but apparently lablgtk2 and batteries don't seem to be updated.
tane has joined #ocaml
tane has quit [Client Quit]
ttamttam has quit [Ping timeout: 256 seconds]
darkf has quit [Quit: Leaving]
tane has joined #ocaml
cago has quit [Read error: Connection reset by peer]
<Leonidas> kaustuv: i suppose that is because Debian is in freeze, so no new packages are going into testing at least
<Leonidas> and considering D-I RC1 is out, Debian 7.0 will probably be "soon"
tac has joined #ocaml
cdidd has joined #ocaml
<thelema> avsm: regarding the OPAM build pool; how can I find out if batteries is broken on some platform?
mika1 has quit [Quit: Leaving.]
<avsm> thelema: we're working on that at the moment. probably a month or so away
<avsm> (using ocaml to build out the infrastructure, so a nice eat-your-own-dogfood exercise too)
<thelema> are you re-inventing jenkins?
<avsm> no
<thelema> ah, good. From your one month estimate, I was imagining something like this.
<thelema> I guess most of the work is in nailing things down so all your systems don't get powned by an evil release's test script?
ttamttam has joined #ocaml
kaustuv has left #ocaml []
tac has quit [Ping timeout: 245 seconds]
S11001001 has joined #ocaml
S11001001 has quit [Changing host]
S11001001 has joined #ocaml
rks has joined #ocaml
Yoric has quit [Ping timeout: 252 seconds]
tac has joined #ocaml
ahokaomaeha has quit [Quit: When I come back, please tell me in what new ways you have decided to be completely wrong.]
ahokaomaeha has joined #ocaml
hkBst has quit [Quit: Konversation terminated!]
yacks has joined #ocaml
anderse has joined #ocaml
ttamttam has quit [Quit: ttamttam]
Cyanure has joined #ocaml
notk0 has joined #ocaml
<notk0> hello, is ocaml a good language for serializing ?
<pippijn> you can serialise ocaml data structures in varios ways
<notk0> how different is ocaml from other languages in that regard?
<pippijn> either via built-in serialisation or via a syntax extension
<notk0> is there an advantage to switch to ocaml?
<pippijn> from what?
<notk0> from XML
<notk0> we are using xml as a markup language now
<notk0> was wondering how good ocaml is
<pippijn> and you want to use ocaml as markup language?
<notk0> well ocaml is a markup language
<pippijn> what ocaml are you talking about?
<notk0> the markup language, ml = markup language
<notk0> html, xml ocaml
<pippijn> ok
<pippijn> I don't know that one
<djcoin> notk0: you are hilarious
<tane> indeed
<notk0> djcoin: why?
<notk0> pippijn: Ocaml is a ML language you know
<pippijn> I should start remembering nicks
<tane> and that means meta language, doesnt it?
<notk0> ML = markup language
<rks> tane: no, markup ! he just told you
<rks> ;)
<djcoin> notk0: two days, i treat you as a troll
<djcoin> you came saying ML is meta language
<rks> (I'm laughing so much right now)
<tane> :)
<djcoin> etc.
<pippijn> it's nice that some people get joy out of this
<notk0> djcoin: what you said makes no sense...
<djcoin> O RLY ?
<notk0> djcoin: I think you expressed yourself wrong
<anderse> ;p
<rks> :DD
def-lkb has joined #ocaml
<notk0> I don't see how my question is not reasonable guys
<tac> you just want to know about parsing, right?
<tac> Ocaml will have libraries similar to most languages in that regard, I'm pretty sure... at least if you're parsing XML or some standard format
<notk0> tac: there is Menhir a parser generator for Ocaml
cyball has quit [Remote host closed the connection]
ahokaomaeha has quit [Ping timeout: 245 seconds]
Yoric has joined #ocaml
<ousado> pippijn: do you have a github repo?
<djcoin> https://github.com/pippijn I guess :)
<ousado> or some other public place you put your code?
ontologiae has quit [Read error: Operation timed out]
<ousado> ah yes .. hm it's not there
<ousado> pippijn: will you put your camlp4-based ocaml-types [de]serializer thing up there?
Yoric has quit [Ping timeout: 252 seconds]
ttamttam has joined #ocaml
mcsquiggedy has joined #ocaml
pkrnj has joined #ocaml
djcoin has quit [Quit: WeeChat 0.3.9.2]
<pippijn> ousado: ok
<pippijn> ousado: one of these days
<pippijn> ousado: I won't remember notifying you
<pippijn> ousado: if it's still not there in a week, ask me again
def-lkb has quit [Quit: Lost terminal]
<ousado> pippijn: will do :)
mcclurmc has quit [Ping timeout: 245 seconds]
def-lkb has joined #ocaml
<adrien> chambart: hey, I keep on forgetting during the day: can you ask ocp what is the state of his "stripped-ocaml" branch on ocaml svn? (it moves labltk, ocamlbuild, camlp4 to a subdirectory)
<adrien> I'm very interested in it
<adrien> (especially for cross-compilation and also because I believe it makes more sense)
<adrien> (I would do the same to ocamldoc actually)
<chambart> adrien, it is not stable yet...
<adrien> ok, but it's ongoing and not a one-shot branch that will die?
<adrien> that's my fear
<adrien> I had to add ways to disable ocamldoc, ocamlbuild, and a couple others in order to be able to build a cross-compiler
<pippijn> I didn't know this existed, but I'm very happy it does
<adrien> pippijn: saw it by luck with a "gitk --all"
<chambart> it has been decided at the consortium that the ocaml repository will be stripped of all the uneeded parts for bootstraping
<adrien> \o/
* adrien dances
ttamttam has quit [Quit: ttamttam]
<adrien> having to build ocamlbuild while building a cross-compiler simply is impossible
<chambart> this branch is not ready yet and won't evolve a lot in close future because of lack of time
ttamttam has joined #ocaml
<chambart> but it will be done
Yoric has joined #ocaml
<adrien> ok
<chambart> If you are interested in helping us, feel free to play with some git branch somewhere
<chambart> a big part of this project is also to have clean independent repositories for ocamlbuild/camlp4/labltk/ocamldoc ...
<adrien> I have a fairly simple commit that makes building ocamldoc, ocamlbuild and ocamldebug optional currently and that's enough for my needs currently (and more than enough for my time unfortunately)
<chambart> We can't commit anything to the trunk before this is done and someone have accepted to take charge of maintainance
<adrien> wmeyer has pushed patches that make building without ocamlbuild possible
<adrien> although I don't really care about whether it's ocamlbuild or something else: all I wish is that it's outside of the compiler
<adrien> so I can build a native ocaml compiler, then build ocamlbuild, then build ocaml with this ocamlbuild
Yoric has quit [Ping timeout: 264 seconds]
<chambart> I need to go
<chambart> see you
<adrien> ok, thanks for the answers
<adrien> see you
chambart has quit [Ping timeout: 252 seconds]
mcsquiggedy has quit [Quit: Leaving]
tac has quit [Ping timeout: 245 seconds]
smondet has joined #ocaml
<Leonidas> turns out ocaml has $ and it is called **>. Shiny!
<Leonidas> Batteries that is.
<adrien> library-provided
<adrien> :-)
<Leonidas> yeah, I don't leave the house without batteries :-)
<adrien> heh :-)
<Leonidas> pry batteries from my cold dead hands :)
mye has joined #ocaml
tac has joined #ocaml
Yoric has joined #ocaml
anderse has quit [Quit: anderse]
ottbot has quit [Ping timeout: 252 seconds]
mye has quit [Quit: mye]
notk0 has left #ocaml []
ttamttam has left #ocaml []
anderse has joined #ocaml
tac has quit [Ping timeout: 245 seconds]
_andre has quit [Quit: leaving]
20WABZYUS has joined #ocaml
31NACVBLF has joined #ocaml
20WABZYUS has quit [Read error: Connection reset by peer]
31NACVBLF has quit [Client Quit]
Icarot has joined #ocaml
Rotek has joined #ocaml
Rotek has quit [Remote host closed the connection]
Icarot has quit [Remote host closed the connection]
Icarot has joined #ocaml
anderse has quit [Quit: anderse]
tizoc has quit [Quit: Coyote finally caught me]
ollehar has joined #ocaml
m4b` has joined #ocaml
<m4b`> are ocaml ints unboxed, if so, how to create an array of unboxed ints? bigarray?
<orbitz> m4b`: I don't think they are, they are tagged though
<orbitz> m4b`: and Bigarray creates unboxxed anything I think
<companion_cube> I think ints are unboxed
<companion_cube> (char and bool too)
<ollehar> any comments on new reentrant ocaml? see reddit/r/ocaml for link
<companion_cube> so if you have an int array, it's unboxed
<m4b`> companion_cube: how can we find out?
<companion_cube> m4b`: you may allocate a int array, modify it a lot of time, and check out the GC stats
<companion_cube> in a small test program
<companion_cube> if the GC only allocated the memory for the array...
<m4b`> companion_cube: what should I look for (i assume from gprof?)
<companion_cube> no, you should use the module Gc
<companion_cube> Gc.print_stat
<orbitz> getting someone who knows the system would probably be better
<m4b`> compaion_cube: how would i know if the gc only allocated memory from array using gc.print_stat?
mye has joined #ocaml
<m4b`> orbitz: agreed
<orbitz> might say something useful
Cyanure has quit [Remote host closed the connection]
<orbitz> "In OCaml, the basic types are all unboxed"
<companion_cube> http://vrac.cedeela.fr/truc.ml ← if I change the number of loops, the allocation stats are the same
<companion_cube> so the loop does not allocate anything
<def-lkb> m4b`: ocaml int are 31 bits on 32bits arch and 63 on 64 bits (that is, one bit is reserved for the tag)
<def-lkb> m4b`: but otherwise, they are unboxed, so int array is an array of "unboxed" ints (the same for ints in tuples, records, …)
<julm> i don't think so
<julm> afaik, unboxing in array is only for float
<companion_cube> because for ints it's automatic
<def-lkb> julm: there are two representations for basic blocks
<def-lkb> julm: blocks containing only floats have a special flat/unboxed representation, this is the case for float records and float arrays
<m4b`> orbitz: yes just read that, thanks for the link; companion_cube: thanks for testing a simple program :)
<def-lkb> but as a tagged int is just a word with a particular tag, they are stored "unboxed" in normal block representation
mcclurmc has joined #ocaml
<julm> int are not a word; and they have no tag
<julm> only block have a 7-bit tag
<julm> cf. caml/mlvalues.h
<def-lkb> ok, julm the term tag is misleading, the lsb is 1 to distinguish them from pointers, but yes, that's not a tag is the block-sense
tizoc has joined #ocaml
<julm> yep
<def-lkb> however, when storing ints in blocks, there is no boxing and/or indirection because they have the same size as machine word
<m4b`> thanks for everyone's answers
<m4b`> i am having problems with aliasing in arrays; as a result i use array.copy, but this causes caml_initialize to go insane; does anyone have a suggestion for a data structure _like_ arrays, but perhaps immutable to avoid aliasing problems?
tac has joined #ocaml
chambart has joined #ocaml
<def-lkb> m4b`: here you can find a persistent-array implementation https://www.lri.fr/~filliatr/puf/
<fasta> If you find an interesting application of a persistent-array, call the news.
TDJACR has quit [Quit: leaving]
<zorun> fasta: semi-persistent arrays are quite useful for backtracking algorithms
<zorun> I'm using it in an implementation of DPLL for solving SAT
<fasta> zorun: yeah, that could be possible, but you don't need them for that problem, do you?
<fasta> zorun: I think that for SAT you just need to squeeze out everything you can.
<fasta> (by which I would mean that mutable algorithms are likely going to be faster in combination with MPI)
<fasta> zorun: why are you using them? For convenience?
<zorun> fasta: well, DPLL basically involves trying (recursively) to assign some variables at random (or using clever heuristics), deducing the values of other variables, and backtracking when you're stuck
<fasta> zorun: I reinvented DPLL myself before I knew about it.
<fasta> zorun: I implemented it 10 years ago or something like that.
<zorun> I use a semi-persistent array for storing partial assignment, since basic persistence is required (recursive calls and backtracking)
<zorun> oh, right :)
<fasta> zorun: I am not saying it is bad software-engineering (it is not), but I am just wondering whether that gets you top-notch performance.
tac has quit [Ping timeout: 245 seconds]
<zorun> it's just a matter of convenience, I think
<fasta> Well, I'd hope that you know :P
<zorun> with an imperative structure (arrays), you'd have to rollback the changes you made before you can backtrack
<fasta> Yeah, but that's perhaps less work than using full semi-persistent arrays.
<zorun> performance-wise, I believe both approaches are strictly equivalent :)
<zorun> hmm, maybe, but I found the idea of this structure interesting ;)
<fasta> Yeah, and of course you are using modules to separate the concerns, right?
<companion_cube> state of the art sat solvers are all written in a very imperative style, with this kind of backtrackable arrays
<zorun> but I agree I've never needed some kind of persistent array before
<zorun> fasta: of course
<fasta> zorun: does OCaml remove all those layers of indirection?
<fasta> I thought it didn't.
<zorun> hmm, probably not
<zorun> I don't think it does inlining between modules
<zorun> in that case, you're right, it's probably a bit slower
<fasta> I think a language which has such module constructs must also implement them efficiently.
ottbot has joined #ocaml
<fasta> Likely mlton doesn't have such issues.
<zorun> the primary interest of modules is abstraction and reusability, and I believe most people are willing to sacrifice a tiny bit of performance for this
<zorun> (I do, at least)
<companion_cube> mlton is really oriented toward performance
<companion_cube> (I would like such a compiler for ocaml, though)
<fasta> But mlton only uses one core, doesn't it?
<companion_cube> no idea
<fasta> (still beating Haskell on 4 cores, last time I checked, though)
<fasta> (for some problems, at least)
<fasta> There is a multicore variant of it now.
<fasta> companion_cube: is there any reason why compiling OCaml to mlton would be a bad idea?
<companion_cube> well, SML does not have all the features as ocaml
<companion_cube> no first class modules (afaik) nor objects
<companion_cube> of*
m4b` has quit [Remote host closed the connection]
rwmjones has quit [Read error: Operation timed out]
adotbrown has joined #ocaml
<m4b> def-lkb: i used the persistent arrays at that location already; they were reasonably fast, better than maps, but unsurprisingly, after some time, the program was using 90% of the system memory
<m4b> i need something more like an immutable array, to avoid the aliasing, or some other trick i guess; dunno anymore
<def-lkb> m4b: i don't know what better structure you can use, but it probably depends on the access pattern your program is expected to exhibit
Yoric has quit [Ping timeout: 260 seconds]
rwmjones has joined #ocaml
<m4b> def-lkb: yea i'm at a loss at this point. essentially the arrays are the items of maps; occasionally, i need to copy an array with key k into key 0's item. that's where the aliasing is getting me, i need to return a fresh copy
<zorun> m4b: do you need O(1) random access and update?
<zorun> iirc, Okasaki describes a ML implementation of random-access lists
<m4b> zorun: not necessarily; but if it's log(n) for both we're just talking about maps again
<zorun> that is, you have all list operations on O(1) (possibly amortized, I don't really remember), but random access and updates in O(log n)
<zorun> hmm, right
tac has joined #ocaml
tac has quit [Ping timeout: 245 seconds]
Derander has quit [Ping timeout: 256 seconds]
tac has joined #ocaml
Derander has joined #ocaml
ottbot has quit [Ping timeout: 264 seconds]
flixr has joined #ocaml
<flixr> hi
<flixr> I was wondering if anyone can help me with a problem of lot's of accumulating ocamlobj* files in /tmp when linking
myx has quit [Quit: ушёл]
<flixr> So when are these temporary files created and how could I best cleanup after compilation/linking is finished?
<adrien> failing to link :-)
<adrien> rm ;-)
tane has quit [Quit: Verlassend]
<flixr> it seems to link just fine, at least I have a working output file
<adrien> it was probably before
<flixr> before? I cleaned everything first...
<flixr> so the temporary files should only be created (or not removed) if linking is not successful? Or are they always created?
<flixr> couldn't find any docs on this
<adrien> they should be removed
* adrien bed
smondet has quit [Ping timeout: 272 seconds]
<flixr> they are not in my case, I don't get any error from ocamlfind ocamlc -custom -o foobar -package unix,str -linkpkg mylib.cma myprog.cmo
<flixr> gn8 adrien
<flixr> hints anyone else?
<flixr> so this seems to only be the case when using the custom runtime mode...
<flixr> I need some automatic way to remove this stuff on our CI server.... rm /tmp/ocamlobj* seems a bit crude
mye has quit [Quit: mye]
thomasga has quit [Quit: Leaving.]
S11001001 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
avsm has quit [Ping timeout: 245 seconds]
avsm has joined #ocaml
def-lkb has quit [Quit: Lost terminal]
chambart has quit [Ping timeout: 256 seconds]
TDJACR has joined #ocaml
ahokaomaeha has joined #ocaml
vext01 has joined #ocaml
q66 has quit [Remote host closed the connection]
mcclurmc has quit [Ping timeout: 248 seconds]
adrien_oww has quit [Ping timeout: 276 seconds]
Icarot has quit [Ping timeout: 248 seconds]
TDJACR has quit [Remote host closed the connection]
adrien_oww has joined #ocaml
<vext01> madroach: yo
Icarot has joined #ocaml
dwmw2 is now known as dwmw2_gone
chambart has joined #ocaml
Icarot has quit [Remote host closed the connection]
chambart has quit [Ping timeout: 256 seconds]
alxbl has quit [Changing host]
alxbl has joined #ocaml
tac has quit [Ping timeout: 245 seconds]
pkrnj has quit [Quit: Textual IRC Client: www.textualapp.com]