<tobiasBora>
I would like to run as root a program installed with opam (ocsigenserver), is it possible ? Because when I do that the program isn't in the path, and even if I use the full path it cannot find the libraries...
q66 has joined #ocaml
rgrinberg has joined #ocaml
AlexRussia has joined #ocaml
<smondet_>
tobiasBora: on linux at least `su` has a `-p` option to pass environment variables
<smondet_>
you can also redo eval `opam config env` but you need to tell opam which root directory to use (I think with the variable `OPAMROOT`)
<ousado_>
tobiasBora: you might want to consider authbind
zwer_v has joined #ocaml
lopex has joined #ocaml
zwer has quit [Ping timeout: 250 seconds]
madroach has joined #ocaml
badon has quit [Remote host closed the connection]
zwer_v is now known as zwer
<tobiasBora>
Ok thank you !
<tobiasBora>
ousado_: I didn't know this program, but it's pretty interesting !
<tobiasBora>
But the problem is that the doc specity it doesn't work with ipv6
<tobiasBora>
Still the same error with authbind --deep ocsigenserver -c run_server.xml -v
<ousado_>
maybe ocsigenserver doesn't pass the environment variables
kdef has joined #ocaml
<tobiasBora>
Their is a section in the doc about this error... Let's read it !
hekmek has quit [Quit: Verlassend]
ygrek has joined #ocaml
<tobiasBora>
Hum... I create a file /etc/authbind/byport/80 and chown 755 it, but now I've an error : ocsigenserver: main: Fatal - You are not allowed to use port 80.
Pepe_ has quit [Remote host closed the connection]
lambdahands has quit [Ping timeout: 252 seconds]
badkins has quit [Read error: Connection reset by peer]
rock_neurotiko has quit [Read error: Connection reset by peer]
rock_neurotiko has joined #ocaml
ygrek has quit [Ping timeout: 244 seconds]
q66 has quit [Quit: Leaving]
rgrinberg has quit [Quit: Leaving.]
darkf has joined #ocaml
rgrinberg has joined #ocaml
huza has quit [Quit: WeeChat 0.3.8]
kapil__ has joined #ocaml
bcuccioli has joined #ocaml
decaf has joined #ocaml
manizzle has quit [Ping timeout: 272 seconds]
lostman_ has joined #ocaml
<lostman_>
hi all. when dealing with monads in ocaml I find it annoying to write >>= fun () -> all the time. what's the established way of dealing with this? is there an equivalent of haskell's >> ?
badkins has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
<lostman_>
and an unrelated question: Fortuna.Unseeded_generator; I'm getting this when running a simple websocket program on my VM. No clue what to do about it
rgrinberg has joined #ocaml
burgobianco has joined #ocaml
chinglish has joined #ocaml
moei has joined #ocaml
_5kg has joined #ocaml
enitiz has quit [Quit: Leaving]
MotorMe has quit [Remote host closed the connection]
MotorMe has joined #ocaml
MrScout_ has joined #ocaml
MotorMe has quit [Remote host closed the connection]
MotorMe has joined #ocaml
MrScout has quit [Ping timeout: 245 seconds]
_5kg has quit [Ping timeout: 264 seconds]
MrScout_ has quit [Ping timeout: 272 seconds]
MotorMe has quit [Remote host closed the connection]
MotorMe has joined #ocaml
MotorMe has quit [Remote host closed the connection]
_5kg has joined #ocaml
MotorMe has joined #ocaml
badkins has quit [Remote host closed the connection]
pyon has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
AlexRussia has quit [Ping timeout: 245 seconds]
manizzle has joined #ocaml
badkins has joined #ocaml
badkins has quit [Remote host closed the connection]
badkins has joined #ocaml
decaf has quit [Quit: Leaving]
AlexRussia has joined #ocaml
badkins has quit [Remote host closed the connection]
kdef has quit [Remote host closed the connection]
_5kg has quit [Ping timeout: 245 seconds]
ygrek has joined #ocaml
92AAABFC2 is now known as brendan
_5kg has joined #ocaml
shinnya_ has quit [Ping timeout: 264 seconds]
samrat has joined #ocaml
matason has joined #ocaml
_5kg has quit [Ping timeout: 276 seconds]
WanderingGlitch has quit [Changing host]
WanderingGlitch has joined #ocaml
madroach has joined #ocaml
lambdahands has joined #ocaml
Guest46246 has quit [Changing host]
Guest46246 has joined #ocaml
MercurialAlchemi has joined #ocaml
lambdahands has quit [Ping timeout: 264 seconds]
Guest46246 is now known as reynir
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
mcc has joined #ocaml
teiresias has joined #ocaml
madroach has joined #ocaml
chinglish has quit [Quit: Nettalk6 - www.ntalk.de]
badkins has joined #ocaml
keen__________33 has quit [Read error: Connection reset by peer]
keen__________33 has joined #ocaml
badkins has quit [Ping timeout: 245 seconds]
ggole has joined #ocaml
_5kg has joined #ocaml
AlexRussia has quit [Ping timeout: 244 seconds]
_5kg has quit [Ping timeout: 265 seconds]
Reventlo1 is now known as Reventlov
Reventlov has quit [Changing host]
Reventlov has joined #ocaml
7GHAAMC08 has quit [Changing host]
7GHAAMC08 has joined #ocaml
7GHAAMC08 is now known as pgas
madroach has quit [Ping timeout: 264 seconds]
zwer has quit [Ping timeout: 250 seconds]
Haskron has joined #ocaml
hhugo has joined #ocaml
matason has quit [Ping timeout: 244 seconds]
MercurialAlchemi has quit [Remote host closed the connection]
rgrinberg has quit [Quit: Leaving.]
MercurialAlchemi has joined #ocaml
psy_ has joined #ocaml
hhugo has quit [Quit: Leaving.]
burgobianco has quit [Remote host closed the connection]
madroach has joined #ocaml
burgobianco has joined #ocaml
rgrinberg has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
rock_neurotiko has quit [Ping timeout: 252 seconds]
madroach has joined #ocaml
vanila has joined #ocaml
Haskron has quit []
Thooms has joined #ocaml
burgobianco has quit [Ping timeout: 244 seconds]
Antoine59 has joined #ocaml
burgobianco has joined #ocaml
Kakadu has joined #ocaml
Antoine59 has quit [Ping timeout: 255 seconds]
Haudegen has quit [Ping timeout: 264 seconds]
Haudegen has joined #ocaml
_5kg has joined #ocaml
shinnya_ has joined #ocaml
psy_ has quit [Quit: Leaving]
Simn has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
_5kg has quit [Read error: Connection reset by peer]
ollehar has joined #ocaml
_5kg has joined #ocaml
tane has joined #ocaml
oscar_toro has joined #ocaml
Guest45195 has quit [Quit: leaving]
govg has joined #ocaml
govg has quit [Ping timeout: 252 seconds]
AltGr has left #ocaml [#ocaml]
Antoine59 has joined #ocaml
matason has joined #ocaml
mort___ has joined #ocaml
larhat has joined #ocaml
matason has quit [Quit: leaving]
Guest35253 is now known as dch
dch has quit [Changing host]
dch has joined #ocaml
ingsoc has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
_andre has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
dsheets has joined #ocaml
govg has joined #ocaml
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
<struktured>
lostman_: in some cases you don't need the function wrapper if you use a partially applied function on the right hand side
ygrek has quit [Ping timeout: 272 seconds]
madroach has joined #ocaml
araujo has quit [Ping timeout: 276 seconds]
araujo has joined #ocaml
manizzle has quit [Ping timeout: 272 seconds]
madroach has quit [Ping timeout: 264 seconds]
Thooms has quit [Quit: WeeChat 1.0.1]
Thooms has joined #ocaml
araujo has quit [Ping timeout: 240 seconds]
jonludlam has joined #ocaml
araujo has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
madroach has joined #ocaml
araujo has quit [Ping timeout: 256 seconds]
araujo has joined #ocaml
araujo has quit [Max SendQ exceeded]
araujo has joined #ocaml
Thooms has quit [Quit: WeeChat 1.0.1]
samrat has joined #ocaml
lostman_ has quit [Quit: Connection closed for inactivity]
endiruna has joined #ocaml
<endiruna>
hi i have a stupid begginers question: when i create something with "let .... in" is it lazely evaluated?
<ggole>
No.
<dsheets>
endiruna, let x = lazy (print_endline "hi"; 5);; let (lazy y) = x;;
<endiruna>
thanks! and the [] parenthesis are used to separate the block of instructions of a subfunction defined in a function, right?
<MercurialAlchemi>
yeah, OCaml has an opt-in philosophy when it ocmes to laziness
<ggole>
endiruna: no, [] is (most) used for list literals
<MercurialAlchemi>
[] are for lists -> [ 1; 2; 3 ]
<ggole>
*mostly
<MercurialAlchemi>
[] is the empty list
<MercurialAlchemi>
arrays have a syntax that is close ([| |] instead of [])
<MercurialAlchemi>
if you need to group things in ocaml you use () most of the time
<endiruna>
thanks!
pdewacht has joined #ocaml
lordkryss has joined #ocaml
keen__________34 has joined #ocaml
keen__________33 has quit [Ping timeout: 265 seconds]
<endiruna>
i am reading real world ocaml, but there are some libraries seem not to be present my ocaml installation. like Time.now etc are those in some library that is not installed by default?
darnuria has joined #ocaml
<MercurialAlchemi>
endiruna: if you have Core installed, you should have the Time module
samrat has quit [Quit: Computer has gone to sleep.]
<endiruna>
i have installed ocaml from the package manager so i assumed that core was inside
<endiruna>
but it is obviously not :(
<endiruna>
installed it with opam :)
thorsten2 has quit [Quit: WeeChat 1.1-dev]
thorsten` has joined #ocaml
<endiruna>
another stupid question i have installe ocaml and llvm-ocaml in archlinux. does that mean that by default it will use llvm as backend to compile wit ocamlopt? should I want that or is it better to compile with ocalm's default compiler
zwer has joined #ocaml
MotorMe has quit [Remote host closed the connection]
MotorMe has joined #ocaml
Haudegen has quit [Ping timeout: 272 seconds]
Haudegen has joined #ocaml
<Drup>
llvm-ocaml is a binding to use llvm as a library from ocaml
<Drup>
not a compiler backend
badkins has joined #ocaml
w0rp has quit [Quit: GONE]
badkins has quit [Ping timeout: 245 seconds]
w0rp has joined #ocaml
BitPuffin has joined #ocaml
JuggleTux has quit [Ping timeout: 244 seconds]
tani has joined #ocaml
JuggleTux has joined #ocaml
rock_neurotiko has joined #ocaml
BitPuffin has quit [Ping timeout: 240 seconds]
ousado has joined #ocaml
enitiz has joined #ocaml
tani has quit [Quit: Verlassend]
BitPuffin has joined #ocaml
<endiruna>
for some reason i can not intall anymore lwt which is needed by utop. what i would like to install is core utop and merlin. i can install merlin and utop without core. are they conflicting
<companion_cube>
do you have opam 1.2? it provides some way to obtain more details from the solver (I don't remember exactly)
<Drup>
well, start by pastebin-ing the error messages you have ...
<MercurialAlchemi>
(the next obvious question is "do you have aspcud?")
<dsheets>
oh no! unreleased software is unreleased!
<Drup>
The O is not in the front, It confuses me.
<companion_cube>
do you mean it collects test cases from comments?
<companion_cube>
dsheets: come on, a 2-lines readme isn't hard to write ;)
<companion_cube>
Drup: in my todolist, there's "remove crap from containers" ;)
psy_ has quit [Remote host closed the connection]
<dsheets>
companion_cube, test cases from comments? it just has a couple interfaces with different features of the signature language and ocamldoc markup
<Drup>
dsheets: arg, I need to recompile the whole switch :x
<dsheets>
Drup, yes, don't do anything serious in that switch
<Drup>
dsheets: I mean, for -b
<dsheets>
I'm not even sure I'd recommend building the tool itself
<Drup>
you should have told me in the beginning :(
<dsheets>
yes, i know, it's awful.
<dsheets>
I have some patches...
<companion_cube>
dsheets: I don't know, I was trying to guess what's ocamlary's about
<Drup>
dsheets: don't worry, I lived in the opam trunk for a while, bleeding edges don't affray me anymore.
<companion_cube>
hope the rent was less expensive than in Paris
<Drup>
companion_cube: it's opam-doc
<dsheets>
but it can stand alone, too
<dsheets>
doesn't need opam
<dsheets>
layers and all that
fraggle-boate has quit [Remote host closed the connection]
<Drup>
yep
<pippijn>
initial experiments don't suggest that jenga is faster than my optimised omake code
psy_ has joined #ocaml
<pippijn>
sad :(
<pippijn>
maybe after I optimise the jeng acode
<Drup>
ahah
fraggle-boate has joined #ocaml
<companion_cube>
dsheets: ♥
<rks`>
pippijn: I've seen that there's been some work on omake recently (from Gerd, was it?)
<rks`>
are you using that version or?
<rks`>
(and what is your "optimised omake code" ?)
<Drup>
dsheets: this is very weird, I know have "The files ../../stdlib/pervasives.cmi and ../../utils/misc.cmi make inconsistent assumptions over interface Pervasives" when compiling 4.02.1+doc
<adrien_znc>
I'll never forget that omake's intro documentation has a section on how to make GTK+ bindings using omake
<Drup>
which is typical lack of bootstrap error.
<adrien_znc>
not building them
<dsheets>
Drup, unset OCAMLPARAM
<adrien_znc>
making them with omake's language
<dsheets>
Drup, 4.02.1+doc modifies formats but isn't re-bootstrapped
<rks`>
pippijn: alright, I'm curious about your results, ping me (in query if possible, I don't have logs of the channels) when you have some results
<dsheets>
It's a similar but not the same as the environment leaking issue which is a precursor to the desired warning... dunno if it's feasible to stop the leaking, though
psy_ has joined #ocaml
WraithM has joined #ocaml
<Drup>
(the nice part is that there are lots of assemblage examples I can copy in these libraries :D)
WraithM has quit [Client Quit]
<lpw25>
unfortunately they all use the old assemblage API, which has since been largely rewritten by Daniel
<dsheets>
(the bad part is they are all for 0.4.0 which is out of date and all of these libraries are dropping their dependencies on release)
<Drup>
> omg it's so much better than ocamldoc <<3
<dsheets>
also, the ordering problem will be fixed soon
<dsheets>
hahaha except for all the sharp edges....
<dsheets>
lpw25 did a ton of work to get the language support top notch
<Drup>
"module Make : functor (Xml : Xml_sigs.T) → Svg_sigs.Make(Xml).T with type +'a elt = Xml.elt and type +'a attrib = Xml.attrib"
<Drup>
in this documentation line
samrat has joined #ocaml
<Drup>
plenty of links that should traverse the functor argument Xml back to Xml_sigs.T
<dsheets>
erm... tell me the exact interface in the version of tyxml in a new issue
<Drup>
huhu
rock_neurotiko has quit [Ping timeout: 265 seconds]
<Drup>
tyxml.3.4.0
<Drup>
Svg_f
<dsheets>
please file an issue... i have to go soon and i still am drafting a pre-release email
<Drup>
sure !
<dsheets>
Drup, thanks for trying it out! Hopefully, a lot of these issues will start getting resolved soon. :-)
<Drup>
yep, I'm happy to see it taking shape too
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<dmbaturin>
Is there a lib for multiplexed sockets that hides underlying poll/epoll/whatever details?
<companion_cube>
Lwt?
jonludlam has joined #ocaml
mcc has quit [Quit: This computer has gone to sleep]
<dmbaturin>
companion_cube: Oh, so Lwt provides it? Cool, will have a look, I've just started with it.
<companion_cube>
hmmm, not sure for multiplexed sockets
mort___ has quit [Ping timeout: 272 seconds]
enitiz has quit [Ping timeout: 264 seconds]
<dmbaturin>
companion_cube: I'm not sure if I want to have a thread per connection. Those connections can last long, but there's no constant traffic flow.
<companion_cube>
Lwt threads are really cheap
<dmbaturin>
But they map to POSIX threads? Or not?
<Drup>
no
rgrinberg has quit [Quit: Leaving.]
<Drup>
you can use Lwt_preemptive to spawn one, though.
<dmbaturin>
Good to know, thanks. Guess I can use a thread per connection then.
<Drup>
dmbaturin: relevant: Lwt_pool
<companion_cube>
\o/
<dmbaturin>
I certainly don't want to mess up with select/poll by hand in any case. :)
<nojb>
now that strings in ocaml are immutable, why not represent them as {data : string; off : int; len : int} so that we can take substrings seamlessly, like bigarrays ?
<adrien>
memleak
<Drup>
it would add an overhead for small strings, I think
<nojb>
yeah sure but we could always copy if we wanted under a certain ratio
<adrien>
it would keep a reference to the main string
<nojb>
yeah sure
<adrien>
if it's 1MB and your substring is 10o, you've lost almost a full MB
<nojb>
there should be a way to configure when to copy instead of keeping a reference
<adrien>
10B*
<adrien>
and consider that...
<adrien>
java did that
<adrien>
yes *did*
<adrien>
if event java decides something is a bad idea... :)
<Drup>
nojb: it seems to me that since bigarray is already doing it, it's not really needed for strings
<MercurialAlchemi>
doesn't Rust do that?
<Drup>
a better way would be to have generalized array handling (like the last blog post by alain frish) and be able to be polymorphic over the various array-like structures
<pippijn>
Drup: your hostname has an uppercase letter?
<Drup>
yes, why ?
<pippijn>
adrien: what keyboard layout do you have that o and b are close together?
<pippijn>
Drup: a better thing would be higher kinded types
<Drup>
pippijn: it's not unreleated.
<Drup>
(I didn't say *how* you would have generalized array handling :3)
<pippijn>
right
<pippijn>
I want higher kinded types
<pippijn>
then the functions operating on "array-like" would use that
<pippijn>
also bytes and string being string-like
<Drup>
be array-like*
<pippijn>
also array-like
<pippijn>
I guess they can just be array-like
<pippijn>
any operations on strings should also be available on arrays
<pippijn>
can that be efficient?
<whitequark>
array-like strings is a bad idea
<pippijn>
whitequark: why?
<whitequark>
indexing a string by characters is not something you often want to do with unicode
<pippijn>
ocaml string has no encoding requirements, as far as I know
<pippijn>
it's a byte array
<whitequark>
`bytes` is byte array
<pippijn>
string is an immutable byte array
olauzon has joined #ocaml
<Drup>
string is immutable
<whitequark>
still, storing anything except utf-8 is madness, and indexing unicode strings is not useful
<Drup>
nothing is promised from how it's implemented
<Drup>
about*
<pippijn>
whitequark: it's absolutely useful
<pippijn>
having a type to store arbitrary immutable byte arrays is great
<whitequark>
don't call it "string" :]
<pippijn>
string *is* an arbitrary immutable byte array
<Drup>
implementation detail :p
<pippijn>
if you're unhappy about that, change string and rename the current thing to something else
<Drup>
(note: it's not true in js_of_ocaml :D)
<whitequark>
yes, I think that should be done
<pippijn>
Drup: what is it in js_of_ocaml?
<Drup>
it's... complicated
<whitequark>
lol
<Drup>
a string is both an array of bytes and a utf16 rope
<pippijn>
at the same time?
<Drup>
and there are lazy conversions between the two representation depending of what operation you use (for efficiency)
<pippijn>
I see
<whitequark>
*rope*?
<Drup>
yes
<Drup>
I think
<whitequark>
i mean, javascript strings are not ropes
<Drup>
jerome explained it to me once
rand000 has quit [Ping timeout: 240 seconds]
nojb has quit [Ping timeout: 264 seconds]
lpw25 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<adrien>
pippijn: b = bit/byte, o = octet
madroach has joined #ocaml
mort___ has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
IbnFirnas has quit [Read error: Connection reset by peer]
IbnFirnas has joined #ocaml
tani has joined #ocaml
tane has quit [Killed (morgan.freenode.net (Nickname regained by services))]
tani is now known as tane
vanila has quit [Quit: Leaving]
slash^ has quit [Read error: Connection reset by peer]
mort___ has quit [Quit: Leaving.]
mort___ has joined #ocaml
Rebelion has quit [Ping timeout: 276 seconds]
mort___ has quit [Ping timeout: 245 seconds]
Rebelion has joined #ocaml
araujo has quit [Ping timeout: 245 seconds]
badon has joined #ocaml
mort___ has joined #ocaml
WraithM has joined #ocaml
araujo has joined #ocaml
ggole has quit []
_andre has quit [Quit: leaving]
mort___ has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
Simn has quit [Quit: Leaving]
<pippijn>
adrien: ok
kalzz has joined #ocaml
nullcat has joined #ocaml
dsheets has joined #ocaml
Rebelion has quit [Ping timeout: 245 seconds]
<Drup>
dsheets: ah! I found out why "codoc" was weird. I'm trying to apply the usual rules of co prefix to "documentation" to obtain codoc and it doesn't work.
<dsheets>
huh? co- is dual, this is a tool that takes the result of documenting (documentation text) and returns the thing being documented...
<Drup>
Huum, it's a weird dual.
<dsheets>
also, it is a palindrome and is code+doc and internally uses polymorphic variants in gadts to construct and class hierarchy to destruct
<Drup>
polymorphic variants in gadts ? No variance issue with that ?
<dsheets>
is it? it's the roundtrip... you doc, it codocs, you get back something like the original (semantic not lexical)
bytbox has quit [Remote host closed the connection]
Rebelion has joined #ocaml
<dsheets>
not variance but it does use the open/closed poly vars
<dsheets>
look at DocOckPaths in doc-ock-lib
manizzle has joined #ocaml
<Drup>
ok, it's not a recursive data type, so subtyping doesn't propagate
<Drup>
so it works without variance annotation
<Drup>
(quite nice)
rand000 has joined #ocaml
patronus has quit [Remote host closed the connection]
<Drup>
cairo2 seems quite encoding-messy. =')
<Drup>
rgrinberg: you would love it, I bet you can't open a single file in the repository :D
<j0sh>
Drup: yeah, i saw that... but i don't see how those precedence rules apply
<j0sh>
a match statement is an expr, and exprs can be chained together via ';', seems obvious to me
<nojb>
if you look at the mly you will see that a seq_expr (a sequence of exprs separated by a ‘;’) is *not* and expr and is only allowed in certain contexts (like, for example, in match cases)
pyon has joined #ocaml
<j0sh>
nojb: ah, okay. i'm not too familiar with how to read the compiler source code yet
Kakadu has quit [Remote host closed the connection]
<nojb>
whitequark: are there ocaml bindings for libclang ?