companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.2.0 released: https://ocaml.org/releases/5.2.0 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
Stumpfenstiel has quit [Ping timeout: 252 seconds]
Tuplanolla has quit [Quit: Leaving.]
Haudegen has quit [Quit: Bin weg.]
Haudegen has joined #ocaml
Haudegen has quit [Ping timeout: 252 seconds]
YuGiOhJCJ has joined #ocaml
raskol has quit [Ping timeout: 252 seconds]
raskol has joined #ocaml
humasect has joined #ocaml
humasect has quit [Remote host closed the connection]
humasect has joined #ocaml
humasect has quit [Remote host closed the connection]
humasect has joined #ocaml
LainExperiments has joined #ocaml
patrick_ is now known as patrick
patrick has quit [Changing host]
patrick_ has joined #ocaml
bartholin has joined #ocaml
euouae has quit []
Duns_Scrotus____ is now known as Duns_Scrotus
humasect has quit [Quit: Leaving...]
Serpent7776 has joined #ocaml
Tuplanolla has joined #ocaml
raskol has quit [Ping timeout: 252 seconds]
<discocaml> <softwaresirppi> Guys what are your favourite file formats apart from text?
<discocaml> <softwaresirppi> Is there a standard set of file formats which we all adhere to?
<discocaml> <softwaresirppi> (like for multimedia stuff?)
pippijn has quit [Ping timeout: 264 seconds]
pippijn has joined #ocaml
ds-ac has quit [Ping timeout: 248 seconds]
LainExperiments has quit [Changing host]
LainExperiments has joined #ocaml
pippijn has quit [Read error: Connection reset by peer]
ds-ac has joined #ocaml
pippijn has joined #ocaml
leah2 has quit [Ping timeout: 255 seconds]
leah2 has joined #ocaml
Haudegen has joined #ocaml
toastal has left #ocaml [Disconnected: Received SIGTERM]
<discocaml> <contificate> I like file formats that allow you to easily do a partial parse.
<discocaml> <contificate> For example, Mach-O files all list their entry sizes before the entry, so you can easily write something that extracts a specific section, without really caring about the rest.
<discocaml> <contificate> As for multimedia, the fact that PDF is considered a standard format is comical. I think audio container formats are fairly well documented.
<discocaml> <contificate> For every file format, there's usually a very trivial version: BMP for images, WAV for audio, etc. which you can learn in 20 minutes and emit programmatically.
gentauro has quit [Read error: Connection reset by peer]
<discocaml> <Kali> ppm is probably the trivial format for uncompressed images
gentauro has joined #ocaml
<discocaml> <Kali> you could probably learn it in a minute or less
Everything has joined #ocaml
leah2 has quit [Ping timeout: 260 seconds]
LainExperiments has quit [Quit: Client closed]
<discocaml> <contextfreebeer> ppm is super nice for experimenting with images
toastal has joined #ocaml
humasect has joined #ocaml
deadmarshal_ has quit [Remote host closed the connection]
leah2 has joined #ocaml
<companion_cube> zip is cool :)
<humasect> yeh
<discocaml> <gooby_clown> CSV is cool
<discocaml> <yawaramin> SQLite is a US Library of Congress long-term archival format https://www.loc.gov/preservation/digital/formats/fdd/fdd000461.shtml
<companion_cube> Alongside json 😭
<discocaml> <holmdunc> Even Emacs Lisp has built-in support for working with SQLite databases these days πŸ™‚
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
humasect has quit [Remote host closed the connection]
toastal has quit [Ping timeout: 272 seconds]
neiluj has joined #ocaml
<neiluj> hi! is it possible to include module types in first-class modules? smth like val f : (module sig include A include B with type t := t end) -> t array?
Serpent7776 has quit [Ping timeout: 255 seconds]
<companion_cube> I'm not sure it's allowed, and it's better to name this stuff anyway
<neiluj> ok! named the thing and indeed it's clearer
<neiluj> thx
motherfsck has quit [Ping timeout: 252 seconds]
Everything has quit [Ping timeout: 248 seconds]
Everything has joined #ocaml
neiluj has quit [Ping timeout: 255 seconds]
deadmarshal_ has joined #ocaml
raskol has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
Haudegen has joined #ocaml
Stumpfenstiel has joined #ocaml
Haudegen has quit [Remote host closed the connection]
Haudegen has joined #ocaml
raskol has quit [Ping timeout: 244 seconds]
pi3ce has quit [Read error: Connection reset by peer]
pi3ce_ has joined #ocaml
<discocaml> <billdick> I don't usually use this phrase but, who cares?
raskol has joined #ocaml
<discocaml> <contificate> @billdick why so negative?
<discocaml> <contificate> Like, I can find many people - myself included - who think SQLite is pretty nifty.
<discocaml> <billdick> no, i'm talking about the congress white house crap
<discocaml> <contificate> SQLite is meant to be resillient, so some would consider it quite impressive that they've looked at it and trust it as an archival format
<companion_cube> It's the library of congress, so they know a thing or two about data archival
Stumpfenstiel has quit [Quit: No Ping reply in 180 seconds.]
Stumpfenstiel has joined #ocaml
<discocaml> <gooby_clown> I only accept opinions of the French congress
<discocaml> <donderdag> excuse me, it’s a _parliament_
<discocaml> <contificate> I only accept arguments in the form of literal Coq
<discocaml> <gooby_clown> I don't know how the US system functions so I couldn't convert it to democracy, I apologise
LainExperiments has joined #ocaml
<discocaml> <mm3315> Do OCaml compiler optimize referentially transparent functions to cache?
raskol has quit [Ping timeout: 246 seconds]
sroso has joined #ocaml
<discocaml> <mm3315> Do OCaml compiler optimize referentially transparent (mutually) recursive functions to cache?
<discocaml> <mm3315> Do OCaml compiler optimize referentially transparent (potentially mutual mutual) recursive functions to cache?
<discocaml> <mm3315> Do OCaml compiler optimize referentially transparent (potentially mutual) recursive functions to cache?
Serpent7776 has joined #ocaml
<companion_cube> I don't think so
LainExperiments has quit [Quit: Client closed]
<adrien> I'm trying to trigger something every 60 seconds with lwt and I can't find anything except Lwt_unix.sleep; am I blind?
<discocaml> <contificate> sleep + recursion is probs the way
<companion_cube> alas
* adrien cries a little
<adrien> thanks; it's as difficult as always to be sure something doesn't exist
<discocaml> <contificate> one day I'll need to compare using a monadic concurrency library to using libuv in C or something
<discocaml> <yawaramin> a scheduled task execution seems like an easy win to add to a concurrency library
<companion_cube> or building a concurrency library on top of libuv
<discocaml> <yawaramin> aantron's `luv` then
<discocaml> <contificate> libuv has timers - which I believe allow for this easy `setTimeout`-esque stuff, which is why I mention it
<discocaml> <contificate> or rather, setInterval
<companion_cube> I think you could do the same with the low level lwt engine tbh
<adrien> there's something with events that seem to match but it's not really documented
<adrien> well, it's not undocumented either but I didn't see how to make sure it's executed
Everything has quit [Ping timeout: 252 seconds]
Everything has joined #ocaml
olle_ has joined #ocaml
<discocaml> <contextfreebeer> what does `:=` mean in a type declaration again?
<discocaml> <Kali> destructive substitution
<discocaml> <Kali> directly substitute every instance of t1 with t2 and delete t1's definition
<discocaml> <Kali> essentially, `(sig type t val print : t -> unit end) with t := string` to `sig val print string -> unit end`
<discocaml> <contextfreebeer> that's right, thanks
<discocaml> <Kali> *val print : string -> unit
<discocaml> <Kali> but yeah
Serpent7776 has quit [Ping timeout: 244 seconds]
olle_ has quit [Ping timeout: 265 seconds]
bartholin has quit [Quit: Leaving]
Everything has quit [Quit: leaving]
Stumpfenstiel has quit [Ping timeout: 260 seconds]
Tuplanolla has quit [Quit: Leaving.]