bytbox has quit [Remote host closed the connection]
jonludlam has quit [Ping timeout: 245 seconds]
travisbrady has joined #ocaml
AlexRussia has quit [Ping timeout: 244 seconds]
AlexRussia has joined #ocaml
bytbox has joined #ocaml
MrScout has quit [Ping timeout: 245 seconds]
enitiz has joined #ocaml
ygrek has joined #ocaml
WraithM has quit [Ping timeout: 246 seconds]
dmiles_afk has joined #ocaml
lpw25 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
Guest67190 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
dmiles has quit [Ping timeout: 264 seconds]
NoNNaN has quit [Remote host closed the connection]
ptc has joined #ocaml
ptc is now known as Guest12732
NoNNaN has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jabesed has quit [Ping timeout: 252 seconds]
swgillespie has joined #ocaml
MrScout has joined #ocaml
BitPuffin has quit [Ping timeout: 245 seconds]
badon has quit [Quit: Leaving]
MrScout has quit [Read error: Connection reset by peer]
MrScout has joined #ocaml
huza has joined #ocaml
travisbrady has quit [Quit: travisbrady]
yminsky has joined #ocaml
yminsky has quit [Client Quit]
bytbox has quit [Remote host closed the connection]
mort___ has joined #ocaml
kube_ has joined #ocaml
<kube_>
Hi
<kube_>
I have a little problem with OPAM, I would like to know if I could get some help
<kube_>
?
mort___ has quit [Ping timeout: 265 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
hilquias has joined #ocaml
<Drup>
ask away :)
<kube_>
I think I just found the solution
<kube_>
I needed jpeglib.h for installation of glMLite Opam package
<kube_>
So I installed it with brew
<kube_>
But I didn't know how to tell the compiler to check the brew lib folder
<kube_>
I suppose it is C_INCLUDE_PATH env variable ?
<Drup>
I can't help with os x issues, sorry
<kube_>
Ok I think I found the solution but I still have a problem with the DYLIB
<kube_>
No problem
yminsky has joined #ocaml
<smondet>
kube_: brew sometimes does not "export" the pkg-config paths for libraries to find them
<smondet>
kube_: in that README we put the solution for sqlite3, the one for your library maight be similar: https://github.com/smondet/trakeva
bytbox has joined #ocaml
ontologiae has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
<kube_>
@smondet : Thanks but I solved my problem by doing : export C_INCLUDE_PATH=$HOME/.brew/include
badon has joined #ocaml
Guest12732 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
darkf has joined #ocaml
ygrek has joined #ocaml
kube_ has quit [Quit: Page closed]
Puffin has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
hilquias has quit [Ping timeout: 265 seconds]
skinkitten has quit [Quit: Leaving]
Muzer has quit [Ping timeout: 264 seconds]
cdidd has quit [Remote host closed the connection]
kapil__ has joined #ocaml
MrScout has quit [Ping timeout: 264 seconds]
q66 has quit [Quit: Leaving]
Muzer has joined #ocaml
travisbrady has joined #ocaml
tnguyen1 has joined #ocaml
hilquias has joined #ocaml
cdidd has joined #ocaml
manizzle has quit [Ping timeout: 250 seconds]
yminsky has quit [Quit: yminsky]
destrius has joined #ocaml
travisbrady has quit [Quit: travisbrady]
Puffin has quit [Ping timeout: 255 seconds]
moei has quit [Quit: Leaving...]
MrScout has joined #ocaml
moei has joined #ocaml
chinglish has joined #ocaml
swgillespie has joined #ocaml
ontologiae has quit [Ping timeout: 252 seconds]
ayepot has quit [Quit: leaving]
vanila has quit [Quit: Leaving]
travisbrady has joined #ocaml
cdidd has quit [Remote host closed the connection]
cdidd has joined #ocaml
huza has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Quit: Leaving.]
sdegutis has joined #ocaml
<sdegutis>
Is there an OCaml to JavaScript thing?
MrScout has quit [Ping timeout: 245 seconds]
claudiuc has quit [Remote host closed the connection]
araujo has quit [Quit: Leaving]
manizzle has joined #ocaml
<dmbaturin>
sdegutis: js_of_ocaml, which I haven't tried personally yet.
<dmbaturin>
try.ocamlpro.com is produced with it, which is quite impressive.
rgrinberg has joined #ocaml
Algebr has joined #ocaml
<Algebr>
Reading about Lwt, docs say that Lwt threads don't require a new stack, hmm, then they aren't really threads then.
<dmbaturin>
Algebr: As I understand, by default they are sort of cooperative multitasking, although there's a way to create actual threads. But I'm just starting on it.
<Algebr>
I'm probably ignorant, but I thought that cooperative multitasking was ridiculued, at least it was in my OS class.
travisbrady has quit [Quit: travisbrady]
<dmbaturin>
Algebr: Confined within a single process it can be reasonable. Kernel-level cooperative multitasking is horrible indeed.
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
enitiz has quit [Ping timeout: 245 seconds]
zwer has joined #ocaml
zwer_g has quit [Ping timeout: 250 seconds]
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
Intensity has joined #ocaml
swgillespie has joined #ocaml
ddosia has quit [Ping timeout: 276 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
nullcat_ has joined #ocaml
tel has joined #ocaml
samuelrivas_ has joined #ocaml
moviuro has quit [Ping timeout: 245 seconds]
Algebr has quit [Remote host closed the connection]
Algebr has joined #ocaml
moviuro has joined #ocaml
darkf_ has joined #ocaml
sdegutis has quit [Quit: Leaving...]
Algebr has quit [Ping timeout: 264 seconds]
darkf has quit [Ping timeout: 245 seconds]
swgillespie has joined #ocaml
darkf_ is now known as darkf
tel has quit [Quit: Using Circe, the loveliest of all IRC clients]
badon has quit [Ping timeout: 250 seconds]
badkins has quit []
ygrek has quit [Ping timeout: 245 seconds]
<mistym>
When opam builds an ocaml via `opam init --comp`, what flags does it pass to configure? Wondering, for redistribution, if the built ocaml will generate binaries that optimize for the current CPU.
psy_ has quit [Remote host closed the connection]
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
manizzle has quit [Ping timeout: 250 seconds]
manizzle has joined #ocaml
manizzle has quit [Ping timeout: 250 seconds]
manizzle has joined #ocaml
ebzzry has joined #ocaml
MercurialAlchemi has joined #ocaml
lu324__ has quit [Remote host closed the connection]
lu324__ has joined #ocaml
nullcat has joined #ocaml
jao has quit [Ping timeout: 245 seconds]
oscar_toro has quit [Ping timeout: 246 seconds]
ygrek has joined #ocaml
samuelrivas_ has quit [Ping timeout: 244 seconds]
psy_ has joined #ocaml
tane has joined #ocaml
larhat has joined #ocaml
huza has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
psy_ has quit [Quit: Leaving]
ygrek has quit [Ping timeout: 264 seconds]
iorivur has joined #ocaml
jgjl has joined #ocaml
Simn has joined #ocaml
huza has quit [Ping timeout: 252 seconds]
dsheets_ has joined #ocaml
dsheets has quit [Ping timeout: 252 seconds]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bytbox has quit [Remote host closed the connection]
<MercurialAlchemi>
Drup: I'm starting a JS side-project shortly, which means I'll be able to experiment first-hand the production-readiness of js_of_ocaml
<Drup>
:D
ayepot has joined #ocaml
darth_lumbergh has joined #ocaml
<flux>
does js_of_ocaml have any significant issues?
<flux>
or even many small ones?-)
<Drup>
TCO is not complete
<companion_cube>
bindings are a pain, aren't they?
<Drup>
it supports some pattern (and in particular, the simple tail rec one) but some tail call will not be suported
<Drup>
companion_cube: depends of the library
<MercurialAlchemi>
(it's awful, the more I work with ocaml, the more I'm scared by other techs)
<Drup>
bindings itself are not hard
<Drup>
what is hard is the impedence mismatch between js' "type system" and ocaml's one
<adrien_znc>
that's a nice way to call the fact that most people doing JS don't know what they're doing
<Drup>
I really like it when the types in the documentation don't match the implementation because it's not auto-generated and the guy who wrote the documentation tried to retrofit some meaning based on type when it didn't exist in the first place (and got it wrong, obviously)
<Drup>
(spoiler: that's jquery and bootstrap's widgets)
<Drup>
some js libraries are indeed well typed, and then the binding is very easy
psy_ has joined #ocaml
<MercurialAlchemi>
I won't say anything on the topic of OCaml documentation and missing/misleading @raises annotations :)
<Drup>
MercurialAlchemi: at least some part, you are sure of it :D
<dmbaturin>
MercurialAlchemi: Technically, it's not impossible to generate those automatically too, but for some reason no documentation generators do it.
<dmbaturin>
I wish at least some of them did.
<Drup>
doing it automatically would be pretty much the same as having a purity tracking type system
<MercurialAlchemi>
dmbaturin: you would need to have annotations for all the third-party code you use
<MercurialAlchemi>
including the stdlib
<Drup>
dmbaturin: it's technically possible, but it's a significant work
<MercurialAlchemi>
(not that I think it would be a bad thing)
enitiz has quit [Remote host closed the connection]
<MercurialAlchemi>
fortunately, a number of ocaml libraries sidestep the issue masterfully by avoiding documentation in the first place :)
<companion_cube>
:)
badkins has joined #ocaml
enitiz has joined #ocaml
<adrien_znc>
:D
<adrien_znc>
who needs doc when you have types?
<adrien_znc>
(and exceptions)
myst|work has joined #ocaml
<companion_cube>
well, types don't have effects, sadly
<MercurialAlchemi>
companion_cube: I don't know how sad that is...
* MercurialAlchemi
points at the monad transformer towers over the horizon
<MercurialAlchemi>
hm, I see the human-level AI people are at it again
<MercurialAlchemi>
"code running on billions of cores", in OCaml
<def`>
:)
<def`>
I would really like typed exceptions...
<Drup>
algebraic effects plz <3
<dmbaturin>
I would like some kind of "exception inference" so it's possible to automatically find out what a function can raise.
<dmbaturin>
Drup: What are algebraic effects and where can I read about it?
<companion_cube>
maybe in Idris it's as well regarded as | _ -> assert false in OCaml
<companion_cube>
if a dependently-typed language wants to be adopted beyond a few researchers, for real programming, it needs to have gradual requirements
<Drup>
(and Idris doesn't have an effect system, by the way)
<MercurialAlchemi>
ugh
<MercurialAlchemi>
if you need to assert_foo for a mundane and common thing like filter, it's worrying
<Drup>
(It has some sort of hack by encoding effects into a monadic representation and infer the code to permute the monad stack)
<Drup>
(It's a very clever hack, but still hacky)
<companion_cube>
oh
<companion_cube>
I thought it was built-in :/
<dmbaturin>
How Coq checks if recursion is well-founded? I've just realized I never thought about it.
<companion_cube>
structurally by default
<companion_cube>
you can provide a well-founded ordering by hand if required
<dmbaturin>
Yeah, I was under impression it doesn't execute anything at compile time to check if something is total/
<Drup>
you don't execute to check the totality, that's dumb idea :D
<Drup>
that's the other way around, you want to check the totality to be sure that, if you execute it at compile time, it will terminate
<companion_cube>
apparently you do execute the proof that the ordering is well-founded
darth_lumbergh has joined #ocaml
<def`>
(providing a well-founded ordering satisfy coq totality checker by structurally recursing on ordering proof so... structural recursion is the only way to prove totality in coq, right? in other proof systems too?)
bytbox has joined #ocaml
<Drup>
I think Idris is using size types
<Drup>
which is a similar idea, but not exactly the same
<dmbaturin>
Size types?
<def`>
ok, I'll check that,thx
<Drup>
basically, you need to annotate expressions with a ""size""
<Drup>
and the size will decrease on tail calls
<Drup>
the difference with structural recursion is that you don't really need to have something that is obviously structurally included, you can just have something "smaller" by any sens of small
<dmbaturin>
How do you specify when it must end?
slash^ has joined #ocaml
<Drup>
a size is a positive integer.
Snark_ has joined #ocaml
<dmbaturin>
Oh, so essentially it maps a countable set of possible cases to natural numbers?
<Drup>
essentially, yes
larhat1 has quit [Quit: Leaving.]
darkf has quit [Quit: Leaving]
<def`>
and i assume you can recurse on different size types and have an ordering between them?!
<Drup>
that's the point where the theory start being hairy and I never get to it :D
manizzle has quit [Ping timeout: 245 seconds]
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
<Drup>
dsheets_: do you know Oleg's talk will be recorded/streamed ?
<Drup>
+if
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
Thooms has joined #ocaml
bytbox has quit [Remote host closed the connection]
<MercurialAlchemi>
sagotch: why compile with bisect in the first place?
rgrinberg has quit [Quit: Leaving.]
tane has joined #ocaml
travisbrady has quit [Quit: travisbrady]
rgrinberg has joined #ocaml
claudiuc has joined #ocaml
Algebr has joined #ocaml
<Algebr>
Say my script foo.ml uses Unix module, how can I get ocaml foo.ml to work without Error: Reference to undefined global Unix. Do I need to add #require "unix" to the top of foo.ml itself or #require "unix" to ~/.ocamlinit?
<MercurialAlchemi>
Algebr: how are you planning on using your "script"?
<Algebr>
oh I'm a dumbass, apparently this was gone over earlier today
<Algebr>
I just want to be able to do ocaml foo.ml
<MercurialAlchemi>
right
<adrien>
"ocaml unix.cma foo.ml"
<companion_cube>
yes, you should add #require
travisbrady has joined #ocaml
<Algebr>
hmm, utop is find with the #require but ocaml says Unknown directive `require'
<Algebr>
fine*
<bernardofpc>
whitequark: It worked, but I only managed to get utop working , and I was really banging my head about syntax...
<bernardofpc>
thanks A LOT for ppx
mort___ has quit [Quit: Leaving.]
jgjl has joined #ocaml
<Algebr>
Is the try/with End_of_file the canonical way to read everything from a Unix.open_process_in? Any easier way to just get all the strings?
<companion_cube>
depends on whether you use a stdlib extension, mostly
Guest10326 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
manizzle has joined #ocaml
nullcat has joined #ocaml
<sagotch>
MercurialAlchemi: what do you mean ? I use bisect library (not bisect program)
enitiz has joined #ocaml
<MercurialAlchemi>
sagotch: oh, ok, makes sense then
<MercurialAlchemi>
btw, there is a PR on the toml repo you should look at
<MercurialAlchemi>
:)
<MercurialAlchemi>
(mackwic's repo, that is)
ptc has joined #ocaml
ptc is now known as Guest33134
<sagotch>
\whois MercurialAlchemi
<sagotch>
hum... nope
Anarchos has joined #ocaml
<sagotch>
MercurialAlchemi: did not review it yet but yes
dsheets_ has joined #ocaml
Submarine has quit [Remote host closed the connection]
travisbrady has quit [Quit: travisbrady]
Hannibal_Smith has quit [Quit: Leaving]
travisbrady has joined #ocaml
tane has quit [Remote host closed the connection]
ollehar has joined #ocaml
<Algebr>
I wonder if corebuild is statically linking everything when building .byte or .native....the binaries are massive for trivial programs
<MercurialAlchemi>
I'm going to forget the fact that this page contains what looks like an ncurses client in PHP
<MercurialAlchemi>
because I don't like to wake in the middle of the night being afraid the author may be living on the same continent
<Drup>
hum, the cli client seems rather nice
<MercurialAlchemi>
Drup: the official one?
<Drup>
yeah
travisbrady has quit [Quit: travisbrady]
agam has joined #ocaml
<Drup>
it's probably written in ruby which will make it crash all the time
<Drup>
but it *looks* nice
<MercurialAlchemi>
it is written in ruby
<Drup>
ahah, muh diviniation
<Drup>
It should rewrite "hub" using ocaml-github
<MercurialAlchemi>
and the install instructions start with 'install ruby1.9.3-dev'
<Drup>
it crashes all the time because of ruby
<MercurialAlchemi>
well, not necessarily
<MercurialAlchemi>
but graphically it reminds me of tig
<Algebr>
Confused about input_line. It returns back string, but I am wrapping it in try/with End_of_file, but why does the type signature of input_line not reflect that it can throw an expceiton
<Algebr>
(tig is AWESOME)
<Drup>
weirdly I don't use tig anymore, because magit
<MercurialAlchemi>
ah
<MercurialAlchemi>
emacs thingie, right?
jgjl has joined #ocaml
<Drup>
yep
<MercurialAlchemi>
I'm testing fugitive
enitiz has quit [Quit: Leaving]
<companion_cube>
fugitive + gitgutter ;)
<MercurialAlchemi>
it's not bad except that it doesn't let me commit for some reason
<MercurialAlchemi>
yeah, gitgutter too
<MercurialAlchemi>
your fault
<MercurialAlchemi>
:)
enitiz has joined #ocaml
<companion_cube>
vim is becoming surprisingly nice for OCaml now
<companion_cube>
with merlin+gitgutter+fugitive+syntax stuff from rgrinberg
<MercurialAlchemi>
yeah
<MercurialAlchemi>
well
<def`>
+ocp-indent-vim :P
<MercurialAlchemi>
merlin has a few bugs
<companion_cube>
ocp-indent-vim... hmm
<MercurialAlchemi>
(what's the syntax stuff from rgrinberg?)
ollehar has quit [Ping timeout: 240 seconds]
<companion_cube>
rgrinberg/vim-ocaml
<MercurialAlchemi>
ah, nice
<MercurialAlchemi>
I'm not sure this will increase my willingness to look at _oasis files though...
<companion_cube>
well it does help
<companion_cube>
it also colorizes opam files
<MercurialAlchemi>
yeah, that's nice
nullcat has quit [Read error: Connection reset by peer]