adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.06.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.06/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
barcabuona has quit [Quit: WeeChat 2.0.1]
isd has quit [Ping timeout: 240 seconds]
letaris has quit [Quit: Leaving]
letaris has joined #ocaml
letaris has quit [Client Quit]
letaris has joined #ocaml
isd has joined #ocaml
letaris has quit [Ping timeout: 268 seconds]
nomicflux has quit [Quit: nomicflux]
FreeBirdLjj has joined #ocaml
al-damiri has quit [Quit: Connection closed for inactivity]
FreeBirdLjj has quit [Ping timeout: 276 seconds]
letaris has joined #ocaml
Haudegen has quit [Remote host closed the connection]
pierpa has quit [Quit: Page closed]
nomicflux has joined #ocaml
govg has quit [Ping timeout: 265 seconds]
mengu has quit [Quit: Leaving...]
govg has joined #ocaml
govg has quit [Ping timeout: 260 seconds]
govg has joined #ocaml
govg has quit [Ping timeout: 240 seconds]
nomicflux has quit [Quit: nomicflux]
nomicflux has joined #ocaml
isd has quit [Quit: Leaving.]
sh0t has quit [Remote host closed the connection]
jmiven has quit [Quit: co'o]
jmiven has joined #ocaml
letaris has quit [Ping timeout: 256 seconds]
nomicflux has quit [Quit: nomicflux]
silver has quit [Read error: Connection reset by peer]
isd has joined #ocaml
sh0t has joined #ocaml
mfp has quit [Ping timeout: 256 seconds]
govg has joined #ocaml
VermillionAzure has joined #ocaml
sh0t has quit [Remote host closed the connection]
mbuf has joined #ocaml
dh_work has joined #ocaml
<dh_work> what's the recommended way to adapt to different ocaml versions at build time?
<dh_work> I have been developing with 4.06 on bsd and now I need to run on ubuntu, and it's shippig 4.02
<dh_work> and things like Map.S.union being missing are one thing (can just provide my own) but it's now barfing on String.uppercase_ascii
<companion_cube> I use containers ;-)
<companion_cube> (the stdlib backports in it are not perfect, but they are there)
<dh_work> seems that uppercase_ascii is the only significant problem
<dh_work> I don't want to either implement my own uppercase or default to using the deprecated name for it
<dh_work> this kind of thing is why C has cpp :-/
<companion_cube> anyway, why'd you use capitalization on ascii instead of doing unicode? :)
<dh_work> because the standard library doesn't even have unicode strings? :-)
<dh_work> (besides, they're C identifiers)
<companion_cube> well technically, the strings can be utf8, and often are ;)
<companion_cube> but ok, C identifiers are a valid reason I guess
<dh_work> sometime I'd like to ask what Coq wide strings should be extracted to in ocaml, but that's not my mission tonight
<dh_work> fortunately, unix is my friend even if ubuntu isn't
* dh_work applies a +1 sed script
<dh_work> I was hoping there's some easier way than this, that's all :-/
Sargun has joined #ocaml
<Sargun> Are there any tools for inspection and manipulation of an ocaml program's AST at compile time, runtime, or load time?
<companion_cube> compiler-libs
<Sargun> For example, if I want to write a (simple), totality checker is there a nice place for that
<companion_cube> totality checker? do you mean termination checker?
<Sargun> Yeah
<Sargun> Termination + exhaustiveness
<companion_cube> exhaustiveness is already enforces on pattern matches
<companion_cube> (just make the warning an error)
<companion_cube> for termination it's much harder
<companion_cube> I think there are compiler plugins these days, but they're very experimental
<companion_cube> and termination checking on either parse or typed ASTs is hard
<Sargun> You can do it on the AST
<Sargun> A simple way is to make sure there's no recursion
<companion_cube> ah :D
<Sargun> and there's no calls to external, non-terminating functions
<companion_cube> well i it's such a simple case, sure, examine the parse tree
<companion_cube> you might even write a ppx for that
<Sargun> Except, you have those pesky while and for loops.
<companion_cube> but what would it be useful for?
<companion_cube> I mean, no recursion severly restrict what you can write
<Sargun> yeah, that's fine
<Sargun> You can get pretty far with map, filter, and fold
<companion_cube> well try the ppx way, it will be easier to integrate to build systems
<companion_cube> it will do its magic on the parsetree
VermillionAzure has quit [Ping timeout: 256 seconds]
VermillionAzure has joined #ocaml
cbot has quit [Quit: Leaving]
VermillionAzure has quit [Ping timeout: 248 seconds]
jao has quit [Ping timeout: 264 seconds]
BitPuffin has joined #ocaml
isd has quit [Quit: Leaving.]
nomicflux has joined #ocaml
VermillionAzure has joined #ocaml
VermillionAzure has quit [Ping timeout: 256 seconds]
MercurialAlchemi has joined #ocaml
ome has joined #ocaml
nomicflux has quit [Quit: nomicflux]
Haudegen has joined #ocaml
freyr has joined #ocaml
jimmyrcom has quit [Ping timeout: 256 seconds]
<Armael> dh_work: you can use stdcompat
<Armael> (which uses cppo under the hood)
flx_ has joined #ocaml
fredcy_ has joined #ocaml
VermillionAzure has joined #ocaml
iZsh has quit [Ping timeout: 374 seconds]
fredcy has quit [Quit: ZNC - http://znc.in]
flux has quit [Write error: Broken pipe]
fredcy_ is now known as fredcy
flx_ is now known as flux
iZsh has joined #ocaml
AltGr has joined #ocaml
argent_smith has joined #ocaml
jnavila has joined #ocaml
rbocquet has quit [Ping timeout: 265 seconds]
rbocquet has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Remote host closed the connection]
mk9 has joined #ocaml
mk9 has quit [Remote host closed the connection]
andreas_ has joined #ocaml
mk9 has joined #ocaml
ome has quit [Quit: Connection closed for inactivity]
keep_learning has quit [K-Lined]
keep_learning has joined #ocaml
mbuf has left #ocaml ["Leaving"]
ome has joined #ocaml
dhil has joined #ocaml
TheLemonMan has joined #ocaml
nicoo has quit [Ping timeout: 255 seconds]
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
infinity0 is now known as Guest14120
infinity0 has joined #ocaml
Guest14120 has quit [Ping timeout: 256 seconds]
<Drup> doind that kind of analysis on the parsetree seems very wasteful
nicoo has joined #ocaml
<Drup> (you will need to redo name resolution, interface loading, etc)
<Drup> Lot's of things already done by the typechecker
jnavila has quit [Ping timeout: 268 seconds]
jnavila has joined #ocaml
VermillionAzure has quit [Ping timeout: 256 seconds]
nullifidian has quit [Ping timeout: 256 seconds]
jnavila has quit [Ping timeout: 248 seconds]
maattdd_ has joined #ocaml
sh0t has joined #ocaml
nullifidian has joined #ocaml
mfp has joined #ocaml
mk9 has quit [Read error: Connection reset by peer]
mk9 has joined #ocaml
sh0t has quit [Remote host closed the connection]
zolk3ri has joined #ocaml
kakadu has joined #ocaml
_andre has joined #ocaml
ome has quit [Quit: Connection closed for inactivity]
tarptaeya has joined #ocaml
ziyourenxiang has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
sh0t has joined #ocaml
jnavila has joined #ocaml
malc_ has joined #ocaml
Haudegen has quit [Remote host closed the connection]
mbuf has joined #ocaml
dhil has quit [Ping timeout: 248 seconds]
jnavila has quit [Ping timeout: 276 seconds]
_andre has quit [Ping timeout: 240 seconds]
_andre has joined #ocaml
shinnya has joined #ocaml
bartholin has quit [Remote host closed the connection]
jnavila has joined #ocaml
johnelse is now known as johnel_away
johnel_away is now known as johnelse
johnelse is now known as johnel_away
johnel_away is now known as johnelse
johnelse has quit [Quit: leaving]
Haudegen has joined #ocaml
mk9_ has joined #ocaml
mk9 has quit [Ping timeout: 268 seconds]
mk9_ is now known as mk9
Denommus has joined #ocaml
johnelse has joined #ocaml
nomicflux has joined #ocaml
johnelse is now known as johnel_away
johnel_away is now known as johnelse
johnelse is now known as johnel_away
johnel_away is now known as johnelse
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
dhil has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
xfbs has joined #ocaml
mbuf has quit [Quit: Leaving]
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
dakk has joined #ocaml
<companion_cube> rgrinberg: any reason why dune doens't install .ml files?
<jpdeplaix> companion_cube: it does in beta18
mk9_ has joined #ocaml
mk9_ has quit [Client Quit]
mk9_ has joined #ocaml
<jpdeplaix> companion_cube: but really the problem is not there
mk9 has quit [Ping timeout: 256 seconds]
mk9_ is now known as mk9
<jpdeplaix> companion_cube: oasis does not install .ml files either
xfbs has quit []
<companion_cube> yeah, so?
<companion_cube> not sure jump to source ever worked for containers
nomicflux has quit [Quit: nomicflux]
<jpdeplaix> companion_cube: the problem here is that there is no .mli file either
<jpdeplaix> I'm not sure why
tarptaeya has quit [Quit: Leaving]
<companion_cube> hmm, right now with +beta17 I do have the .mli files
<rgrinberg> Yeah beta18 will make everyone's go to definition situation a lit better
<companion_cube> and cmt,cmti,cmi, and cmx
<companion_cube> (by getting rid of cppo we no longer have the missing cmx issue!)
dhil has quit [Ping timeout: 260 seconds]
<jpdeplaix> rgrinberg, companion_cube: the thing is that some are installed (CCBool.mli, …) but some are not (CCList.mli, …)
<jpdeplaix> for some reason
<jpdeplaix> and I have beta17
<companion_cube> for me it's installed
<companion_cube> but it comes after CCListLabel.*
<rgrinberg> Missing entries in the .install file definitely sound like a bug.
<companion_cube> ah wait, right
<companion_cube> I don't have CCArray.mli ôO
<companion_cube> rgrinberg: can you try to install containers? ^^
<rgrinberg> I can try later. On my smartphone now.
<rgrinberg> The important thing is to verify the .install file is correct
<rgrinberg> Jbuilder doesn't actually do any copying itself
<companion_cube> those people who don't have opam on their smartphone… :shrug:
<companion_cube> hmm the local .install file seems correct
<thizanne> let rec f x = x and _ = f true, f 0;; doesn't type, and I guess it's related to the polymorphism thing inside arrow types
<companion_cube> not sure about the one that was used by opam
<thizanne> is it a well known problem, and what is the exact reason here ?
<thizanne> I feel like it's not a type system fundamental issue but more an implementation one, but i'm not sure if it just happens to be so or it has some undecidability related reason
<jpdeplaix> companion_cube: oh! Right the .mli are ordered after *Labels*
<jpdeplaix> ok so i was testing against the wrong thing
<jpdeplaix> merlin locates the modules itself pretty well with just .mli file but don't if you try to locate a value
<jpdeplaix> def`, rks` is that intended ? ^
<rks`> "meh"
<companion_cube> thizanne: generalization happens after the whole `let rec` block, I think
<companion_cube> f isn't generalized yet and you try to call it on distinct types
<rks`> (I've only just skimmed over the discussion, but I guess it's related to that issue)
<companion_cube> ty
<thizanne> thanks companion_cube
MercurialAlchemi has quit [Ping timeout: 240 seconds]
dhil has joined #ocaml
webshinra has quit [Read error: Connection reset by peer]
webshinra has joined #ocaml
nomicflux has joined #ocaml
nomicflux has quit [Client Quit]
freyr has quit [Remote host closed the connection]
xfbs has joined #ocaml
nopf has joined #ocaml
xfbs has quit [Client Quit]
rbocquet has quit [Ping timeout: 255 seconds]
rbocquet has joined #ocaml
dakk has quit [Read error: Connection reset by peer]
TheLemonMan has joined #ocaml
jao has joined #ocaml
dhil has quit [Ping timeout: 260 seconds]
mk9 has quit [Ping timeout: 265 seconds]
average_ has joined #ocaml
john51 has quit [Remote host closed the connection]
john51 has joined #ocaml
rwmjones is now known as rwmjones|mtg
dhil has joined #ocaml
tane has joined #ocaml
AltGr has left #ocaml [#ocaml]
Haudegen has quit [Remote host closed the connection]
bartholin has joined #ocaml
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
average_ has quit [Ping timeout: 276 seconds]
average_ has joined #ocaml
jao has quit [Remote host closed the connection]
Guest61655 has joined #ocaml
jao has joined #ocaml
jimmyrcom has joined #ocaml
Guest61655 is now known as Haudegen
slash^ has joined #ocaml
moei has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
maattdd_ has quit [Ping timeout: 256 seconds]
dhil has quit [Ping timeout: 264 seconds]
butterthebuddha has quit [Max SendQ exceeded]
butterthebuddha has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Client Quit]
slash^ has quit [Quit: Leaving]
maattdd_ has joined #ocaml
jnavila has quit [Ping timeout: 240 seconds]
VermillionAzure has joined #ocaml
rwmjones|mtg is now known as rwmjones
maattdd_ has quit [Ping timeout: 256 seconds]
letaris has joined #ocaml
letaris has quit [Client Quit]
<Drup> /insert harsh words about the value restriction
tane has quit [Ping timeout: 240 seconds]
kakadu has joined #ocaml
VermillionAzure has quit [Ping timeout: 268 seconds]
buyfn has joined #ocaml
jnavila has joined #ocaml
BitPuffin has quit [Remote host closed the connection]
ygrek has joined #ocaml
dhil has joined #ocaml
buyfn has quit [Remote host closed the connection]
buyfn has joined #ocaml
dhil has quit [Ping timeout: 265 seconds]
mk9 has joined #ocaml
mk9 has quit [Client Quit]
buyfn has quit [Quit: Textual IRC Client: www.textualapp.com]
ontologiae has joined #ocaml
ziyourenxiang has quit [Ping timeout: 256 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
mk9 has joined #ocaml
shinnya has joined #ocaml
pierpa has joined #ocaml
kamog has joined #ocaml
Haudegen has quit [Remote host closed the connection]
eni_ has joined #ocaml
eni_ is now known as eni
dedgrant has quit [Ping timeout: 268 seconds]
Haudegen has joined #ocaml
_andre has quit [Quit: leaving]
remix2000 has quit [Ping timeout: 240 seconds]
argent_smith has quit [Quit: Leaving.]
jnavila has quit [Read error: Connection reset by peer]
jnavila has joined #ocaml
maattdd_ has joined #ocaml
Algebr has joined #ocaml
dedgrant has joined #ocaml
maattdd_ has quit [Ping timeout: 260 seconds]
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
remix2000 has joined #ocaml
dedgrant has quit [Ping timeout: 255 seconds]
jnavila has quit [Ping timeout: 240 seconds]
VermillionAzure has joined #ocaml
dedgrant has joined #ocaml
maattdd_ has joined #ocaml
maattdd_ has quit [Ping timeout: 268 seconds]
kakadu has quit [Remote host closed the connection]
orbifx1 has joined #ocaml
kamog has quit [Quit: Leaving.]
ome has joined #ocaml
xfbs has joined #ocaml
xfbs has quit [Max SendQ exceeded]
xfbs has joined #ocaml
VermillionAzure has quit [Remote host closed the connection]
VermillionAzure has joined #ocaml
Haudegen has quit [Remote host closed the connection]
VermillionAzure has quit [Ping timeout: 260 seconds]
maattdd_ has joined #ocaml
maattdd_ has quit [Ping timeout: 248 seconds]
cbot has joined #ocaml
andreas_ has quit [Quit: Connection closed for inactivity]
ontologiae has quit [Ping timeout: 260 seconds]
moei has quit [Quit: Leaving...]
buyfn has joined #ocaml
VermillionAzure has joined #ocaml
Guest62693 has joined #ocaml
buyfn has quit [Quit: Textual IRC Client: www.textualapp.com]
whoman has joined #ocaml
Guest62693 is now known as Haudegen