flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml MOOC http://1149.fr/ocaml-mooc | OCaml 4.03.0 announced http://ocaml.org/releases/4.03.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
nicholasf has joined #ocaml
mistermetaphor has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
Algebr has joined #ocaml
<Algebr> I am doing OCaml office hours this Saturday in San Francisco, fyi for anyone else in Bay Area.
bba has joined #ocaml
silver has quit [Quit: rakede]
rgrinberg has joined #ocaml
darkf has joined #ocaml
walter|r has joined #ocaml
demonimin has quit [Ping timeout: 276 seconds]
demonimin has joined #ocaml
kamog has quit [Remote host closed the connection]
demonimin has quit [Ping timeout: 250 seconds]
demonimin has joined #ocaml
solrize has joined #ocaml
demonimin has quit [Ping timeout: 276 seconds]
demonimin has joined #ocaml
Reshi has joined #ocaml
ryanartecona has joined #ocaml
FreeBirdLjj has joined #ocaml
demonimin has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
sh0t has quit [Ping timeout: 244 seconds]
demonimin has joined #ocaml
scarygelatin has quit [Quit: Leaving]
jeffmo has quit [Quit: jeffmo]
rishi has joined #ocaml
rishi is now known as Guest49265
Reshi has quit [Ping timeout: 244 seconds]
Guest49265 has quit [Read error: Connection reset by peer]
<struk|desk> Algebr: damn I was there last weekend
Reshi has joined #ocaml
<destrius> are there any guides to implementing heterogenous lists using GADTs?
<destrius> hopefully using ocaml, and not haskell, which seems to be what all of the tutorials online are using
<struk|desk> destrius: if u find one please post the link here
walter|r has quit [Remote host closed the connection]
<destrius> i'm reading the paper on implementing format strings using GADTs now, maybe that will help a bit
<destrius> ok, it didn't help
<struk|desk> doh
<destrius> when in doubt, i guess you go to github and read the sources
johnelse has quit [Ping timeout: 252 seconds]
<Algebr> Drup showed an Any GADT once I remember
<destrius> i'm looking at core's Univ and Univ_map now
kushal has quit [Ping timeout: 240 seconds]
<destrius> basically, i have some data stored as tuples of heterogenous values. i want to write some kind of functor that lets me mint modules given a "spec" of the tuple, .e.g (int, string, string), which does the validation that the data is of the right type once, and after that lets me access the values without having to do a second pattern match
<destrius> i think using Univ_map might be the right answer
<destrius> still figuring it out tho
johnelse has joined #ocaml
<struk|desk> destrius: seems achieable with functors alone
<struk|desk> *achievable
struktured has joined #ocaml
mistermetaphor has joined #ocaml
dsheets has joined #ocaml
<Algebr> struk|desk: ah, you should have messaged me!
MercurialAlchemi has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
kushal has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
ski has joined #ocaml
FreeBirdLjj has joined #ocaml
<destrius> struk|desk: the problem is that the spec is of variable length, so i can't use tuples like ('a * 'b * 'c)
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
MercurialAlchemi has quit [Ping timeout: 268 seconds]
<Algebr> destrius: with variable length, tuples probably won't be a good choice
<destrius> yeah, i'm not using tuples
<destrius> i'm reaching a point where i think what i want to do cannot be expressed purely in ocaml's type system
<destrius> think it needs dependent typing or something
<destrius> essentially the return type of the getter function is dependent on the index being requested for
<Algebr> you really can't achieve your goals without this complexity?
<destrius> i probably can, i'm just having a bout of ocd :P
<destrius> or rather, i definitely can
<destrius> i'm just trying to remove the need to pattern match a value that has already been validated
<destrius> or rather, to have the type system express that validation has happened
<destrius> but i don't really need to do that, i can just treat it as a known invariant of the api
<destrius> i was justing wondering if it was possible to do so
aantron_ has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 260 seconds]
boegel has quit [Remote host closed the connection]
ryanartecona has quit [Quit: ryanartecona]
jinj has joined #ocaml
<Algebr> destrius: are you in the Bay Area? If so we can meet up and bounce some ideas
<destrius> nope, i'm pretty far away from the bay area
<destrius> its 1:30pm where i am now
MercurialAlchemi has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
<Algebr> ah, 10:45pm here.
A1977494 has joined #ocaml
struktured has quit [Ping timeout: 252 seconds]
* destrius lives in singapore
alex1a has joined #ocaml
alex1a has quit [Max SendQ exceeded]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 268 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
AlexRussia has joined #ocaml
avarsh has joined #ocaml
leyyin has joined #ocaml
nicholasf has quit [Ping timeout: 252 seconds]
djellemah_ has quit [Ping timeout: 250 seconds]
<destrius> ok i kind of found an alternative solution that isn't as nice, but works
djellemah_ has joined #ocaml
<destrius> time to do some actual work
octachron has joined #ocaml
avarsh has quit [Remote host closed the connection]
<Algebr> always a good thing
<octachron> destrius, for information having heterogeneous array/list with an access function is possible (but not really pretty)
Simn has joined #ocaml
Reshi has quit [Ping timeout: 240 seconds]
boegel has joined #ocaml
pierpa has joined #ocaml
g4143 has joined #ocaml
iosys has quit [Ping timeout: 264 seconds]
<destrius> octachron: do you have any pointers to how it can be implemented?
iosys has joined #ocaml
<destrius> also, is there a way to write a function that does a pattern match on a GADT, but does not make use of the "inner" type of the GADT?
<destrius> not sure if i'm using the right words
<octachron> destrius, the idea is mainly to use a special index type which extract the right type from the list
<destrius> so the index is sort of like a peano number?
<octachron> destrius, I am not sure I follow what do you mean by not using the "inner" type?
nicholasf has joined #ocaml
<octachron> destrius, yes a peano number + some associated phantom types
<destrius> or the index encodes the type that is returned by the index
<destrius> ok
<destrius> as i was futzing around it seemed like that was what you needed to do
<destrius> and i decided to give up at that point :P
<destrius> octachron: let me try to write a simple example
iosys has quit [Ping timeout: 268 seconds]
g4143 has quit [Quit: Ex-Chat]
iosys has joined #ocaml
<companion_cube> instead of the list, you might want a heterogeneous map in some cases
AlexRussia has quit [Ping timeout: 260 seconds]
<companion_cube> (if the purpose is to store values of different types and then access them)
<octachron> destrius, a simple example of indexing for a list: https://gist.github.com/Octachron/37d76fb4792c21fd2bb67b2204bd9414
<destrius> octachron: validate doesn't compile because: This pattern matches values of type string mytype but a pattern was expected which matches values of type a mytype
<destrius> companion_cube: yup, in fact a map works better for what i need, but the backing data is in the form of a list
<destrius> (an array, to be exact)
<companion_cube> sounds nasty
<destrius> i'm working with llvm, and want to map llvm llvalues to "proper" types
<octachron> destrius, as a general rule, or patterns don't work with gadt
<octachron> you need to write your 3 cases seperatedly
<destrius> octachron: the hacky way i'm doing it now is having an auxillary function do the pattern match to return a dummy value of type a, and then ignoring it (and raising an exception if its invalid)
pyon has quit [Remote host closed the connection]
<destrius> octachron: and that works, so i'm wondering why what i currently have isn't ok
<octachron> destrius, I am betting that you are not using or pattern in your auxiliary function
<octachron> i.e, you have "| String -> "" | Int -> 0"
<octachron> this compiles: https://bpaste.net/show/219de0bc8708
dsheets has joined #ocaml
<destrius> octachron: ah, i see
<destrius> i understand what you mean by the or pattern now
dsheets has quit [Ping timeout: 250 seconds]
<destrius> and i can see why it would be a problem for GADTs, yes
<destrius> thanks!
pyon has joined #ocaml
_2can has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 252 seconds]
octachron has quit [Quit: Leaving]
kamog has joined #ocaml
mettekou has joined #ocaml
dsheets has joined #ocaml
TheLemonMan has joined #ocaml
sepp2k has joined #ocaml
larhat has joined #ocaml
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
mettekou has quit [Read error: Connection reset by peer]
jwatzman|work has joined #ocaml
toolslive has joined #ocaml
amnn has joined #ocaml
silver has joined #ocaml
* aggelos__ looks at ocaml-lua
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
Reshi has joined #ocaml
mettekou has joined #ocaml
dsheets has quit [Remote host closed the connection]
bba has joined #ocaml
dsheets has joined #ocaml
snhmib has quit [Quit: WeeChat 1.3]
kakadu has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
TheLemonMan has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBird_ has quit [Ping timeout: 250 seconds]
FreeBirdLjj has quit [Ping timeout: 276 seconds]
TheLemonMan has quit [Ping timeout: 250 seconds]
pierpa has quit [Read error: Connection reset by peer]
pierpa has joined #ocaml
TheLemonMan has joined #ocaml
Reshi has quit [Ping timeout: 246 seconds]
<zozozo> what would be the correct way to use ocamldoc's "-intro <file>" option when calling it from ocamlbuild ? I can't find a tag that corresponds to this option
BitPuffin has joined #ocaml
<companion_cube> I dont think there is any (see the myocamlbuild.ml)
<zozozo> I find it sad that a myocamlbuild.ml is required when the tag system should be enough
ggole has joined #ocaml
<companion_cube> agreed
<companion_cube> maybe it's possible to contribute a new tag in ocamlbuild for that
thibm has joined #ocaml
Reshi has joined #ocaml
Maxdamantus has quit [Ping timeout: 276 seconds]
Maxdamantus has joined #ocaml
hcarty has joined #ocaml
tane has joined #ocaml
<ggole> Niiice, the basic idea I've built this whole thing around is obviously wrong
<ggole> Gotta love it when you focus on details instead of taking the time to understand wtf you are actually doing.
kushal has quit [Ping timeout: 252 seconds]
<zozozo> ggole: what are you talking about ?
<ggole> Just some code I'm writing
octachron has joined #ocaml
Maxdamantus has quit [Ping timeout: 244 seconds]
Maxdamantus has joined #ocaml
rgrinberg has joined #ocaml
jeffmo has joined #ocaml
jinj has quit [Quit: Page closed]
kamog has quit [Remote host closed the connection]
kakadu has quit [Ping timeout: 250 seconds]
mettekou has quit [Read error: Connection reset by peer]
aantron has joined #ocaml
<please_help> Is there a way to install a package through opam while excluding a dependency that was installed separately?
Jaxan has quit [Remote host closed the connection]
Jaxan has joined #ocaml
<hcarty> please_help: Installed outside of opam?
A1977494 has quit [Read error: Connection reset by peer]
<zozozo> please_help: you can "fake install" a package using "opam install --fake"
A1977494 has joined #ocaml
<hcarty> zozozo: Interesting, I didn't know that
<zozozo> so that way you can install your already installed dependencies through opam, and then install your package normally
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<please_help> thanks!
<zozozo> though if possible, pinning your separately installed package would be better
kakadu has joined #ocaml
Maxdamantus has quit [Ping timeout: 244 seconds]
Maxdamantus has joined #ocaml
thibm has quit [Quit: WeeChat 1.4]
cdidd has quit [Remote host closed the connection]
nicholasf has quit [Remote host closed the connection]
copy` has joined #ocaml
cdidd has joined #ocaml
NingaLeaf has quit [Quit: Leaving]
Sorella has joined #ocaml
cdidd has quit [Remote host closed the connection]
sh0t has joined #ocaml
cdidd has joined #ocaml
infinity0 has quit [Ping timeout: 246 seconds]
<hcarty> Hooray - oasis 0.4.6 installs under OCaml 4.03.0
infinity0 has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 244 seconds]
ryanartecona has joined #ocaml
Reshi has quit [Ping timeout: 244 seconds]
cdidd has quit [Remote host closed the connection]
NingaLeaf has joined #ocaml
john51 has quit [Write error: Broken pipe]
Reshi has joined #ocaml
leyyin has quit [Remote host closed the connection]
john51_ has joined #ocaml
kolko has joined #ocaml
dsheets has quit [Remote host closed the connection]
nicholasf has joined #ocaml
<struk|desk> Algebr: I might be moving to SF anyhow, or bay area
<Algebr> on nice
Reshi has quit [Ping timeout: 276 seconds]
adrien_z- has joined #ocaml
i0sys has joined #ocaml
rwmjones_ has joined #ocaml
cdidd has joined #ocaml
infinity0 has quit [*.net *.split]
copy` has quit [*.net *.split]
A1977494 has quit [*.net *.split]
toolslive has quit [*.net *.split]
jwatzman|work has quit [*.net *.split]
iosys has quit [*.net *.split]
Simn has quit [*.net *.split]
badon has quit [*.net *.split]
fraggle_ has quit [*.net *.split]
jun__ has quit [*.net *.split]
kolko_ has quit [*.net *.split]
ggherdov has quit [*.net *.split]
yminsky has quit [*.net *.split]
cojy has quit [*.net *.split]
Guest33283 has quit [*.net *.split]
rwmjones has quit [*.net *.split]
M-Illandan has quit [*.net *.split]
kyo91 has quit [*.net *.split]
adrien_znc has quit [*.net *.split]
chris2 has quit [*.net *.split]
i0sys is now known as iosys
nicholasf has quit [Ping timeout: 240 seconds]
dsheets has joined #ocaml
infinity0 has joined #ocaml
Simn has joined #ocaml
jwatzman|work has joined #ocaml
kyo91 has joined #ocaml
Reshi has joined #ocaml
A1977494 has joined #ocaml
toolslive has joined #ocaml
jun__ has joined #ocaml
M-Illandan has joined #ocaml
chris2 has joined #ocaml
badon has joined #ocaml
fraggle_ has joined #ocaml
cojy has joined #ocaml
Guest33283 has joined #ocaml
bbc_ has joined #ocaml
yminsky has joined #ocaml
regnat has quit [Ping timeout: 276 seconds]
regnat has joined #ocaml
copy` has joined #ocaml
sepp2k has quit [Quit: Leaving.]
sepp2k has joined #ocaml
ggherdov has joined #ocaml
sepp2k has joined #ocaml
Reshi has quit [Quit: WeeChat 1.4]
ygrek has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
<Leonidas> hcarty: nice, installing.
<Leonidas> flambda is *noticably* slower at compiling
mistermetaphor has joined #ocaml
MercurialAlchemi has joined #ocaml
Mercuria1Alchemi has joined #ocaml
slash^ has joined #ocaml
shinnya has joined #ocaml
octachron has quit [Ping timeout: 250 seconds]
darkf has quit [Quit: Leaving]
A19774941 has joined #ocaml
A1977494 has quit [Ping timeout: 250 seconds]
mistermetaphor has quit [Remote host closed the connection]
ryanartecona has quit [Quit: ryanartecona]
nicholasf has joined #ocaml
mistermetaphor has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
doecnt has joined #ocaml
toolslive has quit [Ping timeout: 250 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
ygrek has joined #ocaml
larhat has quit [Quit: Leaving.]
bba has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ryanartecona has joined #ocaml
dsheets has quit [Remote host closed the connection]
Algebr has quit [Ping timeout: 250 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 244 seconds]
ygrek has quit [Ping timeout: 260 seconds]
dsheets has joined #ocaml
nicholasf has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 250 seconds]
ismaelga has joined #ocaml
kakadu has quit [Quit: Page closed]
doecnt has quit [Ping timeout: 240 seconds]
ryanartecona has quit [Quit: ryanartecona]
ryanartecona has joined #ocaml
<gasche> 11:16 < Leonidas> flambda is *noticably* slower at compiling
<gasche> that's my reason for using the without-flambda version as my default 4.03 switch for now
<gasche> note that for a given project, you can tune the inlining parameters to regain some compilation time
<Leonidas> gasche: yes, I will most likely do the same. I can still have a switch for "release builds" in case I need them.
ismaelga has quit [Remote host closed the connection]
Algebr has joined #ocaml
<flux> so I guess the flambda-branch is slow without the -Ox optimizations as well?
<Algebr> oasis on opam doesn't work with 4.03, =/
amnn has joined #ocaml
BitPuffin has quit [Read error: Connection reset by peer]
<hcarty> Algebr: It should now
<hcarty> Algebr: I tried 0.4.6 today and it worked
<Algebr> hcarty: oasis from opam or pinned?
<Algebr> oh great, oasis fixed but other stuff not satisfied, http://pastebin.com/Q0i2meZi
<Algebr> not sure why such old cohttp even matters anymore
<hcarty> Algebr: oasis from opam
<hcarty> Algebr: Looks like something still depends on old pre-ppx Jane St libraries
<hcarty> Algebr: Or opam is confused... is it using the internal solver?
tane has quit [Ping timeout: 252 seconds]
<Algebr> no, aspcud
<Algebr> this is a fresh switch
tane has joined #ocaml
<hcarty> That's really strange then
<companion_cube> o/
<Algebr> sigh
<hcarty> Apparently conduit still needs camlp4 stuff, or opam thinks that's the case
<hcarty> companion_cube: \o
<Algebr> I guess because conduit -> type_conv -> camlp4
<hcarty> And the Jane St camlp4 syntaxes are all, as far as I know, locked to pre-4.03.0 versions of OCaml
<companion_cube> I guess t hey've stopped using them
<Algebr> I'm still not understanding 100% why this install can't work
kakadu has joined #ocaml
<Drup> destrius: I have a blog post 90% ready on the subject
<Drup> that has been lingering for month
<reynir> Algebr: oh, you're fxfactorial?
<reynir> sorry for spamming with issues :)
<Algebr> not spamming, they are valid issues.
rgrinberg has quit [Ping timeout: 250 seconds]
ryanartecona has quit [Quit: ryanartecona]
davidtcpip has joined #ocaml
ryanartecona has joined #ocaml
octachron has joined #ocaml
bba has joined #ocaml
shinnya has quit [Ping timeout: 276 seconds]
pecan` has joined #ocaml
pecan has quit [Quit: WeeChat 1.1.1]
pecan` is now known as pecan
davidtcpip has quit [Ping timeout: 260 seconds]
ryanartecona has quit [Quit: ryanartecona]
davidtcpip has joined #ocaml
rgrinberg has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 276 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
adrien_z- has quit [Ping timeout: 276 seconds]
adrien_znc has joined #ocaml
ggole has quit [Ping timeout: 260 seconds]
mettekou has joined #ocaml
ryanartecona has joined #ocaml
scarygelatin has joined #ocaml
davidtcpip has quit [Quit: Lost terminal]
yegods has joined #ocaml
nicholasf has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
mistermetaphor has joined #ocaml
nicholasf has quit [Remote host closed the connection]
mistermetaphor has quit [Ping timeout: 276 seconds]
ygrek has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
orbifx has joined #ocaml
<orbifx> hello all
mistermetaphor has joined #ocaml
ygrek has quit [Ping timeout: 260 seconds]
<orbifx> do you find it usefyl to have indexes in github readmes?
<companion_cube> o/
<orbifx> like that
<orbifx> hey companion_cube
<companion_cube> bah, I just use asciidoc for that :]
<orbifx> but index or no index on the top of the readme?
nicholasf has joined #ocaml
snhmib has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
mettekou has quit [Quit: Textual IRC Client: www.textualapp.com]
mistermetaphor has joined #ocaml
MercurialAlchemi has joined #ocaml
octachron has quit [Quit: Leaving]
hcarty has quit [Ping timeout: 244 seconds]
tane has quit [Quit: Verlassend]
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<companion_cube> https://github.com/c-cube/oasis-parser well, that was tough
Algebr has quit [Ping timeout: 268 seconds]
<Drup> companion_cube: is this extracted or redone ?
pierpa` has joined #ocaml
<companion_cube> from scratch
ryanartecona has joined #ocaml
<companion_cube> and no, I did not take your code: sedlex means a recent OCaml and a lot of pain
<Drup> that's a shitty reason, sedlex would have been fairly easy to remove
<companion_cube> then why did you use it?
<Drup> because it's more convenient to use that ocamllex
<companion_cube> I'm not using ocamllex either
<companion_cube> I tried, briefly, but it looked terrible
<companion_cube> (for this use case I mean)
<companion_cube> _oasis doesn't have a proper notion of tokens...
<Drup> Yes, I saw that you have a handwritten lexparser
pierpa has quit [Ping timeout: 244 seconds]
<companion_cube> anywya, there is room for several competing parsers ;)
<gasche> a nice benefit of fitting your parser in a parser generator is that you get a reasonably declarative grammar out of it
<companion_cube> this one is starting to work
<Drup> companion_cube: no there isn't
<companion_cube> gasche: yeah, but no chance
<gasche> can you explain why?
<companion_cube> sure, the indentation stuff is too tricky
<gasche> is this specified well somewhere?
<gasche> or can we get you to write a specification for it?
<Drup> companion_cube: no it isn't, I fitted it u_u'
<companion_cube> in particular, because some indented blocks start on the same line as the introducing statement
<companion_cube> right now my spec is "can I parse those _oasis files"
<companion_cube> (I need more testing)
<gasche> Drup: where is your code?
<companion_cube> Drup: how do you parse a multi-line block?
<companion_cube> like Description:
<Drup> companion_cube: a special list that can have indent in the middle
<companion_cube> no I mean, how do you recognize it?
<Drup> I .. don't understand the question
<companion_cube> hmmm, the parser does t he magic, I guess
<companion_cube> lexer*
<companion_cube> gah
<Drup> newlines, as long as you don't change indentations, are ignored
<Drup> yes, the magic is in the lexer, to emit INDENT and DEDENT tokens
<companion_cube> yeah but in this case, the indentation comes after `:`
<companion_cube> do you just take the offset from the beginning of the line?
<Drup> yes
<companion_cube> ok, I do the same anyway ^^
<Drup> obviously, that's the only sane way ..
<companion_cube> also, small trick to do is that in such blocks, a line with just "." is to be replaced by ""
A19774941 has quit [Remote host closed the connection]
<companion_cube> (because yay)
<companion_cube> anyway
<Drup> Seriously, next time you are going to give shitty reasons, give the correct one directly "I didn't looked at your implem passed the one dependency I didn't like and just went on reimplementing mine"
<Drup> It will be more honest
<companion_cube> the TWO dependencies
<companion_cube> well, sorry, I thought that removing sedlex was going to be a lot of work
<companion_cube> I didn't see the point of menhir
<companion_cube> (in this case)
<companion_cube> so, that left me nothing
<Drup> menhir will be useful for error messages
<companion_cube> the 1% of them that don't come from the lexer?
<companion_cube> if the lexer does all the work, it will also have to handle errors
<Drup> It doesn't do all the work
<Drup> It emits INDENT
<Drup> the placement of those indents is not checked by the lexer
<gasche> companion_cube:
rwmjones_ has quit [Ping timeout: 240 seconds]
<companion_cube> yep, there are "if"s without "else"
sepp2k has quit [Quit: Leaving.]
orbifx has quit [Ping timeout: 276 seconds]
<companion_cube> actually, what is the 'THEN'?
<Drup> sure, I did that in 2 hours during a train ride, the first thing I told you it was it was incomplete
walter|r has joined #ocaml
<Drup> (I focused on making the indentation stuff work, not nailing the exact grammar, because it's so trivial to change it in menhir)
<Drup> (oh wait)
<Drup> I'm going back to watching farscape, this conversation is pissing me off
<companion_cube> me too actually
zaquest has quit [Read error: Connection reset by peer]
<companion_cube> because I'm looking at the lexer
<companion_cube> and I have no idea how it's supposed to parse the random content that comes after ":"
<companion_cube> content which might contain if, ||, etc. obviously.
<companion_cube> (and no, [a-zA-Z0-9]* will not cut it)
zaquest has joined #ocaml
<companion_cube> gasche: you also need to read the lexer
nicholasf has quit [Remote host closed the connection]
<companion_cube> so yeah, sorry I didn't rewrite fully your 2 hours of work, Drup, to remove menhir, remove sedlex, and make it work
<companion_cube> my bad
<Drup> my problem is that your implement improves nothing upon the initial implem in oasis itself
Sim_n has joined #ocaml
<Drup> it's still handwriten lexparser, it doesn't look to have better error messages, and you have 100% chance of introducing bugs
<Drup> (since it's so badly specified)
<companion_cube> what you tried it?
<companion_cube> it does have error messages
Mercuria1Alchemi has quit [Ping timeout: 246 seconds]
pierpa` is now known as pierpa
<companion_cube> it DOES improve over what's in oasis right now
<companion_cube> a lot
<companion_cube> the camlp4 parser was the nice part, the terrible code is before
Simn has quit [Ping timeout: 260 seconds]
nicholasf has joined #ocaml
rgrinberg has quit [Ping timeout: 276 seconds]
<companion_cube> no, really, i don't get your lexer and how it's supposed to parse raw data (i.e. non identifiers)
pierpa` has joined #ocaml
pierpa has quit [Ping timeout: 252 seconds]
dhil has joined #ocaml
doecnt has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
noethics has quit [Ping timeout: 252 seconds]
silver has quit [Quit: rakede]
pierpa` is now known as pierpa
ismaelga has joined #ocaml
madroach has quit [Ping timeout: 244 seconds]
madroach has joined #ocaml
sh0t has quit [Ping timeout: 250 seconds]
kakadu has quit [Remote host closed the connection]
jeffmo has quit [Quit: jeffmo]
Algebr has joined #ocaml
darkf has joined #ocaml