<Drup>
I'm slightly surprised by both the fact that there is not ocamlbuild pflag for cc and the behavior of ByteOpt
<struk|desk>
I think you are supposed to work with one of cc, native_c_compiler, or byte_c_compiler variables..but I couldn't inject them inside oasis file itself, only via ./configure --overide
mcc has joined #ocaml
nichola__ has quit [Remote host closed the connection]
<Algebr`>
oh ffs, if you make your own myocamlbuild.ml then it will lose the options from the oasis file
<rgrinberg>
Algebr`: can't you just append that line outside the oasis generated markers?
<Algebr`>
I only get the myocamlbuild.ml if I do oasis setup, then I can add it to the end there
<Algebr`>
if I do oasis dynamic, then no myocamlbuild.ml is made
<Algebr`>
so I'll just bite the bullet and use oasis setup
<Algebr`>
, append it there
<Drup>
Algebr: no you don't need to
<Drup>
(* OASIS_START *)
<Drup>
(* OASIS_STOP *)
<Drup>
just put that
<Drup>
oasis is going to fill it
<Drup>
(just like for _tags)
shinnya has quit [Ping timeout: 240 seconds]
<Algebr`>
it didn't, just tried. whatever, will just use this approach, at least it works.
<rgrinberg>
Drup: is ocamlbuild expected to provide an appropriate pflag for every compiler flag?
<rgrinberg>
perhaps it's worth making an issue
<Drup>
rgrinberg: yes
adelbertc has quit [Quit: Connection closed for inactivity]
<Algebr`>
rgrinberg: this lets me use clang++ now, I dropped C++ completely cause of this hassle to build, now working, much appreciated
<rgrinberg>
NP
seangrove has quit [Remote host closed the connection]
sh0t has quit [Remote host closed the connection]
sh0t has joined #ocaml
<Algebr`>
ocamlbuild was separated out as a separate opam package but ocamldoc hasn't been yet
unbalancedparen has quit [Ping timeout: 258 seconds]
vfoley has joined #ocaml
FreeBirdLjj has joined #ocaml
aphprentice has quit [Quit: Connection closed for inactivity]
<rgrinberg>
Algebr`: yes. although i think that we all hope ocamldoc's future is rm -rf
<Algebr`>
Drup: how does tyxml print that opam message for installing tyxmlppx
<Algebr`>
I don't see it in source, so it must be something in opam-repo itself
<Algebr`>
ah wow, seeing it now
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
FreeBird_ has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Algebr` has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
Algebr` has joined #ocaml
<gasche>
rgrinberg: will you send me a pull-request to implement a cc(...) parametrized flag in upstream ocamlbuild?
<rgrinberg>
gasche: sure, I'll give it a try.
<gasche>
thanks
<gasche>
Algebr` could you maybe send an email to the oasis maintainer, explaining that you had a hard time finding the bugtracker from the github page?
<gasche>
or maybe a pull-request against the README file directly, adding a link there
yunxing_ has joined #ocaml
yunxing__ has joined #ocaml
tmtwd has joined #ocaml
yunxing_ has quit [Ping timeout: 250 seconds]
fluter has quit [Ping timeout: 272 seconds]
<rgrinberg>
gasche: should cc pflag apply only to C sources?
fluter has joined #ocaml
pierpa has quit [Ping timeout: 240 seconds]
dwwoelfe_ has joined #ocaml
nicholasf has joined #ocaml
dwwoelfel has quit [Ping timeout: 250 seconds]
dwwoelfe_ has quit [Ping timeout: 240 seconds]
nicholasf has quit [Ping timeout: 252 seconds]
nicholasf has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 252 seconds]
Algebr` has quit [Ping timeout: 250 seconds]
nichola__ has joined #ocaml
nicholasf has quit [Ping timeout: 250 seconds]
nyu_ has left #ocaml [#ocaml]
MercurialAlchemi has joined #ocaml
<struk|desk>
ctypes is really awesome. quite impressed
fluter has quit [Ping timeout: 250 seconds]
Algebr` has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 258 seconds]
g0atz has joined #ocaml
Algebr` has quit [Ping timeout: 250 seconds]
fleaswallow has quit [Quit: Leaving]
<g0atz>
How do folders factor into module naming? I'm pretty new to ocaml and am trying to open a module in a folder 1 level deeper than the source root
<g0atz>
For ex. I have folder F inside src with a module a.ml inside of.
<g0atz>
if I have a file b.ml in src (not in F), how do I refer to it?
<g0atz>
it == a.ml
Algebr` has joined #ocaml
fluter has joined #ocaml
Algebr` has quit [Ping timeout: 250 seconds]
Algebr` has joined #ocaml
<Algebr`>
gasche: sure, will do now
rgrinberg has quit [Ping timeout: 260 seconds]
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
kushal has joined #ocaml
ygrek_ has joined #ocaml
MercurialAlchemi has joined #ocaml
pyon has quit [Quit: restart]
kushal has quit [Read error: Connection reset by peer]
pyon has joined #ocaml
p_nathan has quit [Ping timeout: 264 seconds]
darkf_ has joined #ocaml
silver has joined #ocaml
darkf has quit [Ping timeout: 250 seconds]
nojb_ has joined #ocaml
kushal has joined #ocaml
A1977494 has joined #ocaml
nojb__ has quit [Ping timeout: 244 seconds]
<Algebr`>
Okay is this new or I just didn't know: let capit () =
<Algebr`>
Alcotest.(check char) "Check A" 'A' (To_test.capit 'a') how is it that the closing paren for check comes at the right of char rather than at the very end of the entire expression
<jun__>
here the parenthesis are only used to determine the scope in which Alcotest module is open
<jun__>
it is equivalent to Alcotest.check Alcotest.chare "Check A" 'A' (To_test.capit 'a')
<Algebr`>
jun__: I understand that, I'm saying why isn't the syntax extending the paren to the end of the entire line rather than ending at char
<Algebr`>
I guess its enough to be able to just figure out from the earlier )?
<Algebr`>
a guess a its shorthand
FreeBird_ has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
<jun__>
there is no point to open beyond what is needed
<jun__>
anyway an application "f x y z w" is alway equivalent to "((((f x) y) z) w)" but none of the parentheses are mandatory
<jun__>
the previous exemple is parenthesing (f x) y z w and use the scope defined theses parentheses to locally open a module
<Algebr`>
right right
kushal has quit [Ping timeout: 240 seconds]
Simn has joined #ocaml
yunxing__ has quit [Ping timeout: 250 seconds]
Algebr` has quit [Ping timeout: 250 seconds]
mcc has quit [Quit: Connection closed for inactivity]
tinamanea has joined #ocaml
A1977494 has quit [Quit: Leaving.]
<tinamanea>
hi! I have a module signature where I declare a type a and a function a -> something else. in the module implementation I define a as a tuple of few types and define the method accordingly, with a tuple as parameter. however, when I call the method with a tuple I receive and error about a type mismatch: expression has type ('c * 'd) but type a was expected, although a is defined as c * d. any idea why the compiler doesn't agree to
Algebr` has joined #ocaml
tmtwd has quit [Ping timeout: 258 seconds]
<companion_cube>
tinamanea: you probably don't expose the definition of a
Algebr` has quit [Ping timeout: 250 seconds]
dexterph has joined #ocaml
darkf_ is now known as darkf
<def`>
Algebr: merlin-extend provides a protocol for a custom frontend. Like -pp but adapted to merlin
AltGr has joined #ocaml
<tinamanea>
companion_cube: I include the module where type a is defined with "include" in the module I'm using the method in. shouldn't it be exposed?
<lyxia>
tinamanea: is the definition of the type exposed in the signature of your module?
<lyxia>
is the module not defined using module M : SOME_SIG = struct ... end ?
<lyxia>
that is, with an explicit signature which may not contain the definition of a
<tinamanea>
yes, it is
<lyxia>
so, "include" will not reveal the internals of the module
<lyxia>
which are anything that's not in the signature
<lyxia>
wait did you mean "yes it should be visible" or "yes it's defined with a signature that hides it" ?
<tinamanea>
well, then it should know about the definition of a :(
<lyxia>
why should it?
<tinamanea>
because a is both in the signature and defined in the module
<tinamanea>
the signature doesn't hide it
<lyxia>
hmm, can you paste the code?
jwatzman|work has joined #ocaml
frefity has joined #ocaml
nichola__ has quit [Remote host closed the connection]
nojb_ has quit [Quit: Leaving]
nojb has joined #ocaml
<companion_cube>
module M : SOME_SIG with a = foo*bar = struct ... end
nicholasf has joined #ocaml
nicholasf has quit [Remote host closed the connection]
frefity has quit [Quit: Ex-Chat]
<tinamanea>
I think I found the issue. that method is not exactly used in a module, but in a functor. and the functor can't tell that the a is a tuple
<tinamanea>
it would work after the final module creation
<tinamanea>
that is, after the functor is called
A1977494 has joined #ocaml
g0atz has quit [Remote host closed the connection]
fluter has quit [Ping timeout: 264 seconds]
nicholasf has joined #ocaml
fluter has joined #ocaml
kolko has joined #ocaml
A1977494 has quit [Remote host closed the connection]
nicholasf has quit [Ping timeout: 264 seconds]
nicholasf has joined #ocaml
StrykerKKD has joined #ocaml
tinamanea has quit [Quit: Page closed]
adelbertc has quit [Quit: Connection closed for inactivity]
TheVoid has quit [Ping timeout: 260 seconds]
TheVoid has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
sdothum has joined #ocaml
d0nn1e has quit [Ping timeout: 260 seconds]
bobry has joined #ocaml
d0nn1e has joined #ocaml
nichola__ has joined #ocaml
nicholasf has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
demonimin has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
demonimin has joined #ocaml
FreeBirdLjj has joined #ocaml
larhat has quit [Quit: Leaving.]
nichola__ has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
nicholasf has joined #ocaml
fluter has quit [Ping timeout: 258 seconds]
fluter has joined #ocaml
malc_ has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
wolfcore has quit [Ping timeout: 276 seconds]
wolfcore has joined #ocaml
darkf has quit [Quit: Leaving]
AlexRussia has joined #ocaml
fluter has quit [Ping timeout: 258 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
rgrinberg has joined #ocaml
fluter has joined #ocaml
shinnya has joined #ocaml
vfoley has quit [Ping timeout: 260 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
al-damiri has joined #ocaml
bobry has quit [Quit: Connection closed for inactivity]
yunxing_ has quit [Remote host closed the connection]
<tormen>
pierpa: I knew it was something basic
<tormen>
F*ck
<reynir>
fun and function are similar in that way
<tormen>
reynir: can you explain ?
<tormen>
reynir: because with fun I don't see how you can have an implicit parameter like for function ? ... or would fun | None -> ... | Some x -> ... work ?
<reynir>
tormen: let fn1 x = fun y -> x + y and let fn1 x = function y -> x + y are equivalent
<tormen>
struk|work: Merci beaucoup !
<reynir>
(hm ok it's maybe not very helpful to think of it that way)
<tormen>
reynir: ok. But with function you can have the implicit "match" but not with "fun" I assume, right ?
<tormen>
reynir: ... still interesting to see function used in that way !
<pierpa>
look at function as a shorthand for fun+match
<reynir>
tormen: yes, function allows more than one match-case :)
<tormen>
pierpa: okey thanks
<reynir>
tormen: with fun you can still do matching: fun { x; y = [1] } -> x
<tormen>
reynir: ... aaah
<reynir>
(silly example with inexhaustive pattern)
<tormen>
yes... sorry Ocaml newbie and still digging into everything.... sure, I see :))
<reynir>
You can't write function x y -> x + y though
<reynir>
Ah
<tormen>
reynir: hmm so "function y" but not function "x y" ?
<tormen>
(in your example further up you used "function y" ...)
<flux>
fun x y -> is basically syntax candy for function x -> function y ->, except there can only be one pattern
<tormen>
flux: very nice summary :)
<_y>
i wish « fun » could allow general pattern matching too
<tormen>
Thaaaaaaaaaaaaaanks a lot guys (and girls) !!! You rock. :)))) Cheerio
<struk|work>
happy camling!
<tormen>
yesssss :))) Extremely happy :)))) .... now that things can flow forward :))
<tormen>
struk|work: Merci :)
<_y>
so the only difference between « function » and « fun » would be than the latter would allow to match on several parameters (thus different parenthesing)
octachron has quit [Ping timeout: 240 seconds]
<Drup>
seliopou: what's your opinion about the new format patch ?