adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.08 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.08/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
<Netsu> companion_cube: to do something like `type 'a t constraint _ = (module I with type i = 'a)`
<Netsu> not sure why though :) just attempt some type level on first-class modules
Haudegen has quit [Ping timeout: 248 seconds]
<companion_cube> this would work
<Netsu> companion_cube: woldn't in case i is not abstract -- error 'a isn't int :(
kjak has joined #ocaml
<Netsu> Also is there depth (not only width) subtyping for modules?
<Netsu> e.g. when `(module M1) :> (module M2)` ==> `M1.t :> M2.t`
<companion_cube> covariance? I'm not sure
<companion_cube> it'd be in the other direction anyway, I think
<Netsu> yeah, that's another one question :) covariance is for type arguments, and I asking about module's types
<companion_cube> hmm I'm not sure first-class modules have subtyping
<companion_cube> I've never tried
<companion_cube> nope, invariant.
<Netsu> or am I doing that wrong, and I should use type argument's constraints for that...
<companion_cube> yeah, it's not covariant
<companion_cube> I think you're trying to do too complicated things
<Netsu> sad :-7
<Netsu> just meet with limitations
<companion_cube> what do you need subtyping for, anyway? :p
bitmapper has quit [Ping timeout: 245 seconds]
<Netsu> companion_cube: is something like next even possible: put into list (module S) values, and collect S.t variant types into sum of that types
<companion_cube> `(module S)` contains an existential type, you can't do anything with it anymore
<Netsu> e.g., pseudo-code, `type 'a s = (module S with type t = 'a)`, that list would be `[`M1|M2|M3]` s list`
<companion_cube> except using functions from S on it of course
<Netsu> companion_cube: is it existential even in case it public and declared in signature?
<companion_cube> oh, if it's fixed, no, sure
<companion_cube> although I'm still not sure what the endgame is here
<Netsu> something like type family on signatures..
<companion_cube> ôO
<companion_cube> this is not #haskell :p
<Netsu> Heh, nevermind, I'll just keep meet with more type-level possibilities here)
<Netsu> companion_cube: aren't OCaml functors similar to type families already?
<companion_cube> I think so, yes; so use functors, not first class modules :p
<Netsu> thanks :)
klntsky has quit [Remote host closed the connection]
klntsky has joined #ocaml
vicfred has quit [Quit: Leaving]
mfp has quit [Ping timeout: 245 seconds]
tormen_ has joined #ocaml
vicfred has joined #ocaml
tormen has quit [Ping timeout: 272 seconds]
_whitelogger has joined #ocaml
gravicappa has joined #ocaml
terps has joined #ocaml
terps has quit [Ping timeout: 250 seconds]
bitwinery has quit [Quit: Leaving]
terps has joined #ocaml
terps has quit [Read error: Connection reset by peer]
<xvilka> Netsu: you can have typeclasses in OCaml though
<xvilka> not as straghtforward as in Haskell, but still manageable
terps has joined #ocaml
Guest13728 has quit [Remote host closed the connection]
kvda has joined #ocaml
mbuf has joined #ocaml
terps has quit [Ping timeout: 250 seconds]
sagax has joined #ocaml
ravenous_ has joined #ocaml
ggole has joined #ocaml
terps has joined #ocaml
Haudegen has joined #ocaml
ravenous_ has quit [Quit: Textual IRC Client: www.textualapp.com]
Birdface has joined #ocaml
freyr69 has joined #ocaml
nullifidian_ has quit [Read error: Connection reset by peer]
nullifidian__ has joined #ocaml
ravenous_ has joined #ocaml
ravenous_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ravenous_ has joined #ocaml
<Drup> huh, that doesn't mean anything
<Drup> you can emulate some stuff, but no, there is no typeclasses in OCaml.
<dmbaturin> Fortunately. ;)
gareppa has joined #ocaml
mbuf has quit [Ping timeout: 248 seconds]
<Nikkel> If I have a module T = struct type foo = (int * string) end, and I want to use the type alias somewhere else like let bar (x : foo) = ... , how should I include the module T?
<Nikkel> I want to type (x : foo), not (x : T.foo)
<ggole> open T (probably)
Netsu has quit [Ping timeout: 260 seconds]
jochensp has joined #ocaml
<jochensp> hi, is there a way to disable assert() like NODEBUG in C?
Serpent7776 has joined #ocaml
keep_learning_M has joined #ocaml
nullifidian__ is now known as nullifidian
<hannes> jochensp: there is a ocamlc/ocamlopt option "-noassert" which removes "assert" calls during compilation, but there does not seem to be a runtime option disabling assertions.
<jochensp> must have been blind, thanks!
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
_whitelogger has joined #ocaml
terps has joined #ocaml
jnavila has joined #ocaml
vicfred has quit [Quit: Leaving]
mfp has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
gareppa has quit [Quit: Leaving]
ravenous_ has quit [Read error: Connection reset by peer]
ravenous_ has joined #ocaml
nullifidian_ has joined #ocaml
nullifidian has quit [Ping timeout: 245 seconds]
jochensp has left #ocaml ["WeeChat 2.4"]
jnavila has quit [Quit: Konversation terminated!]
jnavila has joined #ocaml
jnavila has quit [Ping timeout: 246 seconds]
jnavila has joined #ocaml
AtumT has joined #ocaml
jave has quit [Ping timeout: 246 seconds]
jave has joined #ocaml
terps has quit [Ping timeout: 264 seconds]
terps has joined #ocaml
terps has quit [Ping timeout: 252 seconds]
terps has joined #ocaml
spew has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
nullifidian__ has joined #ocaml
nullifidian_ has quit [Read error: Connection reset by peer]
malina has joined #ocaml
aphprentice__ has quit [Quit: Connection closed for inactivity]
terps has quit [Quit: WeeChat 2.5]
nullifidian_ has joined #ocaml
nullifidian__ has quit [Ping timeout: 244 seconds]
freyr69 has quit [Ping timeout: 248 seconds]
sagax has quit [Remote host closed the connection]
sonologico has joined #ocaml
ravenous_ has quit [Read error: Connection reset by peer]
ravenous_ has joined #ocaml
FreeBirdLjj has joined #ocaml
ravenou__ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 258 seconds]
ziyourenxiang has quit [Ping timeout: 246 seconds]
ravenous_ has quit [Ping timeout: 264 seconds]
ravenou__ has quit [Read error: Connection reset by peer]
ravenous_ has joined #ocaml
gareppa has joined #ocaml
gareppa has quit [Remote host closed the connection]
malina has quit [Ping timeout: 245 seconds]
malina has joined #ocaml
sonologico has quit [Ping timeout: 245 seconds]
malina has quit [Read error: Connection reset by peer]
malina has joined #ocaml
jnavila has quit [Ping timeout: 246 seconds]
sagax has joined #ocaml
malina has quit [Ping timeout: 258 seconds]
malina has joined #ocaml
ggole has quit [Quit: Leaving]
gareppa has joined #ocaml
gareppa has quit [Remote host closed the connection]
c4rc4s has quit [Quit: Adios]
c4rc4s has joined #ocaml
Birdface has quit [Remote host closed the connection]
Birdface has joined #ocaml
jao has joined #ocaml
Hrundi_V_Bakshi has joined #ocaml
<hannes> hmm, when i use a custom opam overlay, and define some url to a package (git+https://my-fork.git#my-branch), why does dune use the "development" profile that treats warnings as errors (and is there a way that dune does not try to outsmart me?)
delysin has quit [Ping timeout: 258 seconds]
vesper11 has quit [Ping timeout: 248 seconds]
jnavila has joined #ocaml
Birdface has quit [Remote host closed the connection]
Birdface has joined #ocaml
cgt has quit [Ping timeout: 268 seconds]
gravicappa has quit [Ping timeout: 268 seconds]
ravenous_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
iAmerika1 has quit [Ping timeout: 268 seconds]
Birdface has quit [Ping timeout: 245 seconds]
vesper11 has joined #ocaml
Serpent7776 has quit [Quit: leaving]
sonologico has joined #ocaml
sagax has quit [Remote host closed the connection]
vicfred has joined #ocaml
andrewlitteken has joined #ocaml
andrewlitteken has quit [Client Quit]
jnavila has quit [Remote host closed the connection]
seliopou has quit [Ping timeout: 246 seconds]
seliopou has joined #ocaml
lizzin has quit [Ping timeout: 272 seconds]
ziyourenxiang has joined #ocaml
nullifidian_ has quit [Read error: Connection reset by peer]
nullifidian_ has joined #ocaml
malina has quit [Remote host closed the connection]
spew has quit [Quit: Connection closed for inactivity]
sonologico has quit [Ping timeout: 258 seconds]
Hrundi_V_Bakshi has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
sonologico has joined #ocaml
Jesin has quit [Quit: Leaving]
sagax has joined #ocaml
jao has quit [Remote host closed the connection]
Jesin has joined #ocaml
jao has joined #ocaml