<ngzhian>
i've looked at the source code and couldn't find any place that would keep the source code based on the extension of the file, the call sites have only looked at Odoc_global.keep_code, so i'm guessing the manual has outdated information
Simn has quit [Read error: Connection reset by peer]
Simn has joined #ocaml
MercurialAlchemi has quit [Read error: Connection reset by peer]
freusque has joined #ocaml
zwild` has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
freusque has quit [Quit: WeeChat 1.7.1]
freusque has joined #ocaml
Merv_ has joined #ocaml
freusque has quit [Quit: WeeChat 1.7.1]
<octachron>
ngzhian, this seeams less clear cut thant that since odoc_ast is specific to ml files and there few places here where the extraction of code does not depend on keep_code
<octachron>
but yes, this part of the documentation does feel unprecise or outdated
<ngzhian>
should I make a PR to remove the line "The source code is always kept when a .ml file is given, but is by default discarded when a .mli is given."?
MercurialAlchemi has joined #ocaml
<octachron>
looking in more detail, I am not too sure of what to keep of the original description
<orbifx[m]>
what's the difference between saying pkg_threads and threads in a rule in _tags?
<ngzhian>
maybe it can keep only the first line: "Always keep the source code for values, methods and instance variables, when available."
<octachron>
ngzhian, this sounds good and more in line with the current behavior of ocamldoc. If you want to make a PR, it would be great! Otherwise, I would do it later this week.
argent_smith has joined #ocaml
<octachron>
orbifx[m], does this pkg_threads appear in an oasis generated _tags?
<orbifx[m]>
yeah
<orbifx[m]>
was wondering whats the difference with package(threads), pkg_threads and just thread
<orbifx[m]>
The last probably only adds the compiler flag
<octachron>
the first one rely on ocamlfind to add the compiler flag
<octachron>
and the second one is an oasis generated flag that does the same thing: oasis tends to reimplement features that were not available in old version of ocamlbuild
<orbifx[m]>
if i just add pkg_threads my self to tags, it doesn't do anything. Is that because something is generated in myocamlbuild?
sam__ has quit [Ping timeout: 248 seconds]
<octachron>
ngzhian, thanks. I will merge sometime tomorrow
<octachron>
orbifx[m], I am not sure what you mean: `pkg_threads` is not a standard ocamlbuild tag, it will not be interpreted without a "myocamlbuild" file.
freusque has quit [Ping timeout: 255 seconds]
<orbifx[m]>
yeah, that's what I'm asking. So the myocamlbuild file contains a generated rule to deal with pkg_threads right?
<octachron>
most probably
<orbifx[m]>
thanks octachron
<orbifx[m]>
I got an isue that has been pinned for 2 days now :/
pitastrudl has left #ocaml ["Bye"]
pitastrudl has joined #ocaml
dakk_ has quit [Ping timeout: 248 seconds]
Simn has quit [Ping timeout: 255 seconds]
sgronblo has quit [Ping timeout: 248 seconds]
Guest97993 is now known as awal
zwild has joined #ocaml
ngzhian has quit [Ping timeout: 260 seconds]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
dhil has joined #ocaml
malina has quit [Ping timeout: 248 seconds]
zwild has quit [Ping timeout: 255 seconds]
zwild has joined #ocaml
mami has joined #ocaml
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
<orbifx[m]>
anyone know where oasis' CSources functionality is documented?
freusque has joined #ocaml
<orbifx[m]>
there is only one mention in the documentation
<orbifx[m]>
or any projects that successfully use oasis to build a library with C interfacing, but without extensive hackery
sam__ has joined #ocaml
sam__ has quit [Ping timeout: 248 seconds]
sepp2k has joined #ocaml
lopex has quit [Quit: Connection closed for inactivity]
dhil has quit [Ping timeout: 276 seconds]
malina has joined #ocaml
freusque has quit [Quit: WeeChat 1.7.1]
Simn has joined #ocaml
antkong has quit [Quit: antkong]
freusque has joined #ocaml
<orbifx[m]>
what's a cmt file?
dhil has joined #ocaml
<octachron>
this is mostly a binary typed tree for documentation purpose
<orbifx[m]>
thanks octachron
<orbifx[m]>
octachron: I'm getting an error: circular build detect (src/x.cmo already seen in [ src/x.cmo])
<orbifx[m]>
I haven't made or specified anything for such file. Any hints what I should be looking at? _build/_log says everything was successful :P
<octachron>
orbifx[m], you are most probably opening or refering to X inside x.ml
<orbifx[m]>
I looked for that, but nothing as such. I will look into it again
malina has quit [Ping timeout: 258 seconds]
<octachron>
advertising time: if there is such a cycle, codept will detect it and show you where the cycle is introduced
<Drup>
octachron: have you tried patching jbuilder to use codept when available ? :p
<orbifx[m]>
octachron: what's codept?
<octachron>
Drup, … I am finishing the 0.10 release this week; and this is was the next item on my roadmap :p
<octachron>
(with integrating the codept mode inside ocamlbuild)
dhil has quit [Ping timeout: 240 seconds]
<octachron>
orbifx[m], a replacement for ocamldep with more extensive error/warning messages and less blind spots
<orbifx[m]>
how do I use it?
<octachron>
for just checking cycles: "opam install codept" and then "codept file_to_check" or "codept path/to/source/dir"
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
<orbifx[m]>
ok, but it's not cycles? I mean I searched for the module name and it doesn't appear anywhere in that file
* orbifx[m]
is installing to double check anyway
<orbifx[m]>
it just outputs:
<orbifx[m]>
src/x.cmo :
<orbifx[m]>
src/qml.cmx :
<orbifx[m]>
oops mean to write src/x.cmx
sam__ has joined #ocaml
reynir1 has joined #ocaml
zwild has quit [Remote host closed the connection]
grandy____ has joined #ocaml
<octachron>
just to be sure, you could check on the whole src folder; but it seems that the cicular build dependencies is introduced somewhere else
rfv_ has joined #ocaml
dmj`_ has joined #ocaml
<octachron>
do you have c files with the same name?
axiles has quit [Ping timeout: 248 seconds]
erw4n has quit [Ping timeout: 248 seconds]
<orbifx[m]>
there is only one file
cschneid has quit [Ping timeout: 246 seconds]
dmj` has quit [Ping timeout: 246 seconds]
grandy___ has quit [Ping timeout: 246 seconds]
rfv has quit [Ping timeout: 246 seconds]
reynir has quit [Read error: Connection reset by peer]
Nephe_ has quit [Quit: No Ping reply in 180 seconds.]
clog has quit [Ping timeout: 246 seconds]
mcspud has quit [Ping timeout: 246 seconds]
dmj`_ is now known as dmj`
rfv_ is now known as rfv
erw4n has joined #ocaml
axiles has joined #ocaml
cschneid has joined #ocaml
mcspud has joined #ocaml
<orbifx[m]>
unless ocamlbuild messes up with something it generates
<orbifx[m]>
or I just completely miss something
dakk_ has joined #ocaml
Nephe has joined #ocaml
<orbifx[m]>
no
<orbifx[m]>
but the file uses external
lukky513 has quit [Ping timeout: 240 seconds]
<orbifx[m]>
i.e. that module has `external ...` expressions
<orbifx[m]>
in terms of project, I've started fresh, I only have: _oasis and src/x.ml
freusque has quit [Quit: WeeChat 1.7.1]
<orbifx[m]>
and then run oasis setup and make.
<orbifx[m]>
I've done this before the only difference being I've not made a library that uses C interfaces
ousado has quit [Read error: Connection reset by peer]
ousado_ has joined #ocaml
freusque has joined #ocaml
freusque has quit [Client Quit]
zwild has joined #ocaml
<orbifx[m]>
jbuilder just jbuilt it :P
freusque has joined #ocaml
freusque has quit [Client Quit]
freusque has joined #ocaml
<orbifx[m]>
I think its time to say goodbye to oasis+ocamlbuild
ollehar has joined #ocaml
_andre has joined #ocaml
<ollehar>
" - the free & open source survey software tool!"
<ollehar>
" - l'outil de logiciel d'enquête gratuit et open source!"
<ollehar>
correct translation?
freusque has quit [Client Quit]
<ollehar>
sorry for the complete OT.
<dakk_>
ollehar, your translation is from english to french or from french to english?
<companion_cube>
«le logiciel d'enquêtes gratuit et libre», perhaps
<companion_cube>
although the translation of survey should be a bit more elaborate than that
<ollehar>
dakk_: from english to french.
<companion_cube>
survey, as in polls?
<ollehar>
yeah
<companion_cube>
I would say "sondage" instead of "enquête" then
<companion_cube>
(with 's' for plural)
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
<ollehar>
cool, thanks.
freusque has joined #ocaml
<sam__>
I managed to get a SEGV in my OCaml program :(
<companion_cube>
without obj?
<sam__>
obj?
lukky513 has joined #ocaml
<companion_cube>
without any unsafe function such as Obj.magic
<orbifx[m]>
then you probably haven't used it :P
<orbifx[m]>
sam__: could be a stack overflow
<orbifx[m]>
do you use recursion?
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
al-damiri has joined #ocaml
<rgrinberg>
octachron: does codept make sense for jbuilder? I think jbuilder only runs ocamldep per individual project currently. But I could be wrong..
<orbifx[m]>
rgrinberg: he recommended for use with my previous approach whichs is oasis+ocambuild
<orbifx[m]>
but I'm having enough.. for 2 days now I've been trying to make sense of ocamlbuild
clog has joined #ocaml
<rgrinberg>
Lol. You're still at it? :D just drop it and switch already.
<octachron>
rgrinberg, submodule/module name collisions can still happen inside a project
<rgrinberg>
So is codept a drop in replacement? Or do I have to change how jbuilder calls it
<orbifx[m]>
rgrinberg: i was giving it a chance because mrvn seems to have achieved it failry simply with something equivalent, but that was it :P
<octachron>
rgrinberg, drop in replacement
sh0t has joined #ocaml
<rgrinberg>
octachron: so using it drop-in is enough to get all the benefits?
<sam__>
orbifx[m]: yeah its definitely a stack overflow. i tried to write a parser but messed it up. i just thought it was weird that i suddenly was getting SEGV. previously i was getting a proper stack overflow.
<octachron>
rgrinberg, it depends on how ocamldep was used: if it was using for generate the whole project at once; yes
<octachron>
if ocamldep was used to generate dependencies file-by-file, simply replacing ocamldep by codept will not change much
<octachron>
(i.e. codept will never try to read a file that was not part of its input (except to mimic ocamldep behavior) )
<orbifx[m]>
sam__ you can add `[@tailcall]` to your recursive call to make sure it's getting tail call optimised
sam__ has quit [Ping timeout: 240 seconds]
ollehar has left #ocaml [#ocaml]
nahra` has joined #ocaml
nahra has quit [Ping timeout: 255 seconds]
<orbifx[m]>
rgrinberg: build C interfaces with jbuilder?
FreeBirdLjj has joined #ocaml
<orbifx[m]>
build any*
jlam_ has joined #ocaml
dhil has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
jlam has quit [Ping timeout: 268 seconds]
cow-orker has joined #ocaml
zwild has left #ocaml ["ERC (IRC client for Emacs 25.2.1)"]
zwild has joined #ocaml
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
zwild has left #ocaml [#ocaml]
zwild has joined #ocaml
zwild has left #ocaml [#ocaml]
freusque has quit [Quit: WeeChat 1.7.1]
zwild has joined #ocaml
jlam has joined #ocaml
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
jlam_ has quit [Ping timeout: 260 seconds]
zwild has quit [Remote host closed the connection]
freusque has joined #ocaml
zwild has joined #ocaml
sam__ has joined #ocaml
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
<rgrinberg>
Yes
lopex has joined #ocaml
<rgrinberg>
I haven't tried it myself but many jst projects use c stubs
sam__ has quit [Ping timeout: 240 seconds]
zwild has quit [Remote host closed the connection]
jlam_ has joined #ocaml
zwild has joined #ocaml
jlam has quit [Ping timeout: 246 seconds]
shinnya has joined #ocaml
zwild has quit [Read error: Connection reset by peer]
zwild has joined #ocaml
<orbifx[m]>
I think I did it.. I got some kind of build. Going to test more. I'm not sure if I have used the api correctly
<orbifx[m]>
or the jbuild functions anyway
zwild has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
richou has quit [Quit: WeeChat 1.4]
antkong has quit [Quit: antkong]
zv has joined #ocaml
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 248 seconds]
vbmithr_ is now known as vbmithr
vbmithr has quit [Quit: leaving]
vbmithr has joined #ocaml
dakk_ has joined #ocaml
vbmithr has quit [Quit: Lost terminal]
dakk_ has quit [Read error: Connection reset by peer]
<rgrinberg>
orbifx[m]: did it work?
dakk has joined #ocaml
Merv_ has quit [Remote host closed the connection]
<orbifx[m]>
Seems so, the preliminary test did
<orbifx[m]>
I need to finish linking things
<orbifx[m]>
But the ones I linked seemed to be there
zv has quit [Ping timeout: 248 seconds]
Anarchos has joined #ocaml
the_minerva has joined #ocaml
jlam_ has joined #ocaml
FreeBird_ has quit [Remote host closed the connection]
jlam__ has quit [Ping timeout: 260 seconds]
samrat_ has quit [Ping timeout: 240 seconds]
saml_ has joined #ocaml
vbmithr has joined #ocaml
kakadu has joined #ocaml
Denommus has joined #ocaml
slash^ has joined #ocaml
andreas_ has quit [Quit: Connection closed for inactivity]
FreeBirdLjj has joined #ocaml
jnavila has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
sam__ has joined #ocaml
sam__ has quit [Ping timeout: 248 seconds]
TheLemonMan has joined #ocaml
cranmax has joined #ocaml
jnavila has quit [Ping timeout: 276 seconds]
jlam__ has joined #ocaml
jlam_ has quit [Ping timeout: 246 seconds]
two_wheels has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
_andre has quit [Quit: leaving]
jnavila has joined #ocaml
jlam_ has joined #ocaml
jlam__ has quit [Ping timeout: 268 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 260 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
kakadu_ has joined #ocaml
kakadu has quit [Ping timeout: 260 seconds]
<dxtr>
Hmm, so Queue isn't functional?
<dxtr>
Weird
<thizanne>
functional queues are not that obvious
jnavila has quit [Ping timeout: 240 seconds]
<thizanne>
you probably have a lot of opam packages to do it, but you have to pick a tradeoff
jnavila has joined #ocaml
<dxtr>
What do you mean?
Merv_ has joined #ocaml
<dogui>
When writing this `let f : 'a. 'a -> 'a = Obj.magic (fun x -> x)` ocamlc complains with `Error: This definition has type 'a -> 'a which is less general than 'a0. 'a0 -> 'a0`. What to do?
<lyxia>
eta-expand.
<octachron>
dogui, you should not use Obj.magic and it will work
<dogui>
octachron: I know, it's a simplified example, but I need it sometimes
<dogui>
lyxia: thanks, you basically mean pushing the Obj.magic into the lambda, right? that works
<dogui>
otherwise I don't know that to eta expand
<lyxia>
I was thinking more of let f : 'a. 'a -> 'a = fun x -> Obj.magic (fun x -> x) x
<dogui>
ah
<lyxia>
"eta-expansion" is the transformation of g to fun x -> g x
<dogui>
interesting that that works
<dogui>
I know, I just assumed that would give the same error, sorry :)
<octachron>
this is just the value restriction at work
slash^ has quit [Read error: Connection reset by peer]
jlam__ has joined #ocaml
dakk has quit [Ping timeout: 276 seconds]
dakk has joined #ocaml
zpe has joined #ocaml
coventry has joined #ocaml
<coventry>
How does the top-level interpreter know that I want a pair_of_ints in this snippet? Error seems to depend on last record defined. "type pair_of_ints = { a : int; b : int };; {a=3};; ==> Error: Some record fields are undefined: b"
Merv_ has quit [Ping timeout: 240 seconds]
<thizanne>
coventry: you can't have two records with the same fields
<thizanne>
with the same field names, I mean
<thizanne>
(well you actually can but don't until you know how desambiguation works)
<coventry>
OK, and if a record's fields are a strict superset of another's, the error I get depends on which record type was defined last?
<thizanne>
yeah, last one takes precedence i guess
<coventry>
OK, thanks.
<dxtr>
So will queues be passed by reference or something?
sam__ has joined #ocaml
<dxtr>
Also is it possible to do something like, in Haskell, type foo = [] []?
<octachron>
dxtr, they will be passed like any other Ocaml values: an ocaml value is either an integer or a pointer to a block of ocaml values
<dxtr>
right
sam__ has quit [Ping timeout: 260 seconds]
jlam__ has quit [Ping timeout: 268 seconds]
jlam__ has joined #ocaml
<octachron>
dxtr, I am not sure what "type foo = [] []" stands for in Haskell, reexporting the list type constructor and its constructor?
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
<dxtr>
The type represents two lists
zpe has quit [Ping timeout: 240 seconds]
<octachron>
do you mean "type ('a,'b) = 'a list * 'b list" ?
<octachron>
*"type ('a,'b) t = 'a list * 'b list"
MercurialAlchemi has quit [Ping timeout: 248 seconds]
enterprisey has quit [Ping timeout: 240 seconds]
kevinqiu has joined #ocaml
gasche has joined #ocaml
<gasche>
( hi )
jnavila has quit [Quit: Konversation terminated!]
kakadu_ is now known as Kakadu
jnavila has joined #ocaml
<zozozo>
hi
Merv_ has joined #ocaml
two_wheels has joined #ocaml
two_wheels has quit [Client Quit]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
malina has joined #ocaml
coventry has quit [Remote host closed the connection]
nightmared has quit [Quit: WeeChat 1.9]
nightmared has joined #ocaml
argent_smith has quit [Quit: Leaving.]
sepp2k has quit [Ping timeout: 258 seconds]
Simn has quit [Quit: Leaving]
jnavila has quit [Remote host closed the connection]
two_wheels has joined #ocaml
aciniglio has quit [Ping timeout: 260 seconds]
Merv_ has quit [Ping timeout: 276 seconds]
kevinqiu has quit [Ping timeout: 240 seconds]
Denommus has quit [Ping timeout: 246 seconds]
sh0t has quit [Remote host closed the connection]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
dhil has quit [Ping timeout: 240 seconds]
sam___ has joined #ocaml
mengu has joined #ocaml
mrvn has joined #ocaml
axiles has quit [Ping timeout: 268 seconds]
axiles has joined #ocaml
sam___ has quit [Ping timeout: 260 seconds]
cranmax has quit [Quit: Connection closed for inactivity]
sigjuice has quit [Ping timeout: 240 seconds]
sigjuice has joined #ocaml
sam__ has joined #ocaml
ncthom91 has joined #ocaml
saml_ has quit [Remote host closed the connection]
rixed_ has quit [Remote host closed the connection]
rixed has joined #ocaml
mrvn has joined #ocaml
Merv_ has joined #ocaml
infinity0 has quit [Ping timeout: 260 seconds]
Kakadu has quit [Remote host closed the connection]
infinity0 has joined #ocaml
sh0t has joined #ocaml
spew has joined #ocaml
spew has quit [Quit: foobar]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
antkong_ has joined #ocaml
<dogui>
This code: `(fun i -> (Obj.magic print_int) i) 9;;` gives the warning `this argument will not be used by the function` pointing to the rightmost `i`, yet it prints 9.. is this a bug?
<dogui>
Surprisingly, removing the parenthesis around `Obj.magic print_int` doesn't give a warning!
<octachron>
dogui, to cite Xavier Leroy: "Obj.magic is not part of the OCaml language"
<dogui>
:)
Merv_ has quit [Ping timeout: 268 seconds]
<octachron>
everything that happens after use of Obj.magic —segfault, weird error messages, et cætera— is your own responsability
<dogui>
Sure, I realize, just wondering about this warning, which seems out of place. Also weird that parenthesizing makes a difference
<dogui>
I imagine there are n-ary lambdas internally in the compiler, and seems they're not quite transparent
FreeBirdLjj has joined #ocaml
<octachron>
I agree that is nice question on why this warning fires like this precisely, in this utterly pathologic case