enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
Amorphous has quit [Ping timeout: 240 seconds]
Amorphous has joined #ocaml
yakischloba has quit [Quit: Leaving.]
enthymeme has joined #ocaml
brooksbp has joined #ocaml
struktured has quit [Ping timeout: 240 seconds]
elehack has quit [Quit: Goodbye...]
yakischloba has joined #ocaml
yakischloba has quit [Client Quit]
joewilliams_away is now known as joewilliams
bzzbzz has quit [Quit: leaving]
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
jakedouglas has joined #ocaml
brooksbp_ has joined #ocaml
enthymeme has joined #ocaml
brooksbp has quit [Ping timeout: 240 seconds]
MrEvil has joined #ocaml
Shoggoth has joined #ocaml
joewilliams is now known as joewilliams_away
valross has quit [Remote host closed the connection]
ulfdoz has joined #ocaml
brooksbp has joined #ocaml
brooksbp_ has quit [Read error: Connection reset by peer]
Ori_B_ has joined #ocaml
f[x] has joined #ocaml
Pepe_ has quit [*.net *.split]
Ori_B has quit [*.net *.split]
brooksbp_ has joined #ocaml
ttamttam has joined #ocaml
brooksbp has quit [Ping timeout: 276 seconds]
Pepe_ has joined #ocaml
ttamttam has quit [Quit: Leaving.]
ulfdoz has quit [Ping timeout: 264 seconds]
Associat0r has joined #ocaml
jakedouglas has quit [Quit: Leaving.]
ftrvxmtrx has quit [Quit: Leaving]
ttamttam has joined #ocaml
<sgnb>
Camarade_Tux: frama-c is far from a single author... melt is AFAICT
Yoric has joined #ocaml
MrEvil has quit [Quit: This computer has gone to sleep]
protz has joined #ocaml
ftrvxmtrx has joined #ocaml
jonafan has quit [Read error: Connection reset by peer]
ikaros has joined #ocaml
myu2 has quit [Ping timeout: 264 seconds]
brooksbp_ has quit [Remote host closed the connection]
Yoric has quit [Quit: Yoric]
spearalot has joined #ocaml
myu2 has joined #ocaml
myu2 has quit [Client Quit]
<Camarade_Tux>
sgnb: yeah, right, he's one of the contributors
barismetin has joined #ocaml
barismetin has quit [Changing host]
barismetin has joined #ocaml
M| has quit [Ping timeout: 260 seconds]
M| has joined #ocaml
M| has quit [Ping timeout: 264 seconds]
Yoric has joined #ocaml
M| has joined #ocaml
Submarine has joined #ocaml
ikaros has quit [Quit: Leave the magic to Houdini]
<Camarade_Tux>
is there any distribution that actually makes ocamldoc a shell script redirecting to ocamldoc or ocamldoc.opt depending on their availability?
<flux>
why would a distribution install the non-opt versions anyway?
<Camarade_Tux>
well, with godi, I have the non-opt version
<gildor>
flux: back in time dynlink was not available and ocamldoc use it
<gildor>
for opt version
avsm has joined #ocaml
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
<mehdid>
Camarade_Tux: FWIW, in Debian, after installing ocaml-best-compilers, "ocamlfind ocamldoc" is ocamldoc.opt (if you're using a native arch)
<mehdid>
does that answer your question?
<Camarade_Tux>
mehdid: yes and no: some scripts/makefiles/... call ocamldoc (because they're buggy or because they're not even trying to go with the .opt version), thought it would "force" the use of ocamldoc.opt and would be a big speed win
struktured has joined #ocaml
alpounet has quit [Quit: ``Do what you think you can't do.'']
<mehdid>
I see
alpounet has joined #ocaml
<mehdid>
Maybe, we should reverse the default for ocamldoc in Debian...
mfp has quit [Read error: Connection reset by peer]
bzzbzz has joined #ocaml
avsm has quit [Quit: Leaving.]
_unK has joined #ocaml
mfp has joined #ocaml
bind_return has joined #ocaml
bind_return has quit [Client Quit]
f[x] has quit [Ping timeout: 276 seconds]
f[x] has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
munga has quit [Remote host closed the connection]
drk-sd has joined #ocaml
bzzbzz has quit [Quit: leaving]
alpounet has quit [Quit: ``Do what you think you can't do.'']
f[x] has quit [Ping timeout: 276 seconds]
avsm has joined #ocaml
_unK has quit [Remote host closed the connection]
ikaros has joined #ocaml
alpounet has joined #ocaml
fraggle_laptop has joined #ocaml
mjonsson has quit [Ping timeout: 265 seconds]
_andre has joined #ocaml
avsm has quit [Quit: Leaving.]
derdon has joined #ocaml
barismetin has quit [Quit: Leaving...]
munga has joined #ocaml
joewilliams_away is now known as joewilliams
barismetin has joined #ocaml
barismetin has quit [Changing host]
barismetin has joined #ocaml
barismetin has quit [Remote host closed the connection]
barismetin has joined #ocaml
barismetin has quit [Changing host]
barismetin has joined #ocaml
avsm has joined #ocaml
ccasin has joined #ocaml
jakedouglas has joined #ocaml
prince has joined #ocaml
SEcki has joined #ocaml
M| has quit [Ping timeout: 268 seconds]
M| has joined #ocaml
_unK has joined #ocaml
ttamttam has quit [Quit: Leaving.]
barismetin has quit [Quit: Leaving...]
M| has quit [Ping timeout: 260 seconds]
M| has joined #ocaml
th5 has joined #ocaml
jonafan has joined #ocaml
brooksbp has joined #ocaml
contrafunktal is now known as aavogt
thieusoai has quit [Quit: Leaving]
thieusoai has joined #ocaml
derdon has quit [Ping timeout: 258 seconds]
spearalot has quit [Quit: -arividerchi]
avsm has quit [Quit: Leaving.]
ikaros has quit [Remote host closed the connection]
brooksbp_ has joined #ocaml
<Camarade_Tux>
btw, a short example lablgtk2 code: creates a tabbed-UI which reacts to C-t (new tab) and C-w (close tab) : http://vpaste.net/UMXPs?
<Camarade_Tux>
(I'll put that on something better than a pastebin soon)
brooksbp has quit [Ping timeout: 246 seconds]
th5 has quit [Quit: th5]
ftrvxmtrx has joined #ocaml
protz has quit [Read error: Operation timed out]
Submarine has quit [Ping timeout: 265 seconds]
ikaros has joined #ocaml
_unK has quit [Remote host closed the connection]
scriptdevil has joined #ocaml
<scriptdevil>
type idref = { mutable id : 'a . 'a -> 'a };;
<scriptdevil>
what does the . in the type signature mean?
<flux>
'a . means "for all types 'a"
<scriptdevil>
Along with the .?
<flux>
yes
<scriptdevil>
:) Ok.
<scriptdevil>
flux: Why does 'a -> 'a not suffice?
_unK has joined #ocaml
<flux>
because then you'd need to have: type 'a idref = { mutable id : 'a -> 'a }
<flux>
and ((+) 1) would fit that type
<flux>
it would then become int idref
<flux>
also, because it's mutable, let identity a = a would not make 'a idref
<flux>
it would make '_a idref (in other words the type is fixed later)
<scriptdevil>
hmmm :) Much clearer. Thanks :) The typesystem is kinda complex
ikaros has quit [Quit: Leave the magic to Houdini]
<flux>
a more practical example on when 'a.'a is useful: type t = { filter : 'a. ('a -> bool) -> 'a list -> 'a list }
<flux>
now you can have a record: { filter = List.filter }
sepp2k has joined #ocaml
<scriptdevil>
flux: Amazing example :D
<flux>
and you could pass that around like: let doit ops = .. .. ops.filter (fun .. ) data ..
<orbitz>
is that diff than just type 'a t = ..
<scriptdevil>
Perfect now!
<flux>
orbitz, yes it is
<orbitz>
in what way
<scriptdevil>
orbitz: When it is mutable. I think
<flux>
orbitz, well, consider the same code needs to filter int lists and bool lists
<flux>
well, maybe it wasn't that apparent actually why the assumed approach doesn't work
<flux>
scriptdevil, I wonder what your code does, though, because I can't think of useful ways to make use of that record :)
<orbitz>
in what place woudl type 'a t = {filter : ('a -> bool) -> 'a list -> 'a list} not work compare dto yoru defintion?
<scriptdevil>
flux: It was used to explain how polymorphic functions can be wrapped up in records. OCaml Reference manual: 19
<flux>
orbitz, the problem is that when you write a function: let foo ops = ops.filter (const true) [0] - the type of ops becomes 'int t'
<flux>
not 'a t
<flux>
orbitz, so when you try to apply it another time for another type, it fails
<flux>
you can try it: let foo ops = ops.filter (const true) [0]; ops.filter (const true) ['a']
<flux>
oh, right, I pasted that already :-)
<flux>
(also: let const a b = a)
<orbitz>
ohh so i see
<orbitz>
the inference is figig otu eth [0]
<orbitz>
err way i dont' see
<flux>
apparently orbitz' brains just blew out :(
<orbitz>
haha
<orbitz>
writign soem test code
<flux>
ocaml 3.12 allows you to write: let foo (f : 'a. ('a -> bool) -> 'a list -> 'a list) = ..
<flux>
earlier you needed to make do with a record (or object)
<flux>
of course, 3.12 is not released yet, so that earlier is now :)
CodeBlock has quit [Quit: Changing server]
CodeBlock has joined #ocaml
Yoric has quit [Quit: Yoric]
CodeBlock has quit [Client Quit]
CodeBlock has joined #ocaml
<orbitz>
ok i getit now :)
CodeBlock has quit [Client Quit]
CodeBlock has joined #ocaml
ikaros has joined #ocaml
josswr has quit [Ping timeout: 276 seconds]
ikaros has quit [Client Quit]
_unK has quit [Read error: Connection reset by peer]
ttamttam has joined #ocaml
josswr has joined #ocaml
ikaros has joined #ocaml
derdon has joined #ocaml
_unK has joined #ocaml
pad has joined #ocaml
ygrek has joined #ocaml
scriptdevil has quit [Quit: leaving]
_andre has quit [Quit: Lost terminal]
Submarine has joined #ocaml
<Camarade_Tux>
started playing with React/lablgtk, works but I must be doing something wrong with React (randomly stops)
Yoric has joined #ocaml
travisbrady has joined #ocaml
srcerer has joined #ocaml
Narrenschiff has joined #ocaml
ttamttam has quit [Quit: Leaving.]
fraggle_ has joined #ocaml
bzzbzz has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
srcerer has quit [Read error: Connection reset by peer]
srcerer has joined #ocaml
ker has joined #ocaml
fraggle_ has quit [Quit: -ENOBRAIN]
<Camarade_Tux>
anyone with React and lablgtk2 installed ? willing to test a very short code? it stops on React2 side after pi/2 seconds no matter what I do
<orbitz>
React an FRP lib?
<Camarade_Tux>
code is here : http://vpaste.net/P55KC? , compile with 'ocamlfind opt -package lablgtk2,react -thread -linkpkg key_react.ml -g'
<Camarade_Tux>
orbitz: yes
<Camarade_Tux>
run a.out and then type random characters ('fghjklmkjuytrerftgyhjkljhg' will do it): do all the letters get printed?
<orbitz>
cool, can't wait utnil summer when i can play with this stuff
<orbitz>
i don't have acess to a machien with that righ tnow
<Camarade_Tux>
='(
<Camarade_Tux>
(nah, no problem, I guess I'm doing something wrong, thought it might be my box but I don't think so
<Camarade_Tux>
)
<Camarade_Tux>
argh, it's working now! ='(
Narrenschiff has quit [Quit: Narrenschiff]
<Camarade_Tux>
abasically, if for each keypress, I call 'send (Char.chr (GdkEvent.Key.keyval gdk_event));' 10 times or less, it ends up stuck, if I do it 11 times or more, it doesn't...
<Camarade_Tux>
well, almost :-)
fraggle_ has joined #ocaml
Smerdyakov has joined #ocaml
enthymeme has joined #ocaml
Smerdyakov has quit [Quit: Leaving]
protz has joined #ocaml
ikaros has quit [Ping timeout: 258 seconds]
ikaros has joined #ocaml
ulfdoz has joined #ocaml
komar_ has quit [Ping timeout: 258 seconds]
komar_ has joined #ocaml
enthymeme has quit [Quit: rcirc on GNU Emacs 23.1.1]
derdon has quit [Ping timeout: 276 seconds]
ulfdoz has quit [Ping timeout: 252 seconds]
ulfdoz has joined #ocaml
kriko has joined #ocaml
thieusoai has quit [Remote host closed the connection]
<kriko>
btw - if I'm writing program directly in ocaml console, I use ;; always at the end of lines, also where single ; is here used?
<mfp>
; follows an expression that returns unit
<mfp>
the value of (a; b) is b, and a is evaluated before b
<kriko>
aha, tnx for clarification
<mfp>
(; is called the "sequence operator")
<mfp>
also, begin ... end is equivalent to ( ... )
<kriko>
I like begin / end, reminds me of pascal days
<kriko>
:P
<mfp>
in your code, you need the parentheses/begin+end because otherwise the expression is evaluated as (if _n <= 1 then 1 else Printf.printf "stuff %d" _n); fibonacci (_n - 1) + fibonacci (_n - 2) which wouldn't type
jakedouglas has quit [Quit: Leaving.]
ker has quit [Read error: Connection reset by peer]
<kriko>
hm, I have to sort a list of int's in ascending order. Is there an easier way than comparing element to element and iterating over X times until it's sorted?