malina has quit [Quit: Throwing apples of Montserrat]
kakadu has quit [Remote host closed the connection]
philtor has quit [Ping timeout: 256 seconds]
granttrec has quit [Quit: granttrec]
silver_ has joined #ocaml
twopoint718 has joined #ocaml
twopoint718 has joined #ocaml
twopoint718 has quit [Changing host]
silver has quit [Ping timeout: 248 seconds]
silver__ has joined #ocaml
silver_ has quit [Read error: Connection reset by peer]
philtor has joined #ocaml
silver__ has quit [Read error: Connection reset by peer]
caltelt has joined #ocaml
caltelt has quit [Client Quit]
caltelt has joined #ocaml
jim7j1ajh is now known as jimt
cbot has joined #ocaml
GreyFaceNoSpace has joined #ocaml
twopoint718 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pierpal has joined #ocaml
pierpal has quit [Ping timeout: 256 seconds]
tormen has joined #ocaml
pierpal has joined #ocaml
tormen_ has quit [Ping timeout: 248 seconds]
pierpa has quit [Quit: Page closed]
mfp has quit [Ping timeout: 260 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
gtrak has joined #ocaml
spew has joined #ocaml
spew has quit [Read error: Connection reset by peer]
kvda has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mbuf has joined #ocaml
kvda has joined #ocaml
kleimkuhler has joined #ocaml
MercurialAlchemi has joined #ocaml
moei has joined #ocaml
haesbaert has joined #ocaml
kleimkuhler has quit [Quit: kleimkuhler]
tarptaeya has joined #ocaml
ratschance has joined #ocaml
JSharp has joined #ocaml
gonz_ has joined #ocaml
demonimin has joined #ocaml
halogenandtoast has joined #ocaml
<halogenandtoast>
howdy ocaml community, I'm new so I'm probably just missing something but when trying to setup ocsigen-start I get the following Files /usr/local/lib/ocaml/camlp4/camlp4lib.cmxa and /usr/local/lib/ocaml/stdlib.cmxa make inconsistent assumptions over implementation Sys
<halogenandtoast>
Has anyone seen this before and know what I might be doing wrong. I tried uninstall camlp4, updating opam, and installing again, but that didn't work
jaar_ has joined #ocaml
parcs has joined #ocaml
<halogenandtoast>
I have `#camlp4o;;` in my `.ocamlinit` but I'm not sure if it's relevant or related
<halogenandtoast>
removal doesn't seem to cause any difference in the result.
dakk has joined #ocaml
<discord3>
<mseri> Which version of the compiler? Does any of the libraries you use mention explicitly a -safe-string or -unsafe-string flag?
freyr has joined #ocaml
dhil has joined #ocaml
halogenandtoast has quit [Ping timeout: 256 seconds]
argent_smith has joined #ocaml
zolk3ri has joined #ocaml
tane has joined #ocaml
shw has joined #ocaml
jnavila has joined #ocaml
Haudegen has joined #ocaml
dhil has quit [Ping timeout: 256 seconds]
mfp has joined #ocaml
jao has joined #ocaml
jnavila has quit [Ping timeout: 240 seconds]
kakadu has joined #ocaml
mk9 has joined #ocaml
jnavila has joined #ocaml
jnavila has quit [Ping timeout: 265 seconds]
dhil has joined #ocaml
mk9 has quit [Read error: Connection reset by peer]
dhil has quit [Ping timeout: 276 seconds]
mk9 has joined #ocaml
mk9 has quit [Client Quit]
kroot_ has joined #ocaml
jnavila has joined #ocaml
letoh has joined #ocaml
halogenandtoast has joined #ocaml
<halogenandtoast>
howdy ocaml community, I'm new so I'm probably just missing something but when trying to setup ocsigen-start I get the following Files /usr/local/lib/ocaml/camlp4/camlp4lib.cmxa and /usr/local/lib/ocaml/stdlib.cmxa make inconsistent assumptions over implementation Sys
<halogenandtoast>
Has anyone seen this before and know what I might be doing wrong. I tried uninstall camlp4, updating opam, and installing again, but that didn't work
mk9 has joined #ocaml
mk9 has quit [Client Quit]
<octachron>
halogenandtoast, what didn't work when you removed camlp4? Did camlp4 get installed? You should also remove #campl4O from your .ocamlinit file.
silver has joined #ocaml
<halogenandtoast>
octachron: I'm specifically trying to run opam install ocsigen-start and when it tries to install ocsigenserver I get the error above
<halogenandtoast>
I'll remove #camlp4o;;
<halogenandtoast>
I'm still not sure what its intention is.
<halogenandtoast>
removing that line however does not change the result of running opam install ocsigen-start
<octachron>
it seems that ocsigen-start does have a dependency on camlp4. Did you install both the compiler and camlp4 with opam?
<ZirconiumX>
halogenandtoast: opam does not install to /usr, which makes me think you aren't using an opam-built compiler
<halogenandtoast>
I am fairly certain camlp4 was installed via opam. I'm not sure what "compiler" references in this case.
<halogenandtoast>
The answer is probably that I am not using the opam-built compiler then.
<octachron>
in this case, you can switch to an opam installed compiler with "opam switch 4.06.1"
<ZirconiumX>
halogenandtoast: `opam switch 4.06.1` will build ocaml and put it in .opam. You then need to do `eval $(opam config env)` so that it's in your path and then try reinstalling ocsigen
<halogenandtoast>
Thanks I will try this.
<ZirconiumX>
halogenandtoast: often the system compiler is only good for bootstrapping an opam built compiler
<halogenandtoast>
That's fair enough
<ZirconiumX>
Alternatively
<octachron>
halogenandtoast, note that camlp4's location seems to indicate that it was installed by your distribution
letoh has quit [Ping timeout: 256 seconds]
<ZirconiumX>
You may prefer using `opam switch 4.06.1+flambda` if you want to trade off some extra compile time for extra performance
<ZirconiumX>
It's effectively the same as 4.06.1, but uses a different optimiser
<halogenandtoast>
ZirconiumX: I've made a note
<halogenandtoast>
At the moment I'm just trying to learn via some web development so optimization isn't really that important just yet.
<ZirconiumX>
Fair enough
<halogenandtoast>
I'm sort of eyeballing a company that does Ocaml so I'm trying to learn now incase I'm looking for a job later.
<halogenandtoast>
octachron: ZirconiumX thanks for the help and the explaination. Hopefully this install ends up working
Haudegen has quit [Read error: Connection reset by peer]
<ZirconiumX>
halogenandtoast: my PMs are open if you need.
<halogenandtoast>
∗ installed ocsigenserver.2.9
<halogenandtoast>
Progress
<halogenandtoast>
And success, thanks again!
letoh has joined #ocaml
<ZirconiumX>
halogenandtoast: congrats
jnavila has quit [Remote host closed the connection]
mbuf has quit [Quit: Leaving]
jaar_ has quit [Ping timeout: 256 seconds]
dtornabene has joined #ocaml
unyu has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
spew has joined #ocaml
tane has quit [Quit: Leaving]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
jaar_ has joined #ocaml
jaar_ has quit [Ping timeout: 268 seconds]
jbrown has joined #ocaml
jaar has joined #ocaml
FreeBirdLjj has joined #ocaml
Haudegen has joined #ocaml
kakadu has quit [Remote host closed the connection]
pierpal has joined #ocaml
tarptaeya has quit [Quit: Konversation terminated!]
tarptaeya has joined #ocaml
twopoint718 has joined #ocaml
twopoint718 has joined #ocaml
twopoint718 has quit [Changing host]
ygrek has joined #ocaml
jaar has quit [Remote host closed the connection]
ratschance has quit [Remote host closed the connection]
mbuf has joined #ocaml
jao has quit [Ping timeout: 240 seconds]
neatonk has joined #ocaml
ratschance has joined #ocaml
demonimin has quit [Ping timeout: 265 seconds]
demonimin has joined #ocaml
al-damiri has joined #ocaml
jmiven has joined #ocaml
halogenandtoast has quit [Ping timeout: 248 seconds]
ratschance has quit [Quit: Leaving]
ratschance has joined #ocaml
Haudegen has quit [Remote host closed the connection]
jao has joined #ocaml
<freyr>
Scanf does not work as a regexp, right?
<freyr>
So I can't do something like
<freyr>
Scanf.sscanf "/tmp/board/42" "/tmp/%s/%d"
<freyr>
since it considers %s as a string til the eos
gtrak has quit [Ping timeout: 240 seconds]
<Drup>
Nope
<Drup>
That's why I wrote tyre! :D
gtrak has joined #ocaml
<freyr>
Is tyre the only one typed regex library for ocaml? Is there any other library with ppx maybe which could produce a typed regex?
<octachron>
In this specific case, 'Scanf.sscanf "tmp/board/42" "/tmp/%s@/%d"' works
tane has joined #ocaml
<freyr>
Oh, thanks alot
<Drup>
freyr: writing a ppx for this is on my todo list
<Drup>
I wouldn't mind contributions, though.
kleimkuhler has joined #ocaml
<Drup>
There is ppx_regexp too, but the underlying semantics is not as good :(
FreeBirdLjj has quit [Remote host closed the connection]
kleimkuhler has quit [Ping timeout: 276 seconds]
freyr has quit [Remote host closed the connection]
Haudegen has joined #ocaml
jaar has joined #ocaml
dtornabene has quit [Remote host closed the connection]
dtornabene has joined #ocaml
dtornabene_ has joined #ocaml
dtornabene has quit [Read error: Connection reset by peer]
dtornabene_ has quit [Remote host closed the connection]
twopoint718 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dtornabene_ has joined #ocaml
mbuf has quit [Quit: Leaving]
FreeBirdLjj has joined #ocaml
noitakomentaja has joined #ocaml
mk9 has joined #ocaml
jaar has quit [Quit: Leaving]
jnavila has joined #ocaml
GreyFaceNoSpace has joined #ocaml
<ELLIOTTCABLE>
When `opam` is installing a new version of `ocaml` itself to a switch, and I see this:
<ELLIOTTCABLE>
How long, on a modern laptop, should I reasonably wait? /=
<ELLIOTTCABLE>
I left it for quite a while, and although the `opam` process was still using 100% of one core the entire time, I chickened out and ⌃C'd it after two hours.
<Drup>
compiling ocaml should take 20 minutes tops on a very slow machine, like a Pi
<ELLIOTTCABLE>
crap. Thought so.
<Drup>
(and more like 2 to 5 minutes on a desktop thing)
<Drup>
but the fact that it says ocaml-system is suspicious, so I'm going to give the generic advice: Don't use system switches.
<ELLIOTTCABLE>
hm,
<ELLIOTTCABLE>
in a custom switch for 4.06 rn
<ELLIOTTCABLE>
relatedly btw, should I create a new switch for a point-release like 4.06.1?
<ELLIOTTCABLE>
or just upgrade / rebuild with something like `opam upgrade --unlock-base ocaml`
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
<Drup>
I would upgrade
* ELLIOTTCABLE
nods
<ELLIOTTCABLE>
thought so
<ELLIOTTCABLE>
interesting, that's more like it
<ELLIOTTCABLE>
Processing 1/510: [ocaml-base-compiler: make world]
mk9 has quit [Ping timeout: 264 seconds]
<ELLIOTTCABLE>
btw Tyre is awesome, Drup
<Drup>
You're using it ?
<Drup>
That's like, a whole one user :D
<ELLIOTTCABLE>
and — not depending on it or anything, but, really looking forward to swappable backends
<ELLIOTTCABLE>
i.e. to BuckleScript's JS-regexes or something
<ELLIOTTCABLE>
hah!
<Drup>
Yeaah, that's going to be really hard in practice
<Drup>
JS regexes are a bit crap :(
<ELLIOTTCABLE>
I read the docs in detail, and then used it for … one day, before realising that my third approach to parsing was a Very Bad Idea
<ELLIOTTCABLE>
cf, earlier conversation with Perry in here yesterday(?)
<ELLIOTTCABLE>
no, couple of days. At PLDI. Really losing track of time. -_-
<Drup>
How was PLDI ? Anything cool ? :p
dakk has quit [Remote host closed the connection]
<ELLIOTTCABLE>
fucknuts if I know, everything here is so over my head
<ELLIOTTCABLE>
hahaha okay not literally everything, just most things.
<ELLIOTTCABLE>
I live-tweeted both of the keynotes I was on-campus for; both really cool.
<companion_cube>
I'm sad that the system switch is still so fragile
<ELLIOTTCABLE>
todays, on verification of ISAs especially as hardware diversifies
<companion_cube>
it gives a bad impression to every beginner
<ELLIOTTCABLE>
and this guy jogs up on stage and has to say several times, like, ‘please hold on, nobody leave, I need to bring up something important’
<ELLIOTTCABLE>
because Dr. Martonosi had just spoken and closed out
<ELLIOTTCABLE>
and everyone was chittering away until they got the gist of his statement …
<ELLIOTTCABLE>
like 18%, or 10%, or whatever, is bad
<ELLIOTTCABLE>
but fuck, one in fifty-five might be a new low.
<companion_cube>
I wonder what the percentage of female authors is among the accepted papers
<ELLIOTTCABLE>
idk I'm used to industry conferences where 10% would have gotten shat on. 1.8%? there'd be riots. rightfully.
<Drup>
icfp is even worse :/
<companion_cube>
well in academia, there's a longer pipeline problem (you rarely publish before being well into a PhD)
MercurialAlchemi has quit [Ping timeout: 256 seconds]
<ELLIOTTCABLE>
well this year it's colocated with StrangeLoop
<ELLIOTTCABLE>
which is p. well gender-balanced
<companion_cube>
in academia you can influence who is an invited speaker, but not a regular speaker
<ELLIOTTCABLE>
my partner got a scholarship, in fact, she's why I'm attending
<ELLIOTTCABLE>
anyway Drup, we'll have to meet up!
<ELLIOTTCABLE>
I can't decide if I'm gonna attend the OCaml designer's event or not, tho
<Drup>
OCaml designer's event ?
<ELLIOTTCABLE>
Id have to miss out on PWL, which is like, my second-favourite event I've ever been to
<ELLIOTTCABLE>
Apparently opam is just … freezing on the first action it tries to preform, *whatever* that action is? it definitely shouldn't have taken 30 minutes to remove alcotest :P
spew has quit []
<discord3>
<Bluddy> Yeah we need a page that describes best practices for writing Flambda code
roygbiv has joined #ocaml
yomimono has joined #ocaml
yomimono has quit [Quit: leaving]
jbrown has quit [Ping timeout: 240 seconds]
bartholin has joined #ocaml
aidalgol has left #ocaml ["User left"]
sz0 has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
roygbiv has quit [Quit: ™]
Haudegen has quit [Remote host closed the connection]
mk9 has quit [Client Quit]
mk9 has joined #ocaml
twopoint718 has joined #ocaml
twopoint718 has joined #ocaml
twopoint718 has quit [Changing host]
yomimono has joined #ocaml
<companion_cube>
the manual is fine, afair
GreyFaceNoSpace has quit [Quit: Ex-Chat]
<ZirconiumX>
It talks about what flambda does
<ZirconiumX>
And about how to use it
<ZirconiumX>
Not about how best to code for it
dtornabene_ has quit [Quit: Leaving]
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
mk9 has quit [Client Quit]
mk9 has joined #ocaml
halogenandtoast has joined #ocaml
mk9 has quit [Client Quit]
mk9 has joined #ocaml
halogenandtoast has quit [Ping timeout: 240 seconds]
noitakomentaja has quit [Remote host closed the connection]
noitakomentaja has joined #ocaml
mk9 has quit [Quit: mk9]
roygbiv has joined #ocaml
Anarchos has joined #ocaml
<discord3>
<Bluddy> Yeah we still need instructions of what style to use to gain the most benefit. Same as without flambda.
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
isd has joined #ocaml
weird_error has joined #ocaml
Haudegen has joined #ocaml
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
<theblatte>
is there a conversion from string to format string or the other way around? I would like to write "blah" and be able to get its string length (4) but also use it as a format string
<theblatte>
for instance `let x = "blah" in (x ^^ "%s", String.length x)`
<ELLIOTTCABLE>
theblatte: you can cast a static string to a format string
<ELLIOTTCABLE>
lemme get you a link
<ELLIOTTCABLE>
RWO talks about it
<ZirconiumX>
Isn't using a dynamic printf string a bad idea though?
<theblatte>
ZirconiumX: I don't think that's what I want. I'm trying to define a format string together with its expected length: let fmt, length = "aaa", 3
<theblatte>
but instead of that I'd like to write `let aaa = "aaa" in let fmt, length = aaa, String.length aaa` and have `fmt` be a format string
<ZirconiumX>
So if I give you a 8-character string and a "%s" format, do you want the length to be 8 or 2?
<theblatte>
ah in that case I will write 8 myself, I'm just asking in the simple case where the format string is a constant string
<ELLIOTTCABLE>
crap the Types sub-session is starting. I suppose I should actually listen …
<ZirconiumX>
theblatte: so you want the C %n printf string instead?
<ZirconiumX>
As in, the length of the string after it's been formatted?
<theblatte>
no, I just want a function to convert between strings and format strings
<theblatte>
if I wanted the length of the final string I would just call Format.kasprintf and compute it there
<octachron>
theblatte, Pervasives. Note that in your case, you can define first the format string and use string_of_format to get back the string content
<ZirconiumX>
Unless I've got this wrong, format strings have to be literal, so I'm not sure what you gain from this.
<theblatte>
octachron: ah! subtle trick not to put in in Format :D
<octachron>
well, the format type is common to Printf/Scanf/Format
<theblatte>
right
<theblatte>
glad I asked :)
<octachron>
ZirconiumX, there is also concatenation of format string: "%s" ^^ "%d" (and there is also the unsafe underlying GADTs representation of format strings)
<theblatte>
ZirconiumX: what I wanted: let ( ++ ) (f1, l1) (f2, l2) = (f1 ^^ f2, l1 + l2) in let ( +++ ) (f1, l1) f2 = (f1 ^^ f2, l1 + (string_of_format f2 |> String.length)) in ("%s", length_of_s) +++ "blah"
<theblatte>
just so that I don't have to write ("%s", length_of_s) ++ ("blah", 4)
<theblatte>
:p
<ZirconiumX>
I'm still not entirely sure the use of this, but okay
<theblatte>
the only goal is to keep the definition of the expected length of the format string close to the definition of the format string so they do not go out of sync
<theblatte>
you can definitely write it differently
_whitelogger has joined #ocaml
Anarchos has quit [Quit: Vision[0.10.2]: i've been blurred!]
<discord3>
<Perry> @ELLIOTTCABLE Yes.
<ELLIOTTCABLE>
wow I understood more of that than I expected.
<ELLIOTTCABLE>
hahaha forgive the play-by-play, I'll shut up now
<discord3>
<ELLIOTTCABLE> @Perry! I'm in these talks right now, but I'll be sitting in an airport, tryna mix up my broken Sedlex lexer with my also-but-completely-differently-broken hand-rolled recursive-descent / Tyre, parser
<discord3>
<ELLIOTTCABLE> if you're still feel like dicking around with a Scheme parser with me, I'm down to Floobits or whatever ¯_(ツ)_/¯
<discord3>
<ELLIOTTCABLE> here's my broken stuff atm:
<hannes_>
Hi, I have a program that transforms a bunch of logic formulas. Different types of formulas are modelled with different alg. datatypes. This works ok. But I would like to use the same type constructor names: formulas can be constructed with And, Or, Forall, ... Now I have added suffixes to the names for the type constructors of the different types of formulas I have. I guess I could reuse names
<hannes_>
if I placed the type definitions in different modules. But, this would be a bit messy in my case I think. Is there another way around this? How is this type of problem normally handled?
<octachron>
You don't need to place the type definition in different modules
<discord3>
<Perry> @ELLIOTTCABLE Send me a private message later...
<lyxia>
hannes_: polymorphic variants are reusable constructors
<discord3>
<Perry> @ELLIOTTCABLE That said, Tyre is really for (typed) regexes, not for context free grammars...
<discord3>
<ELLIOTTCABLE> @Perry yah, that's the problem — Scheme isn't context-free, that's why I had to abandon my third (Menhir) approach /=
<discord3>
<Perry> Scheme is context free. 😃
<discord3>
<Perry> The spec is confusing on this. In particular, it makes the lexer seem like it is context sensitive when it is regular.
<discord3>
<ELLIOTTCABLE> according to the R5RS spec it's not? 'cuz quasiquotation / macros
<discord3>
<ELLIOTTCABLE> lemme find the quotation
<discord3>
<ELLIOTTCABLE> > The following grammar for quasiquote expressions is not context-free. It is presented as a recipe for generating an infinite number of production rules. Imagine a copy of the following rules for D = 1,2,3,.... D keeps track of the nesting depth.
<discord3>
<ELLIOTTCABLE> I have no idea what I'm doing so correct me 🤣
<discord3>
<ELLIOTTCABLE> also, I baaaarely kept my head above water in that talk, but … I think I did! which is a testament to how excellent his explanation was. definitely worth watching the video for.
roygbiv has quit [Quit: ™]
jnavila has quit [Remote host closed the connection]
tane has quit [Quit: Leaving]
<hannes_>
octachron, lyxia: Thanks for the pointers! Reading up on your advice...
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
<hannes_>
Thanks again guys! Just refactored a piece of my code now, to use same type constructor names for in different types. Works great. I have not worked with Ocaml in long time, and I think this was not possible when I last tried. Awesome that it works now! Only problem is that I had to add quite a lot of type anotations to get the compiler accept the code.
<discord3>
<Perry> @ELLIOTTCABLE The quasiquote stuff can be handled with a hack post-parsing I believe. I would have to look at it again. But get in touch later.
jbrown has joined #ocaml
steenuil has joined #ocaml
steenuil has quit [Remote host closed the connection]
steenuil has joined #ocaml
argent_smith has quit [Quit: Leaving.]
steenuil has quit [Remote host closed the connection]
weird_error has quit [Quit: weird_error]
weird_error has joined #ocaml
steenuil has joined #ocaml
halogenandtoast has joined #ocaml
weird_error has quit [Quit: weird_error]
neatonk has quit [Ping timeout: 276 seconds]
<discord3>
<ELLIOTTCABLE> @Perry - not much a fan of private messages (no logs for people to benefit from later), but if you think it's inappropriate in here, we can hop in #ELLIOTTCABLE (on Freenode, not Discord)? It's sufficiently logged / communal for my tastes!
jbrown has quit [Ping timeout: 260 seconds]
halogenandtoast has quit [Ping timeout: 268 seconds]
loli has joined #ocaml
<discord3>
<ELLIOTTCABLE> hmmm I wonder if I could recursively invoke the Menhir-generated automaton on every ,(unqote) …