<mfp>
I take that back, those "xxx" NONA do define non-associative levels. It's when you want to expand (reuse) an existent level that you do production: LEVEL "xxx"
<mfp>
so the outer '[' encloses a production, and the inner "xxx" [ ] are for the levels
<mfp>
for a given level, you can have several rules: "xxx" ASSOCIATIVITY [ ... | ... ]
<mfp>
in practice, most of the time you have things like foo: [ [ ... -> ... | ... -> ... ] ] which defines an entry having an anonymous level with 2 rules
<yziquel>
mfp: so if I have col_type: ["foreign" NONA [..., i get to do my_rule: LEVEL "foreign" [[... if i want to reuse the level defined by "foreign" in rule col_type. am i understanding you correctly?
<mfp>
it's not reusing the rule in another entry, just expanding an existent level in an entry
<yziquel>
mfp: ok. last question. what is SELF?
<mfp>
it's the current entry
<mfp>
for instance, in expr: you could have a rule like "("; p = SELF; ")" -> p
<yziquel>
mfp: ok. so in your code, when you have FOREIGN, you're constructing the column record as if there were no FOREIGN, and then you tamper with it, witha {t with ... } construct. am i correct?
<mfp>
yes, exactly
<yziquel>
ok. cool. that willdefinitely help me get going. thanks.
ikaros has quit ["Leave the magic to Houdini"]
<mfp>
yziquel: the hardest area of relational/pa_relational by far is the type checking: I use existential types (encoded using polymorphic record fields) and polymorphic variants to express subtyping
<mfp>
then pa_relational generates code that will only type if the relational exprs are sound
<mfp>
by using things like let foo = function `A -> () | `B -> () which accepts [<`A | `B]
<mfp>
so if we carry such a function around, we can express that something is of type [< `A | `B]
<mfp>
or function `A -> () | `B -> () | _ -> () : [> `A | `B ] -> unit for "at least A and B"
yziquel has quit [Ping timeout: 180 seconds]
onigiri_ has joined #ocaml
maskd- has joined #ocaml
maskd has quit [Read error: 60 (Operation timed out)]
Pimm has quit [Read error: 110 (Connection timed out)]
munga has quit [Read error: 110 (Connection timed out)]
Pimm has joined #ocaml
ski_ has quit ["Lost terminal"]
derdon has quit []
ski_ has joined #ocaml
munga has joined #ocaml
<Alpounet>
If only it was in Marseille :-p
ksson has joined #ocaml
_zack has quit [Read error: 113 (No route to host)]
_zack has joined #ocaml
jimmyb2187 has left #ocaml []
tmaedaZ is now known as tmaedaZ0
derdon has joined #ocaml
jimmyb2187 has joined #ocaml
ikaros has joined #ocaml
deavid has quit [Read error: 60 (Operation timed out)]
companion_cube has quit [Read error: 60 (Operation timed out)]
mehdid has quit [Read error: 60 (Operation timed out)]
mrvn has quit [Read error: 60 (Operation timed out)]
mattam has quit [Read error: 60 (Operation timed out)]
optiz0r has quit [Read error: 60 (Operation timed out)]
companion_cube has joined #ocaml
deavid has joined #ocaml
mattam has joined #ocaml
mehdid has joined #ocaml
mrvn has joined #ocaml
optiz0r has joined #ocaml
danblick1 has joined #ocaml
munga_ has joined #ocaml
munga has quit [Read error: 110 (Connection timed out)]
flux has quit ["leaving"]
flux has joined #ocaml
joewilliams has joined #ocaml
<Leonidas>
det: yep, that's what I will do. Good idea.
danblick has quit [Read error: 110 (Connection timed out)]
Spiwack has joined #ocaml
Snark has joined #ocaml
_zack has quit ["Leaving."]
_zack has joined #ocaml
_zack has quit [Client Quit]
_zack has joined #ocaml
_zack has quit [Client Quit]
_zack has joined #ocaml
rwmjones has quit ["This computer has gone to sleep"]
rwmjones has joined #ocaml
_unK has joined #ocaml
onigiri__ has joined #ocaml
Pimm has quit [Read error: 110 (Connection timed out)]
th5 has quit []
th5 has joined #ocaml
th5 has quit [Client Quit]
onigiri_ has quit [Read error: 113 (No route to host)]
ksson has quit ["leaving"]
avsm has quit ["Leaving."]
yakischloba has joined #ocaml
Associat0r has joined #ocaml
Waleee has joined #ocaml
brendan has quit [Read error: 101 (Network is unreachable)]
fx___ has quit [Read error: 110 (Connection timed out)]
flux has quit [Read error: 60 (Operation timed out)]
flux has joined #ocaml
ttamttam has quit ["Leaving."]
Yoric has quit []
joewilliams has quit [Remote closed the connection]
onigiri__ has quit []
avsm has joined #ocaml
ikaros has quit ["Leave the magic to Houdini"]
pchickey has joined #ocaml
<pchickey>
Hi, I'm new to Ocaml and troubleshooting a build which has an error message "Unbound variable Env.paparazzi_home"
<orbitz>
pchickey: plop a testcase up
<pchickey>
the software package (paparazzi.enac.fc) asks you to set (in the shell) the variable PAPARAZZI_HOME=/home/pat/paparazzi3 or whatever is appropriate
<pchickey>
I'm not familiar with what the Env (object?) does
<orbitz>
Env is likely a module
<pchickey>
so somewhere in this software package I'm missing a declaration of Env
<pchickey>
it isn't a builtin or anything like that?
<orbitz>
Env is not a stnadard module
<thelema>
Sys.getenv is the usual way to get environment variables
_zack has quit ["Leaving."]
avsm has quit ["Leaving."]
joewilliams has joined #ocaml
<pchickey>
ok, i found a file that had been misplaced called env.ml
Associat0r has quit []
<pchickey>
that should fix everything I suppose.
<thelema>
yes
<thelema>
it should satisfy the Env requirement
<pchickey>
thanks for your help.
<thelema>
you're welcome
Spiwack has quit ["Leaving"]
brendan has joined #ocaml
_andre has quit ["Lost terminal"]
ulfdoz has joined #ocaml
pchickey has quit [Remote closed the connection]
gdmfsob has quit [Read error: 104 (Connection reset by peer)]
ttamttam has joined #ocaml
pad` has joined #ocaml
demitar has joined #ocaml
derdon has quit []
derdon has joined #ocaml
derdon has quit [Client Quit]
djanderson has joined #ocaml
Snark has quit ["Ex-Chat"]
Submarine has joined #ocaml
jeddhaberstro has joined #ocaml
tmaedaZ0 is now known as tmaedaZ
ttamttam has quit ["Leaving."]
onigiri has joined #ocaml
ulfdoz has quit [Read error: 110 (Connection timed out)]
yziquel has joined #ocaml
yakischloba has quit ["Leaving."]
ski_ has quit ["Lost terminal"]
Submarine has quit ["Leaving"]
<yziquel>
how can you process a file through a camlp4 syntax extension and dump the result in another file?
<julm>
yziquel: -printer o > new_file.ml
<yziquel>
julm: could you be a bit more specific?
<julm>
well pass -printer o to camlp4
<julm>
and use > to dump the output in a file
<julm>
that's what you wanted?
<yziquel>
julm: do not know how to use it, practically speaking.
<yziquel>
and i've been dissecting what is postgresql specific into another pa_.cmo.
<julm>
oki
<yziquel>
julm: great. it now works...
<yziquel>
thanks.
<julm>
:)
deavid has quit ["No Ping reply in 180 seconds."]
deavid has joined #ocaml
jonafan_ has joined #ocaml
naufraghi has quit []
jonafan has quit [Read error: 60 (Operation timed out)]
<yziquel>
i have <:expr< Relational.Typeconv.Postgresql.$lid:f$ >>. if i want to abstract away the module name by antiquotations, what should I use instead of $lid:...$?
ikaros has joined #ocaml
ikaros has quit [Read error: 104 (Connection reset by peer)]
<julm>
yziquel: $id: ?
<julm>
FWI: Camlp4.PreCast.Ast.ident = IdAcc of loc * ident * ident | IdApp of loc * ident * ident | IdLid of loc * string | IdUid of loc * string | IdAnt of loc * string
<julm>
there also is a val ident_of_expr : expr -> ident that may be useful