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: 265 seconds]
Tuplanolla has quit [Quit: Leaving.]
genpaku has quit [Ping timeout: 250 seconds]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
genpaku has joined #ocaml
waleee has quit [Ping timeout: 265 seconds]
spip has quit [Quit: Konversation terminated!]
waleee has joined #ocaml
John_Ivan has joined #ocaml
azimut has quit [Ping timeout: 255 seconds]
szkl has quit [Quit: Connection closed for inactivity]
wingsorc__ has joined #ocaml
wingsorc has quit [Remote host closed the connection]
chrisz has quit [Ping timeout: 268 seconds]
John_Ivan_ has joined #ocaml
chrisz has joined #ocaml
John_Ivan has quit [Ping timeout: 240 seconds]
rf has quit [Remote host closed the connection]
habnabit_ has quit [Ping timeout: 260 seconds]
Wojciech_K has quit [Ping timeout: 252 seconds]
Wojciech_K has joined #ocaml
waleee has quit [Ping timeout: 265 seconds]
<discocaml> <Nezteb> Not super sure where to post this, but when I try to sign into https://reasonml.chat/ with GitHub, I approve the OAuth connection but get this error message every time. It happens in both Brave and Chrome. 🤔
sagax has joined #ocaml
<discocaml> <hopefullyhat> link?
grobe0ba has quit [Quit: ZNC 1.8.2 - https://znc.in]
grobe0ba has joined #ocaml
John_Ivan__ has joined #ocaml
John_Ivan_ has quit [Ping timeout: 265 seconds]
John_Ivan__ has quit [Read error: Connection reset by peer]
John_Ivan_ has joined #ocaml
<discocaml> <anmonteiro> cc @Manas (prometheansacrifice)
trev has joined #ocaml
azimut has joined #ocaml
bgs has joined #ocaml
John_Ivan_ has quit [Remote host closed the connection]
John_Ivan_ has joined #ocaml
bartholin has joined #ocaml
John_Ivan__ has joined #ocaml
John_Ivan_ has quit [Ping timeout: 250 seconds]
John_Ivan_ has joined #ocaml
John_Ivan__ has quit [Ping timeout: 264 seconds]
ski has joined #ocaml
bgs has quit [Remote host closed the connection]
John_Ivan__ has joined #ocaml
John_Ivan_ has quit [Ping timeout: 268 seconds]
noonien has quit [Ping timeout: 246 seconds]
noonien7 has joined #ocaml
bartholin has quit [Quit: Leaving]
mro has joined #ocaml
Serpent7776 has joined #ocaml
xd1le has joined #ocaml
Haudegen has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
<discocaml> <octachron> @beheddard : since the first partial application could have a effect, it is wrong in general to reject it. You could reverse the first and second argument to impose the constraint that the spatial type is compatible with an existing instance of `t`. All other workaround would be similar I think (aka having a first proof-only argument that enforces that the spatial type is meaningful).
olle has joined #ocaml
spip 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
mro has quit [Remote host closed the connection]
mro has joined #ocaml
wingsorc__ has quit [Ping timeout: 255 seconds]
Haudegen has quit [Quit: Bin weg.]
nd__ has joined #ocaml
Haudegen has joined #ocaml
olle has quit [Remote host closed the connection]
sagax has quit [Ping timeout: 276 seconds]
rf has joined #ocaml
xd1le has quit [Quit: xd1le]
count3rmeasure has joined #ocaml
John_Ivan__ has quit [Remote host closed the connection]
John_Ivan__ has joined #ocaml
Serpent7776 has quit [Read error: Connection reset by peer]
olle has joined #ocaml
b0o has quit [Remote host closed the connection]
pluviaq has quit [Remote host closed the connection]
ggb has quit [Remote host closed the connection]
seeg has quit [Remote host closed the connection]
toastal has quit [Remote host closed the connection]
immutable has quit [Remote host closed the connection]
richardhuxton has quit [Remote host closed the connection]
ardon has quit [Remote host closed the connection]
jakzale has quit [Remote host closed the connection]
whereiseveryone has quit [Remote host closed the connection]
philipwhite has quit [Remote host closed the connection]
Ankhers has quit [Remote host closed the connection]
sleepydog has quit [Write error: Connection reset by peer]
henrytill has quit [Write error: Connection reset by peer]
patrick has quit [Remote host closed the connection]
ggb has joined #ocaml
patrick has joined #ocaml
philipwhite has joined #ocaml
seeg has joined #ocaml
richardhuxton has joined #ocaml
henrytill has joined #ocaml
immutable has joined #ocaml
b0o has joined #ocaml
whereiseveryone has joined #ocaml
Ankhers has joined #ocaml
pluviaq has joined #ocaml
toastal has joined #ocaml
sleepydog has joined #ocaml
jakzale has joined #ocaml
ardon 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
waleee has joined #ocaml
mro has quit [Quit: Leaving...]
John_Ivan_ has joined #ocaml
John_Ivan__ has quit [Ping timeout: 268 seconds]
seeg has quit [Remote host closed the connection]
sleepydog has quit [Remote host closed the connection]
pluviaq has quit [Remote host closed the connection]
ggb has quit [Remote host closed the connection]
ardon has quit [Remote host closed the connection]
jakzale has quit [Write error: Broken pipe]
richardhuxton has quit [Remote host closed the connection]
b0o has quit [Remote host closed the connection]
whereiseveryone has quit [Write error: Broken pipe]
toastal has quit [Write error: Broken pipe]
Ankhers has quit [Write error: Broken pipe]
henrytill has quit [Remote host closed the connection]
immutable has quit [Remote host closed the connection]
philipwhite has quit [Remote host closed the connection]
patrick has quit [Remote host closed the connection]
patrick has joined #ocaml
ggb has joined #ocaml
philipwhite has joined #ocaml
pluviaq has joined #ocaml
richardhuxton has joined #ocaml
b0o has joined #ocaml
ardon has joined #ocaml
seeg has joined #ocaml
Ankhers has joined #ocaml
toastal has joined #ocaml
immutable has joined #ocaml
whereiseveryone has joined #ocaml
jakzale has joined #ocaml
<discocaml> <geoff> Right, I wasn't thinking of an effect from the partial application 🤦🏻‍♂️(that aren't necessarily using the argument that can be an incorrect type). Yea, I realized begrudgingly that a reversal would clear things up, but unfortunately the shape really has to be last for chaining transformations together ergonomically.
<discocaml> <geoff>
<discocaml> <geoff> So with early rejection off the table, could the type error message at least use the information about the possible variants of `t`? I guess nothing can be done about the partial application inferred type since the first argument could be ignored anyway. Though I still wonder at the utility of such an uncompletable function.
sleepydog has joined #ocaml
henrytill has joined #ocaml
olle has quit [Remote host closed the connection]
<discocaml> <octachron> I see two potential issues
<discocaml> <octachron> - first, checking that a type is uninhabited is undecidable: the refutable clause construct in patterns is carefully designed to ask the user how much effort they want the typechecker to spend.
<discocaml> <octachron> - second, having an uninhabited type as a function argument is probably an error, but it is error somewhere in the past.
<discocaml> <octachron> In your case, it is clear that it is the first application that is problematic; but the empty type could be a result of n contradictory constraints without a clear pair of constraints responsible for the ultimate contradiction.
Serpent7776 has joined #ocaml
count3rmeasure has quit [Read error: Connection reset by peer]
Haudegen has quit [Quit: Bin weg.]
kakadu has quit [Remote host closed the connection]
<discocaml> <geoff> Thanks for the answers/clarifications 🙏.
<discocaml> <geoff>
<discocaml> <geoff> By "n contradictory constraints" do you mean the other type variables that the first application has nothing to do with? E.g. the 'space parameter, which doesn't inform the others as far as the type signature is concerned. I guess there are cases more complicated than mine that would make what I'm asking about for the error message problematic (more parameters and more variants).
<discocaml> <geoff>
<discocaml> <geoff> It just *feels* like something matching against the incorrect type parameter slot in the existing variants of `t` to give a single option (or a list, if there are multiple variants sharing a type parameter) to the user on failure should be possible (to my uneducated self).
waleee has quit [Ping timeout: 240 seconds]
<discocaml> <octachron> Imagine that you have encoded a sudoku in the type system, with function that update one case at a time. You can end up with an unsolvable grid, but it is the set of update that is responsible for the absence of solution, not really a single update.
<discocaml> <octachron> Exploring the set of possibility is more a meta-language concern, and there are tools to do so: `#show t` for instance, or the documentation.
bgs has joined #ocaml
<discocaml> <geoff> Ok I think I understand that example better. I know they can look at my doc's, and it should be clear on thinking about it a little, but I still feel a pang of guilt about choosing this path that comes with funny tooltip and error messages 😅.
<discocaml> <geoff> I still like the tradeoff that avoids 2d/3d versions of all the functions, but I wondered at how unavoidable the downside is (which as you say, shouldn't be the end of the world since the user should be able to figure out what they've done based on looking at the docs and/or using their brain)
motherfsck has quit [Ping timeout: 246 seconds]
bartholin has joined #ocaml
jumpnbrownweasel has quit [Quit: Leaving]
olle has joined #ocaml
Tuplanolla has joined #ocaml
xgqt has quit [Remote host closed the connection]
xgqt has joined #ocaml
Haudegen has joined #ocaml
waleee has joined #ocaml
motherfsck has joined #ocaml
gareppa has joined #ocaml
Serpent7776 has quit [Quit: WeeChat 1.9.1]
Stumpfenstiel has joined #ocaml
gareppa has quit [Quit: Leaving]
mal``` has quit [Quit: Leaving]
olle has quit [Ping timeout: 265 seconds]
mal`` has joined #ocaml
bgs has quit [Remote host closed the connection]
nd__ has quit [Ping timeout: 268 seconds]
nd__ has joined #ocaml
nd__ has quit [Ping timeout: 246 seconds]
bartholin has quit [Quit: Leaving]
h0rror has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
nd__ has joined #ocaml
nd__ has quit [Ping timeout: 265 seconds]
trev has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 255 seconds]
nd__ has joined #ocaml
nd__ has quit [Ping timeout: 265 seconds]