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/
* wmeyer night
ontologiae has quit [Ping timeout: 248 seconds]
andreypopp has quit [Quit: sleep]
q66 has quit [Quit: Quit]
ulfdoz_ has joined #ocaml
ulfdoz has quit [Read error: Operation timed out]
ulfdoz_ is now known as ulfdoz
tane has quit [Quit: Verlassend]
<SuperNoeMan> what are some good tools I can use to debug an ocaml program, other than ocamldebug?
<SuperNoeMan> because every time I load ocaml, it won't let me break on my own functions
Icarot has joined #ocaml
oriba has joined #ocaml
Icarot has quit [Quit: ragequit()]
oriba has quit [Quit: oriba]
paolooo has joined #ocaml
braden_ has quit [Ping timeout: 245 seconds]
cdidd has joined #ocaml
<SuperNoeMan> I can't get oqamldebug installed
leoncamel has joined #ocaml
madroach has quit [Ping timeout: 248 seconds]
eikke has joined #ocaml
Playground has quit [Ping timeout: 260 seconds]
mcsquiggedy has joined #ocaml
madroach has joined #ocaml
SuperNoeMan has quit [Remote host closed the connection]
paolooo has quit [Ping timeout: 245 seconds]
eikke has quit [Ping timeout: 248 seconds]
pango_ has joined #ocaml
pango has quit [Ping timeout: 264 seconds]
dwmw2_gone is now known as dwmw2_SAT
xaimus has quit [Ping timeout: 245 seconds]
xaimus has joined #ocaml
emmanuelux has quit [Quit: emmanuelux]
mcsquiggedy has quit [Quit: Leaving]
pkrnj has quit [Ping timeout: 252 seconds]
Playground has joined #ocaml
dwmw2_SAT is now known as dwmw2_gone
ski has joined #ocaml
ski has quit [Ping timeout: 252 seconds]
sivoais has quit [Read error: Connection reset by peer]
alxbl has quit [Ping timeout: 248 seconds]
alxbl has joined #ocaml
weie has joined #ocaml
Playground has quit [Quit: When I come back, please tell me in what new ways you have decided to be completely wrong.]
ski has joined #ocaml
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 252 seconds]
adotbrown has joined #ocaml
nimred has quit [Ping timeout: 248 seconds]
Playground has joined #ocaml
adotbrown has quit [Ping timeout: 256 seconds]
nimred has joined #ocaml
nimred has quit [Changing host]
nimred has joined #ocaml
Kakadu has joined #ocaml
nimred has quit [Ping timeout: 252 seconds]
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 251 seconds]
Yoric has joined #ocaml
pkrnj has joined #ocaml
pkrnj has quit [Client Quit]
Snark_ has joined #ocaml
Snark_ is now known as Snark
ttamttam has joined #ocaml
adotbrown has joined #ocaml
nimred has joined #ocaml
nimred has quit [Changing host]
nimred has joined #ocaml
gour has joined #ocaml
adotbrown has quit [Ping timeout: 256 seconds]
cyball has joined #ocaml
nimred has quit [Ping timeout: 248 seconds]
nimred has joined #ocaml
Cyanure has joined #ocaml
Yoric has quit [Ping timeout: 252 seconds]
Yoric has joined #ocaml
philed has joined #ocaml
tane has joined #ocaml
inv has quit [Ping timeout: 255 seconds]
Anarchos has joined #ocaml
inv has joined #ocaml
ttamttam has quit [Quit: Leaving.]
Cyanure has quit [Ping timeout: 246 seconds]
adotbrown has joined #ocaml
perry has quit [Quit: Leaving]
nimred has quit [Read error: Operation timed out]
adotbrown has quit [Ping timeout: 248 seconds]
nimred has joined #ocaml
nimred has quit [Changing host]
nimred has joined #ocaml
nimred has quit [Ping timeout: 248 seconds]
nimred has joined #ocaml
nimred has quit [Changing host]
nimred has joined #ocaml
philed has left #ocaml []
Anarchos has quit [Ping timeout: 248 seconds]
xavierm02 has joined #ocaml
<xavierm02> hey
gour has quit [Disconnected by services]
gour_ has joined #ocaml
<xavierm02> I want to print an automaton
<xavierm02> on some kind of GUI
<xavierm02> what should I use?
<xavierm02> because there are plenty apparently >_<
<flux> lablgtk2 is probably the most popular
<xavierm02> ok ty :)
<adrien> print an automaton?
<xavierm02> well yes?
<xavierm02> atm I print a "matrix"
<xavierm02> and it's ugly
cyball has quit [Read error: No route to host]
cyball has joined #ocaml
thomasga has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
<Kakadu> AFAIR I have seen graph visualisers written in OCaml
<Kakadu> maybe u can copy&paste something
<xavierm02> well
<xavierm02> I googled and didn't find anythign
<Kakadu> I can't remember where I have seem them
<adrien> graphviz/dot stuff
<flux> xavierm02, the way I would do it: produce output that can be used by graphviz
<flux> there's some graph library that does that for you, but the syntax is so simple you don't need such libraries
gour_ is now known as gour
<Kakadu> and OCamlGraph has a printer to dot format
<flux> but it's slightly buggy
<flux> it doesn't (or didn't) escape labels
<Kakadu> yeah
<flux> so you need to be careful about naming things. otherwise, it's ok.
<Kakadu> That's why I use my own printer)
<adrien> that should be easy to fix and submit upstream :P
<xavierm02> ty :)
<orbitz> that semlar bun was a bad idea
<xavierm02> I have somethign strange
<xavierm02> I print a string in ocaml
<xavierm02> and then use Unix.system to call ls (I'm testing)
q66 has joined #ocaml
<xavierm02> and the ls gets printed *before* the string
<Kakadu> flush
<xavierm02> oh right
<xavierm02> ty :)
thomasga has quit [Quit: Leaving.]
RagingDave has joined #ocaml
nimred has quit [Quit: leaving]
Anarchos has joined #ocaml
Anarchos has quit [Client Quit]
Anarchos has joined #ocaml
adotbrown has joined #ocaml
nimred has joined #ocaml
nimred has quit [Changing host]
nimred has joined #ocaml
adotbrown has quit [Ping timeout: 260 seconds]
<invariant> Why is the factorial function for big nums so slow in the ocaml toplevel? I tried the same in SBCL and it runs much faster.
<invariant> Both are top-levels with an equal interactive feeling to them.
ttamttam has joined #ocaml
<adrien> the ocaml toplevel is bytecode
<adrien> I guess SBCL has a JIT or something similar
<adrien> considering ocaml has ocamlopt, there is very little tries in making bytecode faster
<invariant> What's a version of system that takes an array of arguments?
<adrien> Unix.exec*/create_process/...
<adrien> avoid exec* if you want some portability
<adrien> (because you'd be using fork then)
ttamttam has quit [Remote host closed the connection]
<invariant> Lwt_process.exec seems better.
ttamttam has joined #ocaml
<adrien> it's not better: it's different
<invariant> How do I run an Lwt monad?
<invariant> Haskell functions generally have a runFoo function.
<adrien> there's a run function too iirc
<adrien> but using Lwt_process.exec or Unix.foo is simple to decide
<adrien> your program already uses lwt, then use lwt; otherwise, use unix
eikke has joined #ocaml
hto has quit [Read error: Connection reset by peer]
<invariant> adrien, yes, there is a run function. Thank you
eikke has quit [Ping timeout: 256 seconds]
eikke has joined #ocaml
ontologiae has joined #ocaml
cyball has quit [Ping timeout: 255 seconds]
hto has joined #ocaml
<ousado> does the toplevel use the regular bytecode-compiler?
<adrien> yes
<adrien> well, there might be slight differences but that's tweaking
<ousado> thanks
<pippijn> it uses the bytecode interpreter
<pippijn> and I don't remember the differences in the way the code is parsed
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
<pippijn> apart from the fact that all sentences end with ;;
<pippijn> and that you can redefine types
<adrien> there's no difference regarding ';;' and type definition
<pippijn> hmm
pippijn has quit [Quit: Segmentation fault]
pippijn has joined #ocaml
pippijn has quit [Changing host]
pippijn has joined #ocaml
pippijn has quit [Client Quit]
pippijn has joined #ocaml
pippijn has quit [Changing host]
pippijn has joined #ocaml
adotbrown has joined #ocaml
<invariant> Is there a function that returns an array of passwd_entry?
<invariant> passwd_entry is a type defined in Unix.
<Kakadu> u can try to use search in ocamlbrowser
adotbrown has quit [Ping timeout: 252 seconds]
pango_ is now known as pango
<orbitz> invariant: in Core, Core.Unix.Std.Passwd.getpwents;;
<pippijn> it seems core likes namespaces
<invariant> Kakadu, ocamlbrowser doesn't search in opam installed libraries.
<invariant> Kakadu, I don't know why, but it doesn't.
<adrien> ocamlbrowser -I $(ocamlfind query foobar)
<invariant> orbitz, thanks, but that gets me Unbound module Core.Unix.
<invariant> orbitz, I #required all the core options first.
ttamttam has quit [Remote host closed the connection]
<orbitz> invariant: Core.Std.Unix Imean
ttamttam has joined #ocaml
<Kakadu> ocamlfind browser -package core
philed has joined #ocaml
<adrien> oh nice, I didn't know it had that now =)
osa1 has joined #ocaml
<ousado> ocamlbrowser .. sweet. maybe I should pay more attention to tools
<invariant> If you load all packages into ocamlbrowser, searching takes 10 seconds.
<invariant> It's incredibly slow.
<invariant> Such a search should go about 1000 times faster.
jamii has joined #ocaml
<adrien> yup
<ousado> what is "all packages"?
<invariant> ousado, all that I have installed.
<invariant> Which is about 43 packages, which is not a lot.
<ousado> is there a tool for creating a dependency graph? which function calls which functions?
<adrien> oug
<adrien> by maxence guesdon / zogguy
<adrien> zoggy*
<ousado> ah oug is the name :)
<ousado> I would have thought it's a typo without the rest :)
<invariant> Is there an editor which provides completion on record members?
<invariant> So, if I write List.iter (fun a -> a.) some_list, which then completes on the members available for a?
osa1 has quit [Ping timeout: 245 seconds]
Playground has quit [Ping timeout: 244 seconds]
emmanuelux has joined #ocaml
jbrown has quit [Remote host closed the connection]
lusory has quit [Ping timeout: 240 seconds]
lusory has joined #ocaml
<invariant> How can I get a mininum user id (cf. /etc/login.defs)?
<orbitz> read how the C code does it?
<invariant> orbitz, which C code? (somewhere in useradd, I suppose)
<orbitz> i suppose so as well
Kakadu has quit [Ping timeout: 244 seconds]
Kakadu has joined #ocaml
Kakadu has quit []
Kakadu has joined #ocaml
ontologiae has quit [Ping timeout: 252 seconds]
andreypopp has joined #ocaml
ttamttam has quit [Remote host closed the connection]
ttamttam has joined #ocaml
ontologiae has joined #ocaml
andreypopp has quit [Quit: sleep]
mcsquiggedy has joined #ocaml
ontologiae has quit [Ping timeout: 248 seconds]
RagingDave_ has joined #ocaml
RagingDave has quit [Ping timeout: 248 seconds]
<invariant> How can I eliminate this problem? ocamlfind: Error from package `threads': Missing -thread or -vmthread switch
<invariant> Done, but it's really silly.
<invariant> It's a situation where apparently there are two options of which only one is consistent.
<invariant> In Scheme there is a combinator for that called (amb).
PM has quit [Ping timeout: 246 seconds]
PM has joined #ocaml
thomasga has joined #ocaml
Kakadu has quit []
Kakadu has joined #ocaml
Kakadu has quit [Read error: Connection reset by peer]
Kakadu_ has joined #ocaml
jamii has quit [Read error: No route to host]
dwmw2_gone is now known as dwmw2_SAT
Anarchos has joined #ocaml
thomasga has quit [Quit: Leaving.]
Kakadu has joined #ocaml
Kakadu_ has quit [Read error: Connection reset by peer]
sivoais has joined #ocaml
Kakadu has quit [Client Quit]
cyball has joined #ocaml
<orbitz> invariant: The error message you pasted tells you how to solve it
<invariant> orbitz, that's why I said "Done, but it's really silly".
Kakadu has joined #ocaml
chambart has joined #ocaml
Kakadu has quit []
Kakadu has joined #ocaml
milosn_ has joined #ocaml
milosn_ has quit [Client Quit]
ontologiae has joined #ocaml
<invariant> What do I need to enable an lwt syntax extension? I already have a -package lwt.syntax flag.
Playground has joined #ocaml
ontologiae has quit [Ping timeout: 244 seconds]
<invariant> Got it.
<mfp> invariant: -syntax camlp4o
<mfp> too late :/
mcsquiggedy has quit [Ping timeout: 245 seconds]
cdidd has quit [Remote host closed the connection]
chambart has quit [Ping timeout: 246 seconds]
Yoric has quit [Ping timeout: 246 seconds]
Yoric has joined #ocaml
wmeyer` has joined #ocaml
wmeyer has quit [Ping timeout: 260 seconds]
chambart has joined #ocaml
<invariant> How many lines of correct OCaml code do you write on a good day?
<troydm> 2
<troydm> the second is function body
<orbitz> what does 'correct' mean?
<lenstr> :D
<invariant> orbitz, that it does what you want and you don't need to get back to fix it.
<invariant> I also count equivalency with your Coq models to be correct.
<orbitz> i don't have coq models. I don't know how many lines of ocaml i write per day, I tend to think a lot and writ elittle since ocaml doens't take much to express things
<invariant> I spend most time with unrelated activities like getting tools to work or figuring out what parameter goes where.
<invariant> The programming part is trivial.
<invariant> Syntax extensions likely also play very badly with editors/IDEs.
<invariant> In Racket this has been solved, AFAIK.
<invariant> If you write a syntax extension, you get free Racket IDE modifications.
<invariant> Smalltalk doesn't have syntax extensions because they didn't know how to handle the IDE problem.
<orbitz> invariant: getting spun up in Ocaml can be slow but that stuff doesn't change once you learn it so it doens't affect long term lines-of-ocaml-per-day
<orbitz> I don't use syntax extensiosn much
<invariant> A syntax extension which would eliminate let completely at the toplevel, now that would be something.
<orbitz> I don't spend much time in the repl writing code
<invariant> orbitz, that's not what I mean by top-level.
<orbitz> right
<invariant> orbitz, but that's what it means in the OCaml world.
<invariant> orbitz, sorry about that.
<orbitz> i'm not sure how important it is to removelet at the toplevel
<orbitz> it doesn't get in my way at least
<invariant> orbitz, have you also written Haskell?
<orbitz> a little
<invariant> In Haskell you can just say x= 3 instead of let x = 3. The let is a little tiny barrier for introducing an additional function.
<orbitz> i know, I just don't see 3 characters as a particualrly big stumbling block in my experience
<orbitz> and a space
<flux> invariant, the ocaml model of files is the same as if you wrote the file into the interactive toplevel, not so with haskell. in haskell it doesn't work to do a = 4 in the interactive toplevel.
<invariant> flux, I know that most Haskell toplevels are completely broken.
<invariant> flux, or rather for the newbies.
<flux> invariant, to eliminate ambiguousness (without lets) you would probably need to introduce some other separator
<invariant> I think it makes that community look really stupid, because supposedly Haskell is good for writing language tools.
<invariant> But here they are without a working interpreter.
<flux> I mean, this currently legal ocaml: let a x = b x let c = a b -- barring inexisting bindings
<flux> a x = b x c = a b would be very difficult to parse
<orbitz> invariant: if you're responding to difficulty in getting spun up in ocaml, it's ok it just take a few days of putting effort in and you're done
<invariant> What editor do you use? tuareg-mode?
<orbitz> yes
<invariant> I think this looks quite interesting: http://ocamleditor.forge.ocamlcore.org/
<orbitz> I think there is an eclipse plugin too if you want full IDE
<invariant> I have used it a bit and the only negative thing I can say about it is that it lacks some commands and arbitrary syntax support.
<invariant> orbitz, the eclipse plugin has a lot of bugs.
<orbitz> k
<invariant> I think the only problem is that it doesn't use camlpsomething for its allowed syntax.
<orbitz> what do you need syntax extensiosn for?
<invariant> As a result my (lwt x = foo in bar) didn't work correctly.
<invariant> I don't really need it, but I thought it looked nicer than >>=.
<orbitz> I modified tuareg mode at some point to support lwt syntax extensiosn, but then I stopped using syntax extensions so idon't know what happened to it
<orbitz> I prefer >>= now
<invariant> I think without do notation, monads in Haskell would never have become main stream.
<orbitz> maybe
<pippijn> I like the do notation
<invariant> The mdo notation was also pretty cool.
<orbitz> There is pa_monad but i've never actually found it that useful, >>= has always been easy enough
<invariant> Now they did something to it to have different semantics.
<pippijn> I don't like pa_monad
<pippijn> I use it, but very very rarely
<flux> I prefer the do-notation as well. it's nice when you have code that uses >>= a lot.
<flux> but if it's a few functions here and there, I don't bother with an extension
<pippijn> I use it for the option monad in one or two places
<orbitz> for me >>= justmove the binding name to the end of the line
<pippijn> >>= feels more scopy
<orbitz> screw this monad stuff, what ocaml really needs is linear types
<invariant> I also think it could use bignums by default.
<orbitz> Nah, the .() syntax is fine there
<invariant> When was the last time you wrote a program that bignums were too slow?
<invariant> orbitz, .() is for indexing, no?
<orbitz> Module.(expr)
<pippijn> Module.()
<invariant> orbitz, I am talking about (Int 10000000000000000000)
<pippijn> yes
<orbitz> invariant: I know
<invariant> You have totally lost me.
<orbitz> invariant: Big_num_module.(of_int 100 + of_int 200)
eikke has quit [Ping timeout: 248 seconds]
<orbitz> invariant: Remember, in general ocaml users are more interested in explicitness, so doing something like bignum by default woudl be frowend upon
<invariant> I suppose it does propagate.
<orbitz> also, how woudl you do it/
<invariant> Or well, does it?
<orbitz> (+) is fir ints
<orbitz> (+.) is for floats
<invariant> let f x = x - y f (Int 100) (Int 100), doesn't work, does it?
<orbitz> (-) has teh type int -> int -> int
<invariant> orbitz, I think anonymous type-classes are a good way to go.
<invariant> orbitz, perhaps I should just put everything in a big functor.
<invariant> In OCaml that should be about the same.
<orbitz> That sounds like a bad idea
eikke has joined #ocaml
<invariant> orbitz, which one? I have so many bad ideas.
<orbitz> invariant: I can just do Bigint.(of_int 100 - of_int 100) though
<orbitz> invariant: big functor
<invariant> orbitz, I mean one in which I can have some module and pass it '+', '-', etc.
<invariant> Most likely that's also how you understood it.
<orbitz> I'm not sure what problem that is solving, I suspect not much of one.
<invariant> I suppose you are right that it's not often the case that one uses the same code with bignums and without.
<orbitz> eah
<flux> linear typing would be really nice and would completely solve the potential for leaking resources in ocaml
<flux> at some cost, I suppose
<flux> (or not the leaking, but that resources can linger around before gc cleans them)
<Anarchos> invariant what is linear ocaml ? Lambda Calculus extracted from linear logic ?
<invariant> Actually it describes Limel.
<invariant> Linear logic is a simple application of modal logic.
<invariant> In many ways it's an obvious way to program, save for convenience.
<invariant> Still, that convenience is going to cost your GC time, because you don't need a GC anymore in a linear language.
<orbitz> I'm not even that concerned about GC cost, that's just an optimziaiton
<orbitz> I care more about proepr resource management
<flux> it would make it more robust to write bindings for libraries that require reference counting (qt..)
fab_ has joined #ocaml
<orbitz> yep
<ousado> avsm works on linearML or something
<orbitz> yeah
<flux> not to mention the small plus of making an actually safe with_file-function (one that cannot leak the fd that's being used)
<ousado> but linear types are not exactly trivial to work with
<orbitz> I think being able to specify some things are liner is valuable, LinearML has everything linear
<ousado> ATS offers both
<flux> hmm, seems pretty simple to me? but I haven't actualy tried. but I think the biggest thing is that it will reflect to very many features in a language.
<flux> plain values, records, objects, modules, probably something else..
<orbitz> flux: it can be quite awwkard
<fab_> someone know a tool to format/indent an ocaml code?
<invariant> fab_, perhaps 'indent'?
<invariant> fab_, it supports 40 languages or so.
<Anarchos> fab_ tried vim ?
<invariant> fab_, so, perhaps OCaml too.
<fab_> i'll try
<invariant> I like how this paper also has some practical remarks.
<invariant> Otherwise, it's nothing but a work in progress report.
<invariant> The paper bounced from PLACES 2012
<invariant> Given the amount of conferences these days, it's amazing that anything bounces ;)
<pippijn> invariant: gnu indent?
<invariant> pippijn, yes, doesn't it?
skier_ has left #ocaml []
<pippijn> 40 languages?
<Anarchos> invariant lol
<pippijn> I thought it only supported C
<pippijn> I know it doesn't support C++
<invariant> pippijn, my memory must have gone creative then.
<invariant> Sorry
<invariant> You can also run it through tuareg-mode automatically in Emacs.
<invariant> That is an awful hack, but it will work.
<pippijn> just as awful as running it through vim
<pippijn> that only indents, though
<pippijn> it doesn't change formatting inside lines or break up lines
fab_ has quit [Ping timeout: 245 seconds]
ttamttam has left #ocaml []
Snark has quit [Quit: Quitte]
weie has quit [Quit: Leaving...]
<Anarchos> invariant you think there are too much conferences ?
Reventlov has quit [Quit: leaving]
<invariant> Anarchos, I think OUD is probably the only interesting one and that's not an academic one.
<orbitz> ocaml conference or conference ingenreal?
<invariant> There are of course more generally interesting conferences.
<Anarchos> invariant what is OUD ?
<invariant> But in principle, I find the video medium working very efficiently.
<orbitz> Ocaml Users and Develoeprs
<Anarchos> orbitz ok
<orbitz> I found going to OUD much more enjoyable than watching videos of conferences
<invariant> orbitz, that's because the signal/noise ratio is good.
<invariant> Most people on conferences like those Free software conferences don't have anything to say.
<orbitz> hrm maybe
xavierm02 has quit [Quit: Leaving]
<orbitz> i've only been to two PL conferences
<orbitz> both of them were better than watching the videos
<avsm> i felt my OUD victory was complete when yaron minsky lost his voice during his talk the next morning ;-)
<orbitz> haha
<orbitz> you did get the balme for that too
<invariant> avsm, did you organize it?
<avsm> yeah
mcsquiggedy has joined #ocaml
<invariant> avsm, well, I suppose you are Mr. OCaml then.
<orbitz> Mr. Awesome
<orbitz> the v in avsm is just an old english w
<avsm> That honour is reserved for one Xavier Leroy
* orbitz wishes could make it to opam party i nparis
<orbitz> hoepfully there wil be another one soon and i can save my money
<avsm> host one near you!
<invariant> Does Leroy have contacts at Intel that we don't which makes his whole 'multi-core is for losers'-mantra make more sense?
<orbitz> he doesn't say multi-core is for loseres, he says threads are difficult
<thizanne> invariant: if you want to contribute to OCaml to make it multi-core aware, your contribution will be greatly appreciated by X. Leroy
<invariant> thizanne, oh, that's news for me.
<orbitz> shared heap paralelism is hard outside of haskell
<Anarchos> basically you can start to adapt the multithread GC from the thesis of Damien Doligez to OCaml.... Good luck !
<invariant> I could give it a shot if some magic pile of money would materialize, like likely many people would do.
adotbrown has joined #ocaml
adotbrown has quit [Ping timeout: 245 seconds]
<invariant> How many people need to fit in the OUD building?
<invariant> And or how many simultaneous rooms are needed?
Kakadu has quit []
gour has quit [Quit: WeeChat 0.3.8]
ontologiae has joined #ocaml
tane has quit [Quit: Verlassend]
ftrvxmtrx has quit [Ping timeout: 245 seconds]
Yoric has quit [Ping timeout: 256 seconds]
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 252 seconds]
RagingDave_ has quit [Quit: Ex-Chat]
ftrvxmtrx has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
RagingDave has joined #ocaml
<Playground> Does OCaml have a data type for strings that do not internally keep track of their own length?
<Playground> Basically, what they call "const char *" in C, minus the null-termination guarantee.
adotbrown has joined #ocaml
<adrien> hmmm, what do you want?
<adrien> plus ocaml strings are null-terminated actually
<Playground> I want to compare fixed-size keys retrieved from a disk-based B-link tree.
<Playground> I have no need for the null terminator. When I am comparing keys, I know in advance what their size will be.
<adrien> Bigarray?
<adrien> plus you can mmap() the file
mcsquiggedy has quit [Quit: Leaving]
<Playground> I will give those a try. ty
sivoais has quit [Quit: leaving]
sivoais has joined #ocaml
wmeyer`` has joined #ocaml
leoncamel has quit [Ping timeout: 252 seconds]
wmeyer`` has left #ocaml []
wmeyer` has quit [Ping timeout: 246 seconds]
Playground has quit [Quit: When I come back, please tell me in what new ways you have decided to be completely wrong.]
doomrobo has joined #ocaml
chambart has quit [Ping timeout: 246 seconds]
eikke has quit [Ping timeout: 240 seconds]
doomrobo has quit [Ping timeout: 252 seconds]
philed has quit [Remote host closed the connection]
Playground has joined #ocaml
q66 has quit [Quit: Quit]
ManAmongHippos has joined #ocaml
ontologiae has quit [Ping timeout: 248 seconds]