companion_cube changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.05.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.05/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
<Armael> ("let x = a in b" would then be "(λx. b) a")
<Totoro42> Okay
raphaelss has quit [Ping timeout: 260 seconds]
<Totoro42> So, Armael, what's the big deal about functionnal programming ?
ygrek has joined #ocaml
<sapristi__> <whoman> (so a functional program is more like a mathematical formula; easier to "prove" its correctness and behavior)
<sapristi__> I think that's the big deal
<Totoro42> i see
<Totoro42> meaning that since each function is independent from it's context
hcarty has quit [Ping timeout: 260 seconds]
<Totoro42> you juste have to prove that it works regarless of the input parameters
<Totoro42> and returns the good value
<sapristi__> yes
<Totoro42> and since every function works, you just have to check that the functions are well linked together
KeyJoo has joined #ocaml
<Totoro42> resulting that it is mandatory that the program works
<Totoro42> that's the idea ?
<sapristi__> for example ocaml can infer the type of a function, and won't compile if there are type errors
<sapristi__> it's not possible (like really impossible) to check that everything works automatically
<Totoro42> i see
<Totoro42> sapristi__ well actually
<Totoro42> caml is french
<Totoro42> build by INRIA
<sapristi__> I know
<Totoro42> and INRIA actually does another functionnal language
<Totoro42> Coq
<sapristi__> yes but in coq you prove things by hand
<Totoro42> well yes
<sapristi__> and the proof is computer-checked
<Totoro42> yes
<sapristi__> when I say that it's impossible to automatically check that a program works, it's actually a mathematial theorem
<sapristi__> it basically says that there is no program that can check any program and say whether it works or not
<Totoro42> Rice ?
<Totoro42> Rice theorem ?
<sapristi__> yes
<Totoro42> i see
<Totoro42> Ok thanks, bye !
Totoro42 has quit []
maxton_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
swalk has quit [Quit: swalk]
mengu has quit [Quit: Leaving...]
mfp__ has quit [Ping timeout: 240 seconds]
sh0t has joined #ocaml
cranmax has quit [Quit: Connection closed for inactivity]
sz0 has quit [Quit: Connection closed for inactivity]
swalk has joined #ocaml
Fistine has joined #ocaml
maxton_ has joined #ocaml
mali has quit [Quit: Throwing apples of Montserrat]
maxton_ has quit [Client Quit]
jlongster has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jlongster has joined #ocaml
mali has joined #ocaml
sh0t has quit [Remote host closed the connection]
Orion3k has quit [Ping timeout: 240 seconds]
mali has quit [Client Quit]
mali has joined #ocaml
mali has quit [Client Quit]
Orion3k has joined #ocaml
govg has joined #ocaml
sapristi__ has quit [Ping timeout: 276 seconds]
swalk has quit [Quit: swalk]
sh0t has joined #ocaml
pierpa has quit [Quit: Page closed]
zv has joined #ocaml
ristos has quit [Quit: Connection closed for inactivity]
mbuf has joined #ocaml
raphaelss has joined #ocaml
wagle has quit [Read error: Connection reset by peer]
wagle has joined #ocaml
jlongster has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Orion3k has quit [Quit: Leaving]
jlongster has joined #ocaml
jlongster has quit [Client Quit]
MercurialAlchemi has joined #ocaml
jao has quit [Ping timeout: 255 seconds]
mbuf has left #ocaml ["Leaving"]
sh0t has quit [Remote host closed the connection]
j0sh_ is now known as j0sh
_whitelogger has joined #ocaml
raphaelss has quit [Quit: leaving]
KeyJoo has quit [Ping timeout: 240 seconds]
Mercuria1Alchemi has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 260 seconds]
KeyJoo has joined #ocaml
enterprisey has joined #ocaml
peterpp__ has joined #ocaml
Mercuria1Alchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
dakk has joined #ocaml
Simn has joined #ocaml
jerith_ is now known as jerith
<flux> but you can still check some programs
djellemah has joined #ocaml
copy_ has joined #ocaml
peterpp__ has quit [Ping timeout: 240 seconds]
dreadedfrog has joined #ocaml
andreas_ has joined #ocaml
TheLemonMan has joined #ocaml
ziyourenxiang has joined #ocaml
enterprisey has quit [Remote host closed the connection]
nnyby has quit [Ping timeout: 240 seconds]
nnyby has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
mfp__ has joined #ocaml
djellemah_ has joined #ocaml
djellemah has quit [Ping timeout: 240 seconds]
Mercuria1Alchemi has joined #ocaml
axiles has quit [Ping timeout: 240 seconds]
argent_smith has joined #ocaml
malc_ has joined #ocaml
Algebr has joined #ocaml
al-damiri has quit [Quit: Connection closed for inactivity]
<rixed_> Is it ok for Printf.printf to raise Invalid_arg? I\m getting this with the %h formatter.
bacam_ is now known as bacam
<zozozo> rixed_: could you show the whole code ? (in a pastebin or somethingà
<rixed_> zozozo: Oh it's actually BatPrintf, which haven't kept up with stdlib it seems. Good thing to say btw. :)
KeyJoo has quit [Ping timeout: 255 seconds]
sparkyy_ has quit [Ping timeout: 255 seconds]
sparkyy has joined #ocaml
sparkyy has quit [Read error: Connection reset by peer]
sparkyy has joined #ocaml
samrat_ has joined #ocaml
ristos has joined #ocaml
maattdd has joined #ocaml
samrat_ has quit [Remote host closed the connection]
sapristi has joined #ocaml
sapristi has quit [Ping timeout: 260 seconds]
malc_ has quit [Remote host closed the connection]
sapristi has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
dreadedfrog has joined #ocaml
eagleflo_ is now known as eagleflo
maattdd has quit [Quit: WeeChat 1.9]
sam_ has joined #ocaml
malina has joined #ocaml
jbrown has joined #ocaml
sapristi has quit [Remote host closed the connection]
sapristi has joined #ocaml
axiles has joined #ocaml
mjacob_ is now known as mjacob
malina has quit [Ping timeout: 240 seconds]
swalk has joined #ocaml
malina has joined #ocaml
swalk has quit [Quit: swalk]
jlongster has joined #ocaml
sh0t has joined #ocaml
dreadedfrog has quit [Ping timeout: 260 seconds]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 268 seconds]
dreadedfrog has joined #ocaml
sz0 has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
Algebr has quit [Ping timeout: 260 seconds]
dreadedfrog has joined #ocaml
_andre has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
dreadedfrog has joined #ocaml
FreeBirdLjj has joined #ocaml
dreadedfrog has quit [Ping timeout: 255 seconds]
FreeBirdLjj has quit [Ping timeout: 246 seconds]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
esas has quit []
aciniglio has joined #ocaml
swalk has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
al-damiri has joined #ocaml
dreadedfrog has joined #ocaml
silver has joined #ocaml
dreadedfrog has quit [Ping timeout: 258 seconds]
thomasga has joined #ocaml
thomasga has quit [Quit: Leaving.]
jao has joined #ocaml
flo2 has quit [Quit: Leaving]
sh0t has quit [Ping timeout: 260 seconds]
dreadedfrog has joined #ocaml
sam_ has quit [Ping timeout: 268 seconds]
sh0t has joined #ocaml
dreadedfrog has quit [Ping timeout: 260 seconds]
sparkyy_ has joined #ocaml
AlexRussia has joined #ocaml
sam_ has joined #ocaml
sparkyy has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #ocaml
sam_ has quit [Read error: Connection reset by peer]
mrvn has joined #ocaml
jeroud has quit [Quit: Connection closed for inactivity]
sam_ has joined #ocaml
sam_ has quit [Ping timeout: 240 seconds]
tane has joined #ocaml
aciniglio has quit [Ping timeout: 240 seconds]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
Ergatis is now known as Ragora
malina has quit [Ping timeout: 240 seconds]
dreadedfrog has joined #ocaml
ziyourenxiang has quit [Ping timeout: 258 seconds]
dreadedfrog has quit [Ping timeout: 240 seconds]
andreas_ has quit [Quit: Connection closed for inactivity]
fraggle_ has joined #ocaml
jao has quit [Ping timeout: 246 seconds]
peterpp__ has joined #ocaml
enterprisey has joined #ocaml
sam_ has joined #ocaml
malina has joined #ocaml
kakadu has joined #ocaml
kakadu has quit [Ping timeout: 240 seconds]
kakadu_ has joined #ocaml
Soni has quit [Ping timeout: 276 seconds]
Soni has joined #ocaml
g0d355__ has joined #ocaml
Soni has quit [Changing host]
Soni has joined #ocaml
enterprisey has quit [Ping timeout: 240 seconds]
tane has quit [Read error: Connection reset by peer]
andreas_ has joined #ocaml
jao has joined #ocaml
tane has joined #ocaml
dreadedfrog has joined #ocaml
enterprisey has joined #ocaml
SpiceGuid has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
ygrek has joined #ocaml
Algebr has joined #ocaml
SomeDamnBody has joined #ocaml
<SomeDamnBody> Hey has anybody profiled ocaml code on OSX?
<SomeDamnBody> I figured out how to use XCode's Instruments. But when I compile with -tag profile -tag debug, I get a clang warning: clang: warning: argument unused during compilation: '-pg'
dakk has quit [Ping timeout: 260 seconds]
struktured has joined #ocaml
ncthom91 has joined #ocaml
AlexRussia has quit [Quit: WeeChat 1.9]
SomeDamnBody has quit [Remote host closed the connection]
gzheng has joined #ocaml
SpiceGuid has quit [Quit: ChatZilla 0.9.92 [SeaMonkey 2.46/20161213183751]]
ski has joined #ocaml
ncthom91 has quit [Quit: Textual IRC Client: www.textualapp.com]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
KeyJoo has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
pierpa has joined #ocaml
<kakadu_> Drup: Have you save some link about EVE online?
<kakadu_> saved* links*
<Armael> what about Eve online?
<Armael> oh, thanks
<kakadu_> btw, does anybody tried to add new compiler to opam 2.0? Can yo mentionsomething useful, for example, here: https://discuss.ocaml.org/t/searching-for-a-manual-about-packaging-compiler-for-opam-2-0/638
<Drup> kakadu_: let me try to find the right one
BitPuffin|osx has joined #ocaml
hoppfull has joined #ocaml
<hoppfull> Hello, I really like F# but I'm missing things like higher kinded types and as I understand it Ocaml support this. Though I have heard Ocaml doesn't have good support for asynchronous and parallel programming. Is this still true today?
freusque has quit [Quit: WeeChat 1.9]
<tane> hoppfull, async programming is not a problem. parallel programming is being worked on afair
<hoppfull> tane: Thanks, mate!
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
infinity0_ has joined #ocaml
infinity0 is now known as Guest25931
infinity0_ is now known as infinity0
infinity0 has joined #ocaml
Guest25931 has quit [Killed (moon.freenode.net (Nickname regained by services))]
infinity0 has quit [Changing host]
<Drup> hardware, some info on software, stuff on load balancing
<kakadu_> THanks
<Drup> (and yes, eve online is written mostly in python)
<Drup> (yes, this is slightly ridiculous)
<Armael> oh, wow :D
<Drup> (arguably, it's "stackless Python" (in house tech, iirc) with things to work around the GIL, but still)
Denommus has joined #ocaml
dakk has joined #ocaml
_andre has quit [Quit: leaving]
<mrvn> kakadu_: people do write networking servers in pythond. Do you really thing ocaml will be worse?
<mrvn> -d
average has quit [Ping timeout: 258 seconds]
gzheng has quit [Ping timeout: 260 seconds]
average has joined #ocaml
struktured has quit [Quit: Konversation terminated!]
FreeBirdLjj has joined #ocaml
dreadedfrog has quit [Ping timeout: 276 seconds]
tane has quit [Quit: Leaving]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<Drup> mrvn: that's not a good argument. It's like saying "Facebook was written in PHP so it's a good language to start a website"
sapristi has quit [Remote host closed the connection]
sapristi has joined #ocaml
<lapinot> python on pypy is not that ridiculous (from a performance view point)
<Drup> (OCaml is a good language, but your arguments shouldn't be "It's not worse than language X")
<lapinot> i'm quite fascinated by pypy... it's a *generated* a jit that runs on the *same level* as the code that it traces... i keep wondering what it would have been like if done in a proper language (instead of rpython)
<companion_cube> then do rocaml ;-)
sapristi has quit [Remote host closed the connection]
sapristi has joined #ocaml
<lapinot> x) the language has to either support emitting assembly on the fly (and jumping on the newly written page) or compile to a language that supports that...
<lapinot> altough some form of restricted ocaml could certainly be translated to C without too much pain...
<companion_cube> you could also take luajit's basic assembly lib, and build off that ;)
argent_smith has quit [Quit: Leaving.]
sam_ has quit [Ping timeout: 260 seconds]
enterprisey has quit [Remote host closed the connection]
<lapinot> surely, i absolutely don't know what lua looks like
<lapinot> do you guys have an opinion about the rust language design? i'm currently doing some system programing with it and i was quit a bit desilusionned
<lapinot> (or maybe it's too much off topic)
<companion_cube> it looks super cool
<companion_cube> I didn't try to use it much though, not enough time
<companion_cube> (I mean the design looks super cool and well informed)
freusque has joined #ocaml
<Armael> I also thought so, but then I and David got trolled so hard by dbuenzli that I don't know
<companion_cube> is dbuenzli interested in anything else than OCaml‽
<lapinot> personnaly, after digging a bit, my opinion is that they gave too much to the _bad c++/braces guys_ and took to few from the _good functionnal theoricians_
<Armael> companion_cube: apparently
<Armael> lapinot: any particular example in mind?
<Drup> Armael: well, given dbunzli's library style, this is not very surprising
<Drup> the kind of library he likes to do really don't work that well in Rust
<Armael> Drup: I was talking about lua actually
<Drup> oh, already
<Drup> alright*
<Armael> yea sorry I also got confused
<companion_cube> ah, ok!
<companion_cube> lapinot: the braces are better than the dangling else/match in in OCaml :/
<companion_cube> otherwise it looks decently expression based
<Drup> lua's main strength is that it is very easy to embed in a C/C++ codebase, game engines, in particular..
<companion_cube> afaict the biggest annoyances right now are that lifetimes are lexical (a bit coarse-grained)
<Drup> the language itself is .... decent for a dynamically typed language
<companion_cube> and lack of genericity for return types
<Armael> dbuenzli was complaining about the poor design of the language; I don't remember the details
<Drup> Armael: it's better designed that Python, imho
<companion_cube> lua is extremely yolo if that's what you mean
<lapinot> Armael: they have taken the worst part of haskell which is the module system, where they could've had the ml modules together with the recent work in implicit arguments (<3 the agda module "instance" system); the syntax is too much oriented towards imperative so every non-trivial typing stuff that you eventually need to have feels so weird (higher-kinded types are a must because pointer types all have a
<lapinot> lifetime parameter)
<companion_cube> Drup: I'm not too convinced by the behavior on arity mismatch
sh0t has quit [Ping timeout: 260 seconds]
<Drup> well, yeah, it's dynamic
Mercuria1Alchemi has quit [Ping timeout: 240 seconds]
<companion_cube> it should be an error, not a "fill with implicit arguments"
<companion_cube> (same for multiple return values)
<companion_cube> also, 1 indexing
<companion_cube> but otherwise, yeah, minimalistic af
<lapinot> companion_cube: what is 1 indexed?
<Armael> array indices start at 1
<lapinot> oh you mean lua? i didn't follow the thread
<Armael> yea, in lua
dreadedfrog has joined #ocaml
<lapinot> btw, how is modular implicit going? is it burried or are some people still working on it in their garage?
<peterpp__> I'm new to ocaml and trying to write a simple program with Async but I'm unsure how to manage state in my modules
<Armael> I think Jacques Garrigue is working on the theory (?)
<peterpp__> is there something similar to atoms in clojure?
<def`> lapinot: still working (slowly)
<companion_cube> no, but you can use a weak map
<companion_cube> but it's not a very good pattern in OCaml, I think
<companion_cube> peterpp__: try defining a sum type for your state
<lapinot> def`: cool
dreadedfrog has quit [Ping timeout: 240 seconds]
peterpp__ has quit [Ping timeout: 240 seconds]
Algebr has quit [Remote host closed the connection]
Denommus has quit [Ping timeout: 255 seconds]
FreeBirdLjj has joined #ocaml
jbrown has quit [Remote host closed the connection]
FreeBirdLjj has quit [Ping timeout: 260 seconds]
swalk has quit [Quit: swalk]
enterprisey has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
sam_ has joined #ocaml
andreas_ has quit [Quit: Connection closed for inactivity]
Simn has quit [Quit: Leaving]
sam_ has quit [Ping timeout: 240 seconds]
ristos has quit [Quit: Connection closed for inactivity]
sapristi has quit [Remote host closed the connection]
sapristi has joined #ocaml
dreadedfrog has joined #ocaml
dreadedfrog has quit [Ping timeout: 240 seconds]
freusque has quit [Quit: WeeChat 1.9]
dakk has quit [Ping timeout: 260 seconds]
two_wheels has quit [Quit: Textual IRC Client: www.textualapp.com]
kakadu_ has quit [Remote host closed the connection]
silver_ has joined #ocaml
silver has quit [Read error: Connection reset by peer]