dapz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
BitPuffin has quit [Ping timeout: 255 seconds]
thomasga has quit [Quit: Leaving.]
dotfelix has joined #ocaml
ustunozgur has quit [Remote host closed the connection]
racycle has quit [Quit: ZZZzzz…]
dotfelix has quit [Quit: Leaving]
ontologiae has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Quit: Leaving.]
tlockney_away is now known as tlockney
Eyyub has quit [Ping timeout: 244 seconds]
martintrojer has quit [Ping timeout: 252 seconds]
manizzle has quit [Ping timeout: 255 seconds]
martintrojer has joined #ocaml
shinnya has quit [Ping timeout: 264 seconds]
tlockney is now known as tlockney_away
Eyyub has joined #ocaml
tlockney_away is now known as tlockney
claudiuc has quit [Remote host closed the connection]
penglingbo has joined #ocaml
glurky has quit [Ping timeout: 240 seconds]
ontologiae has joined #ocaml
manizzle has joined #ocaml
f[x] has joined #ocaml
divyanshu has joined #ocaml
divyanshu has quit [Client Quit]
ontologiae has quit [Ping timeout: 244 seconds]
racycle has joined #ocaml
martinsk has joined #ocaml
<martinsk>
a newbie question - so I downloaded Async and Core using opam - but my repl inside emacs don't know them... how do I make it aware of the stuff opam gets from the web?
<Drup>
#require "core" ;;
aggelos has quit [Ping timeout: 264 seconds]
<martinsk>
# #require "core";;
<martinsk>
Drup: Unknown directive `require'.
<Drup>
did you follow the setup in the beginning of RWO ? (I assume you are reading that)
<martinsk>
I am not reading that.
<martinsk>
I just came across some code snippets here and there..
<Drup>
oh, ok!
<martinsk>
and now I wanna build the next janestreet :)
<Drup>
then just do #use "topfind" ;;
<Drup>
(and then require thingy)
tlockney is now known as tlockney_away
<Drup>
(you can also use utop instead of the build in toplevel, it has topfind integrated and it's just plain better)
<martinsk>
I'm gonna do a blog post somewhere that none will read about my experiences with ocaml.
<adrien>
def`: a micro-benchmark basicallya, but that was clear from the beginning ;)
<def`>
adrien: yeah, that's why I am not sure it's worth trying to find why the pull request didn't improve anything
<adrien>
yeah, entirely your call
<adrien>
you did the original code so you chose whether you feel like doing something :)
Derander has joined #ocaml
Derander has quit [Excess Flood]
Derander has joined #ocaml
rgrinberg has joined #ocaml
BitPuffin has quit [Ping timeout: 245 seconds]
Nuki has joined #ocaml
<ousado>
lol a benchmark comparing languages including file IO?
<def`>
… yeah
<def`>
adrien: I was just disappointed by the really bad performance of the array_foldleft2 :P
eikke_ has joined #ocaml
<eikke_>
is there, given e.g. 'type _ t = I : int t | S : string t' any way to write a function of type 'type d. int -> d t', e.g. 'fun v -> match v with 0 -> I | _ -> S' ?
<def`>
eikke_: type wrap = W : 'a t -> wrap, fun v -> match v with 0 -> W I | _ -> W S
<eikke_>
using an existential, hmh yeah
<def`>
you have to hide the existential 'a in 'a t
<eikke_>
thought about that but that's not-so-cool :)
<def`>
otherwise you can use CPS and second-rank polymorphism
<def`>
… but that's even worse :P
<def`>
let f (k : <m: 'a . 'a t -> 'b>) = function 0 -> k#m I | _ -> k#m S;;
<eikke_>
def`: that'd make my API inpenetrable
AltGr has joined #ocaml
<adrien_o1w>
def`: :)
<adrien_o1w>
ousado: file I/O is minimal however
<ousado>
yeah, but it it always introduces unpredictable delays
<ousado>
s/it//
<adrien_o1w>
it's done at the beginning only
<ousado>
if you're running it often and everything is in cache, maybe it doesn't matter that much, but still, what does a benchmark mean when it tests 300 things at once
<adrien_o1w>
it's very very minimal
adrien_o1w is now known as adrien_oww
<def`>
unless you're doing it wrong (e.g IO using Haskell String), you're more li
<def`>
likely to measure the OS VFS layer
<adrien_oww>
should be very fast then: testing wasn't performed on Windows
toolslive has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
hhugo has joined #ocaml
pminten has joined #ocaml
remyzorg has joined #ocaml
thomasga has joined #ocaml
ousado has quit [Quit: --]
ousado has joined #ocaml
BitPuffin has joined #ocaml
lordkryss has joined #ocaml
<BitPuffin>
are there any plans to add list comprehensions to ocaml?
Nuki has quit [Ping timeout: 240 seconds]
ggole_ has joined #ocaml
ggole has quit [Ping timeout: 245 seconds]
toolslive has quit [Remote host closed the connection]
<engil>
BitPuffin: I don't know, but there is list comprehensions in Batteries
<BitPuffin>
engil: as a syntax extension?
<BitPuffin>
I know that there is List.filter in core
<BitPuffin>
but it's pretty verbose
<engil>
BitPuffin: yup
thomasga has quit [Quit: Leaving.]
dapz has quit [Ping timeout: 240 seconds]
sagotch has quit [Ping timeout: 240 seconds]
<Armael>
there are list comprehension in camlp4
<Armael>
if you load the camlp4.listcomprehension package (#require "camlp4.listcomprehension" in utop for example)
<Armael>
you can write things like [i*2 | i <- [1;2;3]]
ygrek_ has quit [Ping timeout: 255 seconds]
rand000 has joined #ocaml
glurky has joined #ocaml
alpounet has joined #ocaml
<BitPuffin>
oh interesting
<BitPuffin>
I should look into camlp4
<BitPuffin>
might be good inspiration for my language
alpounet has quit [Read error: Connection reset by peer]
alpounet has joined #ocaml
thomasga has joined #ocaml
ygrek_ has joined #ocaml
avsm has joined #ocaml
ygrek_ has quit [Remote host closed the connection]
ygrek has joined #ocaml
<jpdeplaix>
engil: nope, not anymore since 2.0.
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
sagotch has joined #ocaml
glurky has quit [Ping timeout: 240 seconds]
ygrek has quit [Ping timeout: 245 seconds]
ygrek has joined #ocaml
divyanshu has quit [Quit: Computer has gone to sleep.]
divyanshu has joined #ocaml
thomasga has quit [Quit: Leaving.]
ontologiae has joined #ocaml
ygrek has quit [Remote host closed the connection]
avsm has quit [Quit: Leaving.]
thomasga has joined #ocaml
thomasga1 has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
cago has quit [Ping timeout: 240 seconds]
thomasga1 has quit [Ping timeout: 272 seconds]
studybot_ has quit [Remote host closed the connection]
arjunguha has joined #ocaml
arjunguha has quit [Client Quit]
Hannibal_Smith has quit [Quit: Sto andando via]
Kakadu has quit [Ping timeout: 246 seconds]
cago has joined #ocaml
<engil>
jpdeplaix: it seems that there is something in camlp4, though, but I didn't knew before today
maattdd has joined #ocaml
robink has quit [Ping timeout: 244 seconds]
robink has joined #ocaml
cago has quit [Ping timeout: 245 seconds]
ontologiae has quit [Ping timeout: 244 seconds]
avsm has joined #ocaml
cago has joined #ocaml
darkf has quit [Quit: Leaving]
pminten has quit [Remote host closed the connection]
xitology_ has joined #ocaml
studybot_ has joined #ocaml
divyanshu has quit [Quit: Computer has gone to sleep.]
willb1 has quit [Ping timeout: 252 seconds]
ontologiae has joined #ocaml
thomasga has joined #ocaml
Kakadu has joined #ocaml
thomasga has quit [Client Quit]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
thomasga has joined #ocaml
racycle has joined #ocaml
studybot_ has quit [Remote host closed the connection]
arjunguha has joined #ocaml
arjunguha has quit [Client Quit]
divyanshu has joined #ocaml
avsm has quit [Quit: Leaving.]
bbarker has joined #ocaml
avsm has joined #ocaml
racycle has quit [Quit: ZZZzzz…]
huza has joined #ocaml
<BitPuffin>
If I put something in the .ml file that isn't in the .mli is it private?
<adrien>
yes
penglingbo has quit [Ping timeout: 240 seconds]
ontologiae has quit [Ping timeout: 264 seconds]
maattdd has quit [Ping timeout: 255 seconds]
arjunguha has joined #ocaml
ontologiae has joined #ocaml
huza has quit [Quit: WeeChat 0.3.8]
studybot_ has joined #ocaml
xitology_ has quit [Quit: Ex-Chat]
jonludlam has quit [Quit: Coyote finally caught me]
Eyyub has joined #ocaml
<BitPuffin>
first class modules are warping my brain right now
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<companion_cube>
BitPuffin: what are you trying to do with them?
<BitPuffin>
companion_cube: well I'm just learning about them
<BitPuffin>
and it's quite new
cago has quit [Remote host closed the connection]
arjunguha has joined #ocaml
aggelos has quit [Remote host closed the connection]
Moataz-E has joined #ocaml
maattdd has joined #ocaml
penglingbo has joined #ocaml
arjunguh_ has joined #ocaml
arjunguha has quit [Ping timeout: 255 seconds]
olauzon has joined #ocaml
divyanshu has quit [Ping timeout: 240 seconds]
maattdd has quit [Ping timeout: 245 seconds]
divyanshu has joined #ocaml
shinnya has joined #ocaml
sagotch has quit [Remote host closed the connection]
thomasga has quit [Quit: Leaving.]
avsm has quit [Quit: Leaving.]
thomasga has joined #ocaml
slash^ has joined #ocaml
jludlam has joined #ocaml
jludlam is now known as jonludlam
rand000 has quit [Ping timeout: 264 seconds]
olauzon has quit [Quit: olauzon]
<BitPuffin>
val eval : t -> Sexp.t -> Sexp.t Or_error.t
<BitPuffin>
hmm
philtor has joined #ocaml
<BitPuffin>
does this mean that it can return Sexp.t or Or_error.t?
<def`>
Sexp.t or Error.t
<jpdeplaix>
nope. It just means that is returns « Sexp.t Or_error.t » which is an option-like type
<def`>
Sexp.t Or_error.t = (Sexp.t, Error.t) Result.t ~= Ok of Sexp.t | Error of Error.t
<BitPuffin>
well I'm just kind of confused what it means to put two types next to each other
<Armael>
the first is a parameter of the second
<Armael>
like in 'int list'
<BitPuffin>
hmm
<BitPuffin>
I guess that makes sense kind of
<BitPuffin>
so Or_error.t is declared as type 'a t = ('a, Error.t) Result.t
<BitPuffin>
why isn't it ('a Error.t) Result.t
<BitPuffin>
oh
<BitPuffin>
I guess it's a tuple
<BitPuffin>
or is it a pattern patch? Because Sexp.t is not a tuple
<BitPuffin>
ah wait 'a is the only parameter
<BitPuffin>
I*m over complicating things xD
<def`>
('a, Error.t) are just two different parameters: the first is 'a, the second Error.t
<BitPuffin>
def`: so when there is more than one parameter you need to enclose them with () and comma separate?
<def`>
yes
ygrek has joined #ocaml
remyzorg has quit [Remote host closed the connection]
philtor has quit [Ping timeout: 240 seconds]
arjunguh_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<BitPuffin>
would be so easy to do all this cross compilation stuff if ocamlopt could spit out C code
Arsenik has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
<BitPuffin>
wait wat
<BitPuffin>
ocamlopt -output-obj?
<BitPuffin>
adrien: couldn't I use that to create a C file that I can build natively for every platform?
tlockney_away is now known as tlockney
studybot_ has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
<whitequark>
BitPuffin: I have a feeling that you're solving a wrong problem
<BitPuffin>
whitequark: ?
seanmcl has joined #ocaml
arj has quit [Quit: Leaving.]
arjunguha has joined #ocaml
racycle has joined #ocaml
<BitPuffin>
well I have to go
Moataz-E has quit [Quit: Leaving]
boogie has quit [Remote host closed the connection]
rgrinberg has quit [Quit: Leaving.]
BitPuffin has quit [Ping timeout: 244 seconds]
ygrek has quit [Ping timeout: 245 seconds]
rgrinberg has joined #ocaml
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ikaros has quit [Quit: Ex-Chat]
arjunguha has joined #ocaml
ggole__ has joined #ocaml
ggole_ has quit [Ping timeout: 240 seconds]
boogie has joined #ocaml
Eyyub has quit [Ping timeout: 255 seconds]
jonludlam has quit [Remote host closed the connection]
elfring has joined #ocaml
q66 has joined #ocaml
Eyyub has joined #ocaml
thomasga has quit [Quit: Leaving.]
ontologiae has quit [Ping timeout: 272 seconds]
avsm has joined #ocaml
ontologiae has joined #ocaml
thomasga has joined #ocaml
dapz has joined #ocaml
lordkryss has quit [Ping timeout: 244 seconds]
tlockney is now known as tlockney_away
AltGr has left #ocaml [#ocaml]
ontologiae has quit [Ping timeout: 245 seconds]
lordkryss has joined #ocaml
lordkryss_ has joined #ocaml
Kakadu has quit [Ping timeout: 246 seconds]
seanmcl has quit [Read error: Connection reset by peer]
lordkryss has quit [Ping timeout: 244 seconds]
yacks has quit [Ping timeout: 252 seconds]
dapz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
BitPuffin has joined #ocaml
maattdd has joined #ocaml
avsm has quit [Quit: Leaving.]
manizzle has quit [Ping timeout: 240 seconds]
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ssbr has joined #ocaml
BitPuffin has quit [Ping timeout: 244 seconds]
dsheets has quit [Ping timeout: 240 seconds]
BitPuffin has joined #ocaml
penglingbo has quit [Ping timeout: 245 seconds]
arjunguha has joined #ocaml
dapz has joined #ocaml
yacks has joined #ocaml
studybot_ has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
lordkryss_ is now known as lordkryss
bjorkintosh has quit [Ping timeout: 240 seconds]
<orbitz>
companion_cube: I took a quickcheck state machine class yesterday
<orbitz>
Very cool. I'm not sure how to properly implement it in Ocaml yet thouhg
manizzle has joined #ocaml
<companion_cube>
orbitz: what's the state machine part about?
hyPiRion has quit [Ping timeout: 245 seconds]
<orbitz>
being able to test thing swith state rather than just pure functions
<orbitz>
so yo ugive it a list of possible transitions and it creates a random ordering of them and applies them and fails if they fail
hyPiRion has joined #ocaml
thomasga has quit [Quit: Leaving.]
dsheets has joined #ocaml
<companion_cube>
oh, ok, nice
<companion_cube>
almost like safety properties of model-checking
<orbitz>
so effectively what it comes down to is you define operations
<companion_cube>
orbitz: still, the state machine is a pure function from initial state * input list to fine state
<orbitz>
and then how applying that operation affects your model
<orbitz>
and post conditions to check after the application
<orbitz>
companion_cube: your model repreestaiton is pure, but you are testign things with possible side effects
<orbitz>
for example a databae API
<companion_cube>
aww
<orbitz>
so your test has to be sure it somehow starts clean
Kakadu has joined #ocaml
<orbitz>
companion_cube: the hardest part that I'm not sure how to do in Ocaml is arguments for function calls
<companion_cube>
you could use tuples, so that all functions become unary
<companion_cube>
then if it's a problem abotu the list of operations, use a GADT
<orbitz>
so in Quickcheckin Erlang you say like register_command() -> {call, register, [name()]}. register(Name) -> erlang:register(Name).
<orbitz>
and you can do that for an arbitrary arity
tlockney_away is now known as tlockney
<orbitz>
taht says, one if my tarnsitions commands is 'register', and that should call register with input as the name generator, then it will call regsier with an arbitray name
<orbitz>
and these get threaded through the transitiosn too, so it's really creating sumbolic varaibles for specific instntiations of name (there could be N) and applying the function with hat
<orbitz>
I suppose yo ucould use tupls like you do now
<orbitz>
Still not sure how it would look (yet)
<orbitz>
And you'd need to parameteirze it over a monad I think too, in roder to be useful
<orbitz>
Anyways, I'm going to implement some mroe state machine models in Erlang's QC over the next few months so hopefully I'll get a better feel for it. It's crazy pwoerful though
<companion_cube>
type 'a operation = | Register : string operation | GetTime : float operation | CallMom : todo list operation | Bind : 'a operation * ('a -> 'b operation) -> 'b operation
<orbitz>
and with ocaml-ctypes, could be really nice to test C code
<orbitz>
Erlang's QC comes with some C code checking as well whcih is cool
rgrinberg has joined #ocaml
ggole__ is now known as ggole
alpounet has quit [Remote host closed the connection]
alpounet has joined #ocaml
alpounet has quit [Ping timeout: 255 seconds]
bjorkintosh has joined #ocaml
philtor_ has joined #ocaml
manizzle has quit [Remote host closed the connection]
manizzle has joined #ocaml
claudiuc has joined #ocaml
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 255 seconds]
philtor_ has quit [Ping timeout: 240 seconds]
maattdd has quit [Ping timeout: 245 seconds]
jbrown has quit [Remote host closed the connection]
maattdd has joined #ocaml
avsm has joined #ocaml
divyanshu has quit [Quit: Computer has gone to sleep.]
rand000 has joined #ocaml
divyanshu has joined #ocaml
<maurer>
Is there a good way to get OASIS to run a command to get a value for e.g. CCLib?
<maurer>
If I run llvm-config --libs and put the value in CCLib, my project builds
<maurer>
but to work with other LLVM installs, I should really run that during build
Kakadu has quit [Read error: Connection reset by peer]
maattdd has quit [Ping timeout: 245 seconds]
Kakadu has joined #ocaml
shinnya has joined #ocaml
<Drup>
maurer: you can put shell variable, I think
<Drup>
look at "Variables" in Oasis's manual
dapz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Eyyub has quit [Ping timeout: 264 seconds]
maattdd has joined #ocaml
<maurer>
Drup: how am I going to get it into the variable though?
<maurer>
Everything there just discusses what variables plugins make available
<johnf>
I got an error before the comma so never got to it.
<johnf>
Drup: "let {n ; n'} = myb"? I thought in this case because myb is type b that I could pattern match on it and get x to be n and y to be n'. However I get this error,
<Drup>
because you are not pattern matching properly
<Drup>
you are doing it as if myb was a pair
<Drup>
but it's not a pair, it's a b
<johnf>
oh doh yep.
<Drup>
I gave you the correct way to pattern match it, as a record b
<johnf>
myb.n and myb.n'
<johnf>
oh even better thanks.
axiles has quit [Remote host closed the connection]
elfring has quit [Quit: Konversation terminated!]
alexst has quit [Read error: No route to host]
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 244 seconds]
dapz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
SethTisue has joined #ocaml
avsm has quit [Quit: Leaving.]
ej89 has joined #ocaml
thomasga has quit [Quit: Leaving.]
seanmcl has joined #ocaml
<ej89>
Hey, newbie question here: I'm trying to run OCaml under Cygwin on Windows, but I'm getting an error: "cannot open implicit module "Pervasives"". Does anyone happen to know what could cause this? :-)
<ej89>
It was working fine yesterday, but I'm not entirely confident that my OCaml installation is set up right.
tnguyen1 has joined #ocaml
<ej89>
I first tried using the native (mingw) installer, but that didn't play nice with the project I'm trying to build (https://github.com/facebook/pfff), so I uninstalled that and installed the ocaml package from the Cygwin package manager.
<ej89>
(The pfff project has a lot of hardcoded Unix-style / paths, so it got quite confused in the native environment.)
fraggle_ has quit [Remote host closed the connection]
<ej89>
Everything was working great yesterday - I was able to run the "ocaml" top-level interpreter from the Cygwin command line.
<ej89>
However, now that I've rebooted, it isn't working any more. :-( Now I'm getting the "cannot open implicit module "Pervasives"" error. Other error messages when I try to build the project make references to "C:\" paths, so I'm wondering if there's some "junk" left over from the native installation that's not playing nice with the Cygwin version.
bbarker has quit [Quit: Connection closed for inactivity]
thomasga has joined #ocaml
philtor_ has joined #ocaml
Arsenik has quit [Remote host closed the connection]
kakadu_ has quit [Quit: Konversation terminated!]
Arsenik has joined #ocaml
fraggle_ has joined #ocaml
Eyyub has quit [Ping timeout: 240 seconds]
eikke_ has quit [Ping timeout: 240 seconds]
slash^ has quit [Read error: Connection reset by peer]
ej89 has left #ocaml [#ocaml]
SethTisue has quit [Ping timeout: 244 seconds]
yomimono has quit [Ping timeout: 240 seconds]
SethTisue has joined #ocaml
eikke_ has joined #ocaml
Eyyub has joined #ocaml
avsm has joined #ocaml
studybot_ has quit [Remote host closed the connection]
Simn has quit [Quit: Leaving]
hhugo has quit [Quit: Leaving.]
dapz has joined #ocaml
shinnya has quit [Ping timeout: 255 seconds]
hhugo has joined #ocaml
Arsenik has quit [Remote host closed the connection]
<adrien>
erf he left
<adrien>
I bet ocaml sees his mingw installation now
<adrien>
env vars probably
<adrien>
and tries to access windows paths from cygwin
thomasga has quit [Quit: Leaving.]
shinnya has joined #ocaml
<smondet>
hey, has anyone got sqlite3-ocaml installed and fully working on macosx?
<smondet>
(through opam and compiling programs together with lwt/thread stuff)