adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.07.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.07/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml | Due to ongoing spam, you must register your nickname to talk on the channel
FareWell has joined #ocaml
FareWell has quit [Ping timeout: 264 seconds]
coventry has quit [Remote host closed the connection]
Haudegen has quit [Remote host closed the connection]
quipa has joined #ocaml
on_ion has joined #ocaml
Jesin has quit [Read error: Connection reset by peer]
Jesin has joined #ocaml
FareWell has joined #ocaml
Sigals has joined #ocaml
Sigals has quit [Killed (Sigyn (Spam is off topic on freenode.))]
quipa has quit [Ping timeout: 240 seconds]
Fare has joined #ocaml
ben_ has joined #ocaml
ben_ has quit [Ping timeout: 268 seconds]
Maxdamantus has quit [Ping timeout: 248 seconds]
Maxdamantus has joined #ocaml
FreeBirdLjj has joined #ocaml
jbrown has quit [Ping timeout: 260 seconds]
pierpal has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 244 seconds]
silver__ has quit [Read error: Connection reset by peer]
mfp has quit [Ping timeout: 256 seconds]
<Fare> So... now that I figured out how to do basically use Lwt with a system thread worker... what is the best way to communicate between those Lwt threads, so I can have e.g. pi-calculus-like communication channels?
tormen has joined #ocaml
tormen_ has quit [Ping timeout: 244 seconds]
Maxdamantus has quit [Ping timeout: 268 seconds]
Maxdamantus has joined #ocaml
ygrek has quit [Ping timeout: 256 seconds]
pierpa has quit [Quit: Page closed]
varesa23 has joined #ocaml
varesa23 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
neatonk has quit [Quit: neatonk]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
mbuf has joined #ocaml
mbuf has left #ocaml [#ocaml]
bobe1 has joined #ocaml
bobe1 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
Guest96463 has joined #ocaml
Guest96463 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
Guest42469 has joined #ocaml
Guest42469 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
Yatekii4 has joined #ocaml
Yatekii4 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
moondoggy1 has joined #ocaml
moondoggy1 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
Fare has quit [Ping timeout: 248 seconds]
FareWell has quit [Ping timeout: 256 seconds]
ilovezfs__ has left #ocaml [#ocaml]
on_ion has quit [Quit: WeeChat 1.9.1]
zhenchao has joined #ocaml
zhenchao has quit [Remote host closed the connection]
fantasticsid has joined #ocaml
fantasticsid has quit [Client Quit]
noitakomentaja has joined #ocaml
ben_ has joined #ocaml
ben_ has quit [Ping timeout: 256 seconds]
possiblyanowl has joined #ocaml
possiblyanowl has quit [Killed (Sigyn (Spam is off topic on freenode.))]
ygrek has joined #ocaml
onur20 has joined #ocaml
onur20 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
_xvilka_ has quit [Changing host]
_xvilka_ has joined #ocaml
_xvilka_ is now known as xvilka
<xvilka> hi
<xvilka> anyone knows if there is a tool allowing to spot all exception-throwing functions?
<xvilka> If I want to eliminate all of them - are there ways to automate this?
noitakomentaja has quit [Ping timeout: 250 seconds]
noitakomentaja has joined #ocaml
kloeri4 has joined #ocaml
kloeri4 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
sagotch has joined #ocaml
dakk has joined #ocaml
dakk has quit [K-Lined]
xvilka has quit [Ping timeout: 248 seconds]
ecx86 has joined #ocaml
ecx86 has quit [Remote host closed the connection]
xvilka has joined #ocaml
jaar has joined #ocaml
ben_ has joined #ocaml
mengu has joined #ocaml
mengu has quit [Ping timeout: 260 seconds]
nullifidian_ has joined #ocaml
nullifidian has quit [Read error: Connection reset by peer]
nullifidian_ is now known as nullifidian
ben_ has quit [Read error: Connection timed out]
ben_ has joined #ocaml
dl3br[m] has quit [Ping timeout: 276 seconds]
dl3br[m] has joined #ocaml
mengu has joined #ocaml
mengu has quit [Remote host closed the connection]
leastbit has joined #ocaml
<Drup> Fardale: I told, you, Lwt_stream (or its replacement) :)
<Drup> Grmph, Fare*
<companion_cube> hmm, how does the Thread.t use the stream?
<companion_cube> is it even thread safe?
leastbit has quit [Client Quit]
vbmithr has quit [Ping timeout: 264 seconds]
ygrek has quit [Ping timeout: 260 seconds]
caltelt has quit [Ping timeout: 244 seconds]
<Drup> companion_cube: the push function doesn't return a promise
<companion_cube> yeah but that only works one way
<companion_cube> (and I don't remember if it's thread safe)
<Drup> I've seen code doing it like that, but I guess we could ask Anton
<companion_cube> wow :D
jaar has quit [Remote host closed the connection]
noitakomentaja has quit [Ping timeout: 250 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
mbuf has joined #ocaml
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
zolk3ri has joined #ocaml
kspencer4 has joined #ocaml
kspencer4 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
mfp has joined #ocaml
quipa has joined #ocaml
quipa has quit [Client Quit]
CcxWrk has quit [Ping timeout: 240 seconds]
CcxWrk has joined #ocaml
noitakomentaja has joined #ocaml
CcxWrk has quit [Excess Flood]
CcxWrk has joined #ocaml
dtornabene has joined #ocaml
ziyourenxiang has joined #ocaml
sagotch has quit [Quit: Leaving.]
c4rc4s has quit [Ping timeout: 260 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
noitakom1 has joined #ocaml
noitakomentaja has quit [Ping timeout: 250 seconds]
mniip22 has joined #ocaml
mniip22 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
steenuil has quit [Ping timeout: 240 seconds]
steenuil_ has joined #ocaml
c4rc4s has joined #ocaml
ollehar has joined #ocaml
ollehar has left #ocaml [#ocaml]
ollehar has joined #ocaml
<ollehar> test
<companion_cube> test
<reynir> test
<lyxia> test
<ia0> tset
sagotch has joined #ocaml
<ollehar> :D
<ollehar> spam!
<ollehar> so, about universal and affine/linear types in one language.
<ollehar> would it be possible to make a language with both gc and manual memory management?
<ollehar> where universal types are gc'd, and affine/linear types are released manually?
<ollehar> as in rust.
mbuf has left #ocaml ["Leaving"]
ziyourenxiang has quit [Quit: Leaving]
ziyourenxiang has joined #ocaml
kamog has joined #ocaml
lambda has joined #ocaml
lambda is now known as Guest68400
jjj_ has joined #ocaml
<companion_cube> I don't know, but that doesn't sound so easy
<companion_cube> you could have 2 heaps, only one of which would be GC'd
<companion_cube> but still…
quipa has joined #ocaml
<ollehar> companion_cube: hm
<ollehar> companion_cube: a recent paper suggested reference counting depending on linearity.
Guest68400 has quit [Quit: WeeChat 2.2]
<companion_cube> that's a bit different than GC, though
<ollehar> well, it's a gc but not a tracing gc. :)
<ollehar> (if the ref counting is done under the hood and not manually)
<companion_cube> well you also need cycle detection…
<companion_cube> no idea if it combined well with manually allocated memory
<companion_cube> also, what if you point to the middle of a GC-allocated structure?
<ollehar> maybe "manual" memory is wrong word. maybe "deterministic" memory management is better?
<ollehar> when it goes out of scope, as in RAII.
<ollehar> that's also what they talk about here (PDF): https://arxiv.org/pdf/1803.02796.pdf
<ollehar> kind of
<ollehar> "This is
<ollehar> a proposal to extend the OCaml language with destructors, move semantics, and re-
<ollehar> source polymorphism,"
<companion_cube> it's just a proposal
<companion_cube> and it'd start from a language 100% designed around a GC
<ollehar> companion_cube: of course, but an interesting proposal.
<companion_cube> otoh if you wanted to add a GC to rust, you'd have to do some work to find roots and trace alive memory
<ollehar> companion_cube: yeah, run time tags etc
<companion_cube> so, every block now needs a tag? :p
<ollehar> companion_cube: not sure if that is true for all gc or only ocaml gc.
<ollehar> "Clamp supports polymorphic substructural types as well as an expressive system of mutable references"
dtornabene has quit [Quit: Leaving]
spew has joined #ocaml
<ollehar> pretty heavy theory for me, but still cool (as I understand it)
<companion_cube> I wonder how that translates in terms of runtime though
<companion_cube> anyway, a mix of linear and GC's typed would be a good fit for a modern ML, I suppose
<ollehar> yeah
<companion_cube> but it complicates things
<companion_cube> (now I should stop saying stuff because Drup is going to be unhappy)
matze3 has joined #ocaml
matze3 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
<ollehar> companion_cube: I think the haskell proposal is about letting the gc make more optimizations
<ollehar> companion_cube: aha?
<ollehar> companion_cube: so that's why gache and drup wouldn't say anything on reddit!
<Armael> it's top secret research
<ollehar> seems like it XD
lambda_ has joined #ocaml
lambda_ has quit [Client Quit]
lambda_ has joined #ocaml
<lambda_> I have a problem with a type in my OCaml program. I have a type t and a module W. In the signature of the module W a function has t as a return type. t is defined outside of the module W and when I compile it, then I get the following error:Error: The type constructor t expects 1 argument(s),
<lambda_> but is here applied to 0 argument(s)
<lambda_> type t = { ... };;
<lambda_> and the type of the function is:
<lambda_> .... -> t EncM.t
<lambda_> where EncM.t is a monad
<lyxia> can you paste your code somewhere like gist.github.com
<companion_cube> ollehar: no it's also because Drup doesn't like people discussing PL design ;-)
<lambda_> @lyxia do you really need it? Its a big project so I cannot paste everyting.....I think the most important question is, if I wrote the signature of the type wrong?
<octachron> lambda_, most probably there is another type (constructor) t in scope
<ollehar> companion_cube: hm, why though?
<ollehar> companion_cube: wrong channel?
<octachron> lambda_, your error does not stem from the code fragments that you showed
<Drup> companion_cube: I never said that
<Drup> That's a gross mis-interpretation
<Drup> I'm offended :<
<companion_cube> :D
<companion_cube> people without a PhD in type theory*
sekizo0 has joined #ocaml
sekizo0 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
<Drup> that's ... somehow even worse
Bronsa has joined #ocaml
<companion_cube> isn't that what you said? :D
<companion_cube> people who don't have a perfect understanding of every corner of OCaml's type system, for example
<Drup> companion_cube: I dislike the armchair "I would gladly give up X to have Y" with X and Y that have barely any interactions
<ollehar> hm
<ollehar> like, give up exceptions for linear types?
<lambda_> @octachron but there is no other type t in this ml file
<Drup> and you know that, and you are trying to piss me off by misrepresenting what I said
<Drup> and this is not nice.
<companion_cube> I'd give up polymorphic recursion to get monomorphization !! :D
<companion_cube> I'm just trolling you right now.
Soni has quit [Ping timeout: 244 seconds]
jmiven has quit [Ping timeout: 244 seconds]
<Drup> You are painting me as an elitist, and I don't like it :<
<companion_cube> this I think you are, at least a bit
<ollehar> join us at /r/programmingcirklejerk
<octachron> lambda_, then do you have any open?
<ollehar> let's not get personal...
<octachron> lambda_, not this is the very reason that lyxia asked you to post your code, or at least an minimized version that reproduce your error
<lambda_> @octachron: ohhh yes I have, I try to figure out if that is the problem
Soni has joined #ocaml
Haudegen has joined #ocaml
Soni has quit [Changing host]
Soni has joined #ocaml
dejanr has quit [Ping timeout: 260 seconds]
<bartholin> what is a nice library for loading pictures (png, jpeg...), modifying and showing them?
dejanr has joined #ocaml
jbrown has joined #ocaml
Contessa has joined #ocaml
Contessa has quit [Killed (Sigyn (Spam is off topic on freenode.))]
<lambda_> @octachron: Is there the possibility to reference a type t within the ml file if the current type t is from another module? So I mean something like that <CurrentFile>.t?
<octachron> no
<octachron> you can either avoid globally opening modules, or define an alias for the local type t before shadowing it
jmiven has joined #ocaml
<companion_cube> grrr ci.ocamllabs.io is down
<lambda_> okay thank you
<bartholin> how do I load properly an opam library in the toplevel?
<companion_cube> #require "foo";;
<companion_cube> (assuming your toplevel is ready for that, i.e. #use "topfind";; in your ~/.ocamlinit)
lambda1 has joined #ocaml
lambda_ has quit [Quit: WeeChat 2.2]
lambda1 has quit [Client Quit]
lambda_ has joined #ocaml
<lambda_> Are there big companies in industry using OCaml?
<theblatte> could add infer and pyre under "facebook", if this blurb is trying to be exhaustive
<lambda_> thx
BitPuffin has joined #ocaml
Denommus has joined #ocaml
<rks`> theblatte: the blurp contains companies which are long dead
<rks`> so…
Ragnor23 has joined #ocaml
Ragnor23 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
lambda_ has quit [Quit: WeeChat 2.2]
lambda_ has joined #ocaml
lambda_ has quit [Client Quit]
lambda_ has joined #ocaml
lambda_ has quit [Quit: WeeChat 2.2]
lambda_ has joined #ocaml
_andre has joined #ocaml
FreeBirdLjj has joined #ocaml
erry8 has joined #ocaml
erry8 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
noitakom1 has quit [Ping timeout: 250 seconds]
rassouly[m] has left #ocaml [#ocaml]
noitakom1 has joined #ocaml
aOssed- has joined #ocaml
aOssed- has quit [Killed (Sigyn (Spam is off topic on freenode.))]
zenguy-9 has joined #ocaml
zenguy-9 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
FareWell has joined #ocaml
ollehar has quit [Ping timeout: 264 seconds]
jjj_ has quit [Ping timeout: 252 seconds]
noitakom1 has quit [Ping timeout: 250 seconds]
FareWell has quit [Ping timeout: 240 seconds]
FareWell has joined #ocaml
Fare has joined #ocaml
Haudegen has quit [Ping timeout: 244 seconds]
tane has joined #ocaml
sagotch has quit [Quit: Leaving.]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
Haudegen has joined #ocaml
johnelse has joined #ocaml
d1b6 has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
d1b6 has quit [K-Lined]
FreeBirdLjj has joined #ocaml
timfi has joined #ocaml
timfi has quit [Killed (Sigyn (Spam is off topic on freenode.))]
Bronsa has quit [Ping timeout: 264 seconds]
ziyourenxiang has quit [Ping timeout: 256 seconds]
jbrown has quit [Ping timeout: 240 seconds]
jbrown has joined #ocaml
brykr21 has joined #ocaml
brykr21 has quit [K-Lined]
dedgrant has joined #ocaml
nullifidian_ has joined #ocaml
jbrown has quit [Read error: Connection reset by peer]
nullifidian has quit [Ping timeout: 240 seconds]
Fare has quit [Ping timeout: 248 seconds]
FareWell has quit [Ping timeout: 240 seconds]
Hello7110 has joined #ocaml
Hello7110 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
annieslmaos has joined #ocaml
annieslmaos has quit [Killed (Sigyn (Spam is off topic on freenode.))]
Fearful has joined #ocaml
Fearful has quit [Killed (Sigyn (Spam is off topic on freenode.))]
jbrown has joined #ocaml
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
Fare has joined #ocaml
ygrek has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
cryptocat1094 has joined #ocaml
TheLemonMan has joined #ocaml
Fare has quit [Ping timeout: 256 seconds]
alienated has joined #ocaml
alienated has quit [Killed (Sigyn (Spam is off topic on freenode.))]
johnelse has quit [Read error: Connection reset by peer]
johnelse has joined #ocaml
Fare has joined #ocaml
lambda_ has quit [Quit: WeeChat 2.2]
lambda_ has joined #ocaml
lambda_ has quit [Client Quit]
lambda_ has joined #ocaml
jbrown has quit [Ping timeout: 256 seconds]
jbrown has joined #ocaml
lambda_ has quit [Quit: WeeChat 2.2]
ruffy0 has joined #ocaml
ruffy0 has quit [Client Quit]
ruffy_ has joined #ocaml
xerox12313 has joined #ocaml
xerox12313 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
wagle has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
wagle has joined #ocaml
wagle has quit [Client Quit]
wagle has joined #ocaml
Jesin has quit [Remote host closed the connection]
wagle has quit [Client Quit]
wagle has joined #ocaml
Jesin has joined #ocaml
jack5638 has quit [Ping timeout: 264 seconds]
kakadu has joined #ocaml
jack5638 has joined #ocaml
zolk3ri has quit [Quit: leaving]
zolk3ri has joined #ocaml
jbrown has quit [Read error: Connection reset by peer]
tane has quit [Quit: Leaving]
<ygrek> xvilka, start by eliminating all stdlib
<ygrek> and all runtime for that matter (Out_of_memory, Stack_overflow, etc)
jbrown has joined #ocaml
kakadu has quit [Ping timeout: 244 seconds]
kakadu_ has joined #ocaml
khronosschoty8 has joined #ocaml
khronosschoty8 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
spew has quit [Quit: going home]
cryptocat1094 has quit [Quit: later]
Algebr has joined #ocaml
wagle has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
wagle has joined #ocaml
wagle has quit [Client Quit]
wagle has joined #ocaml
zolk3ri has quit [Remote host closed the connection]
wagle has quit [Client Quit]
wagle has joined #ocaml
wagle has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
wagle has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
_andre has quit [Quit: leaving]
quipa has quit [Ping timeout: 240 seconds]
jmiven has quit [Quit: co'o]
jmiven has joined #ocaml
quipa has joined #ocaml
Denommus has quit [Remote host closed the connection]
moei has quit [Quit: Leaving...]
moei has joined #ocaml
prettymuchbryce1 has joined #ocaml
prettymuchbryce1 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
kakadu_ has quit [Ping timeout: 244 seconds]
Fare has quit [Ping timeout: 240 seconds]
Algebr has quit [Remote host closed the connection]
wagle has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
Fare has joined #ocaml
wagle has joined #ocaml