frenetic-lang / frenetic

The Frenetic Programming Language and Runtime System
http://www.frenetic-lang.org/
Other
222 stars 52 forks source link

Port Frenetic to OCaml 4.11.0 #647

Closed jnfoster closed 3 years ago

jnfoster commented 3 years ago

@smolkaj Could you take a look at this?

I updated to OCaml 4.11.0 and the latest libraries from OPAM. I was able to eliminate almost all of the compiler errors except one that I can't figure out:

File "src/lib/netkat/Fdd.ml", line 495, characters 6-20:
495 |       | F of Field.t
            ^^^^^^^^^^^^^^
Error: This expression has type Field.t
       but an expression was expected of type int

The error message makes no sense.

Is this due to some deriving nonsense?

smolkaj commented 3 years ago

Strange, I have not seen this before. I agree, the deriving stuff seems most likely to be at fault. Maybe try removing it and adding dummy implementations using assert false for the missing functions to see if that compiles?

jnfoster commented 3 years ago

So hard to track down, but I found it: the Field module had an equal method defined with = rather than Poly.(=).

Anyway, we're building on 4.11.0 and the latest Jane Street libraries again.

smolkaj commented 3 years ago

So https://twitter.com/sigkill_dk/status/1328466605441945600?s=20 was right after all....

jnfoster commented 3 years ago

😂😂😂

I don't know. Even a professor was able to figure it out, so it can't be that bad.