<Anarchos>
Are there progress towards an ocaml multicore version ?
jimt has quit [Ping timeout: 276 seconds]
jimt has joined #ocaml
jeffmo has quit [Ping timeout: 268 seconds]
ygrek_ has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
dsheets has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
mistermetaphor has quit [Read error: Connection reset by peer]
jeffmo has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
hxegon has quit [Ping timeout: 276 seconds]
mistermetaphor has joined #ocaml
misterme_ has joined #ocaml
mistermetaphor has quit [Ping timeout: 252 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
misterme_ has quit [Ping timeout: 252 seconds]
mistermetaphor has joined #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
mistermetaphor has quit [Ping timeout: 252 seconds]
jeffmo has quit [Ping timeout: 240 seconds]
mistermetaphor has joined #ocaml
jeffmo has joined #ocaml
Kyo9142 has joined #ocaml
dsheets has joined #ocaml
misterme_ has joined #ocaml
mistermetaphor has quit [Ping timeout: 252 seconds]
yomimono has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
jeffmo has quit [Ping timeout: 250 seconds]
jeffmo has joined #ocaml
yomimono has quit [Ping timeout: 260 seconds]
misterme_ has quit [Remote host closed the connection]
dsheets has joined #ocaml
jeffmo has quit [Ping timeout: 244 seconds]
jeffmo has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
Guest28036 is now known as kandu
jeffmo has quit [Read error: Connection reset by peer]
jeffmo has joined #ocaml
hxegon has joined #ocaml
jeffmo has quit [Quit: jeffmo]
hxegon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Reshi has joined #ocaml
johnelse has quit [Ping timeout: 252 seconds]
johnelse has joined #ocaml
mistermetaphor has joined #ocaml
johnelse has quit [Ping timeout: 268 seconds]
abruanese has joined #ocaml
rgrinberg has joined #ocaml
johnelse has joined #ocaml
Kyo9142 has quit [Ping timeout: 260 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
slash^ has joined #ocaml
A1977494 has joined #ocaml
pierpa has quit [Ping timeout: 250 seconds]
g4143 has joined #ocaml
cdidd has quit [Ping timeout: 246 seconds]
cdidd has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
g4143 has quit [Quit: Leaving]
slash^ has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
demonimin has quit [Ping timeout: 264 seconds]
copy` has quit [Quit: Connection closed for inactivity]
demonimin has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
slash^ has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Remote host closed the connection]
hxegon has joined #ocaml
FreeBirdLjj has joined #ocaml
sh0t has joined #ocaml
<twobitsp1ite>
So, I asked earlier about Bigarrays with structs/records, and hcarty replied after I had gone AFK that I could use multiple separate arrays, one for each value I would use in a struct... That's actually something I was thinking about doing..
<twobitsp1ite>
however, I'd like to tie each array together in some kind of unit... I was thinking of making a module type that would contain each array and provide functions for accessing each "member"... i.e., a get_color, get_size, get_type, etc, that would pull values from the appropriate array...
<twobitsp1ite>
So, I'm thinking, given my module is named World, that I would have "type t = { color_ar of Array.t; size_ar of Array.t; type_ar of Array.t } or something like that...
sh0t has quit [Ping timeout: 268 seconds]
<twobitsp1ite>
then have the get_* function within the module all accept the same tuple type for coordinates, but query different array attributes of the 't' struct
<twobitsp1ite>
Does that sound like a reasonable way to go about things?
<twobitsp1ite>
I.e., if you were using a library that followed some system like that, would you feel like it was a natural way to express your code?
twobitsp1ite is now known as twobitsprite
tane has joined #ocaml
<twobitsprite>
(re-nicked to twobitsprite, in case anyone has NICK blocked, etc (I do... :P))
rgrinberg has quit [Ping timeout: 246 seconds]
MercurialAlchemi has joined #ocaml
solrize has quit [Ping timeout: 250 seconds]
nicholasf has joined #ocaml
TheLemonMan has joined #ocaml
mistermetaphor has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
mistermetaphor has joined #ocaml
clog has quit [Ping timeout: 244 seconds]
solrize has joined #ocaml
clog has joined #ocaml
troydm has quit [Ping timeout: 244 seconds]
A1977494 has quit [Remote host closed the connection]
mistermetaphor has quit [Remote host closed the connection]
nicholasf has quit []
mistermetaphor has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
pierpa has joined #ocaml
hxegon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Reshi has quit [Ping timeout: 260 seconds]
Reshi has joined #ocaml
Simn has joined #ocaml
jita has joined #ocaml
jita has quit [Client Quit]
Reshi has quit [Ping timeout: 250 seconds]
malc_ has joined #ocaml
Kakadu has joined #ocaml
mistermetaphor has joined #ocaml
mistermetaphor has quit [Ping timeout: 268 seconds]
pierpa` has joined #ocaml
pierpa has quit [Ping timeout: 260 seconds]
yegods has joined #ocaml
AlexRussia has quit [Ping timeout: 252 seconds]
yegods has quit [Remote host closed the connection]
silver has joined #ocaml
Reshi has joined #ocaml
Reshi has quit [Ping timeout: 252 seconds]
<companion_cube>
twobitsprite: yes, you can do a record of bigarrays
<companion_cube>
it's maybe not very natural (arrays of records are easier), but it's good for numeric code or, perhaps, for interacting with C
demonimin has quit [Remote host closed the connection]
<StatelessCat>
What do you recommand me to install Opam ?
<companion_cube>
maybe the package would still work on fedora 23? :D
<StatelessCat>
maybe, maybe not..
<Kakadu>
opam is really straightforward for checkisntall
tane has joined #ocaml
<Kakadu>
you can even install latest beta
<Kakadu>
I usually use checkinstall in my ubuntus
<StatelessCat>
Hum I don't know what is checkinstall. This is the prefered way ?
<Kakadu>
I think that it is the best balance between newest package versions and trashing your system
<Kakadu>
I meant '_not_ trashing your system'
<StatelessCat>
Kakadu: yes but how to install checkinstall without doing it from sources and trashing my system ?
troydm has joined #ocaml
<Kakadu>
from repo?
<Kakadu>
Also you `make install` checkinstall, use checkinstall to create RPM of checkinstall after that, `make uninstall` checkinstall and install the RPM.
AlexRussia has joined #ocaml
<Kakadu>
I even think that will be nice
<StatelessCat>
there is no checkinstall in fedora repos :/
<adrien>
if you have a source rpm it's very simple; otherwise you need to locate the specs file used to build the rpm (it's probably under version-control on opam's repository)
<StatelessCat>
ok
mistermetaphor has joined #ocaml
hcarty has joined #ocaml
mistermetaphor has quit [Ping timeout: 240 seconds]
hcarty has quit [Ping timeout: 250 seconds]
adelbertc has quit [Quit: Connection closed for inactivity]
yegods has quit [Read error: Connection reset by peer]
yegods has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
natimic2 has quit [Ping timeout: 260 seconds]
Reshi has joined #ocaml
Reshi has quit [Ping timeout: 252 seconds]
yegods has quit [Remote host closed the connection]
Sorella has quit [Quit: Connection closed for inactivity]
slash^ has joined #ocaml
yegods has joined #ocaml
A1977494 has joined #ocaml
yegods has quit [Remote host closed the connection]
A1977494 has quit [Client Quit]
copy` has joined #ocaml
mistermetaphor has joined #ocaml
matason has joined #ocaml
mistermetaphor has quit [Ping timeout: 276 seconds]
matason has quit [Ping timeout: 252 seconds]
<pierpa`>
I suppose there's a profound theoretical reason for not closing automatically files before the termination of programs?
pierpa` is now known as pierpa
<adrien>
pierpa: context?
<pierpa>
context is programming in ocaml
<adrien>
there's no need to close files on termination because the OS does it anyway
<adrien>
so there's no advantage of doing a series of blind close() from the application compared to doing a series of blind close() from the kernel
<pierpa>
yes, in every programming language since 1950, with the notable exception of ocaml
<pierpa>
even *C* flushes its files automatically!
<adrien>
*flush*
<adrien>
not *close*
<adrien>
and it's not files nor file descriptors but buffered output
<pierpa>
at the level of the language libs, that's indistinguishable
<adrien>
I disagree but anyway
<pierpa>
ok, change close to flush, if yuo like it more
<pierpa>
no, close is correct. Closing files implies flushing. Ocaml neither closes not flushes automatically
<malc_>
pierpa: where did you get the flushing idea from?
<pierpa>
uh?
<malc_>
pierpa: "Closing files implies flushing." where is the source of this statement?
<malc_>
it's true for ptys, but otherwise I can't find anything that backs this assertion up
<pierpa>
the source is the observation of several programming language, with no exception found
<pierpa>
*languages
<adrien>
that motivated me to check; from Pervasives' doc:
<adrien>
val exit : int -> 'a
<adrien>
Terminate the process, returning the given status code to the operating
<adrien>
system: usually 0 to indicate no errors, and a small positive integer
<adrien>
to indicate failure. All open output channels are flushed with
<adrien>
flush_all . An implicit exit 0 is performed each time a program termi‐
<adrien>
nates normally. An implicit exit 2 is performed if the program termi‐
<adrien>
nates early because of an uncaught exception.
<pierpa>
then this is a bug?
<Drup>
depends, are you using format ?
<pierpa>
yes
<Drup>
format has an internal queue (in order to do the layout) that is distinct from the channel buffering
<malc_>
@. is your friend
<malc_>
or foe... depends
<Drup>
If boxes are unclosed, for example, it's not sent to the underlying formatter just yet
<pierpa>
this should not have observable consequences on the behaviour of programs
<pierpa>
anyway I'm using no boxes
<Drup>
Just add @. at the end of your format sentences
<pierpa>
Even if this should fix the problem (give me 2 minutes for trying), still is crazy
<sgronblo_>
opam update re says "cannot update the package re because it is not pinned
<Drup>
upgrade* :p
<def`>
sgronblo_: ls `ocamlfind query re`
<Drup>
def`: what for ? O_o
<sgronblo_>
Drup: what is aspcud for?
<Drup>
sgronblo_: it replaces the internal solver, it's much better at finding the right dependencies and all that
<Drup>
(and faster too)
dsheets has joined #ocaml
infinity0 has quit [Remote host closed the connection]
<def`>
Drup: I thought re install was broken, but ok it is not the right one :P
<sgronblo_>
I cant just opam install aspcud?
<Drup>
No :(
<sgronblo_>
and without it i get some old version of re only?
<Drup>
No, it's just that it's better in the long run
<Drup>
Ok, let's reformulate
<Drup>
1) the internal opam solver is not very good, it was designed to be used with a good external solver
<Drup>
2) you are using the internal solved, so it doesn't always find the best solution (in your cast, it installed an old re instead of the most up to date one)
<sgronblo_>
how do i even check if i have it or not?
<Drup>
3) you can get the last re if you ask for it, even with the internal solved
<sgronblo_>
ok now it seems to find Re.Group, thanks
mettekou has joined #ocaml
<sgronblo_>
whats the best place to check the docs for Core?
mistermetaphor has joined #ocaml
<sgronblo_>
I'm getting some stuff about Deprecated_use_float_module but cannot figure out which float module we are talking about
<sgronblo_>
hmm, bug on the doc site apparently
<sgronblo_>
I feel like the OCaml ecosystem has quite a few warts
mistermetaphor has quit [Ping timeout: 252 seconds]
Kakadu has quit [Quit: Page closed]
<pierpa>
understatement of the month
<companion_cube>
:D
<sgronblo_>
hehe
<sgronblo_>
but the vim experience is pretty awesome so far
<sgronblo_>
did OCaml lists have a get by index function?
<companion_cube>
List.nth
<sgronblo_>
so this .(i) is only for arrays?
tane has joined #ocaml
<pierpa>
yes, AFAIK
rgrinberg has joined #ocaml
<sgronblo_>
is this not allowed let a in { a } as a shortcut for let a in { a = a } ?
<reynir>
I think 4.03 is supposed to allow .(i) for user types
shinnya has joined #ocaml
<reynir>
erm
<companion_cube>
reynir: not sure
<lyxia>
module Array = struct let get f g x = f (g x) end;; (fun x -> x + 1) . (fun x -> x + 1) 2
darkf has quit [Quit: Leaving]
<Drup>
reynir: no, not yet
<Drup>
lyxia: that's going to break one day (and let's be honest, it's disgusting :p)
<reynir>
:o
<Drup>
sgronblo_: yes, that's allowed
<Drup>
well, let a = foo in { a }
<sgronblo_>
Drup: yeah it worked, i just had forgotten how i had defined my record types :)
<sgronblo_>
So Core flips the arguments for things like List.map?
<companion_cube>
Core introduces labels
<sgronblo_>
hmm, so can someone remind me how to compile and run my program?
<companion_cube>
are you reading RWO?
<sgronblo_>
seems like this might have been what i used last time: ocamlbuild -use-ocamlfind myprog.byte
<companion_cube>
ah, yeah, that should do the trick
<sgronblo_>
companion_cube: no. i did the FUN course around christmas. but since most of the coding was done in the web browser im really lost with how to actually build ocaml code.
<companion_cube>
ah ok! then, yes, ocamlbuild is the way to go
<sgronblo_>
unbound module Core
<companion_cube>
if you have dependencies, ocamlbuild -use-ocamlfind -package core foo.byte
<companion_cube>
(or use a _tags file)
<sgronblo_>
ah yeah i was using a _tags file last time
<sgronblo_>
so last time i had one dependency: true: package(str)
<sgronblo_>
now i have two: core and re
<sgronblo_>
how do i combine that?
<companion_cube>
package(core), package(re)
<sgronblo_>
error from package threads, missing -thread or -vmthread switch
<companion_cube>
package(threads), I think
<sgronblo_>
i need to add a thread flag to my _tags file it seems
<sgronblo_>
So the answer is: add -tag thread to your ocamlbuild invocation line, or just thread in the relevant place in _tags.
<sgronblo_>
so whats the relevant place? :)
<sgronblo_>
ok my guess was correct
malc_ has joined #ocaml
AlexRussia has joined #ocaml
cdidd has quit [Ping timeout: 240 seconds]
snhmib has quit [Ping timeout: 260 seconds]
rgrinberg has quit [Ping timeout: 276 seconds]
cdidd has joined #ocaml
noddy has quit [Ping timeout: 244 seconds]
cdidd has quit [Ping timeout: 244 seconds]
A1977494 has joined #ocaml
sepp2k has joined #ocaml
hxegon has joined #ocaml
mettekou has quit [Read error: Connection reset by peer]
tane has quit [Ping timeout: 260 seconds]
tane has joined #ocaml
rgrinberg has joined #ocaml
malc_ has quit [Ping timeout: 252 seconds]
g4143 has joined #ocaml
jbrown is now known as |jbrown|
g4143 has quit [Client Quit]
|jbrown| is now known as jbrown
hxegon has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
SomeDamnBody has joined #ocaml
<SomeDamnBody>
Is there a way to tell oasis that for a particular executable you have a module dependency in another directory?
<rgrinberg>
SomeDamnBody: Is that module dependeny an oasis library section?
SomeDamnBody has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
cdidd has joined #ocaml
SomeDamnBody has joined #ocaml
<SomeDamnBody>
rgrinberg: just a module dependency in an oasis executable
<SomeDamnBody>
I found that things will work fine if I refactor my oasis to partition the modules into two libraries
Sorella has joined #ocaml
ggole has joined #ocaml
<StatelessCat>
adrien: thanks for your advices, i did a RPM rebuild and it run fine. And now I know how to build a RPM :)
noddy has joined #ocaml
noddy has quit [Ping timeout: 252 seconds]
* dsheets
is surprised that type t = Infinity | Limit of it and type t = Limit of int | Infinity both have Infinity as the polymorphic comparatively lesser element with Obj.magic : int giving 0
rgrinberg has quit [Read error: Connection reset by peer]
<Drup>
Interesting, it aggregates constant constructors at the beginning
pierpa has quit [Ping timeout: 250 seconds]
<Drup>
didn't knew that
sepp2k has quit [Ping timeout: 240 seconds]
<dsheets>
I don't know what good that does but it seems very wrong when the order of the constructors matters to signatures...
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
malc_ has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
<flux>
well, I imagine it follows naturally from the way it's represented
<ggole>
Nullary and non-nullary constructors are numbered separately
<ggole>
In order to make the most of the tag space in the header
<flux>
in any case, it cannot be changed, due to backwards compatibility
<flux>
but perhaps modular implicits bring decent value comparisons to ocaml?-o
<ggole>
I'm not sure. Other observable behaviours have been changed.
<flux>
the benefits of redefining the comparison are quite small, though
<flux>
basically if you need a certain order for comparison, you define a comparisno functino..
<dsheets>
maybe there are matching optimizations for nullary constructors that this aids
<ggole>
It would only make sense if accompanying a change in representation strategy.
<ggole>
Which seems unlikely at this point.
sepp2k has joined #ocaml
<dsheets>
i'd like to see modular implicits and the deprecation of polymorphic compare
<ggole>
I don't think compare and == can reasonably be deprecated
<flux>
I guess that's a tricky one, because 'compare' is such a nice name ;)
<ggole>
Too much stuff relies on them.
<dsheets>
== is fine, = is not
<dsheets>
5.0?
<zozozo>
problem is that generic hashtables depend on generic hash/equality
<zozozo>
s/generic/polymorphic
noddy has joined #ocaml
matason has joined #ocaml
<flux>
surely they could be fixed once a modular-implicit comparison ends up to the main line
<ggole>
Without changing the interface? How?
<flux>
no, not without changing the interface
<flux>
term "deprecate" was mentioned :)
<ggole>
Therefore, not without breaking huge swathes of OCaml code
<flux>
leave the one hashtbl be, have a new one with this issue fixed
SomeDamnBody has left #ocaml ["Leaving..."]
<ggole>
Yeah, that makes more sense.
dsheets has quit [Remote host closed the connection]
<ggole>
(And presumably the same for all the stdlib functions that use equality.)
<flux>
has someone tried implementing such a hashtbl for implicits?-o
yegods has joined #ocaml
wiredsister has quit [Ping timeout: 260 seconds]
noddy has quit [Ping timeout: 246 seconds]
ocaml455 has joined #ocaml
noddy has joined #ocaml
gasche has joined #ocaml
<gasche>
hi #ocaml
noddy has quit [Ping timeout: 250 seconds]
seangrove has joined #ocaml
noddy has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
Anarchos has joined #ocaml
sepp2k has quit [Quit: Leaving.]
<gasche>
any interesting feedback you haven't turned into a mantis issue or bugreport yet? :p
yegods has quit [Read error: Connection reset by peer]
yegods has joined #ocaml
<ocaml455>
Hello, I am new in ocaml and trying to use ppx_deriving in my project. When I add ppx_deriving or ppx_deriving.std to my _oasis file however, as I saw other projects do, I get the error ocamlfind: Package `ppx_deriving' not found. ocamlfind query ppx_deriving returns /home/user/.opam/4.02.3/lib/ppx_deriving I would be grateful for any help.
yegods has quit [Remote host closed the connection]
noddy has quit [Ping timeout: 260 seconds]
noddy has joined #ocaml
dsheets has joined #ocaml
<hannes>
Drup: around? is there somewhere an example for how to use the svg part of TyXML?
octachron has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
<Drup>
there is a similar question on the bug tracker
<Drup>
hannes: do you have a specific issues ? aantron_ just made a large patch fixing a lot of various issues in the svg stuff.
dsheets has joined #ocaml
noddy has quit [Ping timeout: 260 seconds]
Kakadu has joined #ocaml
<gasche>
ocaml455: I would check that your opam environment is correctly configured (eg. re-do "eval $(opam config env)")
yegods has joined #ocaml
rgrinberg has joined #ocaml
<ocaml455>
thank you gasche. the command didn't help, but reinstalling opam did the trick!
bba has joined #ocaml
<gasche>
I must say that I don't like the "mutates your shell environment" part of using opam switches
<gasche>
it is confusing to beginners, and even I treat it as black magic and ritually re-evaluate the config whenever I think it may matter
<gasche>
I dislike the "global state" aspect, but I think that we could have better realization of a global state interface; I would prefer a local approach, and I think it's in the pipes for future opam versions
<gasche>
(I've seen seliopou work on "opam local" command, I have no idea what this is but in my dream it is about having project-local roots that work well)
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
Anarchos has joined #ocaml
leyyin has quit [Quit: So Long, and Thanks for All the Fish]
<Drup>
"and even I treat it as black magic" <- that's probably the reason you don't like it, because it's really not complicated and you can almost never get it wrong
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Drup>
of the various wrath of opam, this is the less harmful one, far behind the internal solver/aspcud-not-by-default one
yegods has quit [Ping timeout: 246 seconds]
ocaml455 has quit [Ping timeout: 250 seconds]
adelbertc has joined #ocaml
octachron has joined #ocaml
ggole has quit []
<octachron>
gasche, not exactly a feedback in itself, but I have been thinking that having expect test on the manual examples' code could be interesting to avoid code rot
<gasche>
I don't get it wrong in practice
<gasche>
(opam switches)
<gasche>
but I cringe when I see beginners use them
<gasche>
for example, I don't know how to answer the question of "how do I configure my machine to have OCaml version X by default from everywhere?" in a way that I find acceptably simple
rgrinberg has quit [Read error: Connection reset by peer]
<gasche>
octachron: I experimented with using <caml_eval> when writing examples in the documentation of the second warning
<gasche>
but I couldn't make it work as I wanted, so I dropped it
<gasche>
I agree with you
<gasche>
(also I was frustrated by the lack of syntax highlighting in the rendered HTML output)
dsheets has quit [Remote host closed the connection]
tane has quit [Quit: Verlassend]
A1977494 has quit [Quit: Leaving.]
lokien_ has joined #ocaml
<Drup>
gasche: err "put the eval thingy in your bash and do "opam switch X"" ? It's not complicated compared to so many other things ...
Kakadu has quit [Remote host closed the connection]
malc_ has quit [Remote host closed the connection]
wiredsister has joined #ocaml
bba has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
<gasche>
octachron: I started writing an issue for it, but I find that I can't really articulate why {caml_example} would not be enough
<gasche>
expect tests have the advantage of letting us know if the behaviour changes in a way that contradicts the documentation, but conversely the inconvenience that it could break for trivial wording changes that shouldn't require intervention in the manual
<gasche>
I'll give another try to {caml_examples} for the warning documentations, and maybe file an issue to get better support for warnings
avarsh has joined #ocaml
<octachron>
gasche, well discriminating between trivial wording changes and inconsistent changes sounds like a quite hard AI problem
<gasche>
but I would expect that the former significantly outperform the latter
<gasche>
outnumber, sorry
<gasche>
I can't remember of a case in the past where a code example in the manual stopped working as intended
<gasche>
(while I do hope we keep refining/clarifying warning and error messages in the future)
matason has quit [Ping timeout: 276 seconds]
<gasche>
of course we may have just missed them as we don't particularly watch for them
<octachron>
if it is easy to update the expect test, it might be not so problematic
<octachron>
gasche, I would say that the use of deprecated function in some manual's example were a caml_example error
<gasche>
hm
<gasche>
so we could propose for caml_example to be refined in various ways
<octachron>
simultaneously, the use of verbatim in the extension section for code example, i.e without code verification, is a missed possibility
<gasche>
such as being able to specify command-line flags, to declare that "some {warning,error} is expected" (or on the contrary that none should happen), or to give a precise output