<d_bot>
<Cyclomatic Complexity> By chance, does anyone know an implementation of it in OCaml/Coq?
Guest15 has quit [Quit: Client closed]
<d_bot>
<thangngoc89> How would you return a struct with Ctypes? I can only find examples with returning scalar values
bartholin has joined #ocaml
pagnol has quit [Ping timeout: 240 seconds]
pagnol has joined #ocaml
glassofe1hanol has joined #ocaml
kakadu has joined #ocaml
favonia has joined #ocaml
gravicappa has quit [Ping timeout: 265 seconds]
gravicappa has joined #ocaml
mbuf has quit [Quit: Leaving]
gareppa has joined #ocaml
gareppa has quit [Remote host closed the connection]
<Armael>
would anyone know of an ocaml/reason library to parse/interpret SVG paths?
<olle>
affine types are not part of the road map yet?
kvik has joined #ocaml
pagnol has quit [Ping timeout: 252 seconds]
<d_bot>
<Ulugbek> https://github.com/LexiFi/landmarks had the last release in 2018 but the master branch is active. Anybody knows the current status of the project? (usable or not, when the next release maybe and should we wait for it to be compat with 4.12, etc)
mbuf has joined #ocaml
cedric has joined #ocaml
zebrag has joined #ocaml
Corbin has quit [Quit: Corbin]
Corbin has joined #ocaml
hannes has quit [Remote host closed the connection]
<d_bot>
<Alistair> Is `'a1 ... 'an. t` only first order polymorphism?
vb has quit [Ping timeout: 255 seconds]
vb has joined #ocaml
<d_bot>
<ggole> What do you mean?
<companion_cube>
@Alistair it's only allowed in records fields (and object methods?)
<d_bot>
<ggole> OCaml is limited to first-class polymorphism with the sort-of-exception of object/record fields being able to be polymorphic
<companion_cube>
so it's in a place where it's actually a type scheme
<companion_cube>
and it'll be instantiated at each use site
<d_bot>
<Alistair> An this resulted in 2 types of unification variables in `type_expr`? The `univar` and `var`?
<companion_cube>
I have no idea
<companion_cube>
the post from Oleg which is all I know about type inference in OCaml, would mean that var and univar are the same, except univar has level +∞
<d_bot>
<ggole> In `'a . t` `'a`isn't just a type variable, but locally abstract too
<d_bot>
<ggole> Which is what this notation was really introduced for
<d_bot>
<Alistair> So it adds the abstract type `(type a)` locally?
<d_bot>
<ggole> Locally abstract means that the `a` in `type a` can be refined by matching against a GADT which has `a` as a parameter
<d_bot>
<ggole> Wait, no. I'm thinking of `type a. a`. Ugh.
<d_bot>
<ggole> Sorry, `type a. a` means a polymorphic variable that is also locally abstract. `'a . t` just means polymorphic.
<d_bot>
<Alistair> Okay 👍
Stumpfenstiel has joined #ocaml
hannes has joined #ocaml
waleee has joined #ocaml
olle has quit [Ping timeout: 276 seconds]
<d_bot>
<Armael> @antron I'm trying to use lambdasoup to parse-modify-print SVG files; I'm not sure if this is officially supported but it seems to be mostly working, as in lambdasoup was able to parse/print the SVG files I fed it. However, it looks like it's turning the name of the `viewBox` attribute of `<svg>` into `viewbox` (note the small case `b`), which appears to break the svg! Any idea why that is happening?
glassofethanol has quit [Ping timeout: 256 seconds]
glassofe1hanol has quit [Ping timeout: 252 seconds]
<d_bot>
<antron> can you link me to an example input where this is happening? the html5 spec requires the opposite of that, i.e. even if it was `viewbox` in the input, it must be turned into `viewBox` by the parser. however, it's possible that either the input isn't triggering the parser's svg mode, or there is a bug in the parser
<d_bot>
<Armael> thanks again, looks like it works now!
<d_bot>
<Armael> now, I guess I could've used an XML parsing library, rather than lambdasoup
<d_bot>
<antron> great, glad to hear. im always worried about the XML support, because i think relatively few people are using it
<d_bot>
<antron> well Markup.ml is an XML parsing library as well as HTML5
<d_bot>
<antron> lambdasoup itself does not parse either one, its just a layer that allows traversing the document tree with CSS
<d_bot>
<Armael> yeah but I guess I only need an XML parser in that case
<d_bot>
<Armael> and also none of the error recovery stuff
<d_bot>
<antron> the error recovery stuff is in the HTML5 parser, it's just some harmless dead code if you are not using it
<d_bot>
<antron> (the HTML5 parser is required by the spec to recover from errors in specific ways)
<d_bot>
<Armael> ah, I see 🙂
<d_bot>
<antron> actually i think the XML parser might also be error-recovering, because thats the way errors are reported in the markup api. but the docs recommend using an error handler that just throws an exception or otherwise signals an error to your code <https://aantron.github.io/markup.ml/#VALparse_xml>
<d_bot>
<antron> the errors in the XML parser are real but the recovery is made-up, because there is no error recovery in the XML spec
yberreby has joined #ocaml
olle has joined #ocaml
mbuf has quit [Quit: Leaving]
yberreby has quit [Ping timeout: 246 seconds]
yberreby has joined #ocaml
olle has quit [Ping timeout: 258 seconds]
yberreby has quit [Ping timeout: 246 seconds]
gravicappa has quit [Ping timeout: 250 seconds]
catern has joined #ocaml
berberman has joined #ocaml
berberman_ has quit [Ping timeout: 240 seconds]
glassofe1hanol has joined #ocaml
glassofethanol has joined #ocaml
glassofe1hanol has quit [Ping timeout: 268 seconds]
glassofethanol has quit [Ping timeout: 268 seconds]