<gnech>
did you know ocaml before you started the project
<_habnabit>
nope
sebz has joined #ocaml
<gnech>
what was the learning curve like for you
Tobu has quit [Ping timeout: 252 seconds]
philtor has joined #ocaml
Tobu has joined #ocaml
ulfdoz has quit [Ping timeout: 240 seconds]
Tobu has quit [Read error: Operation timed out]
fantasticsid has joined #ocaml
philtor has quit [Ping timeout: 252 seconds]
sebz has quit [Quit: Computer has gone to sleep.]
Tobu has joined #ocaml
gnech has quit [Ping timeout: 240 seconds]
ftrvxmtrx has quit [Quit: Leaving]
ttamttam has joined #ocaml
fantasticsid has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
ftrvxmtrx has joined #ocaml
cago has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
Kakadu has joined #ocaml
Julien_T has joined #ocaml
munga has joined #ocaml
munga has quit [Read error: Connection reset by peer]
milosn has joined #ocaml
Cyanure has joined #ocaml
ankit9 has joined #ocaml
ski has quit [Ping timeout: 255 seconds]
Tobu has joined #ocaml
ski has joined #ocaml
ocp has joined #ocaml
fantasticsid has joined #ocaml
avsm has joined #ocaml
Julien_T has quit [Ping timeout: 255 seconds]
sebz has joined #ocaml
sgnb has quit [Ping timeout: 260 seconds]
Julien_T has joined #ocaml
ikaros has joined #ocaml
<Ptival>
is it okay to have a .mli with no .ml?
<Ptival>
for a module interface?
<f[x]>
it is hackish
<Ptival>
what is the proper way?
<Ptival>
I'd like a module A1 to take any B, and to have modules B1 and B2 being B's, where do I write the module type B?
iago has joined #ocaml
<f[x]>
in the ml file
<f[x]>
module type B = sig ... end
<Ptival>
in what ml file?
<f[x]>
any
<f[x]>
probably the one with A1
<Ptival>
it seems strange to me...
<f[x]>
why?
<f[x]>
having a mli without ml _is_ strange
<Ptival>
I ought to be able to have the typechecker tell me that B1 satisfies B without looking at A1.ml
ocp has quit [Ping timeout: 248 seconds]
<f[x]>
module B1 : B = struct ... end
<f[x]>
and applying A1 ensures that the passed module has correct signature
<Ptival>
would I need open A1 in B1.ml?
<Ptival>
I can test
<f[x]>
how can you open A1 if it is a functor?
<f[x]>
or it is not?
<Ptival>
"the file with module type B and functor A1"
iago has quit [Quit: Leaving]
<adrien>
is there a way to get the address of a value? basically, I'm having issues with == and != I think and I'd like to trace when a variable becomes different for !=
<adrien>
(poor wording ftw! \o/ )
<flux>
address of a value? it can change?
<flux>
I guess a debugger could tell you the location of a variable at certain point of time..
<flux>
maybe you could patch ocaml's ref-type to support tracing :()
<flux>
s/(//)
<adrien>
:P
<flux>
(gah, I fail at sed)
<flux>
so your problem is that you try to maintain a variable's physical identity, but sometimes the code fails to do that
<adrien>
I fold over events (FRP stuff) and for one specific iteration, the function should be equivalent to "fun prev_state (new_state, msg) -> prev_state, `whatever)" but somethings going wrong
<adrien>
flux: exactly :-)
<flux>
well, a sticky situation :)
ankit9 has quit [Quit: Leaving]
<adrien>
I replaced a != with a <> and I'm still getting the same behaviour; now I need to find the root of the change ><
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
<adrien>
I'm going to solve this bug and the next step will be to add a new functor to my library in order to provide a printing function for the state of values
iago has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
sebz has quit [Client Quit]
ftrvxmtrx has quit [Quit: Leaving]
<adrien>
found at last; not solved yet
<adrien>
cycles in FRP are everything but funny
<adrien>
(cycles in the updates)
letrec has joined #ocaml
sebz has joined #ocaml
antegallya has joined #ocaml
ftrvxmtrx has joined #ocaml
mcclurmc has quit [Excess Flood]
mcclurmc has joined #ocaml
Tobu has quit [Remote host closed the connection]
Tobu has joined #ocaml
Snark has joined #ocaml
fantasticsid has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
sgnb has joined #ocaml
ocp has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
sebz has joined #ocaml
Tobu has quit [Ping timeout: 272 seconds]
ttamttam has left #ocaml []
Tobu has joined #ocaml
ankit9 has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
ttamttam has joined #ocaml
oriba has joined #ocaml
<avsm>
adrien: FROC deals with this pretty well
<adrien>
avsm: I'll take a look at it but I think I also have some quite fundamental issues
<adrien>
I haven't seen 'fold' in froc; have I missed it, is it under another name or does it not exist?
<avsm>
it can be implemented on top of it (read his blog post on the map function). its missing a Lwt_list-style helper module
<adrien>
also, using some higher-level libraries can make FRP quite annoying at times
<adrien>
ok, I will, thanks
Kakadu has quit [Quit: Page closed]
<adrien>
currently, I'm using my own "minifrp" module; it works quite fine but it'll probably prove a bit limited in the future (it only provides a fold operation)
<avsm>
it can be hard to reason about, yeah
ousado has quit [Remote host closed the connection]
<adrien>
yup, I think I'll fix my current bug and take some holidays ;-)
antegallya has quit [Quit: Leaving.]
Julien_T has quit [Ping timeout: 248 seconds]
gnech has joined #ocaml
antegallya has joined #ocaml
ocp has left #ocaml []
<Drakken>
Fatal error: exception Invalid_argument("Thread.kill: not implemented")
<antegallya>
Yop, but as its said "Terminating another thread at arbitrary times is an inherently unsafe operation"
ankit9 has quit [Quit: Leaving]
cago has quit [Quit: Leaving.]
gnech has quit [Ping timeout: 244 seconds]
BiDOrD_ has joined #ocaml
BiDOrD has quit [Ping timeout: 240 seconds]
ttamttam has quit [Quit: ttamttam]
oriba has quit [Quit: oriba]
<thelema>
Drakken: just ask the thread to quit by setting a boolean ref that's accessible to the other thread.
<Drakken>
done
<thelema>
great
<Drakken>
those pesky thread probs!
<thelema>
On the ocaml list, bench is getting some attention; I want to be able to show it off with a nice picture, have you thought about a 1d comparison of results? Maybe plot the points in light grey, and show confidence interval for mean in different colors?
<Drakken>
thelema not much thought until you mentioned it, but it looks simple enough.
<thelema>
if I throw something together quickly, can you give feedback?
<Drakken>
sure
ulfdoz has joined #ocaml
<Drakken>
I'm making a system call in the child thread and calling read_line in the parent as a way to turn the child off. I switched from Thread.kill to a bool ref, but now I get a Sys_blocked_io exception.
<thelema>
huh? you're still calling read_line in the parent?
<thelema>
and you're trying to interrupt the child in the middle of a system call?
<Drakken>
the parent turns the switch off after I hit <RTRN>.
<thelema>
ah, ok. you're using read_line to trigger the switch
<Drakken>
right
<thelema>
what does the parent do after triggering the switch?
<Drakken>
It goe back to the interactive interface that asks me what I want to do next.
<Drakken>
goeS
<thelema>
and I'm guessing it's there that it's throwing the blocked_io?
milosn has quit [Read error: Operation timed out]
milosn_ has joined #ocaml
<Drakken>
I never get the chance to hit return. The child is a recursive function. It plays my little alarm sound file once, but it never recurses. The error message appears immediately, so the prob must occur before Thread.delay.
<thelema>
ah, the read_line reports that it's blocked because there's no data from stdin to read
milosn_ has quit [Ping timeout: 252 seconds]
<Drakken>
I don't see anything in the Thread doc about controlling access to stdin.
<thelema>
(as opposed to waiting for data to become available from stdin and read it)
milosn has joined #ocaml
<thelema>
hmm, Sys_blocked_io should only be raised on non-blocking IO channels
joewilliams has quit [Remote host closed the connection]
joewilliams has joined #ocaml
gnech has joined #ocaml
avsm has quit [Quit: Leaving.]
lopex has quit [Read error: Connection reset by peer]
joewilliams has quit [Remote host closed the connection]
bobry has quit [Remote host closed the connection]
emmanuelux has joined #ocaml
Tobu has quit [Read error: Operation timed out]
ftrvxmtrx has joined #ocaml
srcerer_ is now known as srcerer
joewilliams has joined #ocaml
lopex has joined #ocaml
<thelema>
hmm, how to label x axis tics...
Anarchos has joined #ocaml
Tobu has joined #ocaml
bobry has joined #ocaml
Drup has joined #ocaml
lopex_ has joined #ocaml
lopex has quit []
lopex_ is now known as lopex
raichoo has joined #ocaml
letrec has quit [Ping timeout: 260 seconds]
ousado has joined #ocaml
ousado has quit [Changing host]
ousado has joined #ocaml
antegallya has quit [Quit: Leaving.]
milosn has quit [Ping timeout: 240 seconds]
milosn has joined #ocaml
milosn_ has joined #ocaml
milosn has quit [Ping timeout: 248 seconds]
milosn_ has quit [Read error: Operation timed out]
milosn has joined #ocaml
lopex has quit [Read error: Connection reset by peer]
milosn_ has joined #ocaml
Julien_T has joined #ocaml
milosn has quit [Ping timeout: 252 seconds]
mbac has joined #ocaml
ikaros has quit [Remote host closed the connection]
fraggle_ has quit [Remote host closed the connection]
ttamttam has joined #ocaml
kmc has quit [Quit: Leaving]
Drakken has left #ocaml []
sebz has joined #ocaml
fraggle_ has joined #ocaml
probst has joined #ocaml
<probst>
Anyone here using OcalIDE in Eclipse?
<thelema>
emacs for me
lopex has joined #ocaml
<probst>
thelema: yes, I would like to use VIM really, but it is so convenient having an IDE that continuously rebuilds, shows me types, and helps along while I am learning Ocaml
<probst>
thelema: and it also takes care of all the build scripts etc, and I don't seem to manage to get oasis running on my mac :)
<thelema>
There are people doing that in emacs - I tried and couldn't get it working.
<thelema>
probst: hmm, have you tried using odb to build it?
<probst>
thelema: so far I have been trying to use godi, but without much luck
<thelema>
odb is less full featured than godi, but it's pretty transparent as to what it's doing. And it's *much* simpler.
ttamttam has quit [Remote host closed the connection]
Snark has quit [Quit: Quitte]
<probst>
thelema: thanks for the tip! I am trying it out now!
<thelema>
probst: let me know if you have any problems.
<probst>
thelema: this is great! odb is amazing! It really puzzles me that godi couldn't manage to get the dependencies sorted out, when odb managed to do so, without any problems at all! Really happy you pointed it out for me!
<probst>
thelema: * to me
<thelema>
:) you're welcome.
kmc has joined #ocaml
sebz has quit [Quit: Computer has gone to sleep.]
kmc has quit [Read error: Connection reset by peer]
kmc has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
kmc has quit [Remote host closed the connection]
kmc has joined #ocaml
kmc has quit [Quit: Leaving]
milosn_ has quit [Read error: Connection reset by peer]
pangoafk is now known as pango
milosn has joined #ocaml
ftrvxmtrx has joined #ocaml
<gnech>
hello
<thelema>
hi
<gnech>
I'm trying to use Camelia (IDE) in Windows. I get this error: "Fatal error: cannot open pervasives.cmi " when I try to run code
<thelema>
sounds like camelia can't find your ocaml install
kmc has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
<gnech>
I set up the locations of the interpreter, compiler, and debugger. I don't know what I need to do in order to make that work
kmc has quit [Client Quit]
<thelema>
when you run the compiler with argument -where (ocamlc -where), what does it print? And is there a pervasives.cmi in that directory?
<gnech>
weird, "ocamlc -where" returns a directory that doesn't exist
<thelema>
that's your problem.
<thelema>
ocaml is looking for pervasives.cmi in that directory
<thelema>
you may be able to fix this with an environment variable.
<thelema>
where's your pervasives.cmi?
<gnech>
it returns "C:\ocamlmgw\lib" -- I installed OCaml on T:\Program Files\...
<gnech>
in "T:\Program Files (x86)\OCaml\lib"
<thelema>
set OCAMLLIB to the lib/ in your install
<gnech>
that is already set to the correct location
Tobu has quit [Ping timeout: 252 seconds]
<thelema>
ah... hmm, I wonder why it's not taking effect
<gnech>
yeah, i might just go with an eclipse plugin in this case
oriba has joined #ocaml
kmc has joined #ocaml
<thelema>
maybe you can set your compiler to have the command-line argument -I T:\...\lib
Tobu has joined #ocaml
mdelaney has joined #ocaml
<gnech>
what do you use ocaml for?
<thelema>
my research on Finite Automata
<Anarchos>
thelema what kind of research ?
ikaros has joined #ocaml
<thelema>
alternate automaton constructions to avoid the state explosion of DFAs
<Anarchos>
thelema alternate ?
<gnech>
what can that be used for realistically?
<thelema>
yes, bending some of the rules of DFAs
<thelema>
gnech: fast packet inspection on routers
<gnech>
cool
<Anarchos>
thelema you mean deterministic finite automaton ?
<thelema>
Anarchos: yes
<Anarchos>
thelema i knew some computer scientists in the field :)
mdelaney has quit [Quit: mdelaney]
ikaros has quit [Quit: Ex-Chat]
ikaros has joined #ocaml
mdelaney has joined #ocaml
avsm has joined #ocaml
<probst>
Dear ocamlers. I am sorry I am being a newbie, but I am having some installing libraries. I had been playing around with Godi, but then, thanks to thelema, started using his excellent odb. I removed all my previous installed libraries to get a clean start, but now I am completely unable to install type-conv. Any ideas? https://gist.github.com/52678603ef9f1a482476
<probst>
avsm: heya Anil!
<thelema>
probst: what version of ocaml?
<probst>
thelema: 3.12
<thelema>
also, why type-conv-3.0.1? 3.0.4 is in odb, iirc
<probst>
thelema: I tried installing type-conv with odb, but it failed as well, so I tried getting it manually and installing from source...
<thelema>
oriba: for example, the DFA corresponding to a.{n}b has > 2^n states
<oriba>
and how can you use OCaml to solve that problem? (I think this was one question, a while ago)
<oriba>
Or are you just exploring DFAs in general and prefer OCaml over e.g. C?
<thelema>
oriba: by not building a DFA, by building something that represents this kind of regex more compactly
<oriba>
hmhh aha
milosn_ has joined #ocaml
<oriba>
maybe there are some kinds of transformations of one regewp into another one, which has better properties... I think once I read something about it, but I'm not quite sure if I remember the content of the paper correctly
<oriba>
maybe it was about avoiding certain regexps... not sure
<oriba>
do you already have any insights in this topic?
twittard has joined #ocaml
<oriba>
thelema, ...
<thelema>
I only do semantic-preserving transformations to the regex, but that doesn't get one very far.
<oriba>
is this a job issue for you, or studying/8university or just interest?
<thelema>
PhD
<oriba>
aha cool
<thelema>
manipulating automata is nicer in ocaml
<Anarchos>
thelema sure due to algebraic data types
Tobu has quit [Quit: No Ping reply in 180 seconds.]
Tobu has joined #ocaml
<thelema>
Anarchos: exactly. Plus, I can keep track of IMaps of lists of 5tuples where the last element is a set
<Anarchos>
thelema i hope you will succeed in your research !
<oriba>
thelema, will you mention in your PhD the advantages of OCaml for your research?
<thelema>
Anarchos: thanks
<thelema>
oriba: Every paper I use OCaml, it's noted in the experimental section.
<tomprince>
When both could potentially be both a source and a target of a build..
<oriba>
ok
<oriba>
but do you also explain, why you chose OCaml?
<tomprince>
dir
<oriba>
thelema, I mean, you could have chosen any other language... maybe explaining why OCaml is so cool could be something, where Ocaml'ers could point to... maybe in one section you could mention it, or in the foreword ;-)
<oriba>
"Why OCaml is the best language for my PhD..."
<thelema>
oriba: I'll probably have space for it in my PhD thesis, but my advisor puts up with my choice of OCaml, it's difficult to get such unnecessary text included into research papers with a page limit
<oriba>
thelema, hmhh "puts up with my choice of OCaml" means, he disagrees on that choice?
<thelema>
means he'd prefer I used... C++
<oriba>
oh
<oriba>
so he maybe will be more picky if you elaborate too much on it
<oriba>
...but he could learn something, I think :-)
metasyntax|work has quit [Quit: WeeChat [quit]]
zorun has quit [Quit: leaving]
dsheets has quit [Quit: Leaving.]
<thelema>
he's still not convinced that ocaml is fast
<oriba>
you can show him
<oriba>
and Assembler programmers are not convinced that C++ is fast...
<adrien>
hihihi =)
dsheets has joined #ocaml
Drakken has joined #ocaml
gnech has quit [Ping timeout: 245 seconds]
zorun has joined #ocaml
Tobu has quit [Ping timeout: 252 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
Tobu has joined #ocaml
mdelaney has quit [Ping timeout: 240 seconds]
milosn_ has joined #ocaml
mdelaney has joined #ocaml
milosn has quit [Ping timeout: 252 seconds]
Anarchos has joined #ocaml
Julien_T has quit [Read error: Operation timed out]
Cyanure has quit [Remote host closed the connection]
antegallya has joined #ocaml
mdelaney has quit [Ping timeout: 276 seconds]
ikaros has quit [Quit: Ex-Chat]
mdelaney has joined #ocaml
gnech has joined #ocaml
Tobu has quit [Ping timeout: 252 seconds]
mdelaney_ has joined #ocaml
mdelaney__ has joined #ocaml
mdelaney__ has quit [Client Quit]
mdelaney has quit [Ping timeout: 276 seconds]
mdelaney_ has quit [Ping timeout: 248 seconds]
g0dmoney- has quit [Changing host]
g0dmoney- has joined #ocaml
mdelaney has joined #ocaml
milosn_ has quit [Ping timeout: 240 seconds]
mdelaney has quit [Quit: mdelaney]
Tobu has joined #ocaml
mcclurmc has quit [Read error: Connection reset by peer]
mcclurmc has joined #ocaml
Drup has quit [Quit: Leaving.]
kmc has quit [Quit: Leaving]
Tobu has quit [Ping timeout: 248 seconds]
Tobu has joined #ocaml
raichoo has quit [Read error: Operation timed out]
Tobu_ has joined #ocaml
Tobu has quit [Read error: Connection reset by peer]
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
Tobu_ has quit [Ping timeout: 272 seconds]
Tobu has joined #ocaml
rbancroft has quit [Quit: brb]
antegallya1 has joined #ocaml
antegallya has quit [Disconnected by services]
antegallya1 is now known as antegallya
oriba has quit [Ping timeout: 240 seconds]
ulfdoz_ has joined #ocaml
ulfdoz has quit [Read error: Operation timed out]
ulfdoz_ is now known as ulfdoz
oriba has joined #ocaml
iago has quit [Quit: Leaving]
antegallya has quit [Remote host closed the connection]