<Drup>
haven't read yet, but related to things we discussed
<ggole>
Hmm, looks interesting
Kakadu has quit [Ping timeout: 246 seconds]
<ggole>
This sounds a lot like I've been trying to design IRs
Kakadu has joined #ocaml
<ggole>
A dialect of Rust?!
<ggole>
Drup: this is a really interesting paper
sgnb` has quit [Remote host closed the connection]
oscar_toro has quit [Ping timeout: 244 seconds]
sgnb has joined #ocaml
vincenzoml has joined #ocaml
vincenzoml has quit [Client Quit]
<Drup>
haven't read yet :3
<flux>
yeah, don't spoil it for him ;)
idegen has joined #ocaml
<Drup>
#articlespoiler "At the end, the theorem is proven."
oscar_toro has joined #ocaml
<ggole>
I totally agree with all the arguments that nesting and renaming are silly and just get in the way
<ggole>
And Stephen Weeks said pretty much the same thing (about nesting - MLTon uses textual names iirc)
<ggole>
The graph IR is also pretty much what I expected, except that function nesting is entirely a matter of data dependencies
<ggole>
I ran into trouble with this part of the design because I didn't know how to handle cycles (eg, let rec + mutual recursion) - the paper doesn't quite make the details clear on that question, unless I missed something.
<Drup>
I like the sentence: "However,as we will see, enthusiastic GADT users were more cleverthan the checker, and they got exhaustiveness warningswhere none should be"
<adrien_znc>
users, always a problem
rgrinberg has joined #ocaml
<Drup>
"The solution to this conundrum is to actually do all ofthese simultaneously." famous last words of algorithm designers.
rbocquet has quit [Ping timeout: 256 seconds]
Hannibal_Smith has quit [Quit: Leaving]
tmtwd has joined #ocaml
freling has joined #ocaml
thomasga has joined #ocaml
sh0t has joined #ocaml
Submarine has joined #ocaml
Submarine has joined #ocaml
<thomasga>
is there any way to make Format.ifprintf faster?
<adrien_znc>
replace with ikfprintf? :P
<flux>
didn't the gadt-based format strings already speed up those functions a bit?
<flux>
profiling might tell what's taking so long in ifprintf, then just don't do it ;)
<Drup>
thomasga: fwiw, flambda provides a rather important speed boost to formatters ...
<thomasga>
the GADT is still trying to interpret the arguments types
<thomasga>
that's slow
<Drup>
yeah
<thomasga>
(especially in a loop in the hot path)
<flux>
it isn't the dealing with buffers and maybe copying stuff that's slow?
<Drup>
thomasga: it's a know issue, unfortunatly
<thomasga>
is there a work-around?
amnn has joined #ocaml
<Drup>
not without Obj.magic
<thomasga>
give me the runes
<flux>
use pp_print_ and friends instead of format strings?
<thomasga>
flux: I'd like to use the usual format strings if possible :-)
<Drup>
thomasga: the other (better ?) solution is to manually do the if
psy_ has quit [Ping timeout: 264 seconds]
amnn has quit [Read error: Connection reset by peer]
<Drup>
The whole issue come down to "ikfprintf must evaluate the GADT in order to have the correct type"
<Drup>
You see, you reinveted yours and you didn't patched dolog.
<companion_cube>
yes, I think this existed before dolog
kushal has quit [Quit: Leaving]
sepp2k has joined #ocaml
blandflakes has joined #ocaml
slash^ has joined #ocaml
oscar_toro has quit [Ping timeout: 276 seconds]
milosn_ has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
seanmcl has joined #ocaml
mcc has joined #ocaml
rbocquet has joined #ocaml
kdef has joined #ocaml
jeffmo has joined #ocaml
<Drup>
Il y a des papiers pour apprendre un hypergraph caché <3
<adrien_znc>
ECHAN :)
<Drup>
oups.
seanmcl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jao has joined #ocaml
seanmcl has joined #ocaml
milosn_ is now known as milosn
tonyg has joined #ocaml
<tonyg>
hi all, is it true that (v = w) iff (Obj.repr v = Obj.repr w)? experiments suggest so, but it'd be good to get an authoritative judgement
samae has joined #ocaml
<samae>
In the toplevel, how can one load a module that requires external C functions? The said functions are available in the same folder in an object file compiled from C.
<ggole>
With the caveat that Obj isn't supposed to be used: Obj.repr is just the identity function
<tonyg>
ggole: thanks. That sounds plausible :)
<ggole>
So this boils down to v = w iff v = w
<tonyg>
excellent.
<ggole>
Can I ask why you want to know this?
<tonyg>
i'm experimenting with implementing a kind of pattern-matching dispatch
<ggole>
I assume you are well versed in the dangers.
<tonyg>
heh :) yeah, ish
<tonyg>
i'm finding out whether there's enough structure available in the runtime representations to let my idea fly or not
<tonyg>
if not, never mind; but if so, ocaml would make a nice platform to demo what i have in mind
<ggole>
Using Obj for experiments is fine, of course
<ggole>
What's the idea?
zpe has quit [Remote host closed the connection]
<tonyg>
i work on messaging middleware. i'm exploring the possibility of using polymorphic variants across the bus to avoid having to reify messages so much
<tonyg>
other options include making use of metaprogramming facilities
<tonyg>
i'm not at the point of making firm decisions yet
<ggole>
real world ocaml has a reasonable description of the structure of polymorphic variants, iirc
<tonyg>
yep, it does
<tonyg>
thank you
<Drup>
it sounds like you will want to reimplement Marshal.
<tonyg>
Drup: sort of. i need some way of embedding wildcards in values, which is... awkward in ocaml's type system.
robink_ has quit [Ping timeout: 255 seconds]
shinnya has joined #ocaml
Submarine has joined #ocaml
<tonyg>
actually the more i think about it, the more i think this idea of mine won't work in ocaml. i need runtime representations of types, which IIUC are not available in any form
<tonyg>
modulo possibly via some metaprogramming path i am not yet aware of
<jrslepak>
if you ever run across a really nice way of doing "runtime representations of types," let me know
<Drup>
metaocaml can certainly do a ton of stuff, but runtime introspection of *values* is not one of them
robink_ has joined #ocaml
<ggole>
GADTs can reify types pretty effectively
<tonyg>
jrslepak: yo
<Drup>
ggole: not in the presence of subtyping
<ggole>
I think there's even a proposal to add such a library to OCaml
<jrslepak>
tonyg: saw you and momentarily thought this was another channel
<ggole>
Drup: another instance of "subtyping ruins everything", eh?
<Drup>
ggole: or "gadt ruins everything", your choice ;)
<ggole>
Why not both?
<Drup>
non exclusive or :3
freling has quit [Quit: Leaving.]
Submarine has quit [Quit: Leaving]
Hannibal_Smith has joined #ocaml
<samae>
In the toplevel, how can one load a module that requires external C functions? The said functions are available in the same folder in an object file compiled from C.
<samae>
I'm using `ocamlmktop` with the `-custom` option and I pass it my .o files
octachron has quit [Quit: Leaving]
<samae>
Is there any else I should know. When I start my custom toplevel, it still complains about a missing external function…
<Drup>
according to damien, there is also going to be multicore in 4.03, we will see how ready it is by that time
Anarchos has quit [Ping timeout: 265 seconds]
Hannibal_Smith has joined #ocaml
kdef has quit [Quit: Leaving]
<thomasga1>
Drup: a solid prototype will be ready, but I doubt anything more than that will be there… but we'll see!
<Drup>
thomasga1: that was my instinct as well, but I don't have any real internal information on this work (as opposed to flambda :p)
Haudegen has joined #ocaml
thomasga1 has quit [Quit: Leaving.]
<octachron>
What is the status of camlp4 in regards of the 4.02.2 version? Testing the rc version while avoiding all the package that depends on camlp4 seems ... impractical.
badkins has quit []
psy_ has quit [Ping timeout: 245 seconds]
samae has left #ocaml ["WeeChat 1.2"]
rgrinberg has quit [Read error: Connection reset by peer]
psy_ has joined #ocaml
f[x] has quit [Ping timeout: 244 seconds]
_andre has quit [Quit: leaving]
hongbo has quit [Quit: Connection closed for inactivity]
matason has joined #ocaml
octachron has quit [Quit: Leaving]
bjorkintosh has quit [Quit: Leaving]
<raboof>
it looks like janestreet core_kernel uses pa_ounit for tests.
sivoais has quit [Remote host closed the connection]
<raboof>
it's unclear to me how to run those, though - doesn't appear to be simply 'make test'. Any pointers?
<Drup>
./configure --enable test
<Drup>
or --enable-test
sivoais has joined #ocaml
bjorkintosh has joined #ocaml
<raboof>
hmm, i changed a testcase and did './configure --enable-tests; make clean; make test' - didn't fail
Denommus has joined #ocaml
amnn has joined #ocaml
amnn has quit [Client Quit]
Gama11 has quit [Remote host closed the connection]
kdef has joined #ocaml
jonludlam has joined #ocaml
amnn has joined #ocaml
amnn has quit [Client Quit]
tane has quit [Quit: Verlassend]
BitPuffin|osx has joined #ocaml
matason has quit []
shinnya has quit [Ping timeout: 265 seconds]
Cyanure has quit [Remote host closed the connection]
f[x] has joined #ocaml
jeffmo has quit [Quit: jeffmo]
MrScout_ has joined #ocaml
MrScout has quit [Ping timeout: 256 seconds]
Hannibal_Smith has quit [Quit: Leaving]
Hannibal_Smith has joined #ocaml
yomimono has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
swgillespie has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 255 seconds]
Hetu has joined #ocaml
pkrnj has joined #ocaml
Hetu has quit [Quit: Verlassend]
Simn has quit [Quit: Leaving]
Hannibal_Smith has quit [Quit: Leaving]
Kakadu has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
rgrinberg has joined #ocaml
amnn has joined #ocaml
amnn has quit [Client Quit]
amnn has joined #ocaml
amnn has quit [Read error: Connection reset by peer]
amnn has joined #ocaml
manizzle has joined #ocaml
MrScout_ has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
rgrinberg has quit [Ping timeout: 252 seconds]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
amnn has joined #ocaml
amnn has quit [Client Quit]
nullcat_ has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
jwatzman2 has joined #ocaml
madroach has joined #ocaml
jwatzman|work has quit [Ping timeout: 256 seconds]
jwatzman2 has quit [Ping timeout: 265 seconds]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
pkrnj has quit [Quit: Computer has gone to sleep.]