javamonn has quit [Remote host closed the connection]
<n3ss3s>
So I'm trying to extract n elements spaced by k >= 0 elements from a list. Is there an expression for a list of a certain length, so I could match the list with a :: <k elements> :: b :: <k elements>...?
slash^ has joined #ocaml
swgillespie has joined #ocaml
Denommus has quit [Ping timeout: 240 seconds]
<ggole>
No, but you could write a function 'a list -> int -> ('a * 'a list * 'a * 'a list) option that pulls the parts out if they exist
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<n3ss3s>
I think the performance difference is significant enough to warrant going array based here (for extracting every set of n consecutive k-spaced elements out of a list)
Denommus has joined #ocaml
Denommus has quit [Ping timeout: 265 seconds]
matason has joined #ocaml
<ggole>
You could even avoid copying by using a triple of base, start, end
A1977494 has joined #ocaml
A1977494 has left #ocaml [#ocaml]
Denommus has joined #ocaml
jleroux has joined #ocaml
jleroux has quit [Ping timeout: 245 seconds]
n3ss3s has quit [Ping timeout: 240 seconds]
jleroux has joined #ocaml
redpoppies has joined #ocaml
ljs has joined #ocaml
ljs has quit [Ping timeout: 272 seconds]
TheLemonMan has joined #ocaml
jleroux has quit [Ping timeout: 272 seconds]
rgrinberg has quit [Ping timeout: 250 seconds]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
thomasga has joined #ocaml
matason has quit []
Kakadu has quit [Quit: Page closed]
avsm has joined #ocaml
contempt has quit [Ping timeout: 272 seconds]
contempt has joined #ocaml
asQuirreL has joined #ocaml
lordkryss has joined #ocaml
thomasga has quit [Quit: Leaving.]
milosn has quit [Quit: leaving]
nojb has joined #ocaml
thomasga has joined #ocaml
ygrek has joined #ocaml
olibjerd has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
Haudegen has quit [Ping timeout: 256 seconds]
tanguc_s has joined #ocaml
matason has joined #ocaml
tane has joined #ocaml
matason has quit []
<tanguc_s>
hi
tanguc_s has quit [Quit: leaving]
tanguc_s has joined #ocaml
<tanguc_s>
hi
Haudegen has joined #ocaml
<nojb>
hi
<lewis1711>
utop really chews up my memory. can't tell if it's leaking or just a hog
ir2ivps4 has quit [Ping timeout: 250 seconds]
jleroux has joined #ocaml
mengu has joined #ocaml
jleroux has quit [Ping timeout: 250 seconds]
<lewis1711>
yeap, it definitely leaks
thomasga has quit [Quit: Leaving.]
freling has joined #ocaml
thomasga has joined #ocaml
rand000 has joined #ocaml
tani has joined #ocaml
tane has quit [Ping timeout: 256 seconds]
AlexRussia has quit [Ping timeout: 245 seconds]
matason has joined #ocaml
sdothum has joined #ocaml
jeffmo has quit [Quit: jeffmo]
AlexRussia has joined #ocaml
AlexRussia has quit [Excess Flood]
willy_ has joined #ocaml
dsheets has joined #ocaml
wwilly has quit [Ping timeout: 256 seconds]
freling has quit [Quit: Leaving.]
nojb has quit [Quit: nojb]
nojb has joined #ocaml
AlexRussia has joined #ocaml
mengu has quit [Remote host closed the connection]
guto has joined #ocaml
rossberg has quit [Ping timeout: 265 seconds]
tanguc_s has quit [Ping timeout: 265 seconds]
seangrove has quit [Read error: Connection reset by peer]
seangrove has joined #ocaml
mengu has joined #ocaml
BitPuffin|osx has joined #ocaml
thomasga has quit [Quit: Leaving.]
rossberg has joined #ocaml
matason has quit []
ygrek has quit [Ping timeout: 276 seconds]
thomasga has joined #ocaml
yomimono has joined #ocaml
matason has joined #ocaml
avsm has quit [Quit: Leaving.]
thomasga has quit [Quit: Leaving.]
nojb has quit [Quit: nojb]
<reynir>
I'm looking at js_of_ocaml. Is there an example of an event handler that actually uses the event?
nojb has joined #ocaml
<reynir>
Oh, nevermind
freling has joined #ocaml
Hannibal_Smith has joined #ocaml
matason has quit []
tanguc_s has joined #ocaml
<lewis1711>
ocamls object system is really nice. though I often read that people don't really use it, which is a shame
thomasga has joined #ocaml
<reynir>
I've experienced that type errors can be really long with objects
<dmbaturin>
lewis1711: From my observations, in languages that don't force objects on you, people tend not to use them as often as in languages that do. :)
Hannibal_Smith has quit [Quit: Leaving]
freling has quit [Quit: Leaving.]
freling has joined #ocaml
Hannibal_Smith has joined #ocaml
<lewis1711>
dmbaturin, sure. I am a fan of the way ocaml does them though. particularly how I can forego using classes altogether
Submarine has quit [Remote host closed the connection]
<apache2_>
I'm not a fan of the silent integer casts :(
Hannibal_Smith has quit [Quit: Leaving]
<lewis1711>
apache2_, where?
Choups314 has joined #ocaml
freling has quit [Quit: Leaving.]
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
thomasga has quit [Quit: Leaving.]
hugomg has joined #ocaml
ljs has joined #ocaml
Submarine has quit [Remote host closed the connection]
<lewis1711>
but yeah, I am a fan of numbers trying to behave as correctly as possible by default, than having fast-but-error-prone operations be the special case. like scheme with fx+
<apache2_>
lewis1711: same
<lewis1711>
but anyway, it can be done in ocaml
<apache2_>
unsafe_int_of_float or no_fucks_given_int_of_float would be a better name for a function that suffers from this 'everything is 0' syndrome
<lewis1711>
I wouldn't say it "Suffers"... ocaml was/is popular among the numerical programming community.
<ggole>
Pervasives already has truncate (which is the same operation under a different name)
<ggole>
You might prefer to use that name if you feel it describes the semantics better
<apache2_>
ggole: truncate is a fine name, and I guess it's useful, but int_of_float is a bit misleading
<ggole>
Yeah, can't really disagree
<apache2_>
perhaps it should be unaliased.
osa1__ has joined #ocaml
<lewis1711>
speaking of numbers... I am trying to do Int32 arithmetic. have all the core stuff loaded, which seems to not have "add" methods
<haesbaert>
hmm, actually I wanted a Config.config that would reference an arbitrary Config.t
ontologiae_ has quit [Ping timeout: 250 seconds]
<haesbaert>
so I can't have a reference to a type ?
<Denommus>
haesbaert: you can have a reference to a value of a type
<Denommus>
haesbaert: types usually only exist during compilation, and constraint the operations you can perform over a term
<haesbaert>
hmmm
<haesbaert>
can I use None there ?
<haesbaert>
and then later modify to a real Config.t ?
<haesbaert>
let foo = ref None... Config.config := make_new_config...
<nojb>
sure, let foo : t option ref = ref None
<haesbaert>
ah ok, that might be an option, basically I'm expressing the configuration of my daemon, but the configuration must be created and then applied to Config.config, sicne I don't want to pass that value around the stack
<haesbaert>
ok the optional ref solves it
<haesbaert>
nojb: thanks
<Denommus>
haesbaert: but actually there's two ways you can pass types around. One is with a functor (you may have a functor that takes a sig with an abstract type, and the struct itself defines which type that is). The other is with first-class modules
<Denommus>
haesbaert: not that this has anything to do with your problem, I just wanted to not give you incomplete information
<haesbaert>
Denommus: would that solve my problem ?
<haesbaert>
ah ok
<haesbaert>
all in all I just wanted to store a "global pointer" somewhere, and that the first value would be none.
<Denommus>
that's fine
javamonn has quit [Remote host closed the connection]
Choups314 has quit [Ping timeout: 240 seconds]
Choups314 has joined #ocaml
<haesbaert>
sorry, another stupid question: codepad.org
<haesbaert>
is it because it is now an optional value and I will have to match against none ?
<nojb>
you need to pattern match on the option type : match !config with Some config -> config.subnets | None -> failwith "something bad has happened"
javamonn has joined #ocaml
<haesbaert>
ah I see, that would be a bummber, since that is always "Some", except on program initialization, so I guess I need something differente.
<haesbaert>
*different.
javamonn has quit [Remote host closed the connection]
<haesbaert>
I could initialize pointing to a "blank" Config.t maybe
<nojb>
that's a good idea
<haesbaert>
ok, leme try
<haesbaert>
great that makes me happy: let config = ref { subnets = []; options = []}
<haesbaert>
thanks again
javamonn has joined #ocaml
javamonn has quit [Remote host closed the connection]
Choups314 has quit [Ping timeout: 265 seconds]
Choups314 has joined #ocaml
<ggole>
The downside of doing it that way is that now the type doesn't tell you whether you have a meaningful value or not
<haesbaert>
I see that, but in this case is not an issue, it is more or less the very first thing the program does, and it exits if it can't build a valid value.
<ggole>
If that's so, maybe you can get the valid value first and just bind to that
<ggole>
Not always the most convenient path, I know.
javamonn has joined #ocaml
<haesbaert>
to uild it I require runtime paraments
<haesbaert>
*parameters
<haesbaert>
but maybe I could have a default, that's actually doable.
<nojb>
personally I prefer to do away with global variables completely and just pass the values around
mort___ has joined #ocaml
<haesbaert>
me too, but this is pretty much a readonly value that cannot change at all
<haesbaert>
and will be used all over
mort___ has left #ocaml [#ocaml]
javamonn has quit [Remote host closed the connection]
<haesbaert>
I'm basically parsing a dhcpd.conf like the ISC one
<haesbaert>
maybe passing the config around is actually doable, then I can kill the global
Choups314 has quit [Ping timeout: 265 seconds]
Choups314 has joined #ocaml
mengu has quit []
palomer has quit [Quit: palomer]
rand000 has quit [Ping timeout: 252 seconds]
tg has quit [Ping timeout: 276 seconds]
lobo has quit [Quit: leaving]
matason has joined #ocaml
olibjerd has quit [Ping timeout: 272 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
NoNNaN has joined #ocaml
SomeDamnBody has joined #ocaml
tanguc_s has quit [Quit: Lost terminal]
Hannibal_Smith has joined #ocaml
SomeDamnBody has quit [Ping timeout: 245 seconds]
BitPuffin|osx has joined #ocaml
nojb has quit [Quit: nojb]
Gama11 has quit [Quit: No Ping reply in 180 seconds.]
Gama11 has joined #ocaml
rand000 has joined #ocaml
lobo has joined #ocaml
tg has joined #ocaml
Choups314 has quit [Ping timeout: 252 seconds]
Algebr has joined #ocaml
SomeDamnBody has joined #ocaml
justgage has joined #ocaml
<justgage>
Hey I was wondering if anyone has used a curl library with Ocaml
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<rgrinberg>
justgage: ocurl works but very ugly. try cohttp instead
osa1__ is now known as osa1
Snark has quit [Quit: leaving]
Snark has joined #ocaml
nullcat has joined #ocaml
SomeDamnBody has joined #ocaml
lewis1711 has quit [Ping timeout: 272 seconds]
<Drup>
rgrinberg: I've waited all the week to discuss furl directly :3
<Drup>
(ok, I was busy too, so not actively waiting :D)
Algebr has joined #ocaml
Algebr has quit [Remote host closed the connection]
Algebr has joined #ocaml
freling has joined #ocaml
SomeDamnBody has quit [Ping timeout: 264 seconds]
redpoppies has joined #ocaml
kaepora has joined #ocaml
<kaepora>
Hello everyone!
Algebr has quit [Remote host closed the connection]
<kaepora>
I am a new PhD student at INRIA =p as you might expect, I need to learn a lot of OCaml, and fast!
<kaepora>
So I'll be hanging out here asking dumb questions.
Algebr has joined #ocaml
<Drup>
which team, by curiosity ?
<kaepora>
PROSECCO
<Drup>
oh, I see
<kaepora>
I must say it's quite terrifying
<kaepora>
I'm surrounded by OCaml's creators
<kaepora>
And I'm completely new to the language
bjorkintosh has quit [Ping timeout: 255 seconds]
<Denommus>
kaepora: do you have experience with other statically typed functional language, like ML or Haskell?
<kaepora>
Drup: Are you at INRIA as well?
<kaepora>
Denommus: Yes. I also use JavaScript copiously, in a purely functional style.
<Drup>
not inria, but I'm two floor below. :)
<kaepora>
Drup: :D
<kaepora>
Neato
<Denommus>
kaepora: which one?
<kaepora>
Denommus: Haskell (beginner)
<kaepora>
The thing is, I grasp OCaml well
<kaepora>
And I understand the logic and reasoning behind the features and the language generally
<Denommus>
kaepora: ah. Well, the "hardest" (or more interesting) part will probably the module system, then.
<kaepora>
What's annoying is that OCaml has hundreds of little quirks, tricks and little-known methods
<Denommus>
at least it was for me
<kaepora>
And since the team here is so well-versed, they use those tiny things all the tim,e
<Drup>
Denommus: you mean, the awesomest, right ? :3
<kaepora>
Which makes code really inaccessible
<Denommus>
Drup: definitely
<Denommus>
why can't every language have OCaml module system? :(
<kaepora>
My first OCaml project is to write a JS compiler :P
<Drup>
from what ?
<Denommus>
cool
<kaepora>
JS to ML more or less
<Drup>
oh, this direction
<Denommus>
kaepora: will you use menhir + sedlex?
<Drup>
that's weird, but why not
<kaepora>
Denommus: Yes aleady using Menhir
<Denommus>
sedlex is a cool lexer
<Denommus>
Drup: maybe it's useful to use all those JavaScript libraries on OCaml, I dunno
<kaepora>
What does a single colon mean in OCaml?
<kaepora>
a:b
<ggole>
In what context? :)
<reynir>
it means a is type b
<ggole>
Could be type ascription or named argument
<kaepora>
let example a (x:b) =
<ggole>
Type ascription.
<kaepora>
I see, thanks!
<ggole>
(Named arguments look like ~foo:bar
<ggole>
)
robink_ is now known as robink
HrafnA has joined #ocaml
nullcat__ has joined #ocaml
ygrek has quit [Ping timeout: 252 seconds]
seangrove has quit [Ping timeout: 245 seconds]
nullcat has quit [Ping timeout: 265 seconds]
redpoppies has quit [Quit: redpoppies]
swgillespie has joined #ocaml
<mk270>
gday - did anyone have any ideas about my empty .annot file problem? I have a programme with about 5 .ml files, and when I compile it, ocamlc gives me full .annot files, but ocamlopt leaves one of the .annot files blank, which makes tuareg-mode sad
<Drup>
mk270: do you have the same issue with bin-annot ?
Hannibal_Smith has quit [Quit: Leaving]
<mk270>
Drup: not sure - how do i distinguish between them?
<Drup>
they don't produce the same files
<Drup>
bin-annot produces .cmt
<mk270>
ok
<mk270>
how do i make tuareg-mode use .cmt files?
<Drup>
hum, I don't know, I use merlin exclusively :x
freling has quit [Quit: Leaving.]
<Drup>
if you don't want merlin, use ocp-index, it's working better anyway and works with .cmt files
struktured has quit [Ping timeout: 256 seconds]
<ggole>
tuareg-mode doesn't eat .cmts as far as I know
<ggole>
Although these days it's merlin all the way for me too
<mk270>
ok, so how do i get emacs to tell me the types of compiled .ml files if i am using bin-annot?
<ggole>
Install merlin, and use it's show type command
<ggole>
It's quite slick, you don't even need to compile the current file
Haudegen has quit [Ping timeout: 240 seconds]
<mk270>
merlin isn't actually available from ubuntu yet :(
<Drup>
hum, install it with opam ?
<Algebr>
? its via opam install
<Denommus>
merlin is probably one of the best minor-modes I have used in Emacs
<mk270>
yeah, but that can take hours
<Algebr>
I don't understand why ubuntu adds everythig under the sun to apt-get
<Drup>
*hours* ?
<Algebr>
what hours? Its literally 3 minutes
<mk270>
well, when opam has found stuff isn't up to date, it takes forever fixing this
<Drup>
then don't opam upgrade, it's independent
<mk270>
ok, thanks - it wasn't clear that it was independe
<ggole>
Wonder if it's reinstalling a bumped version of core or something
<mk270>
nt
<Algebr>
I don't know what you're talking about, even installing core takes at most 10 minutes on the slowest machine
<ggole>
Just merlin is quite small
freling has joined #ocaml
<ggole>
It has only a few dependencies
<mk270>
takes 10 minutes. exactly.
<mk270>
apt-get takes a few seconds
<Algebr>
I said even installing core takes at most 10 minutes, not merlin
<mk270>
and on stable does not upgrade anything (opam seems to be able to do this too)
<Drup>
Algebr: pretty sure it's longer on a rPI :D
<mk270>
ok, i'm going to give this a try
<mk270>
turns out merlin is already installed, so better than apt-get, which doesn't know about merlin :)
<mk270>
how do i tell ocamlopt to make merlin happy? giving it -bin-annot should be enough to get started?
<Drup>
yes
matason has quit []
<Drup>
actually, no, you don't need to do anything
<mk270>
and then i grovel around in my .emacs to placate merlin
<mk270>
(which is 1000 times better than installing a whole file worth of elisp cack)
<mk270>
reassuringly, whoever made the merlin emacs integration hates/fears the same things as i do
<mk270>
ok - so how do i get emacs to tell me the types, now that i have merlin integrated?
<mk270>
it says "Buffer royalty.ml has no process"
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Drup>
you launched the merlin mode ?
<mk270>
it seems to say "Tuareg merlin (default)"
<mk270>
so *something* launched the merlin mode on my behalf
nojb has joined #ocaml
<mk270>
looks like the merlin instructions hook themselves into tuareg-mode (fair enough)
<mk270>
(add-hook 'tuareg-mode-hook 'merlin-mode)
<mk270>
(add-hook 'caml-mode-hook 'merlin-mode)
<Drup>
you added a .merlin file in your project, to tell merlin where to find build artifacts and sources ?
<mk270>
no of course not :)
<ggole>
Test it on a standalone file first
swgillespie has joined #ocaml
<mk270>
the merlin docs need a list of links to example .merlin files
<mk270>
and to be copy-edited by a native english speaker
<mk270>
is there a good example .merlin file anywhere?
<Drup>
frenglish is the natural language of the OCaml community.
<mk270>
(now that github has succeeded in preventing "search by filename"
<mk270>
drup: yeah, and frenglish is super ambiguous
Algebr has left #ocaml ["ERC (IRC client for Emacs 25.0.50.1)"]
freling has quit [Quit: Leaving.]
<mk270>
?
<ggole>
I just restart emacs from the terminal if I make opam changes (which I don't do that often)
<ggole>
It'd be nice to solve it properly though...
<Drup>
ggole: it's solved in what I linked
<Drup>
it contains a function that call opam directly
<Drup>
instead of relying on env variables
<mk270>
[ERROR] user-setup is not available because your system doesn't comply with ocaml-version >= "4.02".
<Drup>
eh.
<ggole>
Hmm.
<mk270>
whatever
SomeDamnBody has joined #ocaml
<mk270>
i'll hardwire this crap in my .emacs and hope for the best
<mk270>
i literally have not changed my window manager configuration since 1996, and i am not planning to any time soon
<ggole>
mk270: so to be clear, with an emacs started from the terminal your C-c C-t is working?
<mk270>
ggole: yes
<ggole>
OK.
<mk270>
because emacs from xterm has inherited the PATH or whatever from bash
<mk270>
as bash's per-shell startup script evals some opam-related code
<Drup>
mk270: you realize it's just one line in the good .profile/.xinitrc/whatever ?
<mk270>
whereas the windowmanager doesn't
<mk270>
Drup: i am perfectly aware of that, yes
<mk270>
i think it is easier to hardwire the opam compiler version in .emacs
<ggole>
That only half works, since you lose updates from opam switch, etc
<Drup>
ok.
SkySkimmer has joined #ocaml
<mk270>
than to complicate my X startup with a whole bunch of app-specific hacks
<mk270>
ggole: yeah, that seems like a small loss
<Drup>
depends how much you switch
<mk270>
and i reckon if it breaks, it'll say so explicitly rather than silently screwing me over
n3ss3s has joined #ocaml
<Drup>
(I do very often ..)
freling has joined #ocaml
<mk270>
you may probably infer from how little i change my X setup that i might not change my ocaml setup very often either :) you'd be right
<mk270>
so
<mk270>
when it's installed properly
<mk270>
i get "Wrong type argument: number-or-marker-p, nil"
lordkryss has quit [Quit: Connection closed for inactivity]
<mk270>
when using C-c C-t
<mk270>
on even the simple example
<mk270>
my .merlin file might be to blame, of course
<c-c>
what
<c-c>
8)
<reynir>
hah
<Drup>
:D
<ggole>
Hmm... which emacs version?
<mk270>
S ./**
<mk270>
is all that is in the file
<mk270>
emacs 23.4.1
<mk270>
whatever ubuntu is giving me
<mk270>
i think it's the sensible ubuntu - whatever the most recent LTS is, which is by coincidence the newest anyway
<ggole>
Seems like it should be ok... file a bug I guess :(
<Drup>
it's weird.
<mk270>
a bug?
<mk270>
are you serious?
<Drup>
it seems like an issue in your setup, though.
<mk270>
i find a serious bug in ocamlopt, and you say "stop using -annot", and recommend "-bin-annot" which doesn't work, so i reconfigure everything and file a bug against something else?
<Drup>
ahahah x)
<mk270>
why is it that ocamlc and ocamlopt will generate different .annot files, one empty?
<ggole>
Software, it's a wonderful thing.
<mk270>
surely that is not supposed to happen?
<Drup>
mk270: no it's not, you should have reported it regardless
<ggole>
That sounds like another bug indeed.
<mk270>
people who are not being force-fed the latest ocaml wizardry are not going to be aware of merlin etc, and could be being bitten by this missing .annot behaviour
<mk270>
Drup: fair enough
<mk270>
how do i report a bug in ocamlopt then?
<mk270>
without joining a mailing list :)
<Drup>
just fwiw, even if it may look like it, irc is not the bug tracker of OCaml :3
<mk270>
Drup: i can live with that :)
<mk270>
what i can't live with is another email firehose
<mk270>
fair enough, but reasonable workflows that have been the same for 20 years shouldn't be broken to help someone advertise the new rent-seeking feature they've been working on as the new default
willy_ has quit [Quit: This computer has gone to sleep]
<Drup>
that's just because you don't realize how nice merlin is :3
slash^ has quit [Read error: Connection reset by peer]
<mk270>
that javascript code allows me to use html forms with more than one drop down. no i have no idea what is really wrong
<ilia>
Hello, I installed a package from sources, now findlib complains that it cannot find this package
<ilia>
what did I miss?
<Drup>
how did you installed ?
SkySkimmer has quit [Ping timeout: 246 seconds]
<ilia>
./configure && make && make install
<Drup>
what's the package ?
thomasga has quit [Quit: Leaving.]
<ilia>
camlp4
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Drup>
oh
<Drup>
this one is complicated
yomimono has joined #ocaml
<ilia>
I see
<dora-molly>
problem with merlin :P ?
<Drup>
I think it's not using findlib by default and ocamlfind is retro-fitting findlib information when it sees camlp4 is there
SkySkimmer has joined #ocaml
<ilia>
it also cannot find other packages: camlp4.extend
<ilia>
and camlp4.quotations.o
<Drup>
Where does your ocamlfind come from ? distrib packages ?
<ilia>
opam install findlib
<Drup>
try to reinstall it
SomeDamnBody has joined #ocaml
<ilia>
it wants to downgrade some other packages then
dev_ss has joined #ocaml
<Drup>
internal solver :(
<Drup>
what is your system/distrib ?
Submarine has quit [Quit: Leaving]
<dev_ss>
Hi someone is really good with ocamlsdl and could help me ?
<ilia>
it works!!
<Drup>
=)
<ilia>
thanks, Dru
<ilia>
Drup*
<rgrinberg>
Drup: ash yes, so what about it?
<rgrinberg>
Drup: i'm waiting for you to farm the karma on reddit with it
<Drup>
it's not reddit
Choups314 has joined #ocaml
<Drup>
ahahah
<Drup>
It's not ready*
<Drup>
well, what do you think of it ? you are the intendend audience, I'm sure you have strong opinions on the question
<dora-molly>
dev_ss: just ask your question
<dev_ss>
so i have installed opam, sdl, oasis etc ... and when i specify the includesdir in the makefile to the path sdl /home/.opam/lib/sdl i can compile, but when i try to compile from oasis i have an unbound value Sdl
<rgrinberg>
Drup: it did look pleasnatly familiar :)
matason has joined #ocaml
<Drup>
well, the construction is quite different from what you did in your blog post
<dev_ss>
yes i do it oasis setup
Anarchos has joined #ocaml
<rgrinberg>
Drup: yeah i still don't fully understand all the magic in furl but it looks sexy
<Drup>
ahah, no magic
<Drup>
only GADTs :D
<mk270>
Drup: i have filed a bug with mantis
<Drup>
congratuation :D
<Drup>
+l
<Drup>
rgrinberg: what do you think of the interface ? Do you have opinions on the whole ppx thing ?
<rgrinberg>
Drup: :) any sufficiently advanced usage of gadt's is indistinguishable from magic
<dev_ss>
always the same error ^^"
<Drup>
The main thing that is troubling issue is the issue with the value restriction
<Drup>
you can't build "general" urls with the combinators
<Drup>
either you have to wrap it in a function (that's what I show in the tutorial) but it's crappy, or you build with the constructor, but it's horrible