adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.07.1 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
keep_learning_M has joined #ocaml
Haudegen has quit [Remote host closed the connection]
AnAverageHuman has quit [Ping timeout: 256 seconds]
mfp has quit [Ping timeout: 258 seconds]
silver has quit [Read error: Connection reset by peer]
al-damiri has quit [Quit: Connection closed for inactivity]
zmt01 has quit [Quit: Leaving]
zmt00 has joined #ocaml
AnAverageHuman has joined #ocaml
Birdface has joined #ocaml
keep_learning_M has quit [Quit: Leaving]
keep_learning_M has joined #ocaml
keep_learning_M has quit [Client Quit]
keep_learning_M has joined #ocaml
gravicappa has joined #ocaml
Facebird has joined #ocaml
Birdface has quit [Ping timeout: 276 seconds]
jao has quit [Ping timeout: 246 seconds]
Facebird is now known as Birdface
ftlight_nc has quit [Remote host closed the connection]
_whitelogger has joined #ocaml
AnAverageHuman has quit [Ping timeout: 256 seconds]
<quarters> is there such a thing as a pure functional language?
<octachron> quarters, haskell tends to fit this category
<vsiles> quarters: do you want a language that can be used in a pure way or really a language that is only pure and nothing else ?
<quarters> I suppose I'm wondering if such a thing as a pure functional language has any value and at what point the line is drawn where the introduction of impure function is accepted
kakadu has joined #ocaml
jmiven has quit [Quit: co'o]
jmiven has joined #ocaml
<flux[m]> quarters: the line is simply "pure functional code gives instructions to imperative runtime"
dhil has joined #ocaml
_whitelogger has joined #ocaml
ggole has joined #ocaml
oni-on-ion has joined #ocaml
ninetyone has joined #ocaml
Guest71124 has joined #ocaml
Birdface has quit [Ping timeout: 276 seconds]
mfp has joined #ocaml
zolk3ri has joined #ocaml
Shepi has joined #ocaml
Shepi has quit [Client Quit]
FreeBirdLjj has joined #ocaml
gareppa has joined #ocaml
dimitarvp has joined #ocaml
dmiles has quit [Ping timeout: 246 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
dimitarvp has quit [Quit: Bye]
gareppa has quit [Quit: Leaving]
dmiles has joined #ocaml
Guest71124 has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 246 seconds]
_whitelogger has joined #ocaml
traviss has joined #ocaml
silver has joined #ocaml
louisg has quit [Ping timeout: 245 seconds]
dhil has quit [Ping timeout: 250 seconds]
Haudegen has joined #ocaml
jao has joined #ocaml
<CcxWrk> quarters: Yes, many of the functional languages that aren't in the "general purpose" category are pure. Especially for modelling or algorithm description.
<Drup> octachron: haskell is not pure :3
dhil has joined #ocaml
<octachron> unsafePerformIO?
<CcxWrk> There are some uses for safe embedding of calculation, but you usually want to be more restrictive with that. Either with constraining resources or by using more limited language to enforce non-totality/completion. (Eg. Datalog [which is logic rather than function based, but you get the idea])
<CcxWrk> For a lot of languages "safe" subsets can be found (see Emily for OCaml), for some not so much.
<Drup> octachron: not only that, as a language, it's not pure, otherwise programs wouldn't really do anything. It's referentially transparent, which is very different
<Drup> (leaving the escape hatches aside)
<flux[m]> Drup: no, I think monads are a permitted loophole
<Drup> It's not monads, it's IO
<Drup> IO happens to be a monad, but monads to dot enable side effects, IO does
<octachron> Well, yes, as some point you need to entangle the state of the world with the state of the program
<flux[m]> I mean, this is a arguably pure ocaml program: `let program = "rm -rf /tmp"` - but then you add the impure part to is: `let _ = system program`
weird_error has quit [Quit: weird_error]
<bartholin> The typing system of Haskell elegantly separates the pure part from the (usually necessary) impure part, thanks to the opaque IO monad.
<Drup> (also, the notion of "purity" is conveniently modified each times someones want to say something about it, to suits the discourse)
<bartholin> purity == deterministic and no side-effect
<CcxWrk> s/wouldn't really do anything/would compute one result for given parameters/
<Drup> bartholin: is non termination an effect ?
<Drup> (many theory people consider that yes)
* bartholin screams in fear and runs away
<Drup> my point exactly
tane has joined #ocaml
<Drup> Talking about purity is posturing
<bartholin> But then pure lambda-calculus is not even a pure language.
<Drup> you should talk about referential transparency, which is the property that people want
<Drup> bartholin: well, STLC is.
<Drup> (and Galina too)
<bartholin> But referential transparency allows the random() function.
<Drup> referential transparency means identical input gives you indentical output. If you give the seed explicitely, then yes, sure. Otherwise no.
traviss has quit [Quit: Page closed]
__y has quit [Quit: Brèche du réacteur.]
jao has quit [Ping timeout: 250 seconds]
dhil has quit [Ping timeout: 246 seconds]
<bartholin> how do you do referential transparency if some expression loops forever without returning any value?
<ggole> "gives you indentical output" becomes "gives you identical output or doesn't terminate"
FreeBirdLjj has joined #ocaml
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
dhil has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 255 seconds]
leah2 has quit [Read error: Connection reset by peer]
leah2 has joined #ocaml
johnelse has quit [Quit: leaving]
ale64bit has joined #ocaml
ale64bit has quit [Ping timeout: 244 seconds]
zolk3ri has quit [Remote host closed the connection]
zolk3ri has joined #ocaml
spew has joined #ocaml
weird_error has joined #ocaml
ale64bit has joined #ocaml
ninetyone has quit [Quit: Leaving]
FreeBirdLjj has joined #ocaml
weird_error has quit [Quit: weird_error]
Birdface has joined #ocaml
AtumT has joined #ocaml
mildtaste has quit [Remote host closed the connection]
ale64bit has quit [Ping timeout: 250 seconds]
nikivi has quit [Quit: ZNC is awesome]
nikivi has joined #ocaml
ygrek has joined #ocaml
AnAverageHuman has joined #ocaml
stux|RC has quit [Quit: Aloha!]
stux|RC has joined #ocaml
mgsk__ is now known as mgsk
andreas303 has quit [Ping timeout: 256 seconds]
andreas303 has joined #ocaml
klntsky has quit [Remote host closed the connection]
klntsky has joined #ocaml
AtumT_ has joined #ocaml
AtumT has quit [Ping timeout: 246 seconds]
dhil has quit [Ping timeout: 245 seconds]
dhil has joined #ocaml
AtumT has joined #ocaml
AtumT_ has quit [Ping timeout: 245 seconds]
Haudegen has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
AnAverageHuman has quit [Ping timeout: 256 seconds]
ziyourenxiang has quit [Ping timeout: 246 seconds]
okuu has joined #ocaml
Jesin has quit [Quit: Leaving]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
Jesin has joined #ocaml
okuu has quit [Ping timeout: 246 seconds]
Jesin has quit [Quit: Leaving]
Jesin has joined #ocaml
dhil has quit [Ping timeout: 255 seconds]
okuu has joined #ocaml
AnAverageHuman has joined #ocaml
Guest82626 has joined #ocaml
wagle has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
okuu has quit [Ping timeout: 255 seconds]
wagle has joined #ocaml
Guest82626 has quit [Ping timeout: 245 seconds]
Haudegen has joined #ocaml
AnAverageHuman has quit [Ping timeout: 256 seconds]
okuu has joined #ocaml
jnavila has joined #ocaml
govg has joined #ocaml
jnavila has quit [Ping timeout: 245 seconds]
ale64bit has joined #ocaml
Anarchos has joined #ocaml
jnavila has joined #ocaml
Anarchos has quit [Client Quit]
Jesin has quit [Quit: Leaving]
al-damiri has joined #ocaml
Jesin has joined #ocaml
jnavila has quit [Read error: No route to host]
jnavila has joined #ocaml
okuu has quit [Ping timeout: 246 seconds]
jnavila has quit [Ping timeout: 246 seconds]
ale64bit has quit [Ping timeout: 246 seconds]
gravicappa has quit [Ping timeout: 258 seconds]
ale64bit has joined #ocaml
ggole has quit [Quit: Leaving]
cow-orker has quit [Remote host closed the connection]
zolk3ri has quit [Remote host closed the connection]
ale64bit has quit [Ping timeout: 246 seconds]
keep_learning has quit [Ping timeout: 246 seconds]
pierpal has quit [Ping timeout: 244 seconds]
maufred has joined #ocaml
okuu has joined #ocaml
ale64bit has joined #ocaml
spew has quit [Quit: going home]
AnLog has joined #ocaml
sspi__ has quit [*.net *.split]
tristero has quit [*.net *.split]
pgiarrusso has quit [*.net *.split]
miguelbe[m] has quit [*.net *.split]
yetanotherion[m] has quit [*.net *.split]
dl3br[m] has quit [*.net *.split]
hdurer[m] has quit [*.net *.split]
andreypopp has quit [*.net *.split]
nore has quit [*.net *.split]
Drup has quit [*.net *.split]
dx has quit [*.net *.split]
anton-trunov has quit [*.net *.split]
jun has quit [*.net *.split]
rdivyanshu has quit [*.net *.split]
wildsebastian has quit [*.net *.split]
karan[m]1 has quit [*.net *.split]
jimt[m]1 has quit [*.net *.split]
stylewarning has quit [*.net *.split]
l1x has quit [*.net *.split]
wilfredh has quit [*.net *.split]
aubian has quit [*.net *.split]
Fardale has quit [*.net *.split]
nojb[m] has quit [*.net *.split]
valtr has quit [*.net *.split]
jgkamat has quit [*.net *.split]
iAmerikan has quit [*.net *.split]
tane has quit [Quit: Leaving]
keep_learning_M has quit [Ping timeout: 255 seconds]
keep_learning_M has joined #ocaml
Birdface has quit [Ping timeout: 250 seconds]
AnLog has quit [Read error: Connection reset by peer]
anton-trunov has joined #ocaml
Drup has joined #ocaml
andreypopp has joined #ocaml
jun has joined #ocaml
nore has joined #ocaml
pgiarrusso has joined #ocaml
tristero has joined #ocaml
dx has joined #ocaml
dx has quit [Changing host]
dx has joined #ocaml
aubian has joined #ocaml
wildsebastian has joined #ocaml
hdurer[m] has joined #ocaml
wilfredh has joined #ocaml
valtr has joined #ocaml
jgkamat has joined #ocaml
yetanotherion[m] has joined #ocaml
miguelbe[m] has joined #ocaml
dl3br[m] has joined #ocaml
stylewarning has joined #ocaml
sspi__ has joined #ocaml
Fardale has joined #ocaml
l1x has joined #ocaml
alphor_ has quit [Ping timeout: 250 seconds]
rdivyanshu has joined #ocaml
karan[m]1 has joined #ocaml
iAmerikan has joined #ocaml
alphor has joined #ocaml
nojb[m] has joined #ocaml
ale64bit has quit [Ping timeout: 246 seconds]
jimt[m]1 has joined #ocaml
new_ocamler has joined #ocaml
kakadu has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 245 seconds]
spectrumgomas[m] has quit [Ping timeout: 264 seconds]
niceplace has quit [Ping timeout: 264 seconds]
ale64bit has joined #ocaml
new_ocamler has quit [Quit: Page closed]
spectrumgomas[m] has joined #ocaml
niceplace has joined #ocaml
yrjan has quit [Ping timeout: 264 seconds]
alexelcu has quit [Ping timeout: 264 seconds]
alexelcu has joined #ocaml
yrjan has joined #ocaml
pierpal has joined #ocaml
pierpal has quit [Ping timeout: 250 seconds]
Jesin has quit [Quit: Leaving]
weird_error has joined #ocaml
Jesin has joined #ocaml
pierpal has joined #ocaml
igitoor has quit [Ping timeout: 264 seconds]
igitoor has joined #ocaml
catern has quit [Excess Flood]
catern has joined #ocaml
al-damiri has quit [Quit: Connection closed for inactivity]
igitoor has quit [Changing host]
igitoor has joined #ocaml
ale64bit has quit [Ping timeout: 250 seconds]
Haudegen has quit [Remote host closed the connection]
traviss has joined #ocaml
traviss has quit [Client Quit]
traviss has joined #ocaml