<romildo>
Is there a symbol type in OCaml, where a symbol is a name with constant time comparison function, like symbols in Lisp?
<sgnb>
romildo: no
<romildo>
Then I suppose I will have to implement one using a hastable
jeddhaberstro has joined #ocaml
<Associat0r>
is there any runtime quotation macro sytem planned? with code inspection?
<thelema>
runtime? in a static language?
<thelema>
err, statically typed
<thelema>
especially one where types are erased at runtime (for efficiency)
<thelema>
one of my todo items for ocaml is to represent types at runtime. I fear the type system might be too rich for this. But I'll find out what's possible
<thelema>
This would allow for code inspection at an interesting level
jeddhaberstro has quit [Ping timeout: 260 seconds]
jeddhaberstro has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
<Associat0r>
todo offshore staging
<Associat0r>
like F# quots
romildo has quit [Quit: Leaving]
thrasibule has quit [Ping timeout: 265 seconds]
Associat0r has quit [Quit: Associat0r]
Associat0r has joined #ocaml
jakedouglas has quit [Quit: Leaving.]
<flux>
hmm, arne't polymorphic variants a bit like lisp symbols?
tooko has joined #ocaml
jeddhaberstro has quit [Quit: jeddhaberstro]
ulfdoz has joined #ocaml
animist has quit [Ping timeout: 240 seconds]
ttamttam has joined #ocaml
Yoric has joined #ocaml
Amorphous has quit [Ping timeout: 248 seconds]
__marius__ has quit [Remote host closed the connection]
travisbrady has quit [Quit: travisbrady]
Amorphous has joined #ocaml
ttamttam has quit [*.net *.split]
jonafan has quit [*.net *.split]
emias has quit [*.net *.split]
olegfink has quit [*.net *.split]
ygrek has joined #ocaml
ulfdoz has quit [Ping timeout: 252 seconds]
tooko has left #ocaml []
Yoric has quit [Quit: Yoric]
ttamttam has joined #ocaml
jonafan has joined #ocaml
emias has joined #ocaml
olegfink has joined #ocaml
itewsh has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
valross has quit [Quit: Ex-Chat]
Yoric has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
Yoric has quit [Client Quit]
Yoric has joined #ocaml
oc13 has joined #ocaml
prince_ has joined #ocaml
ftrvxmtrx has joined #ocaml
ftrvxmtrx has quit [Quit: Leaving]
ftrvxmtrx has joined #ocaml
rwmjones has joined #ocaml
rwmjones has quit [Quit: Terminated with extreme prejudice - dircproxy 1.2.0]
rwmjones has joined #ocaml
ikaros has joined #ocaml
kaustuv has joined #ocaml
<kaustuv>
Anyone remember why .cmis are not included in .cmas? Name collision?
<flux>
there's a reason?
<flux>
besides the trend is to use .cmos in place of .cma, and there goes the benefit ;)
<kaustuv>
-
<kaustuv>
on reflection, maybe the reason is that there is no canonical interface for a module
ftrvxmtrx has quit [Quit: Leaving]
ftrvxmtrx has joined #ocaml
fraggle_laptop has quit [Ping timeout: 276 seconds]
<sgnb>
kaustuv: indeed... there is no way to know that interface for module Foo is in bar.cma
<sgnb>
same applies to .cmx files for eg inlining, btw
boscop_ has joined #ocaml
boscop has quit [Read error: Connection reset by peer]
<flux>
but the same reasoning applies that ocamlc cannot know in which directory is the interface file for module Bar
fraggle_laptop has joined #ocaml
oriba has joined #ocaml
boscop_ has left #ocaml []
boscop has joined #ocaml
emmanuelux has joined #ocaml
_andre has joined #ocaml
animist has joined #ocaml
kaustuv has quit [Ping timeout: 265 seconds]
munga has joined #ocaml
ikaros_ has joined #ocaml
ikaros has quit [Ping timeout: 265 seconds]
<sgnb>
flux: I am just forwarding the official answer...
<sgnb>
it sounds possible to include the contents of an archive in the search path, indeed
Samae has joined #ocaml
<Samae>
Hi, is there a guide explaning the details for building ocaml
<Samae>
for instance, I need details on prettyprinting from a typed expressions tree
thrasibule has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
<adrien>
how so building ocaml? you mean the compiler? what kind of details are you looking for?
<Samae>
adrien: i'm looking doing transformations on a typed tree
<Samae>
For now i'm just looking for retrieving the input :)
<Samae>
next, i aim to transform this typed tree then pretty print a new ocaml expression
<Samae>
I hoped there would be a detailed documentation for describing the way an expression is interpreted
_unK has joined #ocaml
quentin_ has joined #ocaml
thrasibule has quit [Ping timeout: 265 seconds]
fraggle_laptop has quit [Ping timeout: 260 seconds]
<adrien>
anyne know of a library with a function to start a process and read its output on stdout/stderr? or a library that'd like to have one? (I have written such a function so I could contribute if needed)
<flux>
adrien, how about Unix.create_process?
<flux>
and friends
<adrien>
yeah, I forgot a part: it doesn't return a file_descr but a 'string list'
avsm has joined #ocaml
<flux>
well, then there are some unix utility libraries around
<hcarty>
I have a (perhaps baseless) hope that some day, Lwt will have fork-based parallelism and distributed parallel magic included.
<flux>
hcarty, I've had the same vision :)
<flux>
although I've imagined a variant based on lwt that resembles more the Event module
<hcarty>
flux: Then it must be true!
<flux>
hcarty, indeed!
<flux>
but maybe that's because I haven't really used lwt
<hcarty>
Neither have I :-)
<avsm>
its not really at the right level
<avsm>
i have a futures implementation which sits on top of it, helps with distributed parallelism
__marius__ has joined #ocaml
<hcarty>
avsm: Did you find it easy to work with?
<avsm>
LWT?
<avsm>
compared to preemptive threading, a massive yes. stuff being serial by default and parallel explicitly is so much better than the opposite
<adrien>
I've only played a little with lwt but I've really enjoyed it, and it felt like usual ocaml and when something needs to execute concurrently, it's only a few characters to change
munga has joined #ocaml
oriba has joined #ocaml
derdon has joined #ocaml
pad has joined #ocaml
jakedouglas has joined #ocaml
oriba has quit [Quit: Verlassend]
__marius__ has quit [Remote host closed the connection]
Yoric has quit [Quit: Yoric]
ttamttam has quit [Quit: Leaving.]
travisbrady has joined #ocaml
boscop__ has joined #ocaml
boscop_ has quit [Ping timeout: 265 seconds]
boscop_ has joined #ocaml
boscop__ has quit [Ping timeout: 264 seconds]
ulfdoz has joined #ocaml
_andre has quit [Quit: Lost terminal]
rwmjones has quit [Ping timeout: 245 seconds]
__marius__ has joined #ocaml
__marius__ has quit [Remote host closed the connection]
__marius__ has joined #ocaml
elehack has joined #ocaml
jeddhaberstro has joined #ocaml
boscop_ has left #ocaml []
boscop has joined #ocaml
Anarchos has joined #ocaml
Samae_ has joined #ocaml
bzzbzz_ has joined #ocaml
pad has quit [*.net *.split]
animist has quit [*.net *.split]
prince_ has quit [*.net *.split]
srcerer has quit [*.net *.split]
bzzbzz has quit [*.net *.split]
haelix has quit [*.net *.split]
Samae has quit [*.net *.split]
nimred has quit [*.net *.split]
boscop has quit [*.net *.split]
quentin_ has quit [*.net *.split]
jonafan has quit [*.net *.split]
emias has quit [*.net *.split]
olegfink has quit [*.net *.split]
elehack has quit [*.net *.split]
itewsh has quit [*.net *.split]
fabjan has quit [*.net *.split]
nejimban has quit [*.net *.split]
murphe has quit [*.net *.split]
_unK has quit [*.net *.split]
ikaros_ has quit [*.net *.split]
Associat0r has quit [*.net *.split]
murph has quit [*.net *.split]
mal`` has quit [*.net *.split]
msteele_ has quit [*.net *.split]
travisbrady has quit [*.net *.split]
fraggle_laptop has quit [*.net *.split]
seafood has quit [*.net *.split]
patronus has quit [*.net *.split]
hcarty has quit [*.net *.split]
mbishop has quit [*.net *.split]
fraggle_ has quit [*.net *.split]
caligula__ has quit [*.net *.split]
avsm has quit [*.net *.split]
__marius__ has quit [*.net *.split]
LionMadeOfLions has quit [*.net *.split]
rossberg has quit [*.net *.split]
hyperboreean has quit [*.net *.split]
alpounet has quit [*.net *.split]
svenl has quit [*.net *.split]
adrien has quit [*.net *.split]
jeddhaberstro has quit [*.net *.split]
ulfdoz has quit [*.net *.split]
munga has quit [*.net *.split]
flux has quit [*.net *.split]
Amorphous has quit [*.net *.split]
neorab has quit [*.net *.split]
ztfw has quit [*.net *.split]
mjonsson has quit [*.net *.split]
sgnb has quit [*.net *.split]
jlouis has quit [*.net *.split]
thelema has quit [*.net *.split]
bitbckt has quit [*.net *.split]
noj has quit [*.net *.split]
Tianon has quit [*.net *.split]
npouilla1d has quit [*.net *.split]
schmrkc has quit [*.net *.split]
rudi_s has quit [*.net *.split]
ttamttam has joined #ocaml
ztfw` has joined #ocaml
nimred_ has joined #ocaml
animist_ has joined #ocaml
boscop has joined #ocaml
jeddhaberstro has joined #ocaml
elehack has joined #ocaml
__marius__ has joined #ocaml
ulfdoz has joined #ocaml
travisbrady has joined #ocaml
murphe has joined #ocaml
fraggle_laptop has joined #ocaml
_unK has joined #ocaml
ikaros_ has joined #ocaml
itewsh has joined #ocaml
olegfink has joined #ocaml
emias has joined #ocaml
jonafan has joined #ocaml
Amorphous has joined #ocaml
Associat0r has joined #ocaml
murph has joined #ocaml
neorab has joined #ocaml
seafood has joined #ocaml
mjonsson has joined #ocaml
nejimban has joined #ocaml
fabjan has joined #ocaml
hyperboreean has joined #ocaml
patronus has joined #ocaml
alpounet has joined #ocaml
LionMadeOfLions has joined #ocaml
hcarty has joined #ocaml
sgnb has joined #ocaml
mbishop has joined #ocaml
noj has joined #ocaml
mal`` has joined #ocaml
msteele_ has joined #ocaml
Tianon has joined #ocaml
npouilla1d has joined #ocaml
fraggle_ has joined #ocaml
caligula__ has joined #ocaml
schmrkc has joined #ocaml
jlouis has joined #ocaml
svenl has joined #ocaml
adrien has joined #ocaml
rossberg has joined #ocaml
thelema has joined #ocaml
rudi_s has joined #ocaml
flux has joined #ocaml
bitbckt has joined #ocaml
haelix has joined #ocaml
krankkat1e has joined #ocaml
Samae has joined #ocaml
fremo__ has joined #ocaml
coucou747 has quit [Excess Flood]
fremo___ has quit [Write error: Broken pipe]
krankkatze has quit [Write error: Broken pipe]
Samae_ has quit [Write error: Broken pipe]
coucou747 has joined #ocaml
animist has joined #ocaml
prince_ has joined #ocaml
srcerer has joined #ocaml
animist has quit [Remote host closed the connection]
srcerer has quit [Read error: Connection reset by peer]
srcerer has joined #ocaml
ftrvxmtrx has joined #ocaml
<derdon>
good evening
<derdon>
I used some example code from the menhir project
<derdon>
this project is maintained by INRIA
<derdon>
so my question is: may I modify one of the demos and publish this new excample?
<derdon>
is the license restricting me in any way?
<adrien>
did the example come with some license? how long are they? maybe there's a licence near the end of the page
<boscop>
what was the name of the ocaml REPL inside emacs?
<derdon>
adrien: the license of menhir is the "Q Public License"
__marius__ has quit [Remote host closed the connection]
<derdon>
adrien: it's about ten (monitor) pages long
<adrien>
no, not of menhir, of the examples, and you have a link to the examples?
Edward__ has joined #ocaml
<derdon>
adrien: the examples don't have a seprate LICENSE file
<derdon>
adrien: maybe it's the best idea to write an e-mail to INRIA
<adrien>
well, which file is the example? or directly to François Pottier
<derdon>
adrien: I don't understand your question. in the source code is a directory which contains three examples. every example is a directory which contains about 5 files
ygrek has quit [Ping timeout: 245 seconds]
<adrien>
looking at the files, if you mean those in demos/, they seem to be under the QPL
<derdon>
adrien: yes, I mean them
<derdon>
do I have to read the QPL now? :(
<derdon>
or can I simply copy the LICENSE to my project dir and publish then?
<yziquel>
hi. is there any example lying around on the net of a binding to a libxxx.a static library and not a libxxx.so library?
neorab has quit [Quit: WeeChat 0.3.2]
<adrien>
I can't remember but is there supposed to be a difference? should be roughly the same, you're having an error?
<elehack>
yziquel, I don't know of an example but you can just pass the library to ocamlmkllib with -l like you would for a .so. might not work for bytecode.
<elehack>
(although linking the .a into the stub .so for bytecode loading should work if the .a was compiled position-independent. I don't know if ocamlmklib does that for you or not.)
<adrien>
you can also check if OCamlMakefile does it properly
<yziquel>
adrien: using the same build system as for .so files generates errors when trying to load the .cma into the toplevel.
<yziquel>
elehack: no luck trying to push into the stub .so file. I'll try the ocamlmklib -l thing.
<yziquel>
it's simply that numerical code in C++/Fortran doesn't seem to have the 'shared library' reflex.
Yoric has joined #ocaml
<elehack>
I have successfully wrapped Fortran code with ocamlmklib, so it does work. For bytecode or natdynlink compatibility, the code must be position-independent (-fPIC)
<adrien>
actually, I think you're able to get static linking from shared libs so it's bit stupid not to build these, yeah =/
<adrien>
and, which library?
Associat0r has quit [Quit: Associat0r]
<adrien>
why not recompile the library if static libs is giving problems? that could be the fastest solution
<yziquel>
adrien: i'm in contact with upstream for debian packaging. i'll let them do this part of the work.
<yziquel>
adrien: i was just wondering if there was a quick way...
<adrien>
ok
<adrien>
a .so should be something like: gcc -shared -Wl,-soname,your_soname {foo,bar,baz}.o -lm -lpouet
Edward__ has quit [Ping timeout: 240 seconds]
jakedouglas has quit [Quit: Leaving.]
Edward__ has joined #ocaml
Yoric has quit [Ping timeout: 276 seconds]
Yoric has joined #ocaml
Yoric has quit [Ping timeout: 260 seconds]
__marius__ has joined #ocaml
<yziquel>
trying to do an ocamlmklib with libstdc++.so.5 or 6. As there's no libstdc++.so file on my debian box but only libstdc++.so.5 and 6, the -dllib libstdc++ option fails to locate properly the file. how can i get more specific with -dllib?
<yziquel>
-dllib libstdc++.so.6 looks for libstdc++.so.6.so ...
itewsh has quit [Quit: There are only 10 kinds of people: those who understand binary and those who don't]
<alpounet>
create a symlink
__marius__ has quit [Remote host closed the connection]
<yziquel>
alpounet: and package the symlink?
<alpounet>
you sure it'll pick the symlink for the packaging ?
<yziquel>
i just meant that it's not robust enough a solution.
emmanuelux has joined #ocaml
ulfdoz has quit [Ping timeout: 276 seconds]
<elehack>
yziquel, do you have the -dev package for the relevant libstdc++ version available? that should contain the relevant symlink.
<yziquel>
ah...
<yziquel>
looking for that...
<elehack>
thelema, you around?
<yziquel>
yes, I have libstdc++-6.4.3-dev installed.
<yziquel>
ok. thanks. I'll sleep it over. g'night.
yziquel has quit [Quit: Page closed]
jakedouglas has joined #ocaml
jakedouglas has quit [Quit: Leaving.]
ikaros_ has quit [Quit: Leave the magic to Houdini]
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
jakedouglas has joined #ocaml
nimred_ has quit [Quit: leaving]
nimred has joined #ocaml
jgrozave has joined #ocaml
<jgrozave>
when I run the command `ocamlfind query -long-format sdl -predicates byte` I get back that the archives are sdl.cma
<jgrozave>
but when i run `ocamlfind ocamlc -package sdl sdl_test.ml -verbose ` it doesn't add in the cma when it actually calls into ocamlc
<jgrozave>
does anybody know why?
<adrien>
jgrozave: it'll add them if you call ocamlfind with '-linkpkg(
<adrien>
-linkpkg
<jgrozave>
yeah
<jgrozave>
wow
<jgrozave>
adrien: thanks, i can't believe I missed that
theDroggl has quit [Remote host closed the connection]
theDroggl has joined #ocaml
<jgrozave>
today isn't one of my smart days. earlier at work I was racking my brain as to why I couldn't commit my changes to an svn branch. Well I hadn't gone through and created the branch yet.
<jgrozave>
thanks again for the help though!
<jgrozave>
i wish ocamlsdl was easier to install in mingw...
<adrien>
=)
<adrien>
oh, mingw
<jgrozave>
yup!
<adrien>
one day it will ;-)
<jgrozave>
linux works just fine
<jgrozave>
yeah, i'm going through keeping notes of all the things that are a bit weird
<adrien>
that reminds me we cross-compiled furypuyo from debian, it's an sdl game
<jgrozave>
for instance, I installed ocaml in /home/ocaml
<jgrozave>
so that would be C:/cygwin/home/ocaml/bin/ocamlc.exe etc...
<jgrozave>
but the makefile for ocamlsdl was crashing repeatedly because it was referencing ocamlc directly with C:\ocamlmgw\bin\ocamlc
<jgrozave>
although it only did that though ocamlmklib
<jgrozave>
easy enough to fix, but just another manual fix that had to go in
<jgrozave>
hopefully I can actually help some of these projects with their install documenation
<jgrozave>
so i'm guessing furypuyo is like puyo puyo?
<adrien>
yeah
<adrien>
actually, I think we had some fixes for ocamlsdl for mingw
<jgrozave>
adrien: well i'm having a new error now that I have -linkpkg in there. it says "The external function `sdl_init' is not available"
<jgrozave>
I'm assuming that means its not loading dllsdlstub.dll?
<elehack>
jgrozave, or it isn't loading the SDL library itself. (don't know if sdl_init is an SDL function or a stub)
<jgrozave>
any ideas?
<elehack>
i typically use the -verbose option to debug these kinds of things.
<elehack>
it will have ocamlfind (and ocamlc/ocamlopt) output the actual command lines that are run.
<elehack>
then you can see what libraries are/are not being consulted.
<elehack>
sdl_init looks to be in the stubs, though -- the SDL functions all seem to have the all-caps SDL prefix (looking at the nm dump of libSDL-1.2.so.0 on my Ubuntu box)
<jgrozave>
elehack: the weird spaces are where it was wrapping
<elehack>
ok.
<elehack>
The stub requirements will be encoded in sdl.cma
<jgrozave>
it looks like sdl_init is one of the functions in SDL.dll
<elehack>
objinfo on sdl.cma will tell you what all info it contains (including the names of required stub libraries)
<elehack>
ok, if it's in SDL.dll then the SDL.dll dependency is probably not being encoded in the sdl.cma file.
jakedouglas has quit [Ping timeout: 276 seconds]
<jgrozave>
do I need to recompile?
<elehack>
probably
<jgrozave>
okay, I'll try that
<jgrozave>
compiling ocamlsdl was a bit weird earlier. maybe i'll have better luck this time
<jgrozave>
what's objinfo?
<adrien>
crappy wifi!
<elehack>
it's a tool included with ocaml that shows information about bytecode-compiled files (.cmo and .cma are supported)
<jgrozave>
where is it? i can't seem to find it...
<elehack>
It's particularly useful for things like this, because it tells you the stub library dependencies encoded in a .cma file (and thus helps you figure out whether the cma file is built properly)
<elehack>
Should be installed alongside the ocaml compilers.
<elehack>
might be ocamlobjinfo or something like that.
<elehack>
at least I think it's included in ocaml...
* elehack
checks
<elehack>
yeah, it comes from the ocaml-nox package on Ubuntu, so it should be included with the ocaml distribution.
<jgrozave>
well thanks for the help. I have to run though
<adrien>
jgrozave: which version of ocamlsdl are you using?
<jgrozave>
8.0
<jgrozave>
0.8.0*
<adrien>
ok, the changes we had to do in ocamlsdk are in this version so everything should go well (at least, for that)
jakedouglas has joined #ocaml
seafood has quit [Quit: seafood]
jgrozave has quit [Quit: Page closed]
thrasibule has joined #ocaml
__marius__ has joined #ocaml
ftrvxmtrx has quit [Read error: Connection reset by peer]