Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.13.0 released: https://ocaml.org/releases/4.13.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
rgrinberg has joined #ocaml
motherfsck has quit [Ping timeout: 258 seconds]
motherfsck has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
nfc_ has quit [Ping timeout: 245 seconds]
waleee has quit [Ping timeout: 264 seconds]
Boarders has quit [Ping timeout: 245 seconds]
hyphen has quit [Ping timeout: 260 seconds]
hyphen has joined #ocaml
nfc_ has joined #ocaml
Boarders has joined #ocaml
gravicappa has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gravicappa has quit [Ping timeout: 260 seconds]
hackinghorn has joined #ocaml
shawnw has quit [Ping timeout: 264 seconds]
wyrd has quit [Ping timeout: 276 seconds]
eremitah has quit [Quit: quit]
Haudegen has joined #ocaml
wingsorc has quit [Remote host closed the connection]
hendursa1 has joined #ocaml
hendursaga has quit [Ping timeout: 276 seconds]
bartholin has joined #ocaml
bobo has joined #ocaml
spip has quit [Ping timeout: 258 seconds]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
wyrd has joined #ocaml
deus` has joined #ocaml
deus` has left #ocaml [#ocaml]
mpu has left #ocaml [#ocaml]
rond_ has joined #ocaml
kakadu has joined #ocaml
bobo has quit [Quit: Konversation terminated!]
spip has joined #ocaml
rond_ has quit [Quit: Client closed]
gravicappa has joined #ocaml
mbuf has joined #ocaml
<d_bot> <Emile Trotignon> Revery ! You have to use it with esy though, and the documentation is what it is.
mro has quit [Remote host closed the connection]
<d_bot> <andreypopp> I have
<d_bot> <andreypopp> ```
<d_bot> <andreypopp> type t = ...
<d_bot> <andreypopp> module S : SHOWABLE with type t := t = Showable(...)
<d_bot> <andreypopp> include S
<d_bot> <andreypopp> ```
<d_bot> <andreypopp> is there way to do that with `include Showable(...)` instead? Not sure how to specify a `t := t` substitution in this case.
mro has joined #ocaml
<d_bot> <Alistair> You could inline it, i.e. ```include (Showable ( ... ) : SHOWABLE with type t := t)```
<d_bot> <andreypopp> hm... ok, I got parens wrong when I've tried a similar thing, thanks!
mro has quit [Remote host closed the connection]
Haudegen has quit [Quit: Bin weg.]
gopiandcode has quit [Ping timeout: 265 seconds]
waleee has joined #ocaml
<d_bot> <Jean Issou> hello
<d_bot> <Jean Issou> I have to write a C to assemblyX86 compiler in Ocaml
<d_bot> <Jean Issou> and I have no fucking clue how to do it
waleee has quit [Ping timeout: 265 seconds]
waleee has joined #ocaml
zebrag has joined #ocaml
<d_bot> <Kakadu> @Jean Issou https://bellard.org/tcc/
Haudegen has joined #ocaml
<d_bot> <Jean Issou> thks 🙂
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #ocaml
mro has joined #ocaml
gopiandcode has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
<d_bot> <Deus> I think you should take a look at this: http://troydm.github.io/blog/2014/03/29/writing-micro-compiler-in-ocaml/
<d_bot> <Deus> @Jean Issou
<d_bot> <Deus> It isn't for C but it shows the process
<d_bot> <monk> i'm working through appel's modern compilers in ML and hope to write something about working through it with ocaml
<d_bot> <monk> and, if i'm feeling powerful enough, targeting llvm via the bindings
<d_bot> <monk> learning the process of writing a compiler is definitely the meat of it all, different way of thinking
rgrinberg has joined #ocaml
xiongxin_ has joined #ocaml
wonko has joined #ocaml
hendursaga has quit [Remote host closed the connection]
hendursaga has joined #ocaml
xiongxin_ has quit [Ping timeout: 258 seconds]
bartholin has quit [Quit: Leaving]
Haudegen has quit [Quit: Bin weg.]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
Haudegen has joined #ocaml
mbuf has quit [Quit: Leaving]
kakadu has quit [Quit: Konversation terminated!]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hyphen has quit [Ping timeout: 258 seconds]
hyphen has joined #ocaml
wyrd has quit [Remote host closed the connection]
wyrd has joined #ocaml
mro has joined #ocaml
Serpent7776 has quit [Read error: Connection reset by peer]
Serpent7776 has joined #ocaml
Haudegen has quit [Quit: No Ping reply in 180 seconds.]
Haudegen has joined #ocaml
hyphen has quit [Ping timeout: 260 seconds]
hyphen has joined #ocaml
rgrinberg has joined #ocaml
hyphen has quit [Ping timeout: 258 seconds]
hyphen has joined #ocaml
wonko has quit [Ping timeout: 258 seconds]
gravicappa has quit [Ping timeout: 264 seconds]
<d_bot> <Alistair> How slow are heterogenous lists compared to (homogenous) lists?
<d_bot> <octachron> From a runtime perspective there are the same thing?
<d_bot> <Alistair> Really? I swear I heard GADTs have affect performance (I thought it sounded strange at the time, but I didn't know whether ADTs could have better optimizations than GADTs)
<d_bot> <Alistair> If they're the same for runtime then you've made me really happy 🙂
<d_bot> <octachron> Types are erased after typechecking, GADTs, ADTs, records are just ints and pointers to block at this stage.
<d_bot> <Alistair> Great!
<d_bot> <octachron> (There are cases when you can't avoid executing GADT-based proofs or carrying proof terms which is suboptimal, but the issue is not the memory representation)
spip has quit [Ping timeout: 245 seconds]
spip has joined #ocaml
mro has quit [Ping timeout: 265 seconds]
<d_bot> <Alistair> Continuing this, suppose I have the module ```
<d_bot> <Alistair> module Dependent_list (T : sig type _ t end) = struct
<d_bot> <Alistair>
<d_bot> <Alistair> type nil = | Nil
<d_bot> <Alistair>
<d_bot> <Alistair> type _ t =
<d_bot> <Alistair> | [] : nil t
<d_bot> <Alistair> | (::) : 't T.t * 'ts t -> ('t * 'ts) t
<d_bot> <Alistair>
<d_bot> <Alistair> end
<d_bot> <Alistair> ```
<d_bot> <Alistair> Is there a way to write something like: ```ocaml
<d_bot> <Alistair> type _ expr =
<d_bot> <Alistair> | ...
<d_bot> <Alistair> | Texp_tuple : 'ts (Dependent_list (struct type nonrec 'a t = 'a expr)).t -> 'ts expr
<d_bot> <Alistair> ```
<d_bot> <infrandomness> isn't that for reason?
<d_bot> <infrandomness> I use OCaml
Tuplanolla has joined #ocaml
<d_bot> <octachron> @TheBloodlessMan , you need to go through a recursive module to have a name for the argument of Dependent_list, note that you can use the type-only recursive module trick `module rec M: ... = M and N : ... = F(M)`
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mosterdt_ has quit [Remote host closed the connection]
jess has quit [Quit: Lost terminal]
jess has joined #ocaml
rgrinberg has joined #ocaml
<d_bot> <Et7f3> What is the difference of "failed test" and "unexpected errors" in OCaml testsuite ?
vicfred has joined #ocaml
grobe0ba has joined #ocaml
Haudegen has quit [Ping timeout: 260 seconds]
<d_bot> <crackcomm> I'd guess one is different output and second is an exception thrown
zebrag has quit [Quit: Konversation terminated!]
shawnw has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hexology has joined #ocaml