companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.0 released(!!1!): https://ocaml.org/releases/5.0.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
Haudegen has quit [Ping timeout: 264 seconds]
<zozozo> it actually depends on the shape of the code
sagax has joined #ocaml
anpad has joined #ocaml
wingsorc__ has quit [Remote host closed the connection]
wingsorc has joined #ocaml
Soni has quit [Ping timeout: 246 seconds]
Soni has joined #ocaml
Soni has quit [Ping timeout: 246 seconds]
Soni has joined #ocaml
wingsorc has quit [Remote host closed the connection]
wingsorc has joined #ocaml
chrisz has quit [Ping timeout: 269 seconds]
chrisz has joined #ocaml
rf has quit [Quit: Leaving]
azimut has joined #ocaml
mbuf has joined #ocaml
waleee has quit [Ping timeout: 246 seconds]
trev has joined #ocaml
Haudegen has joined #ocaml
spip has quit [Ping timeout: 264 seconds]
bgs has joined #ocaml
bartholin has joined #ocaml
Serpent7776 has joined #ocaml
<discocaml> <darrenldl> have dig back up the last issue i had on that type of stuff hmm
<discocaml> <darrenldl> have to*
sagax has quit [Quit: Konversation terminated!]
mro has joined #ocaml
bgs has quit [Remote host closed the connection]
bartholin has quit [Quit: Leaving]
<discocaml> <octachron> There are 6k files in the typechecker, so it is not only the size, but generated files tend to have extreme shape.
wingsorc has quit [Ping timeout: 246 seconds]
hackhorn has joined #ocaml
neiluj has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
kakadu has joined #ocaml
CodiePP has joined #ocaml
hackhorn has quit [Ping timeout: 255 seconds]
CodiePP has quit [Quit: Client closed]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
szkl has quit [Quit: Connection closed for inactivity]
spip has joined #ocaml
olle has joined #ocaml
CodiePP13 has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
dnh has joined #ocaml
mro has quit [Remote host closed the connection]
hackhorn has joined #ocaml
hackhorn has quit [Ping timeout: 246 seconds]
Tuplanolla has joined #ocaml
Haudegen has joined #ocaml
mro has joined #ocaml
CodiePP13 has quit [Quit: Client closed]
bgs has joined #ocaml
Putonlalla has quit [Ping timeout: 246 seconds]
Putonlalla has joined #ocaml
mro has quit [Remote host closed the connection]
rf has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
szkl has joined #ocaml
mro has joined #ocaml
mro has quit [Ping timeout: 276 seconds]
sagax has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
waleee has joined #ocaml
count3rmeasure has joined #ocaml
count3rmeasure has quit [Ping timeout: 265 seconds]
mbuf has quit [Quit: Leaving]
count3rmeasure has joined #ocaml
<discocaml> <cemerick> it sure would be nice to have a linter that complained on any non-function toplevel definition
<discocaml> <cemerick> it's too easy to let some bare value definition sneak into a change, and then blow up entire apps when it fails at startup time, etc
<discocaml> <masterbuilder> what do you mean?
<discocaml> <cemerick> @MasterBuilder when an e.g. dream app starts up, it's too easy for a top-level definition to fail (usually due to a configuration/environment problem) in un-graceful ways
Haudegen has quit [Quit: Bin weg.]
<discocaml> <masterbuilder> so something with nontrivial initialization?
<discocaml> <cemerick> so I generally put such things in a promise that gets resolved by its consumer(s), and then you can have a very simple outer "shell" app that at least shows a reasonable message re: availability problems, logs the failure in ways that are better than a hard exn being raised when modules are being initialized, etc
<discocaml> <cemerick> could be very trivial! e.g. just not having a database connection string env var set properly, etc
<discocaml> <cemerick> but anyway, I had a lapse of discipline, and crashed an app this morning in an unfriendly way because I didn't get the runtime env config set up right to go along with a change that involved an eager top-level definition
<discocaml> <masterbuilder> yeah, that sucks
<discocaml> <masterbuilder> would a lint have really helped though? because it sounds like it was intentionally written that way and you would have ignored the warning
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 256 seconds]
olle has quit [Remote host closed the connection]
<discocaml> <geoff> locally, but perhaps the workflows on the remote repo could have errored out there
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
neiluj has quit [Quit: WeeChat 3.7.1]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
<discocaml> <შონია> Hello everyone) I have programming course in university and want to learn Ocaml as good as possible, what is the good way to start learning it?
<discocaml> <cemerick> ideally, the linter would need some kind of ignore annotation to pull one out of flow and realize the potential consequences, etc
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
<discocaml> <hopefullyhat> Is your university course using stdlib or Base/Core?
<discocaml> <შონია> I think base/core
<discocaml> <შონია> you mean without libraries yes?
<discocaml> <შონია> We do not use any libraries if you mean that, just Syntax, problems to solve using OCaml, modules, functors and some stuff
<discocaml> <შონია> Recursion on trees
oriba has joined #ocaml
<discocaml> <hopefullyhat> Base/Core are optional libraries that replace the standard library with slightly different and extended functionality
<discocaml> <შონია> Ah. I think we are learning pure ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
troydm has quit [Ping timeout: 248 seconds]
Haudegen has joined #ocaml
count3rmeasure has quit [Read error: Connection reset by peer]
waleee has joined #ocaml
olle has joined #ocaml
bartholin has joined #ocaml
<discocaml> <leviroth> Does your course have any recommended resources?
<discocaml> <leviroth> Or a textbook?
<discocaml> <შონია> Mine? No. Only slides
Techcable has quit [Read error: Connection reset by peer]
Techcable has joined #ocaml
szkl has quit [Quit: Connection closed for inactivity]
count3rmeasure has joined #ocaml
<discocaml> <leviroth> https://johnwhitington.net/ocamlfromtheverybeginning/index.html is vanilla OCaml and I think well regarded.
mro has joined #ocaml
trev has quit [Remote host closed the connection]
Stumpfenstiel has joined #ocaml
mro_ has joined #ocaml
mro has quit [Ping timeout: 246 seconds]
troydm has joined #ocaml
gdd has quit [Ping timeout: 264 seconds]
gdd has joined #ocaml
Serpent7776 has quit [Ping timeout: 246 seconds]
mro_ has quit [Quit: Leaving...]
count3rmeasure has quit [Read error: Connection reset by peer]
olle has quit [Ping timeout: 265 seconds]
azimut has quit [Ping timeout: 255 seconds]
dnh has quit [Ping timeout: 265 seconds]
bartholin has quit [Quit: Leaving]
Tuplanolla has quit [Quit: Leaving.]
Stumpfenstiel has quit [Ping timeout: 276 seconds]
wingsorc has joined #ocaml