Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.1.1 released: https://ocaml.org/releases/5.1.1 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
<companion_cube> @Ada you mean using ocurl?
wingsorc has quit [Quit: Leaving]
rgrinberg has joined #ocaml
wingsorc has joined #ocaml
<discocaml> <Ada> companion_cube: yeah
<discocaml> <Ada> i wrote an interface to return lwt streams
<discocaml> <Ada> fairly simple but i’ve never had to do anything fancy with lwt or libcurl before so
<discocaml> <Ada> (for chunked encoding)
<discocaml> <Ada> i achieved the same thing with cohttp in two lines, but i need proxy support
<companion_cube> Ah yeah, i guess lwt doesn't really have byte streams
<discocaml> <Ada> it has Lwt_stream which can handle strings, so just pushing to a stream in the write callback proxies it well
<discocaml> <Ada> did have to parse some headers myself tho
<discocaml> <Ada> i want to learn EIO sometime, the direct style api seems a lot more pleasant
<discocaml> <Ada> library support scaring me off tho, if this was in native eio i believe id have to write my own interface to curl multi
cr1901_ has joined #ocaml
cr1901 has quit [Killed (NickServ (GHOST command used by cr1901_!~cr1901@2601:8d:8600:226:7951:ecaa:c58d:30d1))]
cr1901_ is now known as cr1901
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
<companion_cube> probably
<companion_cube> well ocurl has one but you'd have to plug it into Eio's interface
cr1901 has quit [Ping timeout: 245 seconds]
cr1901 has joined #ocaml
cr1901_ has joined #ocaml
cr1901 has quit [Ping timeout: 256 seconds]
oriba has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
cr1901_ is now known as cr1901
remexre has quit [Remote host closed the connection]
remexre has joined #ocaml
meritamen has joined #ocaml
cr1901 has quit [Ping timeout: 256 seconds]
cr1901 has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #ocaml
meritamen has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
meritamen has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
ansiwen has quit [Quit: ZNC 1.7.1 - https://znc.in]
ansiwen has joined #ocaml
pi3ce has quit [Quit: No Ping reply in 180 seconds.]
pi3ce has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
rgrinberg has joined #ocaml
terrorjack has quit [*.net *.split]
dnaq has quit [*.net *.split]
xgqt has quit [*.net *.split]
theblatte has quit [*.net *.split]
Techcable has quit [*.net *.split]
palainp has quit [*.net *.split]
johnel has quit [*.net *.split]
SquidDev has quit [*.net *.split]
mstevens has quit [*.net *.split]
farn_ has quit [*.net *.split]
wagle has quit [*.net *.split]
oisota has quit [*.net *.split]
conjunctive has quit [*.net *.split]
remexre has quit [*.net *.split]
justache has quit [*.net *.split]
pie_ has quit [*.net *.split]
Ekho has quit [*.net *.split]
end has quit [*.net *.split]
troydm has quit [*.net *.split]
emp has quit [*.net *.split]
dme2 has quit [*.net *.split]
grobe0ba has quit [*.net *.split]
caasih has quit [*.net *.split]
keyle has quit [*.net *.split]
thizanne has quit [*.net *.split]
jusensei2 has quit [*.net *.split]
copy_ has quit [*.net *.split]
pieguy128 has quit [*.net *.split]
dstein64 has quit [*.net *.split]
slothby has quit [*.net *.split]
berberman_ has quit [*.net *.split]
CalimeroTeknik has quit [*.net *.split]
Soni has quit [*.net *.split]
waleee has quit [*.net *.split]
chrisz has quit [*.net *.split]
steenuil has quit [*.net *.split]
motherfsck has quit [*.net *.split]
pippijn has quit [*.net *.split]
Exa has quit [*.net *.split]
discocaml has quit [*.net *.split]
meritamen has quit [*.net *.split]
Leonidas has quit [*.net *.split]
mal`` has quit [*.net *.split]
habnabit_ has quit [*.net *.split]
companion_cube has quit [*.net *.split]
ocabot has quit [*.net *.split]
reynir has quit [*.net *.split]
lobo has quit [*.net *.split]
nfc has quit [*.net *.split]
ebb has quit [*.net *.split]
greenbagels has quit [*.net *.split]
ns12 has quit [*.net *.split]
hexology has quit [*.net *.split]
duncan has quit [*.net *.split]
nore has quit [*.net *.split]
ski has quit [*.net *.split]
leonardus has quit [*.net *.split]
Geekingfrog has quit [*.net *.split]
adrien has quit [*.net *.split]
wingsorc has quit [*.net *.split]
zozozo has quit [*.net *.split]
noddy has quit [*.net *.split]
jsoo has quit [*.net *.split]
rak has quit [*.net *.split]
rom1504 has quit [*.net *.split]
esum has quit [*.net *.split]
cr1901 has quit [*.net *.split]
drakonis has quit [*.net *.split]
dinosaure has quit [*.net *.split]
GreaseMonkey has quit [*.net *.split]
Armael has quit [*.net *.split]
vsiles has quit [*.net *.split]
cbarrett has quit [*.net *.split]
drobban has quit [*.net *.split]
infinity0 has quit [*.net *.split]
JSharp has quit [*.net *.split]
cross has quit [*.net *.split]
Fardale has quit [*.net *.split]
welterde has quit [*.net *.split]
Duns_Scrotus___ has quit [*.net *.split]
ansiwen has quit [*.net *.split]
szkl has quit [*.net *.split]
kurfen has quit [*.net *.split]
gahr has quit [*.net *.split]
tomku has quit [*.net *.split]
bcksl has quit [*.net *.split]
octachron has quit [*.net *.split]
Boarders___ has quit [*.net *.split]
pgiarrusso has quit [*.net *.split]
Riviera has quit [*.net *.split]
lisq has quit [*.net *.split]
energizer has quit [*.net *.split]
hannes has quit [*.net *.split]
xenu has quit [*.net *.split]
bacam has quit [*.net *.split]
landonf has quit [*.net *.split]
sadiq has quit [*.net *.split]
immutable has quit [*.net *.split]
henrytill has quit [*.net *.split]
migalmoreno has quit [*.net *.split]
Ankhers has quit [*.net *.split]
kuruczgy has quit [*.net *.split]
toastal has quit [*.net *.split]
sleepydog has quit [*.net *.split]
soni_ has quit [*.net *.split]
seeg has quit [*.net *.split]
whereiseveryone has quit [*.net *.split]
jakzale has quit [*.net *.split]
arya_elfren has quit [*.net *.split]
richardhuxton has quit [*.net *.split]
ymherklotz has quit [*.net *.split]
_alix has quit [*.net *.split]
brettgilio has quit [*.net *.split]
b0o has quit [*.net *.split]
patrick has quit [*.net *.split]
pluviaq has quit [*.net *.split]
philipwhite has quit [*.net *.split]
ggb has quit [*.net *.split]
Putonlalla has quit [*.net *.split]
ohperitel has quit [*.net *.split]
process0 has quit [*.net *.split]
rwmjones_ has quit [*.net *.split]
Johann has quit [*.net *.split]
leah2 has quit [*.net *.split]
rgrinberg has quit [*.net *.split]
haesbaert has quit [*.net *.split]
dmbaturin has quit [*.net *.split]
buoy49_ has quit [*.net *.split]
quernd80 has quit [*.net *.split]
trev has joined #ocaml
mstevens has joined #ocaml
SquidDev has joined #ocaml
meritamen has joined #ocaml
terrorjack has joined #ocaml
johnel has joined #ocaml
xgqt has joined #ocaml
cr1901 has joined #ocaml
Techcable has joined #ocaml
ansiwen has joined #ocaml
dnaq has joined #ocaml
palainp has joined #ocaml
wingsorc has joined #ocaml
remexre has joined #ocaml
theblatte has joined #ocaml
szkl has joined #ocaml
hexology has joined #ocaml
duncan has joined #ocaml
waleee has joined #ocaml
motherfsck has joined #ocaml
Leonidas has joined #ocaml
steenuil has joined #ocaml
kurfen has joined #ocaml
end has joined #ocaml
dinosaure has joined #ocaml
mal`` has joined #ocaml
pieguy128 has joined #ocaml
dstein64 has joined #ocaml
troydm has joined #ocaml
pippijn has joined #ocaml
companion_cube has joined #ocaml
emp has joined #ocaml
infinity0 has joined #ocaml
discocaml has joined #ocaml
ocabot has joined #ocaml
hannes has joined #ocaml
farn_ has joined #ocaml
lobo has joined #ocaml
reynir has joined #ocaml
dme2 has joined #ocaml
GreaseMonkey has joined #ocaml
grobe0ba has joined #ocaml
JSharp has joined #ocaml
jsoo has joined #ocaml
bcksl has joined #ocaml
caasih has joined #ocaml
slothby has joined #ocaml
dmbaturin has joined #ocaml
nfc has joined #ocaml
tomku has joined #ocaml
wagle has joined #ocaml
berberman_ has joined #ocaml
rak has joined #ocaml
nore has joined #ocaml
ski has joined #ocaml
oisota has joined #ocaml
cross has joined #ocaml
octachron has joined #ocaml
Armael has joined #ocaml
vsiles has joined #ocaml
conjunctive has joined #ocaml
thizanne has joined #ocaml
copy_ has joined #ocaml
drakonis has joined #ocaml
keyle has joined #ocaml
drobban has joined #ocaml
noddy has joined #ocaml
habnabit_ has joined #ocaml
gahr has joined #ocaml
Ekho has joined #ocaml
Exa has joined #ocaml
pie_ has joined #ocaml
zozozo has joined #ocaml
justache has joined #ocaml
chrisz has joined #ocaml
Soni has joined #ocaml
rom1504 has joined #ocaml
CalimeroTeknik has joined #ocaml
ns12 has joined #ocaml
bacam has joined #ocaml
quernd80 has joined #ocaml
buoy49_ has joined #ocaml
haesbaert has joined #ocaml
energizer has joined #ocaml
lisq has joined #ocaml
Riviera has joined #ocaml
Duns_Scrotus___ has joined #ocaml
pgiarrusso has joined #ocaml
cbarrett has joined #ocaml
greenbagels has joined #ocaml
landonf has joined #ocaml
jusensei2 has joined #ocaml
xenu has joined #ocaml
leonardus has joined #ocaml
Fardale has joined #ocaml
esum has joined #ocaml
adrien has joined #ocaml
ebb has joined #ocaml
Boarders___ has joined #ocaml
welterde has joined #ocaml
sadiq has joined #ocaml
Geekingfrog has joined #ocaml
Techcable has quit [Ping timeout: 240 seconds]
gdd has quit [Max SendQ exceeded]
m5zs7k has quit [Max SendQ exceeded]
042AAHGWF has joined #ocaml
sleepydog has joined #ocaml
henrytill has joined #ocaml
seeg has joined #ocaml
migalmoreno has joined #ocaml
Ankhers has joined #ocaml
kuruczgy has joined #ocaml
toastal has joined #ocaml
ohperitel has joined #ocaml
_alix has joined #ocaml
b0o has joined #ocaml
Johann has joined #ocaml
jakzale has joined #ocaml
brettgilio has joined #ocaml
richardhuxton has joined #ocaml
ggb has joined #ocaml
pluviaq has joined #ocaml
philipwhite has joined #ocaml
process0 has joined #ocaml
arya_elfren has joined #ocaml
Putonlalla has joined #ocaml
patrick has joined #ocaml
rwmjones_ has joined #ocaml
immutable has joined #ocaml
leah2 has joined #ocaml
whereiseveryone has joined #ocaml
ymherklotz has joined #ocaml
Ankhers has quit [Max SendQ exceeded]
immutable has quit [Max SendQ exceeded]
pluviaq has quit [Max SendQ exceeded]
ymherklotz has quit [Max SendQ exceeded]
kuruczgy has quit [Max SendQ exceeded]
ggb has quit [Max SendQ exceeded]
brettgilio has quit [Max SendQ exceeded]
whereiseveryone has quit [Max SendQ exceeded]
b0o has quit [Max SendQ exceeded]
m5zs7k_ has joined #ocaml
discocaml has quit [Excess Flood]
gdd has joined #ocaml
discocaml has joined #ocaml
sleepydog has quit [Read error: Connection reset by peer]
patrick has quit [Ping timeout: 260 seconds]
henrytill has quit [Ping timeout: 240 seconds]
migalmoreno has quit [Ping timeout: 240 seconds]
042AAHGWF has quit [Ping timeout: 240 seconds]
toastal has quit [Ping timeout: 240 seconds]
seeg has quit [Ping timeout: 240 seconds]
jakzale has quit [Ping timeout: 240 seconds]
arya_elfren has quit [Ping timeout: 240 seconds]
richardhuxton has quit [Ping timeout: 240 seconds]
_alix has quit [Ping timeout: 240 seconds]
philipwhite has quit [Ping timeout: 240 seconds]
Techcable has joined #ocaml
b0o has joined #ocaml
richardhuxton has joined #ocaml
migalmoreno has joined #ocaml
_alix has joined #ocaml
ymherklotz has joined #ocaml
pluviaq has joined #ocaml
migalmoreno has quit [Read error: Connection reset by peer]
_alix has quit [Read error: Connection reset by peer]
richardhuxton has quit [Write error: Connection reset by peer]
richardhuxton_ has joined #ocaml
pluviaq has quit [Ping timeout: 268 seconds]
ymherklotz has quit [Ping timeout: 268 seconds]
m5zs7k_ is now known as m5zs7k
richardhuxton_ has quit [Ping timeout: 268 seconds]
b0o has quit [Ping timeout: 268 seconds]
waleee has quit [Ping timeout: 252 seconds]
bartholin has joined #ocaml
Serpent7776 has joined #ocaml
richardhuxton has joined #ocaml
_alix has joined #ocaml
brettgilio has joined #ocaml
henrytill has joined #ocaml
migalmoreno has joined #ocaml
kuruczgy has joined #ocaml
pluviaq has joined #ocaml
philipwhite has joined #ocaml
ggb has joined #ocaml
seeg has joined #ocaml
patrick has joined #ocaml
Ankhers has joined #ocaml
jakzale has joined #ocaml
whereiseveryone has joined #ocaml
soni_ has joined #ocaml
immutable has joined #ocaml
arya_elfren has joined #ocaml
sleepydog has joined #ocaml
ymherklotz has joined #ocaml
toastal has joined #ocaml
b0o has joined #ocaml
seeg has quit [Ping timeout: 260 seconds]
philipwhite has quit [Ping timeout: 260 seconds]
pluviaq has quit [Ping timeout: 260 seconds]
migalmoreno has quit [Ping timeout: 260 seconds]
immutable has quit [Read error: Connection reset by peer]
patrick has quit [Read error: Connection reset by peer]
sleepydog has quit [Read error: Connection reset by peer]
b0o has quit [Read error: Connection reset by peer]
brettgilio has quit [Read error: Connection reset by peer]
ymherklotz has quit [Read error: Connection reset by peer]
whereiseveryone has quit [Read error: Connection reset by peer]
kuruczgy has quit [Read error: Connection reset by peer]
soni_ has quit [Read error: Connection reset by peer]
toastal has quit [Read error: Connection reset by peer]
richardhuxton has quit [Write error: Connection reset by peer]
ggb has quit [Read error: Connection reset by peer]
arya_elfren has quit [Read error: Connection reset by peer]
_alix has quit [Write error: Connection reset by peer]
jakzale has quit [Read error: Connection reset by peer]
henrytill has quit [Read error: Connection reset by peer]
Ankhers has quit [Read error: Connection reset by peer]
philipwhite has joined #ocaml
henrytill has joined #ocaml
pluviaq has joined #ocaml
kuruczgy has joined #ocaml
ggb has joined #ocaml
seeg has joined #ocaml
jakzale has joined #ocaml
patrick has joined #ocaml
Ankhers has joined #ocaml
bartholin has quit [Quit: Leaving]
whereiseveryone has joined #ocaml
sleepydog has joined #ocaml
immutable has joined #ocaml
soni_ has joined #ocaml
arya_elfren has joined #ocaml
ymherklotz has joined #ocaml
toastal has joined #ocaml
b0o has joined #ocaml
richardhuxton has joined #ocaml
brettgilio has joined #ocaml
migalmoreno has joined #ocaml
_alix has joined #ocaml
toastal has quit [Ping timeout: 260 seconds]
ymherklotz has quit [Ping timeout: 260 seconds]
Ankhers has quit [Ping timeout: 260 seconds]
brettgilio has quit [Ping timeout: 260 seconds]
whereiseveryone has quit [Ping timeout: 260 seconds]
pluviaq has quit [Ping timeout: 260 seconds]
henrytill has quit [Ping timeout: 260 seconds]
philipwhite has quit [Ping timeout: 260 seconds]
richardhuxton has quit [Ping timeout: 260 seconds]
b0o has quit [Ping timeout: 260 seconds]
seeg has quit [Ping timeout: 260 seconds]
kuruczgy has quit [Ping timeout: 260 seconds]
_alix has quit [Read error: Connection reset by peer]
migalmoreno has quit [Ping timeout: 260 seconds]
patrick has quit [Ping timeout: 260 seconds]
jakzale has quit [Ping timeout: 260 seconds]
ggb has quit [Ping timeout: 260 seconds]
soni_ has quit [Read error: Connection reset by peer]
immutable has quit [Read error: Connection reset by peer]
arya_elfren has quit [Read error: Connection reset by peer]
sleepydog has quit [Ping timeout: 260 seconds]
toastal has joined #ocaml
ymherklotz has joined #ocaml
henrytill has joined #ocaml
philipwhite has joined #ocaml
migalmoreno has joined #ocaml
b0o has joined #ocaml
pluviaq has joined #ocaml
sleepydog has joined #ocaml
richardhuxton has joined #ocaml
whereiseveryone has joined #ocaml
brettgilio has joined #ocaml
arya_elfren has joined #ocaml
soni_ has joined #ocaml
jakzale has joined #ocaml
immutable has joined #ocaml
soni_ has quit [Read error: Connection reset by peer]
whereiseveryone has quit [Read error: Connection reset by peer]
migalmoreno has quit [Read error: Connection reset by peer]
b0o has quit [Read error: Connection reset by peer]
brettgilio has quit [Read error: Connection reset by peer]
philipwhite has quit [Write error: Connection reset by peer]
toastal has quit [Write error: Connection reset by peer]
ymherklotz has quit [Read error: Connection reset by peer]
richardhuxton has quit [Read error: Connection reset by peer]
immutable has quit [Read error: Connection reset by peer]
sleepydog has quit [Read error: Connection reset by peer]
pluviaq has quit [Read error: Connection reset by peer]
henrytill has quit [Read error: Connection reset by peer]
jakzale has quit [Read error: Connection reset by peer]
arya_elfren has quit [Read error: Connection reset by peer]
patrick has joined #ocaml
philipwhite has joined #ocaml
ggb has joined #ocaml
kuruczgy has joined #ocaml
immutable has joined #ocaml
_alix has joined #ocaml
migalmoreno has joined #ocaml
pluviaq_ has joined #ocaml
toastal has joined #ocaml
Ankhers has joined #ocaml
seeg has joined #ocaml
ymherklotz has joined #ocaml
henrytill_ has joined #ocaml
b0o has joined #ocaml
jakzale_ has joined #ocaml
pluviaq_ is now known as pluviaq
arya_elfren has joined #ocaml
brettgilio has joined #ocaml
richardhuxton has joined #ocaml
jakzale_ is now known as jakzale
henrytill_ is now known as henrytill
sleepydog_ has joined #ocaml
sleepydog_ is now known as sleepydog
soni_ has joined #ocaml
whereiseveryone has joined #ocaml
seeg has quit [Read error: Connection reset by peer]
soni_ has quit [Read error: Connection reset by peer]
sleepydog has quit [Read error: Connection reset by peer]
arya_elfren has quit [Read error: Connection reset by peer]
pluviaq has quit [Read error: Connection reset by peer]
patrick has quit [Read error: Connection reset by peer]
migalmoreno has quit [Read error: Connection reset by peer]
b0o has quit [Read error: Connection reset by peer]
toastal has quit [Read error: Connection reset by peer]
jakzale has quit [Read error: Connection reset by peer]
Ankhers has quit [Read error: Connection reset by peer]
kuruczgy has quit [Read error: Connection reset by peer]
richardhuxton has quit [Write error: Connection reset by peer]
philipwhite has quit [Read error: Connection reset by peer]
henrytill has quit [Read error: Connection reset by peer]
ymherklotz has quit [Read error: Connection reset by peer]
immutable has quit [Read error: Connection reset by peer]
ggb has quit [Read error: Connection reset by peer]
_alix has quit [Read error: Connection reset by peer]
czy has joined #ocaml
whereiseveryone has quit [Excess Flood]
jakzale has joined #ocaml
ggb has joined #ocaml
richardhuxton has joined #ocaml
brettgilio has quit [Ping timeout: 260 seconds]
richardhuxton has quit [Read error: Connection reset by peer]
ymherklotz has joined #ocaml
Ankhers has joined #ocaml
arya_elfren has joined #ocaml
richardhuxton has joined #ocaml
immutable has joined #ocaml
soni_ has joined #ocaml
toastal has joined #ocaml
patrick has joined #ocaml
b0o has joined #ocaml
henrytill has joined #ocaml
philipwhite has joined #ocaml
_alix has joined #ocaml
migalmoreno has joined #ocaml
brettgilio has joined #ocaml
kuruczgy has joined #ocaml
pluviaq has joined #ocaml
sleepydog has joined #ocaml
seeg has joined #ocaml
soni_ has quit [Read error: Connection reset by peer]
patrick has quit [Read error: Connection reset by peer]
brettgilio has quit [Read error: Connection reset by peer]
Ankhers has quit [Read error: Connection reset by peer]
b0o has quit [Read error: Connection reset by peer]
pluviaq has quit [Read error: Connection reset by peer]
jakzale has quit [Read error: Connection reset by peer]
kuruczgy has quit [Read error: Connection reset by peer]
immutable has quit [Read error: Connection reset by peer]
ggb has quit [Ping timeout: 260 seconds]
richardhuxton has quit [Ping timeout: 260 seconds]
arya_elfren has quit [Ping timeout: 260 seconds]
ymherklotz has quit [Ping timeout: 260 seconds]
_alix has quit [Ping timeout: 260 seconds]
philipwhite has quit [Ping timeout: 260 seconds]
henrytill has quit [Ping timeout: 260 seconds]
toastal has quit [Ping timeout: 260 seconds]
sleepydog has quit [Ping timeout: 260 seconds]
seeg has quit [Ping timeout: 260 seconds]
migalmoreno has quit [Ping timeout: 260 seconds]
meritamen has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
meritamen has joined #ocaml
rgrinberg has joined #ocaml
b0o has joined #ocaml
Ankhers has joined #ocaml
ymherklotz has joined #ocaml
soni_ has joined #ocaml
henrytill has joined #ocaml
pluviaq has joined #ocaml
immutable has joined #ocaml
arya_elfren has joined #ocaml
migalmoreno has joined #ocaml
toastal has joined #ocaml
patrick has joined #ocaml
seeg has joined #ocaml
richardhuxton has joined #ocaml
philipwhite has joined #ocaml
_alix has joined #ocaml
sleepydog has joined #ocaml
patrick has quit [Read error: Connection reset by peer]
arya_elfren has quit [Read error: Connection reset by peer]
sleepydog has quit [Read error: Connection reset by peer]
soni_ has quit [Read error: Connection reset by peer]
migalmoreno has quit [Read error: Connection reset by peer]
richardhuxton has quit [Read error: Connection reset by peer]
pluviaq has quit [Read error: Connection reset by peer]
philipwhite has quit [Read error: Connection reset by peer]
immutable has quit [Write error: Connection reset by peer]
_alix has quit [Write error: Connection reset by peer]
seeg has quit [Ping timeout: 263 seconds]
Ankhers has quit [Ping timeout: 263 seconds]
b0o has quit [Read error: Connection reset by peer]
ymherklotz has quit [Read error: Connection reset by peer]
toastal has quit [Read error: Connection reset by peer]
henrytill has quit [Read error: Connection reset by peer]
meritamen has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
meritamen has joined #ocaml
wingsorc has quit [Ping timeout: 256 seconds]
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
noonien85 has joined #ocaml
azimut has joined #ocaml
a51 has joined #ocaml
neiluj has joined #ocaml
dyamon has joined #ocaml
pi3ce has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<dyamon> Hi everyone! OCaml noob here! In a project I have a module called `Buffer`, but since I'm using `base`, whenever I `open Base` at the top of a module, my own `Buffer` module gets shadowed by `Base.Buffer`. Is there a standard way of solving this?
pi3ce has joined #ocaml
<discocaml> <_ggole> Use a different name, or bind `Buffer` to a different name above the `open Base` and then use that
<discocaml> <_ggole> Or don't `open Base` and use everything qualified
<dyamon> Ok so I take there is no way to `open Module except [list of modules]`
<discocaml> <darrenldl> don't believe so
<discocaml> <darrenldl> thought you might be able to access the regular stdlib buffer via `Stdlib.Buffer` even after `open Base`
<discocaml> <darrenldl> though*
<discocaml> <._null._> If it's their own Buffer, it won't be accessible under Stdlib.Buffer
micro has quit [Ping timeout: 245 seconds]
<dyamon> Yeah it's my own module. I guess I'm attached to the name for no reason. I should just change it.
<dyamon> On a side note, is adding `open Base` to your modules the right way to use the library?
<discocaml> <._null._> If the module is defined in another file, you can also write `module Buffer = MyFile.Buffer` after `open Base`
<discocaml> <darrenldl> Oh...sorry I failed to read the sentence properly
<dyamon> So the thing is, it is a file module. I tried something similar before coming here, which was `module Buffer = LibName.Buffer` but the compiler returned a "This doesn't make sense to me" error.
<discocaml> <0aty> if you are making a library and have a module for it, you can name your file something different, like `FooBuffer.ml`, and define `module Buffer = FooBuffer` in your library module, as is done in containers (https://github.com/c-cube/ocaml-containers/blob/main/src/core/containers.ml)
<dyamon> Ah I see
<dyamon> makes sense
<dyamon> (to me, if it makes sense to the compiler is yet to be seen :P)
<dyamon> ok thank you everyone! Nice meeting you!
<discocaml> <darrenldl> o/
pi3ce has quit [Quit: No Ping reply in 180 seconds.]
micro has joined #ocaml
pi3ce has joined #ocaml
meritamen has quit [Remote host closed the connection]
pi3ce has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
dyamon has quit [Ping timeout: 250 seconds]
a51 has quit [Quit: WeeChat 4.1.2]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
waleee has joined #ocaml
a51 has joined #ocaml
bartholin has joined #ocaml
neiluj has quit [Quit: neiluj]
meator has joined #ocaml
<meator> Hi. I don't have any experience with OCaml, but I'd like to package a program written in it. To do that, I need to know how do libraries in OCaml work.
<meator> dune says that the library couldn't be found. How can I debug this problem? How does OCaml (or ocaml-findlib) look for libraries?
<meator> Does opam distribute built things or does it just download source code and then build it?
<octachron> opam is a source package manager
<octachron> if a library cannot be found and has been installed by opam, one possible reason might be that there is two ocamlfind installations in scope (one managed by opam, and a system wide one)
<meator> It hasn't been installed by opam. I am packaging the library manually.
<meator> I could have missed something while packaging the library.
<meator> This is the error I'm getting by the way: https://termbin.com/2lq6
kuruczgy has joined #ocaml
<meator> I have experience with C, C++ and Python. Do I need to specify the library path (like -L in C)? Or could my library have some files missing which makes dune ignore it (kinda similar to __init__.py in Python)?
sleepydog has joined #ocaml
<meator> https://termbin.com/hecl This is the library. I have noticed special files META and opam.
<discocaml> <Ada> use opam to build it
<discocaml> <Ada> the built executable won’t have any runtime dependencies on opam packages, but it’s like trying to build a rust package without cargo
jakzale has joined #ocaml
<meator> When packaging things, it is discouraged to use other package managers. For example all Python dependencies are packaged manually and pip is never used.
<meator> How is rust related to this?
<companion_cube> i sure hope you use dune
<meator> I am using dune.
<meator> Or I am using a Makefile which is using dune.
whereiseveryone has joined #ocaml
arya_elfren has joined #ocaml
brettgilio has joined #ocaml
<companion_cube> then I don't think you should worry about any C flags
<discocaml> <Ada> if you want to use your distributions build system you should ask whoever maintains the ocaml packages for that distribution, they will know the ins and outs of how they handle build dependencies better than we will
migalmoreno has joined #ocaml
b0o has joined #ocaml
henrytill has joined #ocaml
richardhuxton has joined #ocaml
ggb has joined #ocaml
seeg has joined #ocaml
toastal has joined #ocaml
pluviaq has joined #ocaml
soni_ has joined #ocaml
ymherklotz has joined #ocaml
<discocaml> <Ada> to be completely honest, i would not package for a language you are not familiar with
<meator> The Void packages repository (which I'm working with) doesn't have much OCaml in it. I am unsure if I'll be able to find someone with experience.
_alix has joined #ocaml
Ankhers has joined #ocaml
philipwhite has joined #ocaml
patrick has joined #ocaml
immutable has joined #ocaml
<meator> How does OCaml search for libraries?
<discocaml> <Ada> if you are able to use a package manager at build time, use opam as a build dependency. otherwise, you're probably commiting yourself to maintaining too many packages and shell scripts for a single task in a language you arent using, but thats just my advice
<companion_cube> I don't honestly remember where ocamlfind looks
<discocaml> <Ada> `CAML_LD_LIBRARY_PATH`
<meator> Is /usr/lib/extlib/ a reasonable location for the library? Or should it be somewhere else? To my knowledge other OCaml libraries are structured like that and they work. Can I invoke the library search mechanism manually somehow and observe its results to help me "debug" this?
<discocaml> <Ada> i believe `/usr/lib/ocaml/` is the common default
<discocaml> <Ada> at the least its where debian throws its stuff
Tuplanolla has joined #ocaml
rgrinberg has joined #ocaml
<meator> I'm trying it right now.
<meator> Packaging usually doesn't require deep knowledge of the language (but it certainly helps) if the build system is usable.
<meator> I think it's working. Thanks Ada!
<discocaml> <Ada> compare dune to cmake and dune looks incredible lol
average has joined #ocaml
<meator> I've been lucky enough that the Void packages repo has "endpoints" for popular build systems like make, CMake, cargo etc. which handles everything (including more complicated things like cross compilation). I wouldn't want to touch CMake directly. Meson is the best!
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
<meator> And just checking: Is it impossible to cross compile OCaml?
<discocaml> <Ada> i think it’s possible
<discocaml> <Ada> i’ve cross compiled from linux to windows before so i don’t see multi arch compilation being impossible
<discocaml> <Ada> apparently it’s possible with nix, but that’s adding in a build time package manager and a huge container based one at that so
<meator> I've read online that it's impossible except for some specific things like cross compilation to android, mac and windows. But I will look into it more.
<meator> But it would require a build of OCaml compiler set up for cross compiling to the target architecture, no?
fweht has joined #ocaml
<discocaml> <Ada> the windows cross compiler built for windows same architecture when i used it
<discocaml> <Ada> don't know how the android ones work
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<meator> I have chatted with people more knowledgeable than me and using opam should be OK.
<meator> Thanks for your help! You have answered all of my questions. I am a stranger to these lands, but OCaml seems nice (at least it's build system).
<discocaml> <Ada> the tooling is very nice
<discocaml> <Ada> opam is a masterpiece
a51 has quit [Quit: WeeChat 4.1.2]
<adrien> I shell scripted a task today and it was a bit too slow to be pleasant to use so I tried to optimize the worst cost which was a grep with a trivial regexp over around 1GB of data; I tried gawk, mawk, python, gnu grep, rg, ocaml and what struck me is that rg is faster than I am quickly able read the data from ocaml code: I tried Buffer.add_channel but it's almost twice slower, Unix.read but it's still slower
<adrien> than rg but worse I get Bytes and I need String but Bytes.unsafe_to_string almost doubles the runtime
<adrien> and I'm still not doing anything with what I read (I guess there could be some wins by not accumulating the data but I would still need a buffer to rebuild lines)
<adrien> I know you can make cat very fast but without spending lots of time on that, what can I do?
<adrien> at this point I'm very curious because I wasn't expecting to see such bottlenecks and I'm close to considering it a shift in how I view everyday performance
<duncan> rg has a reputation for being faster than the gnu grep, IME it's not that much faster than grep(1) on the Mac or Solaris, YMMV
<duncan> grep compared to awk and friends is dependent on context, they're not strictly replacements for each other and have worked fine for decades
rgrinberg has joined #ocaml
<duncan> The other thing is that for really complicated tasks I would prioritise readability/understanding over speed. Computers are cheap, I don't do programming after 5pm, it's easy to leave something overnight and I get 10 hours of sleep a night.
<adrien> I wanted to iterate on a program and to run it repeatedly; I have a number of long-running tasks and enough horsepower but here the question is how to be efficient with ocaml despite some of its abstractions
wagle has quit [Ping timeout: 256 seconds]
wagle has joined #ocaml
<discocaml> <Ada> weird, ocurl is missing some CURLOPTs
wingsorc has joined #ocaml
motherfsck has quit [Quit: quit]
czy has quit [Remote host closed the connection]
meator has quit [Quit: WeeChat 4.1.2]
waleee has quit [Ping timeout: 245 seconds]
rak has quit [Ping timeout: 256 seconds]
trev has quit [Quit: trev]
waleee has joined #ocaml
waleee has quit [Ping timeout: 260 seconds]
dnaq has quit [Remote host closed the connection]
rak has joined #ocaml
dnaq has joined #ocaml
oriba has joined #ocaml
waleee has joined #ocaml
<adrien> I think what I'm looking for is vmsplice() but it's inconvenient with ocaml values I guess (since there is a header and you can't really page-align due to it) and it's not a clean map with ocaml types probably
<adrien> but extunix has it
neiluj has joined #ocaml
<adrien> except I still won't have a string afterwards
<adrien> well, there's get_substr but I guess it involves copying data
Serpent7776 has quit [Ping timeout: 268 seconds]
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
neiluj has quit [Quit: neiluj]
bartholin has quit [Quit: Leaving]
rgrinberg has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
<discocaml> <darrenldl> adrien: what kind of data and are you on release build?
<discocaml> <darrenldl>
<discocaml> <darrenldl> rg is really optimised still, so i wouldnt be surprised if it's faster even with a regex
<companion_cube> adrien: Bytes.unsafe_of_string should be a no op
<companion_cube> What's your buffer size?