<omni>
I've disabled tests for x86 since (just) one test is failing, I'd appreciate any input anyone might have on that
emias has joined #ocaml
<avsm[m]>
omni: looks good to me. what's the failing x86 test? (i dont quite have the time right now to register on the gitlab instance to post the comment there)
<avsm[m]>
omni: for mips, it's a bytecode architecture now, so you can probably not block it due to lack of CI
<avsm[m]>
(i.e. you can make it work by not trying to build ocamlopt in the tests)
<omni>
avsm[m]: I think you can log in with a regular github.com or gitlab.com account
<omni>
I've quoted the error in a comment to the MR, where I also have a link to the CI pipeline output for the build
mxns has joined #ocaml
orbifx has joined #ocaml
<orbifx>
Hello all
<orbifx>
is it invalid to have a recursive function with a (type x) declaration in it?
<octachron>
No
mxns has quit [Ping timeout: 264 seconds]
<orbifx>
octachron: I'm getting the error: The type constructor a would escape its scope. But I'm passing that value to a recursive call. Any idea why?
<olle_>
paste code (pastebin)
<octachron>
It sounds like your function is recursive polymorphic.
<octachron>
In that case, you need to explicit the recursive function type: `let f: type a. .... = fun ...`. Otherwise, recursive function are monomorphic in the body of theur definition.
<orbifx>
octachron: ah, let me try that. I used `let f (type a) .. =`
<orbifx>
is there a difference between those two syntaxes?
terrorjack has quit [Remote host closed the connection]
<orbifx>
octachron: thanks. So there is not why to write this without a `= fun` notation, it has to be written that way?
terrorjack has joined #ocaml
<octachron>
Indeed since the function name need to be annotated.
<olle_>
A weird quirk in OCaml, I'd say
<orbifx>
thanks octachron, trying it now. olle_ what do you mean?
borne has quit [Quit: WeeChat 3.0]
borne has joined #ocaml
robmyers has joined #ocaml
<olle_>
You usually want one way to do things.
<olle_>
In OCaml it's idiomatic to use let f x y = ... for functions
<olle_>
But when you want the extra polymorphy thingy, you need to rewrite it
<orbifx>
hmm
<orbifx>
is this an ML limitation or ocaml specifically?
<d_bot>
<Christophe> out of curiosity, do you need that kind of annotation in the interface files, or is it only for implementations ?
mxns has joined #ocaml
<orbifx>
octachron: it worked, thanks. Any tutorial or guide on the whole type a. notation and significance? The manual assumes knowledge
<octachron>
olle_ `let f x y` is a syntactic sugar which is desugared to `fun x -> ` .
<olle_>
octachron: point still stands :|
<octachron>
Christophe, only in implementation: all types variables are implicitly universally quantified (i.e "val f: 'a -> 'a" means "val f:'a. 'a -> 'a") in interfaces.
mxns has quit [Ping timeout: 260 seconds]
<d_bot>
<Christophe> That's what I would have guessed, thank you for confirming !
mxns has joined #ocaml
zebrag has joined #ocaml
mxns has quit [Ping timeout: 260 seconds]
mxns has joined #ocaml
mmohammadi9812 has joined #ocaml
mmohammadi9812 has quit [Max SendQ exceeded]
mmohammadi9812 has joined #ocaml
mmohammadi9812 has quit [Read error: Connection reset by peer]
Haudegen has joined #ocaml
mmohammadi9812 has joined #ocaml
mmohammadi9812 has quit [Remote host closed the connection]
mxns has quit [Ping timeout: 260 seconds]
mxns has joined #ocaml
mxns has quit [Ping timeout: 260 seconds]
mxns has joined #ocaml
mxns has quit [Ping timeout: 260 seconds]
vicfred has joined #ocaml
mxns has joined #ocaml
mxns has quit [Ping timeout: 260 seconds]
mxns has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
olle_ has quit [Ping timeout: 246 seconds]
olle has quit [Ping timeout: 240 seconds]
stites[m] has quit [Ping timeout: 240 seconds]
stites[m] has joined #ocaml
aspiwack[m] has quit [Ping timeout: 258 seconds]
aspiwack[m] has joined #ocaml
mxns has quit [Ping timeout: 264 seconds]
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
terrorjack has quit [Read error: Connection reset by peer]