Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.13.0 released: https://ocaml.org/releases/4.13.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
Tuplanolla has quit [Quit: Leaving.]
wagle has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
wagle has joined #ocaml
olle has quit [Ping timeout: 268 seconds]
kaph has quit [Read error: Connection reset by peer]
<d_bot_> <Boby> is there a way to put type in function declaration without using tuples ?
<d_bot_> <Boby> for example let f a b = a + b could be let f (a, b : int * int) : int = a + b, but it use tuples right ?
<d_bot_> <Boby> how can I put paramter types without using tuples ?
<d_bot_> <NULL> `let f : int -> int -> int = fun a b -> a + b` or `let f (a: int) (b: int) : int = a + b`
<d_bot_> <Boby> Yes thanks !
waleee has quit [Ping timeout: 252 seconds]
waleee has joined #ocaml
rgrinberg has joined #ocaml
kaph has joined #ocaml
<companion_cube> hum, did statmemprof disappear??
<companion_cube> I don't even see it in ocaml-variants :(
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
ralu has quit [Ping timeout: 250 seconds]
<rgrinberg> i don't think you need special compiler for statmemprof anymore
<companion_cube> yeah, it seems not
<companion_cube> that's quite cool
<companion_cube> also, memtrace is nicer than expected (there's useful CLI tools alongside the core library)
<rgrinberg> yeah, it's not too bad
<rgrinberg> kind of a pain to install the viewer
<companion_cube> that's the point: you don't really need the viewer
<companion_cube> memtrace_hotspots and memtrace_flamegraph are already quite nice
sleepydog_ is now known as sleepydog
<d_bot_> <Anurag> thanks to the cli tools I haven't needed to install the viewer in a long time.
<d_bot_> <Anurag> I stopped using the viewer when I upgraded to ocaml 4.12 as the current version of the viewer on opam only works on ocaml 4.11.x
<d_bot_> <Anurag> and I couldn't be bothered to maintain a separate 4.11 switch just to compile the viewer..
mbuf has joined #ocaml
waleee has quit [Ping timeout: 245 seconds]
<companion_cube> well it's good to know that there's a lean solution now
Haudegen has joined #ocaml
shawnw has quit [Ping timeout: 260 seconds]
wyrd has quit [*.net *.split]
azimut has quit [*.net *.split]
adanwan_ has quit [*.net *.split]
chrisz has quit [*.net *.split]
smondet[m] has quit [*.net *.split]
CodeBitCookie[m] has quit [*.net *.split]
JosEduardo[m] has quit [*.net *.split]
SoniEx2 has quit [*.net *.split]
d_bot_ has quit [*.net *.split]
pgiarrusso has quit [*.net *.split]
thizanne has quit [*.net *.split]
Techcable has quit [*.net *.split]
theblatte has quit [*.net *.split]
Putonlalla has quit [*.net *.split]
Enjolras has quit [*.net *.split]
m5zs7k has quit [*.net *.split]
dmbaturin has quit [*.net *.split]
energizer has quit [*.net *.split]
nore has quit [*.net *.split]
copy has quit [*.net *.split]
klu has quit [*.net *.split]
mbuf has quit [*.net *.split]
kaph has quit [*.net *.split]
wagle has quit [*.net *.split]
spip has quit [*.net *.split]
rak has quit [*.net *.split]
ansiwen has quit [*.net *.split]
Ekho has quit [*.net *.split]
micro has quit [*.net *.split]
CalimeroTeknik has quit [*.net *.split]
ski has quit [*.net *.split]
tomku has quit [*.net *.split]
kurfen_ has quit [*.net *.split]
adrien has quit [*.net *.split]
ebb has quit [*.net *.split]
octachron_ has quit [*.net *.split]
grobe0ba has quit [*.net *.split]
gahr has quit [*.net *.split]
companion_cube has quit [*.net *.split]
travv0 has quit [*.net *.split]
daimrod2 has quit [*.net *.split]
tristanC has quit [*.net *.split]
qwr has quit [*.net *.split]
Exa has quit [*.net *.split]
bronsen has quit [*.net *.split]
zozozo has quit [*.net *.split]
fds has quit [*.net *.split]
ejones has quit [*.net *.split]
tizoc has quit [*.net *.split]
Cypi has quit [*.net *.split]
bacam has quit [*.net *.split]
epony has quit [*.net *.split]
omni_ has quit [*.net *.split]
mg- has quit [*.net *.split]
pippijn has quit [*.net *.split]
kakadu has quit [*.net *.split]
jonasbits has quit [*.net *.split]
farn_ has quit [*.net *.split]
greyrat_ has quit [*.net *.split]
megeve_ has quit [*.net *.split]
jakzale has quit [*.net *.split]
seeg has quit [*.net *.split]
lobo has quit [*.net *.split]
ccx has quit [*.net *.split]
dh` has quit [*.net *.split]
mclovin has quit [*.net *.split]
saltrocklamp[m] has quit [*.net *.split]
Sofi has quit [*.net *.split]
noddy has quit [*.net *.split]
chiastre has quit [*.net *.split]
remexre has quit [*.net *.split]
conjunctive has quit [*.net *.split]
caasih has quit [*.net *.split]
infinity0 has quit [*.net *.split]
terrorjack has quit [*.net *.split]
Corbin has quit [*.net *.split]
xgqt has quit [*.net *.split]
hannes has quit [*.net *.split]
gdd has quit [*.net *.split]
v0idpwn has quit [*.net *.split]
np has quit [*.net *.split]
kandu has quit [*.net *.split]
ocabot has quit [*.net *.split]
sparogy has quit [*.net *.split]
brettgilio has quit [*.net *.split]
johnel has quit [*.net *.split]
perro_ has quit [*.net *.split]
vsiles has quit [*.net *.split]
quernd has quit [*.net *.split]
mjacob has quit [*.net *.split]
Johann has quit [*.net *.split]
rgrinberg has quit [*.net *.split]
Absalom has quit [*.net *.split]
habnabit_ has quit [*.net *.split]
Chouhartem has quit [*.net *.split]
asm has quit [*.net *.split]
Leonidas has quit [*.net *.split]
dy has quit [*.net *.split]
sim642 has quit [*.net *.split]
OCamlPro[m] has quit [*.net *.split]
lisq has quit [*.net *.split]
kronicma1 has quit [*.net *.split]
ts3 has quit [*.net *.split]
welterde has quit [*.net *.split]
p4bl0 has quit [*.net *.split]
berberman_ has quit [*.net *.split]
xand0_ has quit [*.net *.split]
oisota has quit [*.net *.split]
rwmjones has quit [*.net *.split]
rom1504 has quit [*.net *.split]
rks` has quit [*.net *.split]
greenbagels has quit [*.net *.split]
notnotdan has quit [*.net *.split]
sadiq has quit [*.net *.split]
_tjr_ has quit [*.net *.split]
jsoo has quit [*.net *.split]
leah2 has quit [*.net *.split]
SquidDev has quit [*.net *.split]
mbuf has joined #ocaml
ouestbillie has quit [Quit: leaving]
ralu has joined #ocaml
landonf has quit [*.net *.split]
Armael has quit [*.net *.split]
dstein64 has quit [*.net *.split]
sleepydog has quit [*.net *.split]
mal`` has quit [*.net *.split]
troydm has quit [*.net *.split]
ns12 has quit [*.net *.split]
hackinghorn has quit [*.net *.split]
perrierjouet has quit [*.net *.split]
towel has quit [*.net *.split]
pieguy128 has quit [*.net *.split]
mmalter has quit [*.net *.split]
bgs has quit [*.net *.split]
andreypopp has quit [*.net *.split]
cross_ has quit [*.net *.split]
williewillus has quit [*.net *.split]
xenu has quit [*.net *.split]
Geekingfrog has quit [*.net *.split]
beise has quit [*.net *.split]
afrosenpai has quit [*.net *.split]
Boarders_ has quit [*.net *.split]
JSharp has quit [*.net *.split]
Fardale has quit [*.net *.split]
cbarrett has quit [*.net *.split]
conjunctive has joined #ocaml
welterde has joined #ocaml
ansiwen has joined #ocaml
troydm has joined #ocaml
ns12 has joined #ocaml
mal`` has joined #ocaml
sleepydog has joined #ocaml
dstein64 has joined #ocaml
bobo has joined #ocaml
Armael has joined #ocaml
kaph has joined #ocaml
rgrinberg has joined #ocaml
wagle has joined #ocaml
wyrd has joined #ocaml
chrisz has joined #ocaml
Absalom has joined #ocaml
rak has joined #ocaml
CodeBitCookie[m] has joined #ocaml
smondet[m] has joined #ocaml
mclovin has joined #ocaml
JosEduardo[m] has joined #ocaml
SoniEx2 has joined #ocaml
d_bot_ has joined #ocaml
Sofi has joined #ocaml
pgiarrusso has joined #ocaml
landonf has joined #ocaml
chiastre has joined #ocaml
terrorjack has joined #ocaml
noddy has joined #ocaml
epony has joined #ocaml
hannes has joined #ocaml
micro has joined #ocaml
CalimeroTeknik has joined #ocaml
azimut has joined #ocaml
ski has joined #ocaml
v0idpwn has joined #ocaml
tizoc has joined #ocaml
thizanne has joined #ocaml
octachron_ has joined #ocaml
Techcable has joined #ocaml
np has joined #ocaml
omni_ has joined #ocaml
habnabit_ has joined #ocaml
gdd has joined #ocaml
grobe0ba has joined #ocaml
mg- has joined #ocaml
gahr has joined #ocaml
pippijn has joined #ocaml
adanwan_ has joined #ocaml
kandu has joined #ocaml
companion_cube has joined #ocaml
Cypi has joined #ocaml
ocabot has joined #ocaml
kakadu has joined #ocaml
dmbaturin has joined #ocaml
jonasbits has joined #ocaml
tomku has joined #ocaml
travv0 has joined #ocaml
m5zs7k has joined #ocaml
brettgilio has joined #ocaml
johnel has joined #ocaml
perro_ has joined #ocaml
greyrat_ has joined #ocaml
megeve_ has joined #ocaml
seeg has joined #ocaml
jakzale has joined #ocaml
lisq has joined #ocaml
lobo has joined #ocaml
kronicma1 has joined #ocaml
kurfen_ has joined #ocaml
remexre has joined #ocaml
xgqt has joined #ocaml
Corbin has joined #ocaml
Ekho has joined #ocaml
caasih has joined #ocaml
sparogy has joined #ocaml
infinity0 has joined #ocaml
bacam has joined #ocaml
mjacob has joined #ocaml
Enjolras has joined #ocaml
energizer has joined #ocaml
ts3 has joined #ocaml
daimrod2 has joined #ocaml
Chouhartem has joined #ocaml
p4bl0 has joined #ocaml
adrien has joined #ocaml
ebb has joined #ocaml
xand0_ has joined #ocaml
berberman_ has joined #ocaml
oisota has joined #ocaml
rwmjones has joined #ocaml
rom1504 has joined #ocaml
rks` has joined #ocaml
notnotdan has joined #ocaml
greenbagels has joined #ocaml
tristanC has joined #ocaml
qwr has joined #ocaml
sadiq has joined #ocaml
theblatte has joined #ocaml
klu has joined #ocaml
copy has joined #ocaml
nore has joined #ocaml
ejones has joined #ocaml
bronsen has joined #ocaml
zozozo has joined #ocaml
Exa has joined #ocaml
fds has joined #ocaml
Johann has joined #ocaml
dh` has joined #ocaml
ccx has joined #ocaml
sim642 has joined #ocaml
dy has joined #ocaml
Leonidas has joined #ocaml
asm has joined #ocaml
SquidDev has joined #ocaml
leah2 has joined #ocaml
jsoo has joined #ocaml
_tjr_ has joined #ocaml
Putonlalla has joined #ocaml
saltrocklamp[m] has joined #ocaml
OCamlPro[m] has joined #ocaml
farn_ has joined #ocaml
vsiles has joined #ocaml
quernd has joined #ocaml
bobo is now known as 073AAMPK3
hackinghorn has joined #ocaml
towel has joined #ocaml
perrierjouet has joined #ocaml
mmalter has joined #ocaml
pieguy128 has joined #ocaml
bgs has joined #ocaml
cross_ has joined #ocaml
williewillus has joined #ocaml
afrosenpai has joined #ocaml
xenu has joined #ocaml
andreypopp has joined #ocaml
beise has joined #ocaml
Geekingfrog has joined #ocaml
JSharp has joined #ocaml
Fardale has joined #ocaml
Boarders_ has joined #ocaml
cbarrett has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
shawnw has joined #ocaml
jlrnick has joined #ocaml
Serpent7776 has joined #ocaml
jlrnick has quit [Ping timeout: 245 seconds]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
gravicappa has joined #ocaml
gravicappa has quit [Ping timeout: 256 seconds]
wyrd has quit [Ping timeout: 276 seconds]
wyrd has joined #ocaml
cedric has joined #ocaml
073AAMPK3 has quit [Quit: Konversation terminated!]
<d_bot_> <undu> I'm just updating the ocaml used for xapi to 4.13 just for the profiler
spip has joined #ocaml
<d_bot_> <myrkraverk> Thanks, I'll look into that.
<d_bot_> <orbitz> 4.13 looks like it has a lot of goodies in it
<d_bot_> <DepartureAM> I was gonna follow "White you a Scheme" in Haskell but reading through the intro it looks like they use a lib Parsec that does most of the work lmao. Anyone know of any decent tutorials which build a simple language implementation without delegating most of the work to a library?
<Armael> I assume Parsec only handles parsing? There are many other interesting things to tackle to implement a scheme-like language
<d_bot_> <octachron> Parsing is not really most of the work, and it is mostly tedious without a library or a parser generator. You can replace `parsec` by a hand-written recursive descent parser or write your own version of `parsec`.
<d_bot_> <DepartureAM> why tf is a bot speaking to me
<Armael> :| rude
<d_bot_> <DepartureAM> I don't know haskell nearlyyy well enough to write my own lol. I just saw in the book it says
<d_bot_> <DepartureAM> > The lexer and parser are contained in a single library, Parsec, which does most of the work for us
<d_bot_> <NULL> Read the channel description and be more respectful please
<Armael> "most of the work" for parsing
<d_bot_> <octachron> in other words, you can let `parsec` handles the parsing if you are not particularly interested by this part.
<d_bot_> <DepartureAM> I didn't know "Bridged to IRC" meant "IRC users will appear as bots." That should probably me made clearer, but thanks.
<d_bot_> <DepartureAM> ahh ok
<d_bot_> <DepartureAM> I'm interested in it, but I don't know haskell well enough to take that part of the book and handle it one my own.
<Armael> I'd just follow the book then, you can still come back later and implement a hand-rolled parser if you want
<d_bot_> <NULL> I'm pretty sure Discord does no bridging natively, so it's always a bot doing it (hence the tag)
<d_bot_> <DepartureAM> Yeah makes sense, thanks for the suggestions 🙂
olle has joined #ocaml
<theblatte> a
bartholin has joined #ocaml
bobo_ has joined #ocaml
spip has quit [Ping timeout: 256 seconds]
m5zs7k has quit [Ping timeout: 260 seconds]
m5zs7k has joined #ocaml
<d_bot_> <darrenldl> @DepartureAM you can always make learning parsing a separate project, but as others suggest it's not the most substantial part of making a language
<mbuf> OCaml Mach IR refers to the Intermediate Representation format?
kaph has quit [Read error: Connection reset by peer]
ouestbillie has joined #ocaml
ouestbillie has quit [Client Quit]
ouestbillie has joined #ocaml
sagax has joined #ocaml
gravicappa has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
humasect has joined #ocaml
bartholin has quit [Quit: Leaving]
bartholin has joined #ocaml
kakadu has quit [Ping timeout: 240 seconds]
Tuplanolla has joined #ocaml
kurfen_ has quit [Ping timeout: 256 seconds]
kurfen has joined #ocaml
romildo has joined #ocaml
shawnw has quit [Ping timeout: 245 seconds]
bartholin has quit [Ping timeout: 256 seconds]
cedric has quit [Quit: Konversation terminated!]
Haudegen has joined #ocaml
olle has quit [Ping timeout: 250 seconds]
bartholin has joined #ocaml
pieguy128 has quit [Ping timeout: 256 seconds]
pieguy128 has joined #ocaml
humasect has quit [Remote host closed the connection]
bartholin has quit [Ping timeout: 256 seconds]
humasect has joined #ocaml
rgrinberg has joined #ocaml
pieguy128 has quit [Ping timeout: 250 seconds]
caasih has quit [Ping timeout: 268 seconds]
bartholin has joined #ocaml
caasih has joined #ocaml
pieguy128 has joined #ocaml
waleee has joined #ocaml
<d_bot_> <d4hines> Yesterday I mentioned I'm trying to use `Lwt_domain.detch` and `Lwt_process.pmap` together but it fails because you can't create a Unix fork after you've already created a domain. @octachron 's suggestion was to use `Unix.create_process` and friends instead. We tried doing that here: https://github.com/d4hines/multicore-with-lwt/tree/with-nodejs, but our external program fails with an `EAGAIN` error. Basically I think we're not
mbuf has quit [Quit: Leaving]
pieguy128 has quit [Ping timeout: 256 seconds]
SoniEx2 is now known as Soni
pieguy128 has joined #ocaml
pieguy128 has quit [Ping timeout: 256 seconds]
pieguy128 has joined #ocaml
<d_bot_> <cemerick> my kingdom for something like erlang's `spawn_opt` for OCaml domains 😅 https://discuss.ocaml.org/t/per-domain-memory-allocation-limits/9265
ouestbillie has quit [Remote host closed the connection]
ouestbillie has joined #ocaml
pieguy128 has quit [Ping timeout: 256 seconds]
pieguy128 has joined #ocaml
<sadiq> unfortunately this post mis-interprets that paper
<sadiq> I'll follow up on the discuss so there's a bit more of a public record
<d_bot_> <cemerick> sadiq: greatly appreciated 🙂
<sadiq> but TL;DR there's two GCs in OCaml and just because you allocated in one doesn't necessarily mean you allocated in the other
<sadiq> also only one domain takes _responsibility_ for managing a certain pool. Pools can be orphaned and they can move to other domains.
<sadiq> oh lol I wrote that documentation.
humasect has quit [Remote host closed the connection]
humasect has joined #ocaml
pieguy128 has quit [Ping timeout: 245 seconds]
Haudegen has quit [Quit: Bin weg.]
pieguy128 has joined #ocaml
mro has joined #ocaml
pieguy128 has quit [Ping timeout: 256 seconds]
beise has left #ocaml [Leaving]
mro has quit [Remote host closed the connection]
pieguy128 has joined #ocaml
pieguy128 has quit [Ping timeout: 252 seconds]
mro has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<companion_cube> I'm so tired of trying to add common sense stuff to the stdlib
xgqt has quit [Remote host closed the connection]
xgqt has joined #ocaml
humasect has quit [Quit: Leaving...]
mro has quit [Ping timeout: 250 seconds]
hackinghorn has quit [Ping timeout: 256 seconds]
pieguy128 has joined #ocaml
pieguy128 has quit [Ping timeout: 256 seconds]
mro has joined #ocaml
<sadiq> companion_cube, what happened this time?
<sadiq> that last comment seems like an argument for the PR.
<zozozo> agreed
<Corbin> Ugh, I recognize this mindset. It's the same POV that eventually leads to Elm's stagnation. "Things must stay; there must be no change."
pieguy128 has joined #ocaml
<companion_cube> here it's the opposite, in a way, from Alain
<companion_cube> "things might change, don't leak this obvious part of the implementation"
<Corbin> Yep. Your reply is sometimes called Hbomberguy's argument; you are pointing out that a buffer of bytes more-or-less *must* have a sequence of bytes somewhere in its implementation.
<d_bot_> <Et7f3> So now we will have CCBuffer ?
olle has joined #ocaml
<companion_cube> Corbin: yes, because it does, and is used by people knowing that it does
<companion_cube> if you want something different, go for it, just in a different module.
<companion_cube> it's basic performance retrocompatibility.
<companion_cube> (you could also replace Map.Make with an association list, and it'd be breaking as well)
<olle> My new colleague is advocating for TypeScript for the static typing.
pieguy128 has quit [Ping timeout: 256 seconds]
<olle> "Can you tell you about my friend, ReactML/ReScript/OCaml??"
mro has quit [Ping timeout: 240 seconds]
<companion_cube> Corbin: why "hbomberguy's argument" btw? to which video does it refer to?
<Corbin> companion_cube: It refers to a viral moment from https://www.youtube.com/watch?v=RLqXkYrdmjY in which it is pointed out that, definitionally, an occupied house must have occupants, as an argument against paying lip-service to an unchanging facade. They're talking about a beach, you're talking about an API, but it's definitely an instance.
pieguy128 has joined #ocaml
<companion_cube> ok
<companion_cube> but here we do have some constraints
<companion_cube> the API can change, but only in non breaking ways, for example
<companion_cube> that's no up to discussion
<Corbin> Is there a process for introducing new facades on an existing API? Or is it only done on an ad-hoc basis, in times of emergency?
<companion_cube> wdym "facades"
<d_bot_> <darrenldl> ah design pattern, my favourite topic in uni
pieguy128 has quit [Ping timeout: 256 seconds]
<Corbin> "One frequently constructs a facade to put a congenial 'pretty face' on the unpleasantness that is swept under the rug. Once these messy chunks of code have been quarantined, you can expose their functionality using intention-revealing selectors."
Haudegen has joined #ocaml
<Corbin> Yeah, it sucks to deal with this stuff, but it's obligatory for managing decades-long software projects. APIs have to be introduced and removed somehow. It can get worse: Some large corporations have New Product Introduction APIs, and you call an API to declare that you're creating a new API.
<d_bot_> <VPhantom> @companion_cube This is how I ended up with my own `Buffer`-like personal buffer module, so I could have better reading operations on extensible buffers. (Under the hood, I implemented it wrapped around Bigstring, Buffer and Bytes to accommodate various needs.)
bartholin has quit [Quit: Leaving]
pieguy128 has joined #ocaml
<companion_cube> Corbin: that sounds like GoF gloubiboulga indeed
<companion_cube> here we're talking about a freaking byte buffer
<companion_cube> something where it's important that some functions take literally a few instructions
<companion_cube> (like `add_char` in the happy path)
<companion_cube> there's no facading that shit
<Corbin> companion_cube: I've worked on and seen runtimes where even byte buffers might have underlying optimized representations. Short buffers, uninitialized buffers, buffers with just a few bytes repeated over and over in a pattern, etc.
<Corbin> I agree that, in this case, there's no such excuse. Too much is already promised in the docs.
<companion_cube> I could imagine a `Buffer.create` that doesn't initialize the content
<companion_cube> in the docs, and in 23 years of code using the thing and observing its behavior, too.
rgrinberg has joined #ocaml
<d_bot_> <blub> -"Can we have a List.take/drop in stdlib?"
<d_bot_> <blub> - "What are the usecases for such functions?"
mro has joined #ocaml
<d_bot_> <hcarty> Asking for use cases makes sense - if a function isn't general purpose it probably shouldn't be added to the standard library. The buffer issue is more nuanced since it's not possible to match on a buffer's representation
hackinghorn has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
<companion_cube> yeah, List.drop is doable (and done) in an external library
<d_bot_> <blub> Vector to stdlib proposal anyone?
<companion_cube> there's one already
<companion_cube> I mean there's an issue.
pieguy128 has quit [Ping timeout: 256 seconds]
<companion_cube> I think I'd explode if I tried to propose a PR on that one
<d_bot_> <darrenldl> : D
pieguy128 has joined #ocaml
kurfen_ has joined #ocaml
kurfen has quit [Ping timeout: 256 seconds]
<d_bot_> <darrenldl> though if a good implementation of things is in containers etc, does it matter too much?
<d_bot_> <blub> Yeah, I'm talking about that one
<companion_cube> I'm fine with using my vector, although it's a pity there isn't one to serve as a common vocabulary
<d_bot_> <blub> I kinda like the approach of ocaml wrt that language/stdlib changes should be properly reviewed thought out, but
<d_bot_> <blub> Is there a list.map that doesn't stack overflow?
<d_bot_> <blub> - what would be your usecase for that?
<GreaseMonkey> i confess i'm quite new to OCaml and also only somewhat experienced with the functional programming stuff, but i'm actually quite curious as to why List.take/drop aren't in the stdlib
<d_bot_> <blub> But then again it's finally solved
<d_bot_> <blub> What are your usecases for that?
<d_bot_> <Et7f3> list.rev_map |> list.rev
<d_bot_> <undu> take and drop are actually useful, I don't understand the resistance to add them
<d_bot_> <darrenldl> ill say those happen more often in seq
<d_bot_> <Et7f3> maybe exception handling
<d_bot_> <darrenldl> which Seq does not contain : D
<d_bot_> <Et7f3> because drop/take is pattern matching
<d_bot_> <Et7f3> so do you want to call a function for a if ?
<d_bot_> <darrenldl> idk about matching 70 things : D
ouestbillie is now known as cedb
cedb is now known as ouestbillie
<d_bot_> <blub> traversing the list twice
<GreaseMonkey> ...i'm now wondering how many use cases would be of the form `take e (drop b l)` and how many would be of the form `((take n l), (drop n l))`
<d_bot_> <blub> But yeah it's not hard to write the function yourself
<d_bot_> <blub> Or just use containers/base
mro has quit [Remote host closed the connection]
mro has joined #ocaml
vicfred has joined #ocaml
<companion_cube> oh right, I'll have to optimize it to use TRMC :D
Tuplanolla has quit [Ping timeout: 256 seconds]
olle has quit [Ping timeout: 256 seconds]
Anarchos has joined #ocaml
olle has joined #ocaml
Tuplanolla has joined #ocaml
<d_bot_> <Et7f3> You asked that doesn't stack overflow. With new ocaml naive list.map and TRMC attribute it won't stack overflow. IIRC it is not activated by default
<companion_cube> yep
<companion_cube> but it can help implementing a stack safe version
travv0 has left #ocaml [#ocaml]
humasect has joined #ocaml
hornhack has joined #ocaml
mro has quit [Quit: Leaving...]
humasect has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 256 seconds]
Boarders_ has quit [*.net *.split]
JSharp has quit [*.net *.split]
Fardale has quit [*.net *.split]
cbarrett has quit [*.net *.split]
Anarchos has quit [*.net *.split]
kurfen_ has quit [*.net *.split]
hackinghorn has quit [*.net *.split]
xgqt has quit [*.net *.split]
ouestbillie has quit [*.net *.split]
olle has quit [*.net *.split]
Serpent7776 has quit [*.net *.split]
perrierjouet has quit [*.net *.split]
towel has quit [*.net *.split]
mmalter has quit [*.net *.split]
bgs has quit [*.net *.split]
andreypopp has quit [*.net *.split]
cross_ has quit [*.net *.split]
williewillus has quit [*.net *.split]
xenu has quit [*.net *.split]
Geekingfrog has quit [*.net *.split]
landonf has quit [*.net *.split]
afrosenpai has quit [*.net *.split]
Armael has quit [*.net *.split]
dstein64 has quit [*.net *.split]
sleepydog has quit [*.net *.split]
mal`` has quit [*.net *.split]
troydm has quit [*.net *.split]
ns12 has quit [*.net *.split]
wyrd has quit [*.net *.split]
azimut has quit [*.net *.split]
adanwan_ has quit [*.net *.split]
romildo has quit [*.net *.split]
chrisz has quit [*.net *.split]
smondet[m] has quit [*.net *.split]
CodeBitCookie[m] has quit [*.net *.split]
JosEduardo[m] has quit [*.net *.split]
Soni has quit [*.net *.split]
d_bot_ has quit [*.net *.split]
pgiarrusso has quit [*.net *.split]
thizanne has quit [*.net *.split]
Techcable has quit [*.net *.split]
theblatte has quit [*.net *.split]
Putonlalla has quit [*.net *.split]
Enjolras has quit [*.net *.split]
rgrinberg has quit [*.net *.split]
dmbaturin has quit [*.net *.split]
energizer has quit [*.net *.split]
nore has quit [*.net *.split]
copy has quit [*.net *.split]
klu has quit [*.net *.split]
vicfred has quit [*.net *.split]
pieguy128 has quit [*.net *.split]
caasih has quit [*.net *.split]
m5zs7k has quit [*.net *.split]
wagle has quit [*.net *.split]
rak has quit [*.net *.split]
Ekho has quit [*.net *.split]
ansiwen has quit [*.net *.split]
micro has quit [*.net *.split]
CalimeroTeknik has quit [*.net *.split]
ski has quit [*.net *.split]
tomku has quit [*.net *.split]
adrien has quit [*.net *.split]
ebb has quit [*.net *.split]
Haudegen has quit [*.net *.split]
octachron_ has quit [*.net *.split]
grobe0ba has quit [*.net *.split]
gahr has quit [*.net *.split]
companion_cube has quit [*.net *.split]
daimrod2 has quit [*.net *.split]
qwr has quit [*.net *.split]
tristanC has quit [*.net *.split]
Exa has quit [*.net *.split]
bronsen has quit [*.net *.split]
zozozo has quit [*.net *.split]
fds has quit [*.net *.split]
ejones has quit [*.net *.split]
hornhack has quit [*.net *.split]
tizoc has quit [*.net *.split]
Cypi has quit [*.net *.split]
bacam has quit [*.net *.split]
epony has quit [*.net *.split]
omni_ has quit [*.net *.split]
mg- has quit [*.net *.split]
pippijn has quit [*.net *.split]
jonasbits has quit [*.net *.split]
ccx has quit [*.net *.split]
farn_ has quit [*.net *.split]
greyrat_ has quit [*.net *.split]
megeve_ has quit [*.net *.split]
jakzale has quit [*.net *.split]
seeg has quit [*.net *.split]
lobo has quit [*.net *.split]
dh` has quit [*.net *.split]
mclovin has quit [*.net *.split]
saltrocklamp[m] has quit [*.net *.split]
Sofi has quit [*.net *.split]
chiastre has quit [*.net *.split]
remexre has quit [*.net *.split]
sparogy has quit [*.net *.split]
conjunctive has quit [*.net *.split]
infinity0 has quit [*.net *.split]
terrorjack has quit [*.net *.split]
Corbin has quit [*.net *.split]
hannes has quit [*.net *.split]
v0idpwn has quit [*.net *.split]
gdd has quit [*.net *.split]
np has quit [*.net *.split]
kandu has quit [*.net *.split]
ocabot has quit [*.net *.split]
brettgilio has quit [*.net *.split]
johnel has quit [*.net *.split]
vsiles has quit [*.net *.split]
perro_ has quit [*.net *.split]
quernd has quit [*.net *.split]
mjacob has quit [*.net *.split]
Johann has quit [*.net *.split]
noddy has quit [*.net *.split]
sagax has quit [*.net *.split]
bobo_ has quit [*.net *.split]
Absalom has quit [*.net *.split]
habnabit_ has quit [*.net *.split]
Chouhartem has quit [*.net *.split]
asm has quit [*.net *.split]
Leonidas has quit [*.net *.split]
sim642 has quit [*.net *.split]
OCamlPro[m] has quit [*.net *.split]
dy has quit [*.net *.split]
lisq has quit [*.net *.split]
kronicma1 has quit [*.net *.split]
ts3 has quit [*.net *.split]
welterde has quit [*.net *.split]
p4bl0 has quit [*.net *.split]
berberman_ has quit [*.net *.split]
xand0_ has quit [*.net *.split]
rwmjones has quit [*.net *.split]
oisota has quit [*.net *.split]
rom1504 has quit [*.net *.split]
rks` has quit [*.net *.split]
greenbagels has quit [*.net *.split]
notnotdan has quit [*.net *.split]
sadiq has quit [*.net *.split]
_tjr_ has quit [*.net *.split]
jsoo has quit [*.net *.split]
leah2 has quit [*.net *.split]
SquidDev has quit [*.net *.split]
bacam has joined #ocaml
lobo has joined #ocaml
seeg has joined #ocaml
jakzale has joined #ocaml
epony has joined #ocaml
ouestbillie has joined #ocaml
xgqt has joined #ocaml
hackinghorn has joined #ocaml
kurfen_ has joined #ocaml
olle has joined #ocaml
Enjolras has joined #ocaml
Anarchos has joined #ocaml
Putonlalla has joined #ocaml
theblatte has joined #ocaml
Techcable has joined #ocaml
pgiarrusso has joined #ocaml
thizanne has joined #ocaml
Soni has joined #ocaml
JosEduardo[m] has joined #ocaml
smondet[m] has joined #ocaml
CodeBitCookie[m] has joined #ocaml
chrisz has joined #ocaml
romildo has joined #ocaml
leah2 has joined #ocaml
SquidDev has joined #ocaml
jsoo has joined #ocaml
_tjr_ has joined #ocaml
sadiq has joined #ocaml
rks` has joined #ocaml
notnotdan has joined #ocaml
greenbagels has joined #ocaml
rom1504 has joined #ocaml
oisota has joined #ocaml
berberman_ has joined #ocaml
rwmjones has joined #ocaml
xand0_ has joined #ocaml
p4bl0 has joined #ocaml
kronicma1 has joined #ocaml
ts3 has joined #ocaml
lisq has joined #ocaml
OCamlPro[m] has joined #ocaml
ejones has joined #ocaml
zozozo has joined #ocaml
bronsen has joined #ocaml
gahr has joined #ocaml
grobe0ba has joined #ocaml
ns12 has joined #ocaml
octachron_ has joined #ocaml
Haudegen has joined #ocaml
troydm has joined #ocaml
mal`` has joined #ocaml
sleepydog has joined #ocaml
dstein64 has joined #ocaml
Armael has joined #ocaml
landonf has joined #ocaml
sim642 has joined #ocaml
dy has joined #ocaml
asm has joined #ocaml
Chouhartem has joined #ocaml
Leonidas has joined #ocaml
habnabit_ has joined #ocaml
Absalom has joined #ocaml
bobo_ has joined #ocaml
sagax has joined #ocaml
daimrod2 has joined #ocaml
afrosenpai has joined #ocaml
szkl has joined #ocaml
xenu has joined #ocaml
williewillus has joined #ocaml
cross_ has joined #ocaml
andreypopp has joined #ocaml
bgs has joined #ocaml
mmalter has joined #ocaml
towel has joined #ocaml
perrierjouet has joined #ocaml
Serpent7776 has joined #ocaml
farn_ has joined #ocaml
jonasbits has joined #ocaml
megeve_ has joined #ocaml
companion_cube has joined #ocaml
greyrat_ has joined #ocaml
welterde has joined #ocaml
fds has joined #ocaml
pippijn has joined #ocaml
mg- has joined #ocaml
tristanC has joined #ocaml
Exa has joined #ocaml
omni_ has joined #ocaml
qwr has joined #ocaml
ebb has joined #ocaml
d_bot has joined #ocaml
hornhack has joined #ocaml
adrien has joined #ocaml
ski has joined #ocaml
tomku has joined #ocaml
CalimeroTeknik has joined #ocaml
Ekho has joined #ocaml
ansiwen has joined #ocaml
micro has joined #ocaml
rak has joined #ocaml
wagle has joined #ocaml
caasih has joined #ocaml
pieguy128 has joined #ocaml
vicfred has joined #ocaml
m5zs7k has joined #ocaml
tizoc has joined #ocaml
Cypi has joined #ocaml
epony has quit [Max SendQ exceeded]
dmbaturin has joined #ocaml
energizer has joined #ocaml
klu has joined #ocaml
nore has joined #ocaml
copy has joined #ocaml
epony has joined #ocaml
adanwan_ has joined #ocaml
wyrd has joined #ocaml
azimut has joined #ocaml
ccx has joined #ocaml
dh` has joined #ocaml
JSharp has joined #ocaml
Boarders_ has joined #ocaml
cbarrett has joined #ocaml
Fardale has joined #ocaml
OCamlPro[m] has quit [Ping timeout: 240 seconds]
smondet[m] has quit [Ping timeout: 260 seconds]
JosEduardo[m] has quit [Ping timeout: 260 seconds]
mclovin has joined #ocaml
conjunctive has joined #ocaml
Sofi has joined #ocaml
noddy has joined #ocaml
terrorjack has joined #ocaml
infinity0 has joined #ocaml
remexre has joined #ocaml
gdd has joined #ocaml
hannes has joined #ocaml
v0idpwn has joined #ocaml
johnel has joined #ocaml
kandu has joined #ocaml
ocabot has joined #ocaml
Corbin has joined #ocaml
np has joined #ocaml
chiastre has joined #ocaml
saltrocklamp[m] has joined #ocaml
sparogy has joined #ocaml
brettgilio has joined #ocaml
Johann has joined #ocaml
mjacob has joined #ocaml
perro_ has joined #ocaml
vsiles has joined #ocaml
quernd has joined #ocaml
mclovin has quit [Ping timeout: 245 seconds]
gdd has quit [Max SendQ exceeded]
saltrocklamp[m] has quit [Ping timeout: 245 seconds]
Sofi has quit [Ping timeout: 245 seconds]
CodeBitCookie[m] has quit [Ping timeout: 260 seconds]
szkl has quit [Client Quit]
szkl has joined #ocaml
szkl has quit []
Anarchos has quit [Quit: Vision[]: i've been blurred!]
epony is now known as Guest3959
Geekingfrog has joined #ocaml
rgrinberg has joined #ocaml
gdd has joined #ocaml
Geekingfrog_ has joined #ocaml
Geekingfrog has quit [Ping timeout: 250 seconds]
JosEduardo[m] has joined #ocaml
smondet[m] has joined #ocaml
romildo has quit [Quit: Leaving]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
CodeBitCookie[m] has joined #ocaml
Sofi has joined #ocaml
mclovin has joined #ocaml
Serpent7776 has quit [Quit: leaving]
OCamlPro[m] has joined #ocaml
saltrocklamp[m] has joined #ocaml
humasect has joined #ocaml
humasect has quit [Ping timeout: 256 seconds]
bobo_ has quit [Ping timeout: 250 seconds]
bobo_ has joined #ocaml
Haudegen has quit [Ping timeout: 252 seconds]