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
Aikar12 has joined #ocaml
Aikar12 has quit [Remote host closed the connection]
Articate has joined #ocaml
Articate has quit [Remote host closed the connection]
kalio has quit [Quit: WeeChat 2.2]
kalio has joined #ocaml
rsrchboy11 has joined #ocaml
sedition5 has joined #ocaml
rsrchboy11 has quit [Remote host closed the connection]
katyusha has quit [Quit: WeeChat 2.2]
sedition5 has quit [Remote host closed the connection]
katyusha has joined #ocaml
denken5 has joined #ocaml
denken5 has quit [Remote host closed the connection]
Haudegen has quit [Remote host closed the connection]
squirrel26 has joined #ocaml
squirrel26 has quit [K-Lined]
silver has quit [Read error: Connection reset by peer]
neatonk has quit [Ping timeout: 240 seconds]
kvda has joined #ocaml
tacegory has joined #ocaml
cobreadmonster has joined #ocaml
tacegory has quit [Ping timeout: 252 seconds]
mfp has quit [Ping timeout: 268 seconds]
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tormen_ has joined #ocaml
tormen has quit [Ping timeout: 252 seconds]
Teknix18 has joined #ocaml
jao has quit [Ping timeout: 268 seconds]
Teknix18 has quit [Remote host closed the connection]
karlguy has quit [Quit: Leaving]
kvda has joined #ocaml
ggole has joined #ocaml
muelleme has joined #ocaml
muelleme has quit [Ping timeout: 268 seconds]
cobreadmonster has quit [Quit: Connection closed for inactivity]
GeekDude16 has joined #ocaml
GeekDude16 has quit [Remote host closed the connection]
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kvda has joined #ocaml
afiestas11 has joined #ocaml
afiestas11 has quit [K-Lined]
swapgs5 has joined #ocaml
swapgs5 has quit [Remote host closed the connection]
Dece9 has joined #ocaml
Dece9 has quit [Remote host closed the connection]
redir has joined #ocaml
redir has quit [Remote host closed the connection]
Guest83192 has joined #ocaml
Guest83192 has quit [Remote host closed the connection]
Skywave has joined #ocaml
Skywave has quit [Remote host closed the connection]
bartholin has joined #ocaml
Wojciech_K16 has joined #ocaml
Wojciech_K16 has quit [Remote host closed the connection]
Khady_ has quit [Quit: Quit.]
Khady has joined #ocaml
Khady has quit [Changing host]
Khady has joined #ocaml
agonist3 has joined #ocaml
fraxamo has joined #ocaml
kakadu has joined #ocaml
agonist3 has quit [Remote host closed the connection]
silenc3r has joined #ocaml
muelleme has joined #ocaml
muelleme has quit [Ping timeout: 268 seconds]
<ggole> OK, what the hell? I have a function that cannot *possibly* return anything except a two-element string, and its return result prints as "E" in the toplevel O_o
<ggole> Wait, maybe it's being intepreted as unicode
tomek29 has joined #ocaml
<octachron> You can "disable" unicode in the interpreter by setting OCAMLTOP_UTF_8 to false
<ggole> Ah, then it will print strings as \xxx?
<octachron> if they are not in the ascii range
<ggole> Right.
<ggole> I don't actually need that, I was mostly concerned that there was a bug
<ggole> Thanks!
shazzr has joined #ocaml
shazzr has quit [Remote host closed the connection]
tomek29 has quit [Ping timeout: 268 seconds]
mfp has joined #ocaml
ujjain2 has joined #ocaml
ujjain2 has quit [Ping timeout: 252 seconds]
jbrown has quit [Ping timeout: 252 seconds]
jbrown has joined #ocaml
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
muelleme has joined #ocaml
pierron has joined #ocaml
muelleme has quit [Ping timeout: 252 seconds]
pierron has quit [Remote host closed the connection]
diffcode has joined #ocaml
fella28 has joined #ocaml
fella28 has quit [Remote host closed the connection]
jao has joined #ocaml
noitakomentaja has joined #ocaml
jnavila has joined #ocaml
neatonk has joined #ocaml
diffcode has quit [Quit: Leaving]
Guest86366 has joined #ocaml
muelleme has joined #ocaml
Guest86366 has quit [Remote host closed the connection]
muelleme has quit [Ping timeout: 268 seconds]
dhil has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gareppa has joined #ocaml
sparch has joined #ocaml
gareppa has quit [Remote host closed the connection]
jao has quit [Ping timeout: 252 seconds]
sparch has quit [Remote host closed the connection]
dhil has quit [Quit: Leaving]
govg has joined #ocaml
silenc3r_ has joined #ocaml
arkoldthos3 has joined #ocaml
silenc3r has quit [Ping timeout: 252 seconds]
arkoldthos3 has quit [Remote host closed the connection]
leonardus9 has joined #ocaml
muelleme has joined #ocaml
leonardus9 has quit [Remote host closed the connection]
karlguy has joined #ocaml
karlguy has quit [Client Quit]
karlguy has joined #ocaml
karlguy has quit [Client Quit]
Guest15573 has joined #ocaml
karlguy has joined #ocaml
jimt has quit [Ping timeout: 244 seconds]
Guest15573 has quit [Remote host closed the connection]
<flux[m]> hmm, there's no channel modes that would have prevented discord from talking here, were there? #ocaml is Ccnpt.
kakadu has quit [Ping timeout: 268 seconds]
mpol2 has joined #ocaml
mpol2 has quit [Remote host closed the connection]
nicolasbock15 has joined #ocaml
nicolasbock15 has quit [Remote host closed the connection]
Ruler-4 has joined #ocaml
wrmsr16 has joined #ocaml
Ruler-4 has quit [Remote host closed the connection]
awerner has joined #ocaml
wrmsr16 has quit [Remote host closed the connection]
awerner has quit [Killed (Sigyn (Spam is off topic on freenode.))]
Cthalupa7 has joined #ocaml
Cthalupa7 has quit [Remote host closed the connection]
mattoliverau15 has joined #ocaml
mattoliverau15 has quit [Remote host closed the connection]
kakadu has joined #ocaml
jao has joined #ocaml
TheGallopingFox has quit [Ping timeout: 252 seconds]
muelleme has quit [Ping timeout: 252 seconds]
muelleme has joined #ocaml
TheGallopingFox has joined #ocaml
TheGallopingFox has left #ocaml [#ocaml]
muelleme has quit [Ping timeout: 244 seconds]
ziyourenxiang_ has quit [Ping timeout: 244 seconds]
Gnarfoz21 has joined #ocaml
govg has quit [Ping timeout: 252 seconds]
Gnarfoz21 has quit [Remote host closed the connection]
vemacs_ has joined #ocaml
vemacs_ has quit [Remote host closed the connection]
Unix_Dude has joined #ocaml
Jesin has joined #ocaml
Unix_Dude has quit [Remote host closed the connection]
karlguy has quit [Quit: Leaving]
haesbaert has joined #ocaml
muelleme has joined #ocaml
haesbaert has quit [Client Quit]
haesbaert has joined #ocaml
muelleme has quit [Ping timeout: 268 seconds]
TheLemonMan has joined #ocaml
oni-on-ion has quit [Ping timeout: 252 seconds]
oni-on-ion has joined #ocaml
jao has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
bartholin has quit [Remote host closed the connection]
bartholin has joined #ocaml
undermink25 has joined #ocaml
karlguy has joined #ocaml
undermink25 has quit [Remote host closed the connection]
Guest49764 has joined #ocaml
Guest49764 has quit [Remote host closed the connection]
Argorok8 has joined #ocaml
Argorok8 has quit [Remote host closed the connection]
kvda has joined #ocaml
cirdan23 has joined #ocaml
cirdan23 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
jao has joined #ocaml
ratliff6 has joined #ocaml
fraxamo has quit [Quit: Leaving]
bartholin has quit [Ping timeout: 268 seconds]
ratliff6 has quit [Ping timeout: 268 seconds]
quipa has joined #ocaml
muelleme has joined #ocaml
muelleme has quit [Ping timeout: 252 seconds]
White-Falcon1 has joined #ocaml
piro_14 has joined #ocaml
djhoulihan15 has joined #ocaml
djhoulihan15 has quit [K-Lined]
bartholin has joined #ocaml
White-Falcon1 has quit [Remote host closed the connection]
piro_14 has quit [Remote host closed the connection]
karlguy has quit [Ping timeout: 272 seconds]
muelleme has joined #ocaml
kvda has quit [Ping timeout: 268 seconds]
ggole has quit [Quit: ggole]
genericsauce18 has joined #ocaml
genericsauce18 has quit [Ping timeout: 252 seconds]
jack5638 has quit [Ping timeout: 252 seconds]
muelleme has quit [Ping timeout: 246 seconds]
jack5638 has joined #ocaml
|Ripley|7 has joined #ocaml
silver has joined #ocaml
|Ripley|7 has quit [Remote host closed the connection]
catern has quit [Excess Flood]
catern has joined #ocaml
larhat has joined #ocaml
larhat has quit [Client Quit]
karlguy has joined #ocaml
jnavila has quit [Remote host closed the connection]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
apostolis has joined #ocaml
<apostolis> Hello, is there an IO Monad in Ocaml?
silver_ has joined #ocaml
<discord> <Perry> No.
pmetzger has joined #ocaml
<discord> <Perry> test
silenc3r_ has quit [Quit: Leaving]
<discord> <Perry> Sorry. No, there is no IO Monad, and there is no need for one, OCaml is not a pure functional language like Haskell. It is functional, but side effects are allowed.
pmetzger has quit [Client Quit]
<apostolis> I saw that people wrote one themselves, I am wondering if there is one in the standard library.
silver has quit [Ping timeout: 268 seconds]
<apostolis> I am trying to translate agda/haskell to OCaml, that is why I might need it.
<Drup> what do you mean, "you saw people" ?
<discord> <Perry> You don't need it for translating things to OCaml. You can do I/O in OCaml without the need for the IO monad and things like it.
<discord> <Perry> Though I would note that often, Haskell won't translate well to OCaml because Haskell is lazy and OCaml is eager. This means that certain Haskell idioms just won't work in OCaml.
<discord> <Perry> Or at least, won't work without some effort.
<apostolis> Drup : I searched "OCaml IO monad" and found implementations.
<discord> <Perry> If these words are gibberish to you (pure functional, lazy, eager, etc.) then you may not be in a good position to do the work you are trying to do.
krisko has joined #ocaml
<apostolis> Not at all.
<discord> <Perry> Why do you think you need an IO monad in OCaml?
<Drup> That's like searching for "Haskell raw pointers" and finding results
<apostolis> Agda is a total language, thus it does not matter if it is eager or lazy.
<Drup> It doesn't mean it's really a thing.
<discord> <Perry> What are you actually trying to do and why?
<apostolis> Drup : I don't think that many people use IO monads.
<apostolis> in OCaml
krisko has quit [Remote host closed the connection]
<apostolis> Perry : I am searching the best way to automatically translate the code.
<discord> <Perry> So again, what are you actually trying to do, and why? What is this code and why do you want to translate it? And building a cross compiler from Haskell or Agda to OCaml is not an easy thing at all.
<discord> <Perry> What are you actually trying to do? I don't imagine what you actually want to do is build a compiler from one to the other.
<apostolis> It is actually easy and it has already been done. I am trying to fix some bugs.
<discord> <Perry> Is that what you are actually trying to do? Because if so, you don't want an IO monad.
<apostolis> I never said I need one. I asked if there was a good implementation in OCaml.
<discord> <Perry> Never mind. I give up.
<thizanne> apostolis | Agda is a total language, thus it does not matter if it is eager or lazy.
<thizanne> I don't know Agda but you could perfectly imagine a total lazy language where programs terminate but they wouldn't on a call by value semantics
kakadu has quit [Remote host closed the connection]
<apostolis> thizanne : What do you mean? For example , you need to be careful with let statements.
bartholin has quit [Remote host closed the connection]
<apostolis> Is that what you mean?
<discord> <Perry> thizanne: I have seen this sort of conversation before. Better to give up in advance.
<discord> <Perry> thizanne: you can waste a lot of time on it without getting anywhere but circles.
<def`> s/total/strongly normalizing
<discord> <Perry> Agda is not strongly normalizing though. you can express infinite loops in Agda.
<discord> <Perry> (I think. It's been a while since I played with it at all. I generally stick to Coq.)
<def`> (+1)
<apostolis> I don't expect to support infinite loops. It depends if the intermediate representation provides the information required.
<apostolis> For example, in Idris, one is given info when to use lazy evaluation and when not to.
<thizanne> apostolis: I'm not really into FPL theory, but I understand total as "every program provably terminates"
<thizanne> and "terminates" obviously means you have some semantics
<oni-on-ion> isnt turing about how infinite loops are a thing
<thizanne> now I can prove that (λ x y. x) 42 (infinite loop) terminates in haskell
<thizanne> so it could be accepted as a program of a total language
<apostolis> thizanne : or is productive , that it returns a some results after a finite amount of time.
<thizanne> but it wouldn't terminate in ocaml, so being lazy or not is not totally unrelated to being total
<thizanne> I'm not sure that's a very interesting point though
<apostolis> Anyway, thanks all, It seems that there is no standard IO monad in OCaml.
<thizanne> well we don't even have a standard standard library.
<def`> (the identity monad makes for a good, standard, IO monad in OCaml)
lostman has joined #ocaml
Haudegen has quit [Remote host closed the connection]
kvda has joined #ocaml
muelleme has joined #ocaml
Gugge26 has joined #ocaml
Gugge26 has quit [Remote host closed the connection]
silver_ has quit [Read error: Connection reset by peer]
muelleme has quit [Ping timeout: 252 seconds]
lnrt2913 has joined #ocaml
lnrt2913 has quit [Remote host closed the connection]
cyberzeus23 has joined #ocaml
cyberzeus23 has quit [K-Lined]
jidar8 has joined #ocaml