cdidd has quit [Remote host closed the connection]
Thooms has quit [Quit: WeeChat 1.0.1]
rgrinberg has quit [Ping timeout: 264 seconds]
darnuria has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
darnuria has joined #ocaml
reem has quit [Remote host closed the connection]
raphaelss has quit [Ping timeout: 250 seconds]
reem has joined #ocaml
darnuria has quit [Remote host closed the connection]
mcclurmc has quit [Remote host closed the connection]
darnuria has joined #ocaml
darnuria has quit [Client Quit]
darnuria has joined #ocaml
reem has quit [Remote host closed the connection]
darkf has joined #ocaml
reem has joined #ocaml
rgrinberg1 has joined #ocaml
BitPuffin has joined #ocaml
kcking has joined #ocaml
jao has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Ping timeout: 250 seconds]
badon has quit [Quit: Leaving]
nullcat has joined #ocaml
ptc_ has quit [Ping timeout: 246 seconds]
reem has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
ghostpl_ has quit [Ping timeout: 244 seconds]
ygrek has joined #ocaml
badon has joined #ocaml
struktured has joined #ocaml
rgrinberg1 has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
darnuria has quit [Quit: WeeChat 1.2-dev]
darnuria has joined #ocaml
skinkitten has quit [Quit: Leaving]
enitiz has quit [Ping timeout: 250 seconds]
BitPuffin has quit [Ping timeout: 244 seconds]
rgrinberg has quit [Ping timeout: 252 seconds]
MooseAndCaml has joined #ocaml
<MooseAndCaml>
Hi, can someone take a look at this: https://gist.github.com/caseybasichis/194bd79e7ac3a8942851 My function is compiling thought the emacs toplevel font is different for part and is reports an error expecting another type when it runs... is the color signaling somthing?
<MooseAndCaml>
I retyped that due to the horrible grammar - sorry for the repeat : My function is compiling, though the emacs toplevel font is different exactly over the broken function. It reports an error expecting another type when it runs... is the color signaling something?
rgrinberg has joined #ocaml
ptc has joined #ocaml
ptc is now known as Guest78016
rgrinberg has quit [Ping timeout: 244 seconds]
rgrinberg has joined #ocaml
enitiz has joined #ocaml
<struktured>
either I don't understand qtest or qtest is lying to me
rgrinberg has quit [Ping timeout: 252 seconds]
oriba has quit [Quit: Verlassend]
Algebr has joined #ocaml
ghostpl_ has joined #ocaml
ghostpl_ has quit [Ping timeout: 240 seconds]
yminsky has joined #ocaml
q66 has quit [Quit: Leaving]
yminsky has quit [Quit: yminsky]
MrScout has quit [Ping timeout: 265 seconds]
yminsky has joined #ocaml
kcking has quit [Quit: kcking]
badkins has quit [Remote host closed the connection]
Guest78016 has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 245 seconds]
Algebr has quit [Ping timeout: 252 seconds]
reem has joined #ocaml
monoprotic has quit [Ping timeout: 255 seconds]
yminsky has quit [Quit: yminsky]
reem has quit [Ping timeout: 264 seconds]
monoprotic has joined #ocaml
ebzzry has quit [Remote host closed the connection]
enitiz has quit [Ping timeout: 245 seconds]
ghostpl_ has joined #ocaml
ghostpl_ has quit [Ping timeout: 245 seconds]
ygrek has joined #ocaml
mcclurmc has joined #ocaml
MrScout has joined #ocaml
badkins has joined #ocaml
badkins has quit [Ping timeout: 250 seconds]
AlexRussia has quit [Ping timeout: 244 seconds]
rgrinberg has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
moei has quit [Quit: Leaving...]
moei has joined #ocaml
AlexRussia has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
slash^ has joined #ocaml
Kakadu has joined #ocaml
mort___ has joined #ocaml
ygrek has joined #ocaml
ghostpl_ has joined #ocaml
ghostpl_ has quit [Ping timeout: 264 seconds]
hilquias has joined #ocaml
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
mort___ has quit [Quit: Leaving.]
Submarine has joined #ocaml
reem has joined #ocaml
ygrek has quit [Ping timeout: 244 seconds]
ghostpl_ has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<LordBrain>
ok, the difference basically is that its open, as in other constructors might be accepted as well, haskell doesnt quite have an equivalent to that.
<LordBrain>
well, type families i suppose
cdidd has joined #ocaml
<dmbaturin>
Yep. Normal sum types can't be expanded, just like in haskell, while backticked ones can.
<adrien>
open types, soon! :P
<dmbaturin>
yojson is a good example of a library that uses them.
<LordBrain>
i'm familiar with the word sum type and product type, the haskell people don't use the word variant, although i vaguely recall something called a variant in perl 6?
mort___ has quit [Quit: Leaving.]
<dmbaturin>
LordBrain: Another thing, ocamlc -i can dump inferred types of the bindings. ocamlc -i ./file.ml > ./file.mli is the easiest way to produce a .mli
<LordBrain>
yes i need that, thankyou
<dmbaturin>
I think the term stems from "variant records" in older languages, in particular those designed by Wirth.
<LordBrain>
i'm looking at source code to hlvm, and i notice he defines variants with backtick constructors but he did not use the > symbol when he opened the bracket
<LordBrain>
type t = [ `Unit (* ... *)
<LordBrain>
the link you gave me i only skimmed, but i saw that they said the > means these and maybe more constructors while a < means no more than these.
<LordBrain>
so what if neither as above?
<Kakadu>
exactly like these?
<LordBrain>
you used a question mark... are you unsure?
<ousado>
adrien: huh, I seem to remember avsm saying dead code elimination had been improved, and that significantly reduces the binary sizes of openmirage unikernels
<ousado>
*that it
<mrvn>
dead module elimination when using aliases has been implemented
<ousado>
oh I see
<ousado>
.. and how that can lead to significantly smaller binaries, too :)
rand000 has joined #ocaml
yminsky has quit [Quit: yminsky]
ghostpl_ has joined #ocaml
Kakadu has joined #ocaml
<Leonidas>
cmdliner is well, not that easy to grasp, imho
ghostpl_ has quit [Ping timeout: 250 seconds]
badkins has joined #ocaml
badkins has quit [Ping timeout: 250 seconds]
MercurialAlchemi has joined #ocaml
MrScout has joined #ocaml
rand000 has quit [Ping timeout: 245 seconds]
MrScout has quit [Ping timeout: 250 seconds]
darkf has quit [Quit: Leaving]
reynir has quit [Quit: brb]
yminsky has joined #ocaml
reynir has joined #ocaml
reynir is now known as Guest59973
reem has joined #ocaml
Guest59973 has quit [Changing host]
Guest59973 has joined #ocaml
yminsky has quit [Client Quit]
kcking has joined #ocaml
reem has quit [Ping timeout: 246 seconds]
rand000 has joined #ocaml
Guest59973 is now known as reynir
yminsky has joined #ocaml
mcclurmc has joined #ocaml
reynir has quit [Quit: WeeChat 1.1.1]
reynir has joined #ocaml
yminsky has quit [Client Quit]
reynir has quit [Client Quit]
reynir has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
reynir has quit [Client Quit]
reynir has joined #ocaml
ontologiae_ has joined #ocaml
pgomes has quit [Quit: Leaving]
ontologiae_ has quit [Ping timeout: 246 seconds]
madroach has quit [Quit: leaving]
<nicoo>
apache2: Oh, there is a "commandliner" in Core ?
<nicoo>
Leonidas: Meh. It's just an applicative
reynir has quit [Quit: WeeChat 1.1.1]
<nicoo>
Oh ... wait
kapil___ has quit [Quit: Connection closed for inactivity]
reynir has joined #ocaml
<nicoo>
(More seriously, it is a bit strange at first, but has a rather clean and consistent design)
<apache2>
Leonidas: what's your preferred lib?
<Leonidas>
apache2: Cmdliner
<Leonidas>
Arg is easy to use but I think its ugly how it handles references.
<tokenrove>
i like cmdliner, too, but i have to admit that every time i use it it takes more time than i'm comfortable admitting to figure out how to use it again
mort___ has joined #ocaml
<dmbaturin>
What may cause "OCaml and preprocessor have incompatible versions" if versions of ocaml and camlp4 are actually the same?
<dmbaturin>
I'm trying to install lablgtk on windows.
ygrek has quit [Ping timeout: 264 seconds]
ontologiae_ has joined #ocaml
<MercurialAlchemi>
dmbaturin: some path issue? you think they the same but they are not ?
Anarchos has joined #ocaml
<dmbaturin>
Well, I checked that by hand.
<MercurialAlchemi>
hmm
Anarchos has quit [Client Quit]
<dmbaturin>
Maybe I should try building it completely from source.
Thooms has joined #ocaml
<reynir>
tokenrove: I feel the same way about cmdliner
ontologiae_ has quit [Ping timeout: 252 seconds]
<adrien>
dmbaturin: hmmm, what are you doing exactly?
<dmbaturin>
adrien: Running build.ml in site-libs\lablgtk2 dir.
<adrien>
why?
<adrien>
site-libs looks like it's a lablgtk2 installed through godi or similar
<adrien>
and therefore already installed
<dmbaturin>
adrien: Because the installation instructions tell me to.
<adrien>
let me check
<adrien>
README.win32?
<dmbaturin>
Yep.
<adrien>
ah, I see
<adrien>
Jacques always prepares the win32 distributions but I've never tracked what he does exactly
<adrien>
dmbaturin: which environment btw?
<adrien>
yeah, no idea what this script does and I don't really feel like take time to learn that today
<dmbaturin>
adrien: In this case, winxp. I can find a win7 machine too.
<adrien>
(especially since I definitely wouldn't be doing it the way this scripts seems to do it)
<adrien>
XP!
<adrien>
KILL!
<adrien>
FIRE!
<adrien>
DESTROY!
<adrien>
seriously, get rid of that OS
<dmbaturin>
That's a throaway VM that I resurrect from ancient snapshot once in a while.
<adrien>
it's way too old and I personnaly don't "support" it
AlexRussia has quit [Read error: Connection reset by peer]
AlexRussia has joined #ocaml
<haesbaert>
tane: great, got it !
<tane>
haesbaert, that
<haesbaert>
adrien: I'll change the indentation as you suggested
<haesbaert>
so let () = .. is a common idiom for sequencing expressions ?
<tane>
besides expr; next_expr, yes
<dmbaturin>
haesbaert: Semicolon is used for sequences of expressions, but a sequence can evaluate to a value of any type.
leowzukw has joined #ocaml
<dmbaturin>
let () = <expression> means just "match evaluated expression with the value of unit type", which is essentially "do nothing with its result".
<dmbaturin>
let x = ignore <some expression> would bind x to (), which it not very useful.
<Simn>
Is `let _ = <expression>` any different? That's what I normally use when I want to ignore the result.
<dmbaturin>
But something like "let result = do_side_effect (); check_if_it_worked ()" matching might be useful is check_if_it_worked returns e.g. error code of do_side_effect.
<dmbaturin>
Simn: Well, matching on () will catch if the type of the expression is not unit, while matching on _ will always succeed.
<Simn>
Ah, so <expression> is of unit anyway, I see. Thanks!
<haesbaert>
great, I had the same doubt concerning _ and ()
<dmbaturin>
I think I switched to matching all stuff called for side effects with () after I did something like "let _ = some_fun x" where some_fun was 'a -> 'b -> 'c rather than 'a -> 'b and was very surprised by blank output. :)
<dmbaturin>
Matching with () would be a type error.
<Leonidas>
def`: isn't merlin available for sublime text too, somehow?
enitiz has joined #ocaml
<struktured>
curse you qtest! you lie!
<struktured>
I take the printed output of my failed test, run it in utop and it works. frustrating.
<dmbaturin>
struktured: Prove your code correct, then publish a paper about it. That's what all cool people do. ;)
waneck has quit [Remote host closed the connection]
<struktured>
dmbaturin: uh yeah a little outside the scope of my problem but provably correct code would be nice a compilation feature
jleroux has joined #ocaml
thomasga has joined #ocaml
captain_furious has joined #ocaml
<struktured>
touche qtest, I was missing a critical line of the test
AlexRussia_ has joined #ocaml
AlexRussia has quit [Read error: Connection reset by peer]
<johnelse>
File "phantom.ml", line 23, characters 6-9:
<johnelse>
Error: This pattern matches values of type foo but a pattern was expected which matches values of type a
<johnelse>
which I kinda understand...but not sure where to go from here
<johnelse>
basically I want to construct a container from a string and a type variable, eventually with some validation on the contents of the string
ghostpl_ has quit [Ping timeout: 255 seconds]
<ggole>
You pretty much have to put Foo, Bar, Baz into a type
<johnelse>
ok, rather than having them as three separate types?
<ggole>
Yeah
<ggole>
Well, you could keep them separate but have another (GADT) type that wrapped them
<ggole>
type _ mark = FooM : foo mark | etc
<johnelse>
ok, I'll give that a go, thanks :)
<ggole>
And then let make_container : type a . a mark -> string -> a container = ...
nullcat_ has joined #ocaml
<johnelse>
ggole: works perfectly, thank you!
snikkers has quit [Read error: No route to host]
nullcat_ has quit [Ping timeout: 264 seconds]
<ggole>
Do you actually use the constructors, or are they just for tags?
<johnelse>
ggole: I was thinking that the constructors would not be part of the public interface, so to create a container type you'd have to go through make_container
MrScout has joined #ocaml
MrScout has quit [Remote host closed the connection]
<ggole>
I see
<ggole>
But this way you've exposed other constructors in their place
kcking has quit [Quit: kcking]
<ggole>
An alternative is to have make_foo, make_bar, etc
MrScout has joined #ocaml
<johnelse>
ah, good point
<johnelse>
then the mark type is redundant
kcking has joined #ocaml
MrScout has quit [Remote host closed the connection]
madroach has joined #ocaml
MrScout has joined #ocaml
MrScout has quit [Remote host closed the connection]
<struktured>
man this randomized sampling of inputs feature in qtest is quite useful. ppx_test I understand can do the same though right?
MrScout has joined #ocaml
MrScout has quit [Remote host closed the connection]
MrScout has joined #ocaml
Intensity has joined #ocaml
MrScout has quit [Remote host closed the connection]
zpe has joined #ocaml
<Drup>
I would advise against ppx qtest :x
<Drup>
ppx_test*
zpe has quit [Remote host closed the connection]
Algebr has joined #ocaml
<struktured>
Drup: why is that?
Anarchos has joined #ocaml
<Drup>
it's ... properly well done.
<Drup>
+not
<Drup>
dmbaturin: just a note , open sum types ≠ polymorphic variant
<Drup>
you're not the first one to use one term for the other, but they are different. :)
<Algebr>
Drup: For lambda term, for the event handler functions, what is the meaning of the bool that they return? Some kind of successful event handling?
mcclurmc has quit [Remote host closed the connection]
lopex has quit [Quit: Connection closed for inactivity]
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
mcclurmc has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
mearnsh has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
<dmbaturin>
adrien_znc: Ok, I've figured it out, seems to work now. Also, the readme doesn't tell you where to put the .dll's from bin (maybe it's obvious to windows users, not sure, but I had to try several locations before placing them in site-lib/lablgtk2).
martintrojer has joined #ocaml
mcclurmc has quit [Ping timeout: 250 seconds]
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
<Simn>
I don't think there's anything that's obvious to windows users.
<Simn>
(I'm a Windows user)
The_Mad_Pirate has quit [Read error: Connection reset by peer]
The_Mad_Pirate has joined #ocaml
waneck has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
<dmbaturin>
* stublibs, not bin
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
ygrek has quit [Ping timeout: 256 seconds]
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
lopex has joined #ocaml
kcking has quit [Quit: kcking]
martintrojer has quit [Max SendQ exceeded]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
tani has joined #ocaml
martintrojer has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
kcking has joined #ocaml
tane has quit [Ping timeout: 265 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
<adrien>
dmbaturin: .dll files go in bin
ggole has quit []
<dmbaturin>
Hhm. Still, readme doesn't mention it. Should I send a patch against it?
<adrien>
that would be appreciated
<def`>
Leonidas: it is
Submarine has joined #ocaml
<adrien>
oh, I thought open types weren't mainline yet
<adrien>
very interesting :)
larhat has quit [Quit: Leaving.]
<Drup>
adrien: that's because you are living in the past, also known as OCaml 3.12
<dmbaturin>
I'm living in the past as well, known as 4.01
<dmbaturin>
But I should fix it.
BitPuffin has joined #ocaml
<dmbaturin>
adrien: Also, is there a manual on distributing binaries linked against lablgtk?
ptc has joined #ocaml
ptc is now known as Guest83135
captain_furious has quit [Ping timeout: 252 seconds]
slash^ has quit [Read error: Connection reset by peer]
Guest83135 has quit [Ping timeout: 265 seconds]
swgillespie has joined #ocaml
mcclurmc has joined #ocaml
ptc_ has joined #ocaml
<adrien>
dmbaturin: same as for GTK+
<adrien>
Drup: don't tell me you've managed to use all the new features introduced between 4.00.0 and 4.02.1 :)
<whitequark>
I did
<adrien>
for real-life stuff* :P
<whitequark>
yes
mcclurmc has quit [Ping timeout: 244 seconds]
<adrien>
but unlike you, Drup sometimes sleep :D
oskarth has quit [Read error: Network is unreachable]
S11001001 has quit [Read error: Connection reset by peer]
rfv has quit [Read error: Connection reset by peer]
andreypopp has quit [Read error: Connection reset by peer]
ggherdov has quit [Read error: Connection reset by peer]
regnat has quit [Ping timeout: 265 seconds]
flx has joined #ocaml
<Drup>
let's see
<Drup>
GADT: yes certainly
<Drup>
exception in pattern matching: yes
mawuli has quit [Ping timeout: 265 seconds]
alpen has quit [Ping timeout: 265 seconds]
myyst has quit [Write error: Connection reset by peer]
<Drup>
ppx: yes
<Drup>
Generative functors: I considered the usage, but wanted to stay retro-compatible
struktured has quit [Remote host closed the connection]
myyst has joined #ocaml
ghostpl_ has joined #ocaml
rossberg has quit [Ping timeout: 265 seconds]
whitequark has quit [Ping timeout: 265 seconds]
<adrien>
open types?
<Drup>
extensible: yes, but I probably wouldn't qualify as real life :(
<Drup>
it*
<adrien>
:)
thegameg has quit [Ping timeout: 265 seconds]
myyst has quit [Read error: Connection reset by peer]
whitequark has joined #ocaml
welterde has quit [Ping timeout: 265 seconds]
Thooms has quit [Ping timeout: 265 seconds]
rbocquet has quit [Ping timeout: 265 seconds]
_habnabit has quit [Ping timeout: 265 seconds]
jonh has quit [Ping timeout: 265 seconds]
myyst has joined #ocaml
lordkryss has joined #ocaml
sgnb` has joined #ocaml
rfv has joined #ocaml
sgnb has quit [Ping timeout: 265 seconds]
flxx has quit [Ping timeout: 265 seconds]
rbocquet has joined #ocaml
jonh has joined #ocaml
Thooms has joined #ocaml
_habnabit has joined #ocaml
thegameg has joined #ocaml
rossberg has joined #ocaml
<reynir>
solaris 11.2 ships OCaml 3.11.2
ghostpl_ has quit [Ping timeout: 264 seconds]
S11001001 has joined #ocaml
andreypopp has joined #ocaml
regnat has joined #ocaml
alpen has joined #ocaml
mawuli has joined #ocaml
enitiz has quit [Quit: Leaving]
enitiz has joined #ocaml
enitiz has quit [Read error: Connection reset by peer]
oskarth has joined #ocaml
welterde has joined #ocaml
<Leonidas>
def`: where is the sublime text-glue code?
ggherdov has joined #ocaml
eventualbuddha has quit [Read error: Connection reset by peer]
<struktured>
I try to make good choices when possible, it's nice to have community support
<Drup>
struktured: what is it doing ?
<whitequark>
it's creating ... classes?
ontologiae has joined #ocaml
<struktured>
I can't claim to understand this code but I have no ppx authoring experience. it does seem a little more OO than I originally anticipated, but that's not sufficient for me to disregard it
avsm has joined #ocaml
<Drup>
well, I don't care much about how the code looks
struktured has left #ocaml ["Konversation terminated!"]
struktured has joined #ocaml
<Wormflakes>
compilation of cop-build failed D:
<Wormflakes>
ocp*
<whitequark>
do you /need/ ocp-build?
<whitequark>
if not, don't touch it
<Wormflakes>
while installing it
<Wormflakes>
i want ocp indent
<struktured>
Drup: another qtest pet peeve is forgetting to put "\" at the end of a line