adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | Current MOOC: https://huit.re/ocamlmooc | OCaml 4.04.0 release notes: http://ocaml.org/releases/4.04.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
yomimono has quit [Ping timeout: 240 seconds]
sepp2k has quit [Ping timeout: 256 seconds]
<rgrinberg> lucasem: the compiler has warnings for unused code within functions. But anything that can be exposed in an .mli is probably impossible to detect (as in te case for libraries)
<rgrinberg> There's also this: https://github.com/LexiFi/dead_code_analyzer but I've never tried it
<rgrinberg> Finally, if you have an executable and you have a way to exercise your entire program you can just use bisect_ppx
wtetzner has joined #ocaml
wtetzner has quit [Ping timeout: 240 seconds]
larhat has joined #ocaml
justicefries has joined #ocaml
silver has quit [Read error: Connection reset by peer]
strykerkkd has quit [Quit: Leaving]
ohama has quit [Ping timeout: 240 seconds]
ohama has joined #ocaml
wtetzner has joined #ocaml
wtetzner has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
spew has quit [Quit: foobar]
FreeBirdLjj has joined #ocaml
larhat has quit [Quit: Leaving.]
mengu has quit [Remote host closed the connection]
minn has quit [Remote host closed the connection]
sh0t has quit [Remote host closed the connection]
infinity0_ has joined #ocaml
infinity0 is now known as Guest95779
infinity0 has joined #ocaml
infinity0_ is now known as infinity0
Guest95779 has quit [Ping timeout: 246 seconds]
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
minn has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
qmm has quit [Ping timeout: 255 seconds]
dmiller has quit [Ping timeout: 258 seconds]
wtetzner has joined #ocaml
dmiller has joined #ocaml
qmm has joined #ocaml
mfp has quit [Ping timeout: 260 seconds]
copy` has quit [Quit: Connection closed for inactivity]
shinnya has joined #ocaml
pilne has quit [Quit: Quitting!]
spew has joined #ocaml
hxegon is now known as hxegon_afk
louisriesener has quit [Ping timeout: 260 seconds]
wtetzner has quit [Remote host closed the connection]
louisriesener has joined #ocaml
MasseR has quit [Ping timeout: 245 seconds]
<jcloud> I'm trying to get this function working (for fun) to let me deserialize JSON: https://gist.github.com/jyc/b21bd20af6aac3a9cec59521986d87eb
<jcloud> I suppose the question is really one about GADTs, though.
<jcloud> Right now the error I get is "This expression has type $0 jsont but an expression was expected of type 'a The type constructor $0 would escape its scope"
<jcloud> This is referring to "yt" in "Some (List.map (convert yt) ys)"
<jcloud> Do I need to give some other hint to the compiler to make this work, or is this just impossible?
<jcloud> oh, there is actually another error in it, sorry. let me fix that
<jcloud> heh, apparently the (type el) was what it didn't like; instead writing it as "let rec convert : type el. el jsont -> 'a -> el option" worked alright.
MasseR has joined #ocaml
<jcloud> oh, this is actually referenced in the manual: http://caml.inria.fr/pub/docs/manual-ocaml/extn.html#sec239. my bad! thanks anyways
moei has quit [Quit: Leaving...]
MasseR has quit [Ping timeout: 246 seconds]
spew has quit [Quit: foobar]
AlexDenisov has joined #ocaml
MasseR has joined #ocaml
MercurialAlchemi has joined #ocaml
mrnugget has joined #ocaml
MasseR has quit [Ping timeout: 260 seconds]
MercurialAlchemi has quit [Ping timeout: 258 seconds]
MercurialAlchemi has joined #ocaml
ygrek_ has quit [Ping timeout: 258 seconds]
MasseR has joined #ocaml
mrnugget has quit [Ping timeout: 258 seconds]
MercurialAlchemi has quit [Ping timeout: 246 seconds]
MasseR has quit [Ping timeout: 240 seconds]
moei has joined #ocaml
al-damiri has quit [Quit: Connection closed for inactivity]
MercurialAlchemi has joined #ocaml
infinity0 has joined #ocaml
MasseR has joined #ocaml
argent_smith has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Simn has joined #ocaml
manizzle has quit [Ping timeout: 240 seconds]
alfredo has joined #ocaml
manizzle has joined #ocaml
jnavila has joined #ocaml
orbifx has joined #ocaml
zpe has joined #ocaml
troydm has quit [Ping timeout: 240 seconds]
zpe has quit [Ping timeout: 260 seconds]
orbifx has quit [Ping timeout: 240 seconds]
zpe has joined #ocaml
kakadu has joined #ocaml
AlexDenisov has joined #ocaml
zpe has quit [Remote host closed the connection]
mengu has joined #ocaml
zpe has joined #ocaml
<zozozo> hannes: I was thinking about writing a small lib defining widgets for notty, and saw that you had some code doing this in jackline, would you be interested in discussing the design of widgets for notty ?
M-ErkkiSeppl has left #ocaml ["Kicked by @appservice-irc:matrix.org"]
na9da[m] has left #ocaml ["Kicked by @appservice-irc:matrix.org"]
larhat has joined #ocaml
fluter is now known as Guest56954
Guest56954 has quit [Killed (cherryh.freenode.net (Nickname regained by services))]
Guest56954 has joined #ocaml
neversaynever has joined #ocaml
silver has joined #ocaml
ohama has quit [Ping timeout: 240 seconds]
ohama has joined #ocaml
yomimono has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
yomimono has quit [Ping timeout: 260 seconds]
<flux> let rec lazy a = lazy 42 is not allowed ;(.
<def`> let lazy a = let rec a = lazy 42 in a
dhil has joined #ocaml
<flux> ok, do this next: let foo xs = let (!) x = Lazy.force x in let rec op i (lazy (ys', l')) = lazy (lazy ((i / !len)::!ys'), lazy (!l' + 1)) and lazy (ys, len) = List.fold_right op xs (lazy (lazy [], lazy 0)) in !ys
<flux> (I love how let lazy (a, b) = .. is possible)
<def`> nop :)
mfp has joined #ocaml
dhil has quit [Ping timeout: 268 seconds]
snowcrshd has joined #ocaml
<def`> gasche: any chance we get a video of the talk on concatenative language you shared on reddit/ocaml?
d0nn1e has quit [Ping timeout: 260 seconds]
d0nn1e has joined #ocaml
yomimono has joined #ocaml
<flux> I feel like let rec lazy x = .. should be possible just like let rec x () = .. is possible
<flux> that's a syntactic check, right? might be easy to support?
<flux> hmph, at least it happens after parsing :)
<def`> flux: meh, no the problem is semantics
<def`> what would be the meaning of your code?
<companion_cube> fiest you let rec, then you unlazy? :)
<def`> (you might be interested in this discussion https://github.com/ocaml/ocaml/pull/185 )
neversaynever has quit [Ping timeout: 260 seconds]
<theblatte> My project links with a .o file, and I'd like to load it in the toplevel. Without the .o file everything's peachy, but if I need the .o file then is there a way besides ocamlmktop?
<flux> and it seems that this fragment of haskell code is difficult to port to ocaml without affecting its structure
<theblatte> you can #load .cm{o,a}, but not .o's :(
<def`> theblatte: you have to make a cma file, with a dllstub
<theblatte> (I'm using Ctypes with stubs generation to create that .o, if that matters)
<theblatte> def`: what's dllstub?
_andre has joined #ocaml
<def`> wait a minute
<theblatte> <3
<theblatte> I'll give it a shot
<theblatte> def`: I don't suppose there's an ocamlbuild way to call ocamlmklib? :p
<def`> in a .mllib?
<def`> that's scary
<theblatte> yeah, found that as well, but ocamlbuild.ml -> no, thanks
<theblatte> +my
<def`> yes, ocamlbuild generally comes with pain. A lot.
<def`> hmm, .clib might be the solution
octachron has joined #ocaml
sepp2k has joined #ocaml
<theblatte> def`: ocamlbuild doesn't know what to do with a cul.clib target, what did you have in mind?
<theblatte> I guess I can run ocamlmklib by hand, it's not a big deal
<def`> theblatte: I hopped that ocamlbuild could pass c objects to ocamlmklib with some magic but I couldn't do it :(
<theblatte> I've hoped many things from ocamlbuild over the time...
<theblatte> ;)
<def`> :)
<theblatte> def`: after `ocamlfind ocamlmklib -package ctypes.stubs -o cstubs_ml infer/ffi/gen/CStubs.cmo CStubs_c.o` and `#load "cstubs_ml.cma"`, I don't get a CStubs module in utop (Unbound module).
freusque has quit [Quit: WeeChat 1.7]
<theblatte> in fact, I can't access any modules from #load "foo.cma";; directives, hmm
freusque has joined #ocaml
alfredo has quit [Ping timeout: 260 seconds]
after____ has quit [Quit: Textual IRC Client: www.textualapp.com]
after___ has joined #ocaml
alfredo has joined #ocaml
after___ has quit [Quit: Textual IRC Client: www.textualapp.com]
silver has quit [Read error: Connection reset by peer]
after___ has joined #ocaml
<theblatte> hilarious, I need to `utop -I infer/ffi/gen`
<theblatte> no error in utop if I don't, it silently doesn't load my module...
silver has joined #ocaml
dhil has joined #ocaml
<theblatte> ah, no, that just brings the CStubs module into the namespace, it doesn't need to load the .cma for that, so I'm still stumped...
balod has quit [Remote host closed the connection]
CcxWrk has quit [Ping timeout: 260 seconds]
yomimono has quit [Ping timeout: 256 seconds]
CcxWrk has joined #ocaml
snhmib has joined #ocaml
spew has joined #ocaml
djellemah_ has joined #ocaml
sh0t has joined #ocaml
djellemah has quit [Ping timeout: 246 seconds]
<gasche> def`: I'm pretty sure there was no video recording equipment in the room
<gasche> but I could encourage the speaker to submit a talk proposal at a workshop someday, if there is interest
<gasche> (I'm a bit surprised by the amount of interest, in fact)
<gasche> I'm not sure, also, what would be a good venue
<gasche> (the ML workshop?)
after___ has quit [Quit: Textual IRC Client: www.textualapp.com]
after___ has joined #ocaml
spew has quit [Ping timeout: 240 seconds]
Simn has quit [Ping timeout: 240 seconds]
CcxWrk has quit [Ping timeout: 258 seconds]
Simn has joined #ocaml
spew has joined #ocaml
CcxWrk has joined #ocaml
shinnya has quit [Ping timeout: 260 seconds]
snowcrshd has quit [Remote host closed the connection]
mengu has quit [Remote host closed the connection]
marsam has joined #ocaml
hxegon_afk is now known as hxegon
snowcrshd has joined #ocaml
wtetzner has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
rawra has quit [Quit: Connection closed for inactivity]
Algebr has joined #ocaml
al-damiri has joined #ocaml
alfredo has quit [Ping timeout: 240 seconds]
<def`> theblatte: I think you are misunderstanding #load
<def`> load just links object code and does nothing else
<def`> (it is just like dlopen from the C world)
<theblatte> def`: I eventually succeeded by putting everything in the same directory
<def`> to get type information, you need the have the cmi files in the load path
<def`> cmi files -> typechecking
<theblatte> ah
<def`> cmo/cmx/cma/a/o/so: linking, object code
<flux> cmi are like machine-verified machine-readable header files :)
<def`> when typechecking and linking matches (according to digests) -> execution@
<theblatte> so to run code from the toplevel you need cmi and cma?
<def`> yes
<theblatte> ok, I indeed totally missed that
dhil has quit [Ping timeout: 268 seconds]
<def`> unless you don't execute any code from the module you are referencing (it contains only type definition) in which case cmi is enough
<def`> or you don't want to export any definition but just link code / execute initialization, in which case object alone is enough.
<theblatte> coolcoolcool
<def`> (actually this allows a few tricks: not distributing some cmi files allow a library to hide some implementation modules)
<def`> (conversely, distributing multiple object files for a single cmi file allow late binding of an implementation)
minn has quit [Ping timeout: 260 seconds]
Soni is now known as SolarPanel
Muzer has quit [Ping timeout: 260 seconds]
minn has joined #ocaml
dhil has joined #ocaml
nopf has quit [Ping timeout: 256 seconds]
nopf has joined #ocaml
manizzle has quit [Ping timeout: 240 seconds]
mengu has joined #ocaml
manizzle has joined #ocaml
igitoor_ has quit [Remote host closed the connection]
mengu has quit [Ping timeout: 240 seconds]
igitoor has joined #ocaml
Muzer has joined #ocaml
SolarPanel is now known as Soni
MercurialAlchemi has joined #ocaml
Algebr has quit [Remote host closed the connection]
igitoor has quit [Changing host]
igitoor has joined #ocaml
Algebr has joined #ocaml
yomimono has joined #ocaml
seangrove has joined #ocaml
mengu has joined #ocaml
ryanartecona has joined #ocaml
minn has quit [Ping timeout: 240 seconds]
mengu has quit [Ping timeout: 240 seconds]
larhat has quit [Quit: Leaving.]
Algebr has quit [Ping timeout: 246 seconds]
sz0 has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 256 seconds]
freusque has quit [Quit: WeeChat 1.7]
manizzle has quit [Ping timeout: 268 seconds]
manizzle has joined #ocaml
balod has joined #ocaml
spew has quit [Ping timeout: 268 seconds]
alfredo has joined #ocaml
Ptival has quit [Ping timeout: 240 seconds]
Ptival has joined #ocaml
dtornabene has joined #ocaml
spew has joined #ocaml
spew has quit [Client Quit]
spew has joined #ocaml
jabroney has joined #ocaml
pilne has joined #ocaml
slash^ has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
mfp has quit [Ping timeout: 246 seconds]
strykerkkd has joined #ocaml
wtetzner has quit [Remote host closed the connection]
manizzle has quit [Ping timeout: 260 seconds]
jnavila has quit [Quit: It was time]
hxegon has quit [Quit: leaving]
mengu has joined #ocaml
average has joined #ocaml
manizzle has joined #ocaml
mengu has quit [Ping timeout: 260 seconds]
ygrek_ has joined #ocaml
<Leonidas> def`: how specific are the object files to a particular arch/os/caml version?
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Drup> cmi/o/a -> not at all (except for the size of constants)
<Drup> (for the arch/os)
<Drup> all of them are *very* specific to ocaml version (they all have a magic number that is regularly updated)
zpe has quit [Remote host closed the connection]
marsam has quit [Remote host closed the connection]
BitPuffin|osx has joined #ocaml
Algebr has joined #ocaml
alfredo has quit [Quit: Textual IRC Client: www.textualapp.com]
spew has quit [Quit: foobar]
yomimono has quit [Ping timeout: 256 seconds]
smondet has joined #ocaml
mfp has joined #ocaml
two_wheels has joined #ocaml
dhil has quit [Ping timeout: 240 seconds]
hugomg has joined #ocaml
rawra has joined #ocaml
sh0t has quit [Ping timeout: 240 seconds]
copy` has joined #ocaml
soupault has joined #ocaml
dhil has joined #ocaml
Algebr has quit [Ping timeout: 256 seconds]
sh0t has joined #ocaml
soupault has quit [Remote host closed the connection]
dtornabene has quit [Quit: Leaving]
myst|fon has quit [Quit: Connection closed for inactivity]
marsam has joined #ocaml
rand__ has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
troydm has joined #ocaml
hugomg has quit [Quit: Ex-Chat]
AlexDenisov has joined #ocaml
AlexDeni_ has joined #ocaml
AlexDenisov has quit [Ping timeout: 264 seconds]
TheLemonMan has joined #ocaml
slash^ has quit [Remote host closed the connection]
sz0 has quit [Quit: Connection closed for inactivity]
kakadu has joined #ocaml
oliver___ has joined #ocaml
oliverfriedmann has joined #ocaml
<oliverfriedmann> hi there - does anybody have some experience with OASIS and specifying dependencies of other packages like extlib?
<oliverfriedmann> I'm using BuildDepends: extlib and BuildTools: ocamlbuild in my _oasis file, but running oasis setup, ocaml setup.ml -configure, ocaml setup.ml -build results in "Error: Unbound module ExtList", which means that extlib is not used when trying to build this.
argent_smith1 has joined #ocaml
argent_smith has quit [Ping timeout: 240 seconds]
oliver___ has quit [Ping timeout: 260 seconds]
larhat has joined #ocaml
strykerkkd has quit [Quit: Leaving]
orbifx has joined #ocaml
<infinity0> oliverfriedmann: maybe try `oasis setup-clean` first as well
<oliverfriedmann> just tried it, makes no difference
<infinity0> have you installed extlib in opam at least
<oliverfriedmann> [NOTE] Package extlib is already installed (current version is 1.7.1).
<oliverfriedmann> the problem seems to be that when running ocaml setup.ml -build, the extlib part is not included ( ~/.opam/system/bin/ocamlfind ocamlc -c -g -I src -I src/automata -I src/automata/parser -I src/formula -I src/formula/ctlstar -I src/formula/ltl -I src/formula/ltmc -I src/formula/mmc -I src/formula/parser -I src/formula/pdl -I src/utils -I src/data -I tests -o src/data/fSet.cmo src/data/fSet.ml)
mengu has joined #ocaml
<infinity0> the BuildDepends field is ocamlfind packages iirc, and not opam packages
<infinity0> not sure how extlib works, myself
snowcrshd has quit [Remote host closed the connection]
<oliverfriedmann> well, normally, you'd add -package extlib to the mix
dhil has quit [Ping timeout: 256 seconds]
sh0t has quit [Ping timeout: 246 seconds]
larhat1 has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
minn has joined #ocaml
sh0t has joined #ocaml
argent_smith1 has quit [Quit: Leaving.]
_andre has quit [Quit: leaving]
jmiven has quit [Quit: co'o]
jmiven has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 258 seconds]
jabroney has quit [Quit: Leaving.]
sh0t has quit [Remote host closed the connection]
two_wheels has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
seangrove has quit [Read error: Connection reset by peer]
average has quit [Remote host closed the connection]
sh0t has joined #ocaml
two_wheels has joined #ocaml
sh0t has quit [Remote host closed the connection]
_whitelogger has joined #ocaml
rand__ has quit [Quit: leaving]
myst|fon has joined #ocaml
silver_ has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
marsam has quit [Remote host closed the connection]
silver has quit [Ping timeout: 264 seconds]
maattdd has joined #ocaml
<octachron> oliverfriedmann, usual suspects in this situation are either oasis setup.data pointing to wrong opam switch and/or a missing opam $(eval config env)
oliverfriedmann has quit [Remote host closed the connection]
freechips has quit [Quit: WeeChat 1.7]
freechips has joined #ocaml
smondet has quit [Ping timeout: 246 seconds]
octachron has quit [Quit: Leaving]
oliverfriedmann has joined #ocaml
marsam has joined #ocaml
oliverfriedmann has quit [Ping timeout: 260 seconds]
marsam has quit [Read error: Connection reset by peer]
marsam has joined #ocaml
justicefries has left #ocaml [#ocaml]
marsam has quit [Remote host closed the connection]
bungoman_ has joined #ocaml
bungoman has quit [Ping timeout: 246 seconds]
oliverfriedmann has joined #ocaml
spew has joined #ocaml
kakadu has quit [Remote host closed the connection]
larhat has joined #ocaml
larhat1 has quit [Ping timeout: 268 seconds]
<oliverfriedmann> used opam to switch to newest ocaml, updated the environment, still same result
<oliverfriedmann> here is the _oasis file for reference: http://pastebin.com/9xUCrkkX
<rgrinberg> Shouldn't you put BuildDepends under Library?
<rgrinberg> and I assume you followed octachron's advice to delete setup.*
<oliverfriedmann> yes, I deleted all generated files
<oliverfriedmann> I think you can have a general BuildDepends as well (I think I saw that somewhere in the docs), but even if I put it under the library heading, it doesn't work
<rgrinberg> Is this an open source project we can have a look at?
al-damiri has quit [Quit: Connection closed for inactivity]
Simn has quit [Read error: Connection reset by peer]
<rgrinberg> And I assume you ran $ oasis setup after updating _oasis, correct?
<oliverfriedmann> yes - and yes
heisenberg has joined #ocaml
<oliverfriedmann> my current version (locally) is exactly the same except for the updated _oasis file I posted on pastebin
<oliverfriedmann> thank you all for your help by the way
heisenberg has quit [Client Quit]
<rgrinberg> Oh, it's because your _tags file is created manually
<rgrinberg> do $ rm _tags && oasis setup and it should give you a correct _tags file
<rgrinberg> where oasis will indeed add the correct -package calls
<oliverfriedmann> ahhh, okay
xyproto has joined #ocaml
<oliverfriedmann> yes, that did the trick!
<oliverfriedmann> thank you so much :)
<rgrinberg> np
wtetzner has joined #ocaml
wtetzner has quit [Ping timeout: 260 seconds]
orbifx has quit [Ping timeout: 260 seconds]
larhat has quit [Quit: Leaving.]