adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.07.1 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.07/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml | Due to ongoing spam, you must register your nickname to talk on the channel
amiloradovsky has quit [Quit: amiloradovsky]
sapristi_ has quit [Remote host closed the connection]
Jesin has quit [Quit: Leaving]
AnAverageHuman has quit [Ping timeout: 256 seconds]
amiloradovsky has joined #ocaml
Jesin has joined #ocaml
AtumT has quit [Quit: AtumT]
amiloradovsky has quit [Quit: amiloradovsky]
jao has quit [Remote host closed the connection]
zolk3ri has quit [Remote host closed the connection]
ziyourenxiang has joined #ocaml
silver has quit [Read error: Connection reset by peer]
sonologico has joined #ocaml
AnAverageHuman has joined #ocaml
gjaldon has joined #ocaml
gjaldon has quit [Client Quit]
tormen_ has joined #ocaml
tormen has quit [Ping timeout: 250 seconds]
iovec has joined #ocaml
mfp has quit [Ping timeout: 245 seconds]
xuanrui has joined #ocaml
gravicappa has joined #ocaml
xuanrui has quit [Remote host closed the connection]
ansiwen has quit [Quit: ZNC 1.7.1 - https://znc.in]
sonologico has quit [Ping timeout: 252 seconds]
ansiwen has joined #ocaml
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
jao has joined #ocaml
AnAverageHuman has quit [Ping timeout: 256 seconds]
sonologico has joined #ocaml
jao has quit [Ping timeout: 255 seconds]
sonologico has quit [Remote host closed the connection]
JimmyRcom has quit [Ping timeout: 246 seconds]
JimmyRcom has joined #ocaml
nikivi has joined #ocaml
bartholin has joined #ocaml
FreeBirdLjj has joined #ocaml
orbifx has joined #ocaml
Haudegen has joined #ocaml
funkatronixxx has joined #ocaml
orbifx has quit [Ping timeout: 244 seconds]
kalio has quit [Ping timeout: 272 seconds]
kalio has joined #ocaml
AxiomaticEspress has joined #ocaml
keep_learning_M has quit [Quit: This computer has gone to sleep]
bartholin has quit [Ping timeout: 245 seconds]
funkatronixxx has quit [Quit: WeeChat 2.3]
bartholin has joined #ocaml
keep_learning_M has joined #ocaml
asymptotically has joined #ocaml
keep_learning_M has quit [Client Quit]
dhil has joined #ocaml
mfp has joined #ocaml
gareppa has joined #ocaml
gareppa has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 272 seconds]
Haudegen has quit [Remote host closed the connection]
silver has joined #ocaml
webshinra has joined #ocaml
Haudegen has joined #ocaml
jao has joined #ocaml
themsay has quit [Read error: Connection reset by peer]
themsay has joined #ocaml
dhil has quit [Ping timeout: 246 seconds]
kakadu_ has joined #ocaml
kakadu has quit [Ping timeout: 246 seconds]
dhil has joined #ocaml
aiowej has joined #ocaml
<aiowej> Hi! I want to learn how to implement a compiler for a language like ML, but purely functional, really nothing more than a typed lambdacalc with pattern matching and union types. I already know how to type check, but am stuck on how to create the actual output. Looking to output something like C++, Rust, or LLVM IR, i.e. no closures. Maybe should do CPS? Anyways, my question is this: what book do you recommend for someone who
<aiowej> just-wants-to-get-it-done, compiling a pure lambda language to C/LLVM?
<def`> Andrew Appel modern compiler implementation in ML? You can just skip the lower level parts.
cantstanya has quit [Remote host closed the connection]
<def`> (And imho, producing C++, Rust or LLVM IR will just make things more complex, stick to C, it is portable)
cantstanya has joined #ocaml
<aiowej> def`: thank you! I know his book Compiling with Continuations, which is cool, but being 1/3 through it I'm not sure it has all the answers (or I'm a dum dum). Will check the book out. There are some data structures implemented for both C++ and Rust I want in my stdlib
<aiowej> def`: if you have read both books, I would love to heard what valuable knowledge is available in Modern Compiler Implementation in ML as compared to Compiling with Continuation. Many thanks
<aiowej> :s/heard/hear
aiowej has quit [Remote host closed the connection]
zolk3ri has joined #ocaml
spew has joined #ocaml
AnAverageHuman has joined #ocaml
<Leonidas> wow, 'Illegal permutation of structure fields' when I attempt to PPX generate signatures :(
<Drup> eh, that's a fun one
<Drup> it's quite challenging to trigger
<def`> :D
<Leonidas> I managed to do that with a `module type` in an ml and the same `module type` in an mli
<Drup> exactly the same one ?
ollehar has joined #ocaml
<Leonidas> no, the ml had the same sig defined a second time, redundantly
<Leonidas> I found an 18 year old discussion on caml-list about this error, quite impressive. Markus Mottl was around back then already
<octachron> Normally, module types cannot be defined twice?
<Leonidas> octachron: I am a bit annoyed by this myself, because it is now 100% code duplication. Maybe I should just move it into an _impl module
<octachron> You are generating the mli and ml files in completely different phases?
<Drup> that shouldn't be a problem, as long as they are the same
ygrek has joined #ocaml
zolk3ri has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 250 seconds]
<Leonidas> octachron: no, my issue was that I had the type in the ml file with a manual definition, why in the mli I just let my deriving plugin generate it.
<Leonidas> and this seems to generate subtly different things since ppxlib.deriver wraps these generated signatures in a sig that it then includes ¯\_(ツ)_/¯
AnAverageHuman has quit [Ping timeout: 256 seconds]
jao has quit [Ping timeout: 245 seconds]
jao has joined #ocaml
jao has quit [Ping timeout: 252 seconds]
q9929t has joined #ocaml
shakalaka has joined #ocaml
q9929t has quit [Quit: q9929t]
Jesin has quit [Quit: Leaving]
freyr69 has joined #ocaml
Jesin has joined #ocaml
<spew> what ppx is this?
<Leonidas> spew: my own
<Leonidas> that I'm writing
<Leonidas> which is why I didn't use the signature generation, because I didn't trust it yet and thought I could go by with manually writing it, thus triggering the error
<spew> the thing you're writing?
ziyourenxiang has quit [Ping timeout: 246 seconds]
johnelse_ has joined #ocaml
johnelse has quit [Ping timeout: 245 seconds]
freyr69 has quit [Remote host closed the connection]
pierpal has quit [Read error: Connection reset by peer]
AtumT has joined #ocaml
pierpal has joined #ocaml
KeyJoo has joined #ocaml
runciter_ is now known as runciter
ygrek has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
AnAverageHuman has joined #ocaml
crowley95 has quit [Ping timeout: 255 seconds]
crowley95 has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
<Leonidas> spew: no, it is, uhm, a bit like ppx_deriving_yojson just that it derives a schema from the type
<Leonidas> the schema in question is a bigquery table definition
ollehar has quit [Ping timeout: 246 seconds]
pierpal has joined #ocaml
ravenousmoose has joined #ocaml
<spew> neat
zolk3ri has joined #ocaml
AnAverageHuman has quit [Ping timeout: 256 seconds]
crowley95 has quit [Ping timeout: 246 seconds]
jnavila has joined #ocaml
crowley95 has joined #ocaml
KeyJoo has quit [Quit: KeyJoo]
Serpent7776 has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
dhil has quit [Ping timeout: 244 seconds]
AnAverageHuman has joined #ocaml
gravicappa has quit [Ping timeout: 244 seconds]
kakadu has joined #ocaml
orbifx has joined #ocaml
unyu has quit [Ping timeout: 252 seconds]
ravenousmoose has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
orbifx has quit [Ping timeout: 252 seconds]
tane has joined #ocaml
tane has quit [Client Quit]
AnAverageHuman has quit [Ping timeout: 256 seconds]
orbifx has joined #ocaml
ravenousmoose has joined #ocaml
unyu has joined #ocaml
AnAverageHuman has joined #ocaml
Serpent7776 has quit [Quit: leaving]
jnavila has quit [Remote host closed the connection]
iovec has quit [Quit: Connection closed for inactivity]
sonologico has joined #ocaml
dedgrant has joined #ocaml
crowley95 has quit [Ping timeout: 246 seconds]
crowley95 has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
asymptotically has quit [Quit: Leaving]
AnAverageHuman has quit [Ping timeout: 256 seconds]
ravenousmoose has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
shmibs has quit [Quit: leaving =o]
shmibs has joined #ocaml
kakadu has quit [Remote host closed the connection]
kakadu_ has quit [Read error: Connection reset by peer]
kakadu_ has joined #ocaml
navaja has joined #ocaml
spew has quit [Disconnected by services]
navaja is now known as spew
spew has quit [Ping timeout: 255 seconds]