silver has quit [Read error: Connection reset by peer]
nomicflux has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
sh0t has quit [Remote host closed the connection]
kmicinski has joined #ocaml
<kmicinski>
When I set environment variables, they do not seem to be inherited by ocamldebug, is there a way around this?
average has quit [Remote host closed the connection]
kmicinski has quit [Quit: Lost terminal]
jao has quit [Ping timeout: 276 seconds]
nomicflux has quit [Quit: nomicflux]
rgrinberg has joined #ocaml
ryanartecona has joined #ocaml
mfp has quit [Ping timeout: 256 seconds]
ryanartecona has quit [Quit: ryanartecona]
mengu has quit [Remote host closed the connection]
fraggle_ has quit [Ping timeout: 255 seconds]
unbalancedparen has quit [Ping timeout: 255 seconds]
yomimono has joined #ocaml
myst|fon has quit [Quit: Connection closed for inactivity]
yomimono has quit [Ping timeout: 240 seconds]
PapaJones13 has joined #ocaml
oschwald has quit [Quit: Leaving.]
mengu has joined #ocaml
mengu has quit [Remote host closed the connection]
shinnya has joined #ocaml
mengu has joined #ocaml
mengu has quit [Ping timeout: 255 seconds]
copy` has quit [Quit: Connection closed for inactivity]
jls_xxx has joined #ocaml
<jls_xxx>
I have a situation where I want to pattern match against many cases of something where the RHS is not just a one or two line function. In haskell I just define the function multiple times at the toplevel with a different pattern. Can something similar be accomplished in ocaml?
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #ocaml
mengu has joined #ocaml
mengu has quit [Ping timeout: 258 seconds]
FiveBroDeepBook has joined #ocaml
FiveBroDeepBook has left #ocaml [#ocaml]
malc_ has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 252 seconds]
MercurialAlchemi has joined #ocaml
mengu has joined #ocaml
mengu has quit [Remote host closed the connection]
mengu has joined #ocaml
FreeBirdLjj has joined #ocaml
AlexDenisov has joined #ocaml
djellemah has quit [Ping timeout: 260 seconds]
rgrinberg has quit [Remote host closed the connection]
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
AlexDenisov has quit [Client Quit]
djellemah has joined #ocaml
manizzle has quit [Ping timeout: 252 seconds]
fre2 has joined #ocaml
jls_xxx has quit [Ping timeout: 260 seconds]
PapaJones13 has quit [Remote host closed the connection]
govg has joined #ocaml
chetshah has joined #ocaml
snhmib has joined #ocaml
chetshah has quit [Quit: Page closed]
frefity has quit [Ping timeout: 255 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
nilof_ has joined #ocaml
frefity has joined #ocaml
fre2 has quit [Ping timeout: 256 seconds]
mfp has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
frefity has quit [Ping timeout: 240 seconds]
orbifx has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
average has joined #ocaml
frefity has joined #ocaml
orbifx has quit [Ping timeout: 245 seconds]
govg has quit [Ping timeout: 258 seconds]
mengu has quit [Remote host closed the connection]
Onemorenickname has quit [Ping timeout: 256 seconds]
ziyourenxiang has joined #ocaml
govg has joined #ocaml
mrnugget has joined #ocaml
orbifx has quit [Ping timeout: 255 seconds]
Onemorenickname has joined #ocaml
zpe has joined #ocaml
sh0t has joined #ocaml
Onemorenickname_ has quit [Ping timeout: 252 seconds]
manizzle has joined #ocaml
Cypi_ is now known as Cypi
jnavila has joined #ocaml
foocraft has joined #ocaml
copy` has joined #ocaml
FiveBroDeepBook has joined #ocaml
FiveBroDeepBook has left #ocaml [#ocaml]
manizzle has quit [Ping timeout: 252 seconds]
jnavila has quit [Ping timeout: 264 seconds]
Simn has joined #ocaml
MercurialAlchemi has joined #ocaml
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
vramana1 has joined #ocaml
manizzle has quit [Max SendQ exceeded]
vramana has quit [Ping timeout: 240 seconds]
vramana1 is now known as vramana
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
snhmib has quit [Ping timeout: 240 seconds]
manizzle has joined #ocaml
ziyourenxiang has quit [Quit: Leaving]
FiveBroDeepBook has joined #ocaml
FiveBroDeepBook has left #ocaml [#ocaml]
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
mrnugget has quit [Ping timeout: 240 seconds]
Onemorenickname_ has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
Onemorenickname has quit [Ping timeout: 260 seconds]
FreeBirdLjj has joined #ocaml
yomimono has joined #ocaml
SomeDamnBody has joined #ocaml
<SomeDamnBody>
Does anybody know how to compute the set of nodes that have no dominators using ocamlgraph?
<Drup>
isn't there a dominator module for this kind of things ?
<SomeDamnBody>
Drup: true, but that doesn't directly give me that.
<SomeDamnBody>
So, I'm trying to make sure that I don't waste time
<SomeDamnBody>
reinventing the wheel
yomimono has quit [Ping timeout: 260 seconds]
<Drup>
hum, the dominator API seems quite awkward
foocraft has quit [Ping timeout: 240 seconds]
snhmib has joined #ocaml
<SomeDamnBody>
yeah. Do you think I should add a function for that?
<SomeDamnBody>
I could merge request it on github probably within a day.
<SomeDamnBody>
I just didn't want to create anything that has already been done
<Drup>
don't know. I never really used dominators
foocraft has joined #ocaml
<SomeDamnBody>
Basically, I just want a set of nodes that have no edge leading into them.
<Drup>
huh, out_degrees is enough for that
<SomeDamnBody>
But I guess I'm finding that that particular node should be the parameter in almost all cases to the dominator.
<SomeDamnBody>
Yeah, I'll just write a really brief function, I don't know why I complicated it so much
<Drup>
like fold_vertex (fun x l -> if out_degrees g x = 0 then x :: l else l) g []
<SomeDamnBody>
Yes
<Drup>
actually, in_degree*
<SomeDamnBody>
yes, that slipped me too.
<SomeDamnBody>
My bad, I am busy thinking up a set of ways to simplify a new algorithm that is complicated by a handful of inductive cases that combine with one another
<SomeDamnBody>
So, there's like two types and 3 properties, but each of those can occur with different combinations of one another. And I've got to find a way to simplify it all.
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
<Onemorenickname_>
hello
FreeBirdLjj has quit [Remote host closed the connection]
<Onemorenickname_>
i'm trying to do some thing like "let rec a = [some_big_wrapping_function a]"
<Onemorenickname_>
and it's not allowed
<Onemorenickname_>
so far, i just unwrapped the call to "some_big_wrapping_function"
FreeBirdLjj has joined #ocaml
<Onemorenickname_>
but now, i have mutual recursion, and it's not possible anymore
<Onemorenickname_>
whatdo?
FreeBird_ has joined #ocaml
<Drup>
try to use lazy ? :/
<Onemorenickname_>
Drup, what's the difference ?
<Onemorenickname_>
what would you lazify ?
FreeBirdLjj has quit [Ping timeout: 240 seconds]
<Drup>
let rec a = lazy (some_big_wrapping_function (Lazy.force a))
<SomeDamnBody>
Is there a module in the ocamlgraph library for identifying the subgraphs that are entirely distinct from one another?
<Drup>
sometimes it works
nomicflux has joined #ocaml
timclassic has quit [Ping timeout: 240 seconds]
aspiwack[m] has quit [Ping timeout: 258 seconds]
sternenseemann[m has quit [Ping timeout: 255 seconds]
na9da[m] has quit [Ping timeout: 252 seconds]
M-martinklepsch has quit [Ping timeout: 276 seconds]
srenatus[m] has quit [Ping timeout: 256 seconds]
M-Illandan has quit [Ping timeout: 256 seconds]
ktosiek[m] has quit [Ping timeout: 240 seconds]
M-ErkkiSeppl has quit [Ping timeout: 245 seconds]
yetanotherion[m] has quit [Ping timeout: 258 seconds]
Bluddy[m] has quit [Ping timeout: 252 seconds]
barkmadley[m] has quit [Ping timeout: 264 seconds]
M-jimt has quit [Ping timeout: 255 seconds]
<Onemorenickname_>
Drup, i get Camlinternallazy.undefined
<Drup>
yeah, that happens when your recursion is not really feasible
<Onemorenickname_>
"not really" ?
<Drup>
what are you trying to do ?
<Onemorenickname_>
i'm defining grammars
<Onemorenickname_>
and i want mutually recursive grammars through helper functions
<Drup>
right
tane has joined #ocaml
zpe has quit [Ping timeout: 256 seconds]
<asmanur>
Drup: i don't think your example ever works: if you do Lazy.force a it will always fail
<Onemorenickname_>
(i tried on a dummy example, it did not work)
<Drup>
asmanur: depends what's in your big function
<asmanur>
Drup: in call-by-value, it does not ?
<Drup>
well, actually, big function, yeah. If it's "big expression", depends, of course
<_y>
am i the only one whose external dependency solver (aspcud) fails miserably because it insists on loading some libpython3.5 stuff that does not exist, because 3.6 ?
<Drup>
_y: rebuild aspcud
<Drup>
(or gringo, whichever)
<_y>
Drup, i use a packaged binary
FreeBird_ has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
<Drup>
err, complain to the packager ? :/
<Drup>
I'm not sure symlinking works, in this case
<_y>
if the error is not due to a bad config from me, i guess i can wait for the fix to be packaged
<_y>
my temporary workaround is called ln -s
mrnugget has joined #ocaml
jnavila has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 276 seconds]
<_y>
Drup, it happens to work, but well…
<_y>
so it is a known problem?
rgrinberg has joined #ocaml
<Drup>
_y: I'm not sure it's "known" but I got the same one
Algebr has joined #ocaml
mrnugget has quit [Ping timeout: 255 seconds]
nomicflux has quit [Quit: nomicflux]
mengu has joined #ocaml
fre2 has joined #ocaml
mengu has quit [Ping timeout: 260 seconds]
<_y>
oh wait, gringo is actually an unmaintained package from the AUR, although aspcud is an official package that depends on the official package clingo
<Drup>
ah, didn't know that aspcud was in community now, nice
tane has quit [Ping timeout: 240 seconds]
ygrek has joined #ocaml
ygrek has quit [Ping timeout: 260 seconds]
freusque has joined #ocaml
fre2 has quit [Ping timeout: 240 seconds]
<Onemorenickname_>
so there is no way in ocaml to have mutually recursive definition ?
tane has joined #ocaml
P4Titan has joined #ocaml
<P4Titan>
Hi all. Does anyone have expirience with ppx_deriving_protobuf?
<P4Titan>
I'm trying to serialize a non-standard Zarith Z.t type
<_y>
Drup, okay, so the problem was gringo not properly upgraded / replaced by the package manager, due to aspcud having been repackaged into an official repo with no change of the version number but the dependency gringo replaced by clingo
<_y>
and cringo deprecated (not even marked as conflicting with clingo as it should)
<_y>
so the solution for me was: sudo pacman --assume-installed gringo=4.2.1 -Rs gringo && sudo pacman -S aspcud
<_y>
Onemorenickname_, of course there is
jnavila has quit [Ping timeout: 240 seconds]
<Onemorenickname_>
_y, is there a way to make the compilator not scream when I want to "let rec a = f a b and b = g a b" ?
<Drup>
Onemorenickname_: not without doing tricks with lazy
<Drup>
(or hiding behind functions, of course)
<Onemorenickname_>
"hiding behind functions" mean ?
<Drup>
let rec a () = ...
<Drup>
Onemorenickname_: can you show concretely what f/g are ?
<Onemorenickname_>
seq is the function for the sequences of grammar, alt for the alternative
<Drup>
alt/seq are your own, or from a library ?
<Onemorenickname_>
my own
<Onemorenickname_>
actually, this one won't compile
<Drup>
you're going to add a fixpoint combinator to your library, then
<Onemorenickname_>
i have to replace "nt aux" with "`NT aux" so it compiles
<Onemorenickname_>
hm
<Onemorenickname_>
you mean, a fixpoint combinator to the library doing the parsing
<Drup>
yes
<Onemorenickname_>
not only the grammar formatter
<Onemorenickname_>
this is not good
<Drup>
recursion is not magical. If you are not defining a value *syntactically*, the compiler has no way to know how to take the fixpoint of your expression
ollehar1 has joined #ocaml
<Onemorenickname_>
Drup, there is no way to define a function as syntactical in ocaml ?
<Onemorenickname_>
like, a typed macro
<Drup>
No :/
<Drup>
that would be so nice, but no
<Onemorenickname_>
hm
<Onemorenickname_>
do you know if haskell allows that ?
<Drup>
yes, for two reasons: 1) pervasive lazyness 2) undefined
<Onemorenickname_>
pervasive lazyness
<Onemorenickname_>
right
<Onemorenickname_>
it does not messes with all the types
<Onemorenickname_>
hm
<Drup>
"let x = x + 1" is a valid haskell expression (that returns undefined when evaluated)
<Onemorenickname_>
oh.
<Drup>
yeah
<Onemorenickname_>
so it allows more than it should
<Drup>
you can't really decide :/
<Onemorenickname_>
you can allow a big enough subset :D
<Drup>
it's not that easy
<Onemorenickname_>
i'm sure it is not
<Drup>
actually, x loops, in this case
<ollehar1>
no one knows fstar? the #fstar channel is always dead empty :P
<Onemorenickname_>
for this problem, either functions should be flagged as "not inspecting their content", or flagged as syntactical
<Onemorenickname_>
ollehar1, are you poking fun at me because I went to #fstar after this problem ? :D
<ollehar1>
Onemorenickname_: oh
<ollehar1>
no, I'm reading about stateful verification
<Onemorenickname_>
oh, i see
<Onemorenickname_>
well, Drup, thanks for your help :)
<Drup>
another technique, to allow recursion, is to separate creating a name and associating the definition to the name
<Drup>
you create all the name you want first and then associate them to the definitions (which can use the names)
<Onemorenickname_>
i don't see what this technique is
<Onemorenickname_>
(i'm thinking about a hashtabl when you say what you're waying)