<whitequark>
>Canonical mappings (Decomposition_Mapping property values) are always limited so that no string when normalized to NFC expands to more than 3× in length (measured in code units).
walter has quit [Quit: This computer has gone to sleep]
yacks has quit [Quit: Leaving]
ivan\_ has joined #ocaml
orbitz_ has joined #ocaml
TaXules has joined #ocaml
TaXules_ has quit [*.net *.split]
ivan\ has quit [*.net *.split]
orbitz has quit [*.net *.split]
noplamodo has quit [*.net *.split]
whitequark has quit [*.net *.split]
alang has quit [*.net *.split]
ivan\_ is now known as ivan\
noplamodo has joined #ocaml
pkrnj has quit [Quit: Computer has gone to sleep.]
travisbrady has quit [Quit: travisbrady]
Neros has quit [Ping timeout: 245 seconds]
whitequark has joined #ocaml
alang has joined #ocaml
ben_zen has joined #ocaml
pkrnj has joined #ocaml
gnuvince has quit [Remote host closed the connection]
pygmalion has quit [Ping timeout: 245 seconds]
ggole has joined #ocaml
csakatoku has joined #ocaml
yacks has joined #ocaml
madroach has joined #ocaml
pygmalion has joined #ocaml
pygmalion has quit [Ping timeout: 245 seconds]
ben_zen has quit [Quit: Lost terminal]
<flux>
mrvn, the destination becomes 'writable' at that point to deliver the error (but if you have nothing to write you won't even ask about it), but it will also be in the exceptional fd set
weie_ has joined #ocaml
weie has quit [Ping timeout: 246 seconds]
pygmalion has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
pygmalion has quit [Ping timeout: 248 seconds]
csakatok_ has joined #ocaml
csakatoku has quit [Ping timeout: 248 seconds]
f[x] has quit [Ping timeout: 240 seconds]
csakatok_ has quit [Remote host closed the connection]
csakatoku has joined #ocaml
pygmalion has joined #ocaml
f[x] has joined #ocaml
pygmalion has quit [Ping timeout: 245 seconds]
f[x] has quit [Ping timeout: 248 seconds]
mort___ has quit [Quit: Leaving.]
Arsenik has joined #ocaml
osnr has quit [Quit: Leaving.]
Yoric has joined #ocaml
orbitz_ has quit [Quit: Reconnecting]
orbitz has joined #ocaml
ttamttam1 has joined #ocaml
introom has quit [Remote host closed the connection]
f[x] has joined #ocaml
ulfdoz has joined #ocaml
yacks has quit [Ping timeout: 240 seconds]
thomasga has joined #ocaml
yacks has joined #ocaml
csakatoku has quit [Remote host closed the connection]
<oberonc>
in the library I have the following files:
<oberonc>
META inifiles.cma inifiles.cmi inifiles.mli inilexer.cmi parseini.cmi parseini.mli
<oberonc>
how do I generate a cmxa file ?
<ygrek>
oberonc, cmxa is the native code library
pygmalion has joined #ocaml
<ygrek>
Makefile for inifiles should have opt target or something like that
osa1 has quit [Ping timeout: 246 seconds]
<ygrek>
generally the library Makefile should automatically build and install native code if the platform supports it (i.e. ocamlopt is present)
<orbitz>
opam install ocaml-inifiles
<adrien_oww>
"make opt" ? :P
pygmalion has quit [Ping timeout: 248 seconds]
<oberonc>
"make opt" did the trick, thanks
<orbitz>
oberonc: you should just install via opam
q66 has joined #ocaml
dsheets has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
f[x] has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
Drup has joined #ocaml
eikke has joined #ocaml
pygmalion has joined #ocaml
kaustuv has joined #ocaml
pygmalion has quit [Ping timeout: 256 seconds]
<kaustuv>
gasche: I think batteries should use cppo instead of the ## hack
oberonc has left #ocaml []
csakatoku has quit [Remote host closed the connection]
f[x] has quit [Ping timeout: 264 seconds]
Neros has joined #ocaml
_andre has joined #ocaml
yacks has joined #ocaml
pygmalion has joined #ocaml
pygmalion has quit [Ping timeout: 248 seconds]
breakds has joined #ocaml
ocp has joined #ocaml
ocp has quit [Client Quit]
ocp has joined #ocaml
mehdid_ has quit [Read error: Operation timed out]
mehdid has joined #ocaml
csakatoku has joined #ocaml
kaustuv has left #ocaml []
f[x] has joined #ocaml
csakatoku has quit [Ping timeout: 276 seconds]
pygmalion has joined #ocaml
pygmalion has quit [Ping timeout: 248 seconds]
smondet has joined #ocaml
Neros has quit [Ping timeout: 264 seconds]
demonimin has quit [Remote host closed the connection]
demonimin has joined #ocaml
Zeev has joined #ocaml
AltGr has quit [Read error: Operation timed out]
AltGr has joined #ocaml
travisbrady has joined #ocaml
zpe has joined #ocaml
travisbrady has quit [Client Quit]
pygmalion has joined #ocaml
travisbrady has joined #ocaml
tobiasBora has joined #ocaml
<hcarty>
AltGr: Thanks for taking time to look into the ocaml-top bug. I'll see if I can find out anything else which may be causing/triggering the problem.
Drup has quit [Ping timeout: 245 seconds]
pygmalion has quit [Ping timeout: 248 seconds]
tobiasBora has quit [Client Quit]
tobiasBora has joined #ocaml
zpe has quit [Remote host closed the connection]
gnuvince has joined #ocaml
pygmalion has joined #ocaml
<ggole>
I'd like to throw an informative exception indicating an unexpected value, but the value is polymorphic. What is a reasonable approach?
<AltGr>
hcarty: well you're welcome, thanks for reporting
<AltGr>
is your machine multi-core ?
walter has joined #ocaml
Yoric has quit [Ping timeout: 256 seconds]
pygmalion has quit [Ping timeout: 276 seconds]
<whitequark>
AltGr: are there any non-multicore machines left?
<AltGr>
whitequark: hmm, my cheap phone has 2 cores, but you could, I don't know, run a VM on a single core ?
<AltGr>
hcarty: if you set OCP_DEBUG=1 and run from the command-line you might be able to get more information
mika1 has quit [Quit: Leaving.]
ollehar has quit [Ping timeout: 264 seconds]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr has quit [Ping timeout: 256 seconds]
Neros has joined #ocaml
cago has left #ocaml []
tobiasBora has quit [Ping timeout: 248 seconds]
tobiasBora has joined #ocaml
Neros has quit [Ping timeout: 245 seconds]
<samebchase>
What's the usual way of converting a Some String to +
<samebchase>
s/+// String
zpe has joined #ocaml
<whitequark>
matching it?
<jpdeplaix>
samebchase: a « string option » to « string » ? yes match
eikke has quit [Ping timeout: 248 seconds]
zpe has quit [Ping timeout: 276 seconds]
thomasga has quit [Quit: Leaving.]
pygmalion has joined #ocaml
<samebchase>
thanks.
walter has quit [Read error: Connection reset by peer]
walter has joined #ocaml
joedralliam has joined #ocaml
joedralliam has quit [Client Quit]
pygmalion has quit [Ping timeout: 276 seconds]
f[x] has quit [Ping timeout: 245 seconds]
csakatoku has joined #ocaml
napping has joined #ocaml
<napping>
Is there any option for ocamlc to just typecheck a file?
<adrien_oww>
you could use -i probably
<adrien_oww>
it prints the inferred types to stdout
beckerb has quit [Ping timeout: 245 seconds]
<mrvn>
napping: -o /dev/null
ontologiae_ has quit [Ping timeout: 256 seconds]
<napping>
maybe I'm doing it wrong, but -i didn't print anything
<mrvn>
is the file empty?
<mrvn>
or empty of types and named bindings at least
bernardofpc has quit [Read error: Operation timed out]
<napping>
I guess the type is too big
<napping>
I'm trying to benchmark just the typechecking on some pathological examples
<napping>
if the contents are just let f00 = fun x -> fun y -> x, then ocamlc -i test.ml prints a type
AltGr has quit [Quit: Konversation terminated!]
<mrvn>
if you have an error it prints nothing
<napping>
If I deliberately add an error it prints an error
<mrvn>
sure, it always does that. I ment it prints no types
<napping>
I have a file with no errors
<napping>
ocamlc finishes without and problem and generates output
travisbrady has quit [Quit: travisbrady]
<napping>
ocamlc -i finishes with no output at all and a successful exit code
<napping>
it's a pathological example where the inferred type has thousands of parameters
travisbrady has joined #ocaml
<napping>
but, ocamlc -i and ocamlc take about the same time anyway, so I guess code generation is cheap
Cypi has quit [Ping timeout: 240 seconds]
Cypi has joined #ocaml
<mrvn>
report it as a bug if you can
Neros has joined #ocaml
csakatoku has quit [Remote host closed the connection]
ollehar has joined #ocaml
pygmalion has joined #ocaml
walter has quit [Quit: This computer has gone to sleep]
pygmalion has quit [Ping timeout: 264 seconds]
walter has joined #ocaml
brendan has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 246 seconds]
mcclurmc has quit [Ping timeout: 240 seconds]
Drup has joined #ocaml
Yoric has joined #ocaml
brendan has joined #ocaml
Drup has quit [Quit: Leaving.]
Drup has joined #ocaml
Neros has quit [Ping timeout: 248 seconds]
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
ocp has quit [Quit: Leaving.]
Tamae has joined #ocaml
mort___ has quit [Quit: Leaving.]
Drup has quit [Ping timeout: 256 seconds]
bernardo1pc has joined #ocaml
gnuvince has quit [Remote host closed the connection]
gnuvince has joined #ocaml
pygmalion has joined #ocaml
pygmalion has quit [Ping timeout: 257 seconds]
ski has joined #ocaml
_andre has quit [Quit: leaving]
ulfdoz has quit [Ping timeout: 256 seconds]
ggole has quit [Ping timeout: 240 seconds]
Neros has joined #ocaml
tobiasBora has quit [Ping timeout: 256 seconds]
Drup has joined #ocaml
bernardo1pc has quit [Quit: Reconnecting]
bernardofpc has joined #ocaml
maurer_ has joined #ocaml
<maurer_>
Hey, if I want to apply a long series of functions in a row, is there something similar to the ($) operator from haskell, or an easy way to define it?
<maurer_>
For reference, the operater is defined so that "f $ g x" translates to "f (g x)"
<maurer_>
*operator
<whitequark>
I think there's let (|>) x f = f x
<smondet>
maurer_: you can add it let ($) f x = f x
<maurer_>
Ah, that sounds like what I want
<whitequark>
it works like shell pipe
<maurer_>
smondet: That will get the binding right so I can do
<maurer_>
f $ g $ h x
<maurer_>
and get f (g (h x)) ?
<maurer_>
I would think I'd need funny fixity for that
<smondet>
I'm not sure, there was a blog post a while ago about even creating a syntax extension for that
<whitequark>
that doesn't work as intended
<whitequark>
but I think |> is your best bet
<smondet>
(I don't use it, '|>' is the only operator that does not kill readability)
<whitequark>
no, not the syntax extension--that let($) thing above
<ollehar>
including M from A, why can't I use functions that are not in M:s signature from A? No "protected" in OCamls module system?
<maurer_>
smondet: I'm using |> for now. I'm not super attached to needing things to be haskellike
<maurer_>
I just thought it looked super silly to do deeply nested parentheses for sequencing function application
<napping>
ollehar: If the signature is like M : Sig, you only see things from Sig. M <: Sig checks that it conforms but leaves stuff visible
<ollehar>
napping: hm
<napping>
I don't remember how that works at the file level, if you have a separate .mli file
<napping>
but that's how it goes if you define modules and signatures inside a file
darkf has quit [Quit: Leaving]
pygmalion has joined #ocaml
ttamttam1 has joined #ocaml
ttamttam1 has left #ocaml []
<jpdeplaix>
the operator corresponding to ($) and (.) are (@@) and (%). The first and the revapply operator (|>) will be included in the next release. The latest operator is in batteries if you want.
<jpdeplaix>
maurer_: ^
pygmalion has quit [Ping timeout: 260 seconds]
<whitequark>
why do people even feel a need for depending on a large library for doing something like let (|>) x f = f x
<whitequark>
why
<maurer_>
whitequark: because they don't want to write that in every file, or remake the wheel
<jdoles>
whitequark: why do people even talk about what you are talking about? If it bothers you, write a compiler patch such that minimal library uses up to some treshold are inlined.
<flux>
whitequark, when it's in a library, many people choose to use the same operators for the same thing
<flux>
that helps when you read random pieces of code
caligula__ has joined #ocaml
mehdid_ has joined #ocaml
mrvn_ has joined #ocaml
ipoulet has joined #ocaml
amiller__ has joined #ocaml
Neros has quit [Read error: Connection reset by peer]
weie has joined #ocaml
<jpdeplaix>
whitequark: it's just a indication if he already uses batteries. Indeed, it's very simple to rewrite, but if it exists anywhere else and it's already used, then it's simpler to just use it.
weie_ has quit [Ping timeout: 246 seconds]
bernardofpc has quit [*.net *.split]
napping has quit [*.net *.split]
mehdid has quit [*.net *.split]
sgnb has quit [*.net *.split]
mrvn has quit [*.net *.split]
amiller_ has quit [*.net *.split]
caligula_ has quit [*.net *.split]
ipoulet_ has quit [*.net *.split]
walter has quit [Read error: Connection reset by peer]
walter has joined #ocaml
Neros has joined #ocaml
napping has joined #ocaml
napping has quit [Client Quit]
<ollehar>
what does coercion means in ocaml?
<ollehar>
type cast?
maurer_ has left #ocaml []
<ski>
coercion to a supertype, i think
<ski>
(you can't coerce to a subtype)
bernardofpc has joined #ocaml
sgnb has joined #ocaml
<ollehar>
ski: the same as a typecast in e.g. java?
<ollehar>
(although type cast in java allows both back and forth)
walter has quit [Quit: This computer has gone to sleep]
dsheets has joined #ocaml
smondet has quit [Quit: Let's go to Jane St for the OCaml Meetup !]
tane has quit [Quit: Verlassend]
walter has joined #ocaml
<whitequark>
err
<whitequark>
how do you refer to a multiplication operator?
<whitequark>
(+) works, (*) is a comment
<asmanur>
( * )
<whitequark>
right
mattrepl has joined #ocaml
yacks has quit [Ping timeout: 246 seconds]
bobry has joined #ocaml
<Leonidas_>
hmm, I built my project using ocamlbuild and it works
<Leonidas_>
but I'd like to test the stuff in the REPL, so I have to include the *.cmo files
<Leonidas_>
but unfortunately I have some C dependencies and OCaml fails to start because it can't find the C stubs. What do I have to do to include these as well?
Leonidas_ is now known as Leonidas
<Leonidas>
okay, I kludged something together with ocamlmktop, but maybe there are better ways?
<Leonidas>
ocamlmktop -o mytop *.cma *.o and then I need to use LD_LIBRARY_PATH=. to find dllost_stubs.so in the current directory
zpe has joined #ocaml
yacks has joined #ocaml
Simn has quit [Quit: Leaving]
zpe has quit [Ping timeout: 240 seconds]
ohama has quit [Remote host closed the connection]
eikke has joined #ocaml
mrvn_ is now known as mrvn
<mrvn>
I want to write "class root = object (self) inherit base self end". Any way to do that?
<mrvn>
with class base parent = object end
<mrvn>
Error: The instance variable self cannot be accessed from the definition of another instance variable
<mrvn>
class root parent = object (self) inherit base parent end
<mrvn>
# let rec root = new root root;;
<mrvn>
Error: This kind of expression is not allowed as right-hand side of `let rec'
<mrvn>
Any ideas other than using Obj.magic 0 as parent?
ulfdoz has quit [Ping timeout: 264 seconds]
<pippijn>
whitequark: have you seen the new ucs api?
demonimin_ is now known as demonimin
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
eikke has quit [Ping timeout: 256 seconds]
eikke has joined #ocaml
osnr has quit [Ping timeout: 260 seconds]
osnr1 has joined #ocaml
<whitequark>
pippijn: yeah
osnr1 has quit [Ping timeout: 240 seconds]
<pippijn>
whitequark: better now?
<whitequark>
pippijn: yes
<whitequark>
is it finished enough? I'd want to integrate it in my compiler
bernardo1pc has joined #ocaml
bernardo1pc has quit [Client Quit]
<pippijn>
whitequark: I think the API is stable, but incomplete
<pippijn>
whitequark: the only thing I want to do now is add functionality
<pippijn>
whitequark: but I'm not sure everything can be implemented with it, yet
<whitequark>
pippijn: I'll work on integrating it now, then
<whitequark>
I only use adopt, concat and to_string now, anyway
<pippijn>
I don't have those
<pippijn>
only adopt
<pippijn>
but concat is trivial
<pippijn>
concat = String.concat
* whitequark
nods
<whitequark>
uh... restored 2+2 in foundry
<whitequark>
now I need to sweep out irregularities of argument parsing and let unbinding, add ivar support and move on to ir writing/parsing
<whitequark>
er, 'let unbinding', what the fuck did I just invent
<whitequark>
should've been 'pattern matching'
<whitequark>
my sleepy brain tends to substitute vaguely related words in amusing manner
<whitequark>
erlang → arduino
<whitequark>
based on phonetics and general domain
mattrepl has quit [Quit: mattrepl]
* pippijn
has been doing git rebase+filter-branch all day