<Drup>
(the kind of code I write only for showing off :p)
ousado has quit [Ping timeout: 244 seconds]
petroav has joined #ocaml
cpdean has quit [Quit: Leaving.]
brunoro_ has joined #ocaml
ousado has joined #ocaml
rdavison has joined #ocaml
wu_ng has quit [Ping timeout: 248 seconds]
brunoro_ has quit [Ping timeout: 250 seconds]
copy` has quit [Quit: Connection closed for inactivity]
groovy2shoes has quit [Quit: Leaving]
groovy2shoes has joined #ocaml
brunoro_ has joined #ocaml
<pierpa>
tavo: it's a preprocessor, not a pretty-printer.
brunoro_ has quit [Ping timeout: 252 seconds]
wu_ng has joined #ocaml
brunoro_ has joined #ocaml
rdavison has quit [Quit: rdavison]
brunoro_ has quit [Ping timeout: 260 seconds]
rdavison has joined #ocaml
mfp has quit [Ping timeout: 256 seconds]
rdavison has quit [Quit: rdavison]
Heasummn has quit [Remote host closed the connection]
groovy2shoes has quit [Quit: Leaving]
groovy2shoes has joined #ocaml
brunoro_ has joined #ocaml
govg has quit [Ping timeout: 260 seconds]
brunoro_ has quit [Ping timeout: 258 seconds]
yomimono has quit [Ping timeout: 244 seconds]
yomimono has joined #ocaml
noddy has quit [Quit: WeeChat 1.6]
noddy has joined #ocaml
tavo has quit [Ping timeout: 260 seconds]
brunoro_ has joined #ocaml
brunoro_ has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
rdavison has joined #ocaml
fraggle_ has quit [Ping timeout: 260 seconds]
govg has joined #ocaml
axiles has quit [Ping timeout: 260 seconds]
axiles has joined #ocaml
rdavison has quit [Quit: rdavison]
larhat has quit [Quit: Leaving.]
fraggle_ has joined #ocaml
brunoro_ has joined #ocaml
brunoro_ has quit [Ping timeout: 240 seconds]
rdavison has joined #ocaml
rdavison has quit [Client Quit]
zaquest has joined #ocaml
brunoro_ has joined #ocaml
petroav has quit [Ping timeout: 256 seconds]
brunoro_ has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Ping timeout: 268 seconds]
brunoro_ has joined #ocaml
govg has quit [Ping timeout: 240 seconds]
yomimono has quit [Ping timeout: 244 seconds]
brunoro_ has quit [Ping timeout: 256 seconds]
zaquest has quit [Read error: Connection reset by peer]
zaquest has joined #ocaml
TarVanimelde has joined #ocaml
ode has joined #ocaml
axiles has quit [Ping timeout: 250 seconds]
brunoro_ has joined #ocaml
ode has quit [Ping timeout: 258 seconds]
govg has joined #ocaml
brunoro_ has quit [Ping timeout: 258 seconds]
Bad_ptr has joined #ocaml
brunoro_ has joined #ocaml
igitoor has quit [Ping timeout: 240 seconds]
axiles has joined #ocaml
igitoor has joined #ocaml
brunoro_ has quit [Ping timeout: 256 seconds]
brunoro_ has joined #ocaml
igitoor has quit [Changing host]
igitoor has joined #ocaml
brunoro_ has quit [Ping timeout: 245 seconds]
axiles has quit [Ping timeout: 268 seconds]
nomicflux has quit [Quit: nomicflux]
axiles has joined #ocaml
brunoro_ has joined #ocaml
brunoro_ has quit [Ping timeout: 260 seconds]
Bad_ptr` has joined #ocaml
govg has quit [Ping timeout: 244 seconds]
AlexDenisov has joined #ocaml
Bad_ptr has quit [Ping timeout: 244 seconds]
brunoro_ has joined #ocaml
ryanartecona has joined #ocaml
brunoro_ has quit [Ping timeout: 256 seconds]
brunoro_ has joined #ocaml
rztu has joined #ocaml
Bad_ptr` has quit [Quit: ERC (IRC client for Emacs 25.2.50.1)]
brunoro_ has quit [Ping timeout: 258 seconds]
rdavison has joined #ocaml
AlexDeni_ has joined #ocaml
AlexDenisov has quit [Ping timeout: 260 seconds]
ygrek has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
Algebr` has quit [Ping timeout: 250 seconds]
brunoro_ has joined #ocaml
brunoro_ has quit [Ping timeout: 240 seconds]
Mercuria1Alchemi has joined #ocaml
brunoro_ has joined #ocaml
brunoro_ has quit [Ping timeout: 258 seconds]
brunoro_ has joined #ocaml
dmi3y has joined #ocaml
Algebr` has joined #ocaml
brunoro_ has quit [Ping timeout: 250 seconds]
ontologiae has joined #ocaml
nopf has quit [Remote host closed the connection]
dmi3y has quit [Quit: dmi3y]
kakadu has joined #ocaml
brunoro_ has joined #ocaml
dmi3y has joined #ocaml
TarVanimelde has quit [Quit: Leaving]
jnavila has joined #ocaml
kakadu has quit [Remote host closed the connection]
AlexDeni_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nopf has joined #ocaml
brunoro_ has quit [Ping timeout: 256 seconds]
dmi3y has quit [Quit: dmi3y]
frefity has quit [Ping timeout: 265 seconds]
dmi3y has joined #ocaml
mengu has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
ontologiae has quit [Ping timeout: 245 seconds]
frefity has joined #ocaml
larhat has joined #ocaml
rdavison has quit [Quit: rdavison]
zpe has joined #ocaml
brunoro_ has joined #ocaml
AlexDenisov has joined #ocaml
brunoro_ has quit [Ping timeout: 260 seconds]
brunoro_ has joined #ocaml
AltGr has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
brunoro_ has quit [Ping timeout: 258 seconds]
zpe has quit [Remote host closed the connection]
calculemus has quit [Ping timeout: 245 seconds]
AlexDenisov has joined #ocaml
Simn has joined #ocaml
calculemus has joined #ocaml
pierpa has quit [Remote host closed the connection]
alfredo has joined #ocaml
mengu has quit [Remote host closed the connection]
gjaldon has joined #ocaml
mengu has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
soupault has joined #ocaml
pierpa has joined #ocaml
alfredo has quit [Ping timeout: 260 seconds]
mengu has quit [Ping timeout: 260 seconds]
brunoro_ has joined #ocaml
frefity has quit [Ping timeout: 260 seconds]
brunoro_ has quit [Ping timeout: 252 seconds]
brunoro_ has joined #ocaml
frefity has joined #ocaml
<def`>
Algebr`: how does starterkit compare to user-setup?
brunoro_ has quit [Ping timeout: 250 seconds]
troydm has joined #ocaml
<Algebr`>
no idea
<Algebr`>
I don't know which one was made first
dhil has joined #ocaml
mengu has joined #ocaml
brunoro_ has joined #ocaml
mengu has quit [Ping timeout: 256 seconds]
jwatzman|work has joined #ocaml
dhil has quit [Ping timeout: 245 seconds]
mengu has joined #ocaml
dhil has joined #ocaml
<Algebr`>
def`: ouch
mengu has quit [Ping timeout: 244 seconds]
ontologiae has joined #ocaml
<def`>
Algebr`: what? :) merlin as a library?
zpe has joined #ocaml
<def`>
I think your usecase can be better covered by the existing approach. Is it a problem for you?
<Algebr`>
the opening line: This is overall a bad idea
dmi3y has quit [Quit: dmi3y]
<Algebr`>
but you're right
<def`>
ah sorry, the wording is maybe strong. that was not my intention
ygrek has quit [Ping timeout: 250 seconds]
_andre has joined #ocaml
<Algebr`>
no no, I'm whiny. Its right
larhat has quit [Quit: Leaving.]
boadie_ has joined #ocaml
larhat has joined #ocaml
boadie_ has quit [Client Quit]
wu_ng has quit [Ping timeout: 240 seconds]
boadie has quit [Ping timeout: 256 seconds]
mengu has joined #ocaml
mfp has joined #ocaml
dmi3y has joined #ocaml
malc_ has joined #ocaml
Algebr` has quit [Ping timeout: 256 seconds]
Algebr` has joined #ocaml
copy` has joined #ocaml
silver has joined #ocaml
dmi3y has quit [Quit: dmi3y]
mengu has quit [Remote host closed the connection]
mk270 has left #ocaml [#ocaml]
dmi3y has joined #ocaml
larhat has quit [Ping timeout: 248 seconds]
larhat1 has joined #ocaml
govg has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
mengu has joined #ocaml
elfring has joined #ocaml
mengu has quit [Remote host closed the connection]
mengu has joined #ocaml
AlexDenisov has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
brunoro_ has quit [Ping timeout: 260 seconds]
<elfring>
The documentation for the module “Pervasives” mentions a result type which contains the part “| Error of 'b”. Can difficulties occur when the same identifier is used in other data structures?
<def`>
and type based disambiguation can save you, if it is to your taste
<def`>
# (Error : a);;
<def`>
- : a = Error
brunoro_ has quit [Ping timeout: 265 seconds]
dmi3y has joined #ocaml
govg has quit [Ping timeout: 256 seconds]
dmi3y has quit [Client Quit]
<elfring>
def`: Which detail would you like to point with the link out?
<Algebr`>
elfring: it looks like you asked this question before and got an answer?
<elfring>
Algebr`, def`, malc_: Can module qualification still help if the identifier “Error” would be a part of an exception data type?
<Algebr`>
try .. with Mod.Error ->
mengu has quit [Remote host closed the connection]
<malc_>
# module A = struct type a = A end;;
<malc_>
module B : sig type a = A end
<malc_>
# module B = struct type a = A end;;
<malc_>
module A : sig type a = A end
<malc_>
# A;;
aggelos_ has quit [Ping timeout: 245 seconds]
<malc_>
- : B.a = A
<malc_>
# A.A;;
<malc_>
- : A.a = A.A
<malc_>
brunoro_ has joined #ocaml
dmi3y has joined #ocaml
<elfring>
Do you follow the evolution of the library “PCRE(2)” and its corresponding binding to the OCaml programming language?
aggelos_ has joined #ocaml
AlexDenisov has joined #ocaml
<elfring>
How often do you fiddle with regular expressions by OCaml programming interfaces?
<flux>
it depends a whole lot on what kind of application you're writing. I don't recall my webcam viewer using regexps even once..
<reynir>
flux: does it send email? :P
TarVanimelde has joined #ocaml
<flux>
no. it's not finished yet!
<reynir>
Heh :D
mengu has joined #ocaml
mengu has quit [Changing host]
mengu has joined #ocaml
<elfring>
Does anybody (besides me) experiment with bigger regular expressions?
brunoro_ has quit [Ping timeout: 244 seconds]
<Algebr`>
I did, also depends on what use you have
<Algebr`>
re2 was much faster than pcre
mengu has quit [Ping timeout: 258 seconds]
dhil has quit [Ping timeout: 265 seconds]
<elfring>
Do you eventually know if the run time behaviour of alternation in regular expressions was ever compared to the data structure “trie”?
<Algebr`>
I think it would depend on the internal implementation of the regex engine
dmi3y has quit [Quit: dmi3y]
petroav has joined #ocaml
freehck has quit [Ping timeout: 250 seconds]
djellemah has quit [Ping timeout: 244 seconds]
mengu has joined #ocaml
dmi3y has joined #ocaml
brunoro_ has joined #ocaml
dmi3y has quit [Quit: dmi3y]
dhil has joined #ocaml
sepp2k has joined #ocaml
ode has joined #ocaml
jimt_ has joined #ocaml
jimt has quit [Ping timeout: 246 seconds]
ode has left #ocaml ["Leaving"]
d0nn1e has quit [Ping timeout: 244 seconds]
gjaldon has quit [Remote host closed the connection]
d0nn1e has joined #ocaml
gjaldon has joined #ocaml
gjaldon has quit [Remote host closed the connection]
pierpa has quit [Remote host closed the connection]
jimt_ is now known as jimt
mengu has quit [Remote host closed the connection]
pierpa has joined #ocaml
sh0t has joined #ocaml
sh0t has quit [Remote host closed the connection]
gjaldon has joined #ocaml
<sgronblo>
Does anyone have any real world knowledge about the compiler speed differences between Go and Ocaml?
yomimono has joined #ocaml
* jbrown
thinks the Go compiler is infinitely faster at building Go than it is at building OCaml, and vice versa. HTH!
<TarVanimelde>
sgronblo: seems to depend on what OCaml features you use
nomicflux has joined #ocaml
<sgronblo>
yeah i guess usually the right answer to any complex question is "it depends..." but any rough estimate?
<jbrown>
are you talking about the speed of compiled code, or of the compiler itself?
<sgronblo>
curious about both, but mainly compilation speed
dmi3y has joined #ocaml
<jbrown>
for OCaml, AFAIK, it's not something people complain about. And I think the Go compiler is considered to be fast (but not to produce amazing code).
<jbrown>
but it'll be hard to get an apples-to-apples comparison
<jbrown>
because, obviously, the languages are very different
<TarVanimelde>
iirc there were parts of the OCaml compiler that were O(n^2) (polymorphism?)
mengu has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
<Algebr`>
don't all compilers have exponential time spots, aka for graph coloring
<sgronblo>
do you guys have any real world for how quickly large ocaml projects build
<companion_cube>
define "large"
<frefity>
what would you consider large?
<Algebr`>
at ahrefs the entire project built on an X230 in about 2.4 minutes
<Algebr`>
that's a large ocaml project
<sgronblo>
ahrefs?
<Algebr`>
a large ocaml project
<Algebr`>
ahrefs.com
<jbrown>
my "biggest" ocaml program compiles in ~10sec at -j4... though that's just some unfinished nonsense, so.
<sgronblo>
is ocaml good at incremental builds?
<jbrown>
sure, if you have your build set up properly
<companion_cube>
depends on the build system, but it's pretty ok
<sgronblo>
depends on the build system in what way?
rgrinberg has joined #ocaml
<jbrown>
it can be a little awkward to get dependencies handled properly with standard Makefiles, tbh. But there are a few alternatives now.
<jbrown>
just IMO
mengu has quit [Ping timeout: 252 seconds]
<jbrown>
(I guess mostly because of interface files, which are optional)
<Enjolras>
but they help a lot with incremental build
<jbrown>
...that probably also true of C/C++ if you use code-generation tools, e.g.
<Enjolras>
allows for more parallelism and less work
<companion_cube>
sgronblo: ocamlbuild can take a few seconds even on builds where nothing really changed
petroav has quit [Ping timeout: 256 seconds]
<Algebr`>
ocamlbuild is bad with parallelism so I remember reading, I forgot the reason
nomicflux has quit [Quit: nomicflux]
dmi3y has quit [Quit: dmi3y]
axiles has quit [Ping timeout: 240 seconds]
nomicflux has joined #ocaml
<frefity>
Is there a better alternative? As someone just starting out with OCaml I've been using oasis which uses ocamlbuild
FreeBirdLjj has joined #ocaml
shinnya has joined #ocaml
sh0t has joined #ocaml
<sgronblo>
I feel like there's too much many build tools
mengu has joined #ocaml
<reynir>
I think oasis can use OCamlmake since recently
mengu has quit [Remote host closed the connection]
<copy`>
lambdasoup is quite nice
<companion_cube>
frefity: oasis is a good choice for a beginner
rztu has quit [Quit: Page closed]
dmi3y has joined #ocaml
dmi3y has quit [Client Quit]
jlongster has joined #ocaml
Mercuria1Alchemi has quit [Ping timeout: 240 seconds]
ski has quit [Ping timeout: 252 seconds]
dmi3y has joined #ocaml
<balod>
I'm eager for something a la RWO that would include a solid build system and unit testing
noddy has quit [Ping timeout: 252 seconds]
<dmi3y>
Can somebody help me to understand how to use module types so that they are available in anagram function? http://pastebin.com/a7Y1NhSH
<lyxia>
dmi3y: module MultiSet:MultiSet_S <- this hides the implementation of t.
<dmi3y>
so basically with the given signature MultiSet_S I can't pattern match on the types defined in MultiSet?
<reynir>
dmi3y: you can use the 'private' keyword if you want to expose the structure of t in the signature without allowing users to create them
ygrek has joined #ocaml
<dmi3y>
thanks @lyxia @reynir
freusque has quit [Quit: WeeChat 1.5]
govg has joined #ocaml
axiles has joined #ocaml
rgrinberg has quit [Remote host closed the connection]
yomimono has quit [Ping timeout: 252 seconds]
rgrinberg has joined #ocaml
shinnya has quit [Ping timeout: 260 seconds]
dmi3y has quit [Quit: dmi3y]
yomimono has joined #ocaml
al-damiri has joined #ocaml
dmi3y has joined #ocaml
Algebr` has quit [Ping timeout: 260 seconds]
cpdean has joined #ocaml
fre has joined #ocaml
<TarVanimelde>
Is there anything like a multimap in ocaml, where you can map a single key to many values? Googling led me to Hashtbl, but I was wondering if there's a more functional solution (Map doesn't seem to support this)
ryanartecona has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
<zozozo>
TarVanimelde: you can always have a map from keys to lists of values
FreeBirdLjj has joined #ocaml
<TarVanimelde>
zozozo: yeah, but is there a nice way to add an item to those lists?
<TarVanimelde>
item == value
<zozozo>
well, you'll probably need to write some wrappers to e.g. get the current list (or the empty list), append the element, and then insert it into the map
marsam has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
<TarVanimelde>
fair enough, was hoping to avoid that, but it's not so much anyway
malc_ has quit [Remote host closed the connection]
atsampson has quit [Ping timeout: 260 seconds]
atsampson has joined #ocaml
noddy has quit [Ping timeout: 256 seconds]
dmi3y has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
sh0t has quit [Ping timeout: 240 seconds]
<dmi3y>
Is Oasis considered to be a recommended way to bootstrap an OCaml project from scratch?
zpe has joined #ocaml
shinnya has quit [Ping timeout: 258 seconds]
<Drup>
I do.
ocaml823 has joined #ocaml
yomimono has joined #ocaml
jnavila has quit [Ping timeout: 256 seconds]
octachron has joined #ocaml
ryanartecona has joined #ocaml
<sternenseemann>
hannes: oh, that is kinda annoying ._.
kakadu has joined #ocaml
sh0t has joined #ocaml
ocaml823 has quit [Ping timeout: 260 seconds]
dmi3y has quit [Quit: dmi3y]
sepp2k has quit [Quit: Leaving.]
noddy has joined #ocaml
jnavila has joined #ocaml
rgrinberg has joined #ocaml
chaosfisch has joined #ocaml
<chaosfisch>
Hey, what's the meaning of % sign in ocaml? Consider: let solve : cfg -> valuation = RoundRobin.solve % csys_of_cfg
<Drup>
chaosfisch: modulo
<flux>
it's not, actually
<flux>
by default % means nothing
<chaosfisch>
flux: so it has to be defined somewhere?
<flux>
yes
<Drup>
wow, and I make fun of my student for confusing OCaml and C x)
<flux>
ocaml module is called 'mod' which I'm sure drup will rapidly recall ;)
<Drup>
the only place I know that uses % as binary operator is batteries and it's for composition
<chaosfisch>
Drup: ah, thanks, you solved it
orbifx has joined #ocaml
nomicflux has quit [Quit: nomicflux]
chaosfisch has quit [Quit: Page closed]
nomicflux has joined #ocaml
pierpa has quit [Ping timeout: 258 seconds]
zpe has quit [Remote host closed the connection]
cpdean has quit [Ping timeout: 260 seconds]
cpdean has joined #ocaml
dhil has joined #ocaml
AlexRussia has quit [Ping timeout: 250 seconds]
AltGr has left #ocaml [#ocaml]
AlexRussia has joined #ocaml
veggie_ has joined #ocaml
slimegirl has left #ocaml ["bye bye"]
troydm has quit [Ping timeout: 256 seconds]
manizzle has joined #ocaml
chobytes has joined #ocaml
jnavila has quit [Remote host closed the connection]
chobytes has quit [Client Quit]
AlexDeni_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
agarwal1975 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
AlexRussia has quit [Ping timeout: 265 seconds]
infinity0 has joined #ocaml
sillyotter has joined #ocaml
sillyotter has quit [Client Quit]
MercurialAlchemi has quit [Ping timeout: 265 seconds]
octachron has quit [Quit: Leaving]
ryanartecona has quit [Quit: ryanartecona]
<cpdean>
can you define a type in ocaml that's like "even numbers" or "numbers between 1 and 10" ?
orbifx has quit [Ping timeout: 268 seconds]
<lyxia>
type between_1_and_10 = One | Two | Three | Four | Five | Six | Seven | Eight | Nine | Ten
<cpdean>
bummer
<zozozo>
cpdean: you can define private types, upon which it is easy to impose invariants
<zozozo>
cpdean: for instance in the following snipet, type M.t is the same as regular integers, but values of type t can only be built by functions inside module M, which allows you to enforce the invariant that any t is an even number
<cpdean>
yeah over in haskell they suggested doing something like this but sticking it in a Maybe
<zozozo>
ah, well sure, the "make" function could have type : int -> t option
<cpdean>
yeah
<cpdean>
i guess yours is just a step further, like the .unwrap() method on many types in rust
f[x] has quit [Ping timeout: 260 seconds]
<zozozo>
yeah, it all depends on how usual it is that a non-even number is given to 'make'
<cpdean>
yeah i suppose in many cases in an api i'd rather have it crash than handle None everywhere
<zozozo>
either it is normal (in which case the make function is actually used to check that the number is even), and then it should return an option, or it shouldn't happen, and then it is more understandable to raise an exception
fre has quit [Ping timeout: 260 seconds]
ygrek has joined #ocaml
kakadu has quit [Remote host closed the connection]