<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]]
<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
<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]