mlamari has quit [Read error: Connection reset by peer]
blandflakes has joined #ocaml
nullcat_ has quit [Ping timeout: 256 seconds]
<Drup>
rgrinberg: I'm still wondering why in hell TEST in capitalized in this ppx
struktured has quit [Ping timeout: 276 seconds]
<Drup>
there are so many things wrong with this ppx :/
swgillespie has joined #ocaml
swgillespie has quit [Max SendQ exceeded]
swgillespie has joined #ocaml
<rgrinberg>
Drup: i think it's because it's a port of pa_ounit to ppx
<rgrinberg>
and pa_ounit did TEST
<rgrinberg>
Drup: what do you find wrong with it?
<Drup>
"repeating shitty choice while not preserving compat" is probably one of the worst argument to justify something.
<def`>
shitty choice is subjective
<rgrinberg>
it's easy to grep :P
<Drup>
rgrinberg: the hack for "TEST module", the various syntax choices in the two sub libraries (at least two of them are useless), the various hacks on the "if the test's name has a specific form, we do this specific thing"
<Drup>
"If a name is not anonymous and ends with _, it is considered a test of type unit." wat :|
<def`>
Ok, that's ugly.
<Drup>
def`: let %TEST name = let module M = struct .. end in ()" instead of "TEST modules = struct ... end"
<def`>
ocaml attributes are somewhat reserved to weird places
<def`>
although a structure attribute before a test would have done it
<def`>
[%TEST]
<def`>
module M = struct bla end
<Drup>
or just making a feature request.
<def`>
[@@@TEST] sorry
<def`>
Ok, that's ugly =)
<def`>
Yep.
nullcat has joined #ocaml
<def`>
nullcat: I saw you were wondering about facebook limits yesterday
rgrinberg has quit [Ping timeout: 255 seconds]
<nullcat>
yeah
<nullcat>
i interpret wrong, i guess
<def`>
I used some API 2 years ago, limit was 600requests/600seconds, per token, per ip
<nullcat>
ok
<nullcat>
that's better
<nullcat>
so, facebook: 60 req/minute, twitter: 1 req/minute
<nullcat>
avg
<def`>
that was enough for reasonably intensive tasks
<nullcat>
u mean 1req/min?
tmtwd has quit [Quit: Leaving]
<def`>
(given that a query can return a quite big dataset)
<def`>
60/min
<nullcat>
yeah
<nullcat>
twitter is ridiculous...
<def`>
(for the 600 seconds, it's just that the throttling is done on a 10 minutes basis, so that you can burst but not for a long time)
<nullcat>
yeah
<def`>
If you're a professional, you can likely get special offers ;)
<Drup>
I was the one wondering :p
<def`>
Well it's the case with facebook. I doubt twitter would miss such opportunity
<Drup>
and give me the idea that I want to be the future maintainer of ocamlbuild ? No, thanks.
<Drup>
heh
<Drup>
s/me/him/
<rgrinberg>
hmm it seems like there's enough people interested on gh to maintain it though
<Drup>
then nudge them
<rgrinberg>
jpdeplaix, whitequark, hhugo, you
struktured has joined #ocaml
<Drup>
I have one legacy software to work on, that's far enough for me, I don't want another
<rgrinberg>
buenzli too perhaps
<Drup>
I doubt that
<Drup>
he can't work on something not written by him
<rgrinberg>
he can still give "helpful" hints
<Drup>
but that's not what is needed for ocamlbuild
<rgrinberg>
anyway out of those 5 candidates a couple will pull through
<jpdeplaix>
mmh yeah
<Drup>
jpdeplaix is busy studying, hhugo is now at jst, I'm not interested and I think whitequark is a tiny bit sick of interacting with the core team (and he doesn't do ocaml consulting anymore, afaik)
c74d is now known as Guest58597
<rgrinberg>
Drup: that's the whole point he won't need to interact with the core team anymore
<rgrinberg>
the core team doesn't touch ocamlbuild i thought
Guest58597 has quit [Ping timeout: 265 seconds]
<Drup>
(and anyway, assemblage will just generate a big shitty makefile that nobody care about and I'll be just fine)
c74d3 has joined #ocaml
<Drup>
(I just don't want to touch ocamlbuild's internals or ocamlbuild's APIs)
<rgrinberg>
i doubt ocamlbuild will die
<jpdeplaix>
well, the main point tho to put it out of the core package is that bugs and PRs can be fixed/accepted far more quickly
<rgrinberg>
yes! i'm sick of waiting for ocaml releases :/
<Drup>
rgrinberg: why do you ask me ? ask the coreteam :)
<rgrinberg>
jpdeplaix: what's this oasis_support voodoo in the jsoo ocamlbuild plugin?
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
shinnya has quit [Ping timeout: 244 seconds]
struktured has quit [Ping timeout: 246 seconds]
<jpdeplaix>
rgrinberg: it just takes your .byte executables and replace them in the targets by a .js
<rgrinberg>
jpdeplaix: why is for oasis though
<jpdeplaix>
because it's quite useful for OASIS
<jpdeplaix>
I don't know xD
<jpdeplaix>
well I used it for OASIS tho
idegen has quit [Quit: Leaving.]
<jpdeplaix>
but yeah definitively, it can be used for other build systems
<jpdeplaix>
well s/build-systems/wrappers, …/
seliopou has quit [Quit: whaaaat]
<paarth>
so I don't know if I messed up my module deps or something but I've got an interesting error message "This expression has type t but an expression was expected of type <module>.t" They're the same type, one's abstract
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
walter|r has quit [Remote host closed the connection]
walter|r has joined #ocaml
seliopou has joined #ocaml
walter|r has quit [Ping timeout: 244 seconds]
inf-gropeoid is now known as idem-pyon-tent
shinnya has joined #ocaml
gabemc has quit [Ping timeout: 246 seconds]
MrScout has quit [Ping timeout: 256 seconds]
seliopou has quit [Quit: whaaaat]
seliopou has joined #ocaml
shinnya has quit [Ping timeout: 264 seconds]
idem-pyon-tent is now known as fasernd-pyon
ygrek has quit [Ping timeout: 256 seconds]
seliopou has quit [Quit: whaaaat]
seliopou has joined #ocaml
Simn has joined #ocaml
Tamae has quit [Read error: Connection reset by peer]
Tamae has joined #ocaml
keen___________6 has quit [Ping timeout: 250 seconds]
blandflakes has joined #ocaml
blandflakes has quit [Client Quit]
ggole has joined #ocaml
slash^ has joined #ocaml
badon has joined #ocaml
seliopou has quit [Quit: whaaaat]
seliopou has joined #ocaml
nullcat_ has joined #ocaml
Nahra has quit [Remote host closed the connection]
ygrek has joined #ocaml
blandflakes has joined #ocaml
blandflakes has quit [Client Quit]
A1977494 has joined #ocaml
A1977494 has left #ocaml [#ocaml]
MercurialAlchemi has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Snark has joined #ocaml
mcc has quit [Quit: This computer has gone to sleep]
BitPuffin|osx has quit [Ping timeout: 245 seconds]
Gama11 has joined #ocaml
amnn has joined #ocaml
mort___ has joined #ocaml
Kakadu has joined #ocaml
amnn has quit [Read error: Connection reset by peer]
amnn has joined #ocaml
tane has joined #ocaml
rgrinberg has quit [Ping timeout: 272 seconds]
ygrek_ has joined #ocaml
ygrek has quit [Ping timeout: 252 seconds]
<dtscode>
val ratio : int -> int -> float = <fun>
<dtscode>
Are the return values always the last -> thingy?
<adrien>
yes
<dtscode>
Thanks
AltGr has joined #ocaml
<dtscode>
So this would be read as ratio takes types int, int and returns a float and is of type fun(ction)
<adrien>
yes, you can read it that way
<dtscode>
What would be another way to read it?
<adrien>
also, if you apply only the first argument, you will have a function int -> float as return
<dtscode>
oh really?
<adrien>
for instance:
<adrien>
# let add = (+);;
<adrien>
val add : int -> int -> int = <fun>
<adrien>
# let add2 = add 2;;
<adrien>
val add2 : int -> int = <fun>
<adrien>
(the (+) notation simply gives a function from the + operator)
* dtscode
nods
<dtscode>
makes sense
mort___ has quit [Quit: Leaving.]
blandflakes has joined #ocaml
blandflakes has quit [Client Quit]
shinnya has joined #ocaml
AlexRussia has quit [Quit: WeeChat 1.2-dev]
cml has joined #ocaml
ygrek_ has quit [Ping timeout: 276 seconds]
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 244 seconds]
ingsoc has joined #ocaml
mengu has joined #ocaml
mengu has joined #ocaml
<dmbaturin>
dtscode: Arrows associate to the right. 'a -> 'b -> 'c = 'a -> ('b -> 'c)
<dtscode>
yeah makes sense
<dmbaturin>
Also, arrow is a real type you can use in type annotations and module signatures. let bar (f : int -> int) x = f x
keen_ has joined #ocaml
<dtscode>
Yeah I'm reading real world ocaml, and I actually just came to the part describing that :D
QuanticPotato has joined #ocaml
QuanticPotato has quit [Ping timeout: 246 seconds]
rand000 has joined #ocaml
Cyanure has joined #ocaml
blandflakes has joined #ocaml
blandflakes has quit [Client Quit]
dsheets has joined #ocaml
ggole has quit [Ping timeout: 255 seconds]
TheLemonMan has joined #ocaml
ggole has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 264 seconds]
shinnya has quit [Ping timeout: 245 seconds]
QuanticPotato has joined #ocaml
AlexRussia has joined #ocaml
sdothum has joined #ocaml
Haudegen has quit [Ping timeout: 244 seconds]
TheLemonMan has quit [Ping timeout: 250 seconds]
blandflakes has joined #ocaml
haesbaert has joined #ocaml
Haudegen has joined #ocaml
tmtwd has joined #ocaml
<tobiasBora>
Hello !
<tane>
hi :)
sepp2k has joined #ocaml
hay207 has joined #ocaml
rgrinberg has joined #ocaml
<tobiasBora>
I have a little question about ocamlbuild : I put in the "After_rules" (in myocamlbuild.ml) this rule : http://paste.ubuntu.com/11624958
<tobiasBora>
It should copy the file %.cmo into _server/%.cmo
<tobiasBora>
The debug print show me that the copy is done
<tobiasBora>
however when I look after in the _build/_server nothing is present...
<tobiasBora>
Like if the ocamlbuild function removed it...
<tobiasBora>
Do you know how it is possible ?
cmtptr has quit [Quit: leaving]
rgrinberg has quit [Ping timeout: 252 seconds]
cmtptr has joined #ocaml
jgjl has joined #ocaml
<tobiasBora>
A funny thing : if I copy the file in %_2.cmo it is not removed, while %.cmo is removed...
wwilly has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 264 seconds]
walter|r has joined #ocaml
BitPuffin|osx has joined #ocaml
Hannibal_Smith has joined #ocaml
<tobiasBora>
The thing is that is the %.cmo file is generated from the last Cmd [...] option, it works,
<tobiasBora>
But if the file is generated in Ocaml it doesn't work.
<tobiasBora>
(the produced file is removed)
<tobiasBora>
Does anyone knows why ?
<tobiasBora>
(and knows a better way than putting Cmd (S ["mv"; "file_tmp.cmo"; "file.cmo"]) (which is soooo dirty) ?
tane has quit [Quit: Verlassend]
shinnya has joined #ocaml
idegen has joined #ocaml
AltGr has left #ocaml [#ocaml]
rgrinberg has joined #ocaml
Haudegen has quit [Ping timeout: 246 seconds]
ziprar is now known as zipace
rgrinberg has quit [Ping timeout: 256 seconds]
freling has joined #ocaml
Haudegen has joined #ocaml
MercurialAlchemi has joined #ocaml
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
obadz has joined #ocaml
rgrinberg has joined #ocaml
lobo has joined #ocaml
ollehar has joined #ocaml
rgrinberg has quit [Ping timeout: 246 seconds]
Hannibal_Smith has quit [Quit: Leaving]
octachron has joined #ocaml
wraithm has joined #ocaml
darkf has quit [Quit: Leaving]
AlexRussia has quit [Remote host closed the connection]
sepp2k has quit [Quit: Leaving.]
jabesed has joined #ocaml
wraithm has quit [Quit: leaving]
Tamae has quit [Ping timeout: 250 seconds]
freling has quit [Quit: Leaving.]
amnn has quit [Remote host closed the connection]
octachron has quit [Ping timeout: 258 seconds]
amnn has joined #ocaml
xificurC has quit [Ping timeout: 258 seconds]
<paarth>
Could someone help me understand what I'm messing up here? This involves nested module signatures. Link: http://pastebin.com/agwx8CQF
<def`>
First you should avoid cycles
ollehar has quit [Ping timeout: 264 seconds]
<tobiasBora>
paarth: Your code is strange: A include B and B include A...
rgrinberg has joined #ocaml
<paarth>
so here's what I really want
<paarth>
a module A
<paarth>
a module B that depends on A
<paarth>
however is referenced from outside through A.B, treating A as a namespace
tane has joined #ocaml
<paarth>
my first thought is to take the functionality in A and demote it to a submodule then provide top-level functions to map to functions in A
<paarth>
* top level functions in top-level A to map to functions in A'
<paarth>
so def` I'm trying to say that A doesn't actually depend on B (at least not logically)
<def`>
'not logically' :)
<def`>
as long as there is a reference...
<paarth>
def`, do you think my followup is a sane way of handling it?
<def`>
(you're special case could be made working, the compiler is just not aware that A from outside is the same as A from inside)
Haudegen has quit [Ping timeout: 244 seconds]
<def`>
your followup?
<paarth>
def`, to take the functionality I've got in A and put it into a new submodule, make B depend on A', and make the top-level A essentially a container with functions that I want at that top level namespace mapping to functions in A'
<ollehar>
paarth: why do you include B SIG in a.mli?
<ollehar>
oh, maybe that was solved...
<ollehar>
did disconnect/reconnect
wwilly has quit [Ping timeout: 265 seconds]
AlexRussia has joined #ocaml
<paarth>
ollehar, I wanted to be able to reference B as A.B
<paarth>
that's a pattern I saw in nocrypto
<ollehar>
sure, but you know that b.ml creates an implicit module B?
<ollehar>
so you get two B SIG
<paarth>
this I did not know. I thought b.ml would satisfy B SIG in a.mli
<ollehar>
hm, don't think so. you get two B SIG, one within A SIG and one outside of A SIG
<paarth>
is it possible to satisfy the one within A SIG except as a submodule in a.ml?
<tobiasBora>
Grrr ocamlbuild makes me crazy
Haudegen has joined #ocaml
<tobiasBora>
I juste want to add an option "-I myfolder" to "ocamlfind ocamlc ..."
<tobiasBora>
When I do "ocamlbuild -I myfolder ..." the -I flag isn't given to "ocamlfind ocamlc", and I tryied "ocamlbuild -cflags "-I,myfolder"" and it's the same thing;..
swgillespie has joined #ocaml
<ollehar>
paarth: well, your second error message tells you that you haven't implemented B' (B inside of A). so you can implement it, but then you get B.B SIG
fasernd-pyon is now known as inf-gropeoid
<ollehar>
not sure of your use-case :P
<ollehar>
paarth: and you still need to provide an implementation of B inside of A, since it's in the SIG
<ollehar>
maybe you want a functor, not sure.
gabemc has joined #ocaml
QuanticPotato has quit [Ping timeout: 255 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rgrinberg has quit [Ping timeout: 276 seconds]
swgillespie has joined #ocaml
Sim_n has joined #ocaml
<def`>
paarth: what you want with a namespace like structure is what is done in libs such as core with module aliases
<def`>
look them up in the manual
Simn has quit [Ping timeout: 276 seconds]
<def`>
and you could probably get that to work by using
rgrinberg has quit [Read error: Connection reset by peer]
milosn has quit [Read error: Connection reset by peer]
milosn_ has joined #ocaml
milosn_ is now known as milosn
xificurC has joined #ocaml
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
TheLemonMan has joined #ocaml
cml has quit [Ping timeout: 246 seconds]
amnn has joined #ocaml
Haudegen has joined #ocaml
<paarth>
def`, you know, that's what I was trying to get working. It just went completely over my head that I needed those in the mli
shinnya has joined #ocaml
gabemc has quit [Ping timeout: 272 seconds]
blandflakes has joined #ocaml
tane has quit [Quit: Verlassend]
blandflakes has quit [Client Quit]
nullcat_ has joined #ocaml
MrScout has quit [Ping timeout: 256 seconds]
swgillespie has joined #ocaml
inf-gropeoid is now known as not-not-pyon
Haudegen has quit [Ping timeout: 265 seconds]
ggole has quit [Ping timeout: 252 seconds]
<companion_cube>
Drup: +1 for glasshouse (didn't read the other Stross nicoo mentionned)
jgjl has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<ollehar>
def`: ah, did not know about that
matason has joined #ocaml
waneck has joined #ocaml
<MercurialAlchemi>
another vote for glasshouse
<MercurialAlchemi>
though Accelerando is mindblowing
<MercurialAlchemi>
(but it's a bunch of short stories, not a real novel)
Haudegen has joined #ocaml
<companion_cube>
see also: Bruce Sterling
waneck has quit [Read error: Connection reset by peer]
waneck has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
jgjl_ has joined #ocaml
jgjl_ has quit [Client Quit]
jgjl has quit [Ping timeout: 272 seconds]
<paarth>
naive question: How is it that I can say Core_kernel.* when there isn't a core_kernel.mli?
<paarth>
in the source tree*
Hannibal_Smith has joined #ocaml
<dsheets>
paarth, -pack
<adrien>
-evil
<dsheets>
indeed, it usually causes more headaches than it's worth
<dsheets>
and really complicates name resolution logic
<paarth>
Is there a non-evil option for constructing a module based on submodules where those submodules are not independently available?
<MercurialAlchemi>
hmm, Bruce Sterling, haven't read anything by him since Storm Chasers
<MercurialAlchemi>
or whatever that was called
<companion_cube>
I only read schismatrice, but it's really good
<MercurialAlchemi>
ah, it's an oldie but goodie
<MercurialAlchemi>
he has some short stories set in the same universe
<MercurialAlchemi>
that was back when cyberpunk was cool
<MercurialAlchemi>
Neuromancer and all that
<MercurialAlchemi>
Walter Jon Williams has written some good cyberpunk too, if you're into that
<Drup>
I didn't knew cyberpunk stopped being cool, it just went mainstream and a lot of crap was produced. :D
<companion_cube>
well schismatrix is more a space opera imho
<MercurialAlchemi>
think I still have Voice of the Whirlwind somewhere
<companion_cube>
a space cyberopera :p
<MercurialAlchemi>
Drup: it stopped being cool when people stopped writing proper cyberpunk :)
<Drup>
cyperspace opera ? :D
<MercurialAlchemi>
well, I don't know, not much opera about it
<MercurialAlchemi>
no dogfights in space or idiots with lightsabers
<companion_cube>
lots of punk, but not that much cyber :p
<companion_cube>
oh, ok
<companion_cube>
but still in a large spatial setting with spaceships and all :p
<MercurialAlchemi>
yep
<MercurialAlchemi>
though still more "cyberpunk in space" kind of thing
<MercurialAlchemi>
you even have spaceships in Neuromancers anyway
<Drup>
MercurialAlchemi: Surface details feature neither and is still pretty damn good space opera
<nicoo>
MercurialAlchemi: I read Accelerando too (and Rapture of the Nerds) and it's really good, yes
MrScout has joined #ocaml
<Drup>
(We are totally in #sci-fi-books now :D)
<companion_cube>
accelerando is almost too dense, imho
<MercurialAlchemi>
nicoo: only problem with Accelerando, it needs a pause button to absorb the concepts
<Drup>
companion_cube: I raise you Hyperion.
rgrinberg has joined #ocaml
<MercurialAlchemi>
but at least it moves forward a bit faster than a typical Proust novel
<companion_cube>
Drup: I love hyperion
<Drup>
I don't understand hyperion
<MercurialAlchemi>
the first two are brilliant
<MercurialAlchemi>
the last two are useful when it's cold in winter and you need to start the fire
<companion_cube>
I don't need to understand everything to love the book :p
<Drup>
I read it, I process, and then I realized I didn't retained anything of it
<Drup>
I tried several time
<companion_cube>
oh.
<MercurialAlchemi>
well, I don't claim I understand everything
<dtscode>
Why do I not need to do **. for floats? Why can I just do **?
<MercurialAlchemi>
(like the buildings going backward in time)
<companion_cube>
yeah
<Drup>
dtscode: there is no operator overloading in ocaml
<MercurialAlchemi>
dtscode: you need to +. for floats as well
<companion_cube>
but the characters are nice, the universe is awesome, the storytelling is really good
<nicoo>
companion_cube: Sterling's _Difference Engine_ (co-authored with William Gibson) is reaaaaaally good
<Drup>
Oh.
<Drup>
dtscode: well, there is no ** on ints, that's all :)
<dtscode>
Drup: This isn't about operator overloading
<companion_cube>
nicoo: meh, stop teasing me
<nicoo>
MercurialAlchemi: Yes
<dtscode>
ah
<dtscode>
thanks Drup
<companion_cube>
open a blog and list books on it, now
<nicoo>
companion_cube: I should actually do that on my GoodReads account :3
<Drup>
nicoo: but, the Difference Engine is by baggage!
<Drup>
:<
<nicoo>
Drup: That the point
<companion_cube>
sounds a bit too much like the naive AI technique of old
<MercurialAlchemi>
the Difference Engine's universe was really good, but hell if I remember anything about the plot
<MercurialAlchemi>
if there was one
<nicoo>
Drup: _The Difference Engine_ tells you of a world were Babbage's computer worked. Steampunk panopticon
<nicoo>
Formal logic
<nicoo>
companion_cube: Is that enough teasing ?
<companion_cube>
ohoh, nice
<Drup>
ahah, that sounds awesome :D
<companion_cube>
uchrony? do want
<adrien>
paarth: we tend to "do it by hand" currently, i.e. Foo_bar instead of Foo.Bar
<companion_cube>
nicoo: now hurry up and write this blog post
<MercurialAlchemi>
hm, I thought he had a working design, but not the money to build such a monstruosity
<MercurialAlchemi>
an uchrony where ocaml is popular, that'd be something
<MercurialAlchemi>
we could call it "The Inference Engine"
<nicoo>
Oh, also Palminpest is really good
<MercurialAlchemi>
nicoo: don't know that one
<companion_cube>
what's the Stross books you were recommending again?
<paarth>
adrien, Foo_bar is still available for user access, correct?
<MercurialAlchemi>
"In the Cities of Coin and Spice and In the Night Garden introduced readers to the unique and intoxicating imagination of Catherynne M. Valente. Now she weaves a lyrically erotic spell of a place where the grotesque and the beautiful reside and the passport to our most secret fantasies begins with a stranger’s kiss."
<MercurialAlchemi>
hmm
<adrien>
paarth: what do you mean "user access"?
<companion_cube>
nicoo: the laundry something?
<paarth>
adrien, let's say you're building a library. In the situation you've described a user of that library will be able to access the Bar submodule as Foo.Bar but also as Foo_bar. Is that right?
blandflakes has joined #ocaml
<adrien>
no
<adrien>
what I meant was that instead of having bar.ml and packing inside Foo, we would have foo_bar.ml
<adrien>
it's a bit too simple but it easy to deal with and to understand
blandflakes has quit [Client Quit]
<Drup>
It's also not that good
<Drup>
you should use module aliases instead
<Drup>
We should really walk away from "underscore as namespace separators"
mengu has quit []
<Drup>
it's semantically ugly and it prevents some use of the tooling
blandflakes has joined #ocaml
<adrien>
I need to get more up to date with the most recent ocaml versions; I had completely forgotten about module aliases
<t4nk822>
After quite some time of using ocamlgraph I am still not so satisfied: how can I just get an arbitrary node from a graph? Or a list of all nodes?
<adrien>
damn, forgot to get that +o
<paarth>
Drup, that's exactly what I needed. Thanks all!
<Drup>
t4nk822: To get an arbitrary need, use the Choose functor
MrScout has quit [Ping timeout: 265 seconds]
<Drup>
for a list of all nodes, you can easily compose that function with fold_vertex
rgrinberg has quit [Ping timeout: 245 seconds]
freling has quit [Quit: Leaving.]
<Drup>
(the Choose functor is in the Oper module)
Cyanure has quit [Ping timeout: 244 seconds]
BitPuffin has joined #ocaml
rgrinberg has joined #ocaml
govg has quit [Ping timeout: 246 seconds]
obadz has quit [Ping timeout: 264 seconds]
Cyanure has joined #ocaml
t4nk822 has quit [Ping timeout: 246 seconds]
MercurialAlchemi has quit [Ping timeout: 244 seconds]
MrScout has joined #ocaml
rand000 has quit [Quit: leaving]
Denommus` has quit [Ping timeout: 256 seconds]
matason_ has joined #ocaml
matason_ has quit [Client Quit]
matason has quit [Ping timeout: 265 seconds]
MrScout has quit [Ping timeout: 265 seconds]
Hannibal_Smith has quit [Quit: Leaving]
jonh has joined #ocaml
waneck has quit [Read error: Connection reset by peer]
Cyanure has quit [Remote host closed the connection]
ingsoc has quit [Ping timeout: 256 seconds]
hay207 has quit [Ping timeout: 265 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<ollehar>
any other languages like koka with side-effect inference?
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]