[06:14:43] *** Quits: wmacmil (~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 260 seconds) [16:37:52] *** Joins: wmacmil (~wmacmil@c83-252-138-144.bredband.comhem.se) [16:38:27] does anyone here have experience with BNFC, specifically, integrating GF with BNFC [16:39:09] Aarne suggested getting the Haskell AST representation to be equivalent shouldn't be difficult, but i'm dubious of this claim [20:55:06] wmacmil: what's your exjobb about? [21:08:35] wmacmil: yes, in fact we're (me, freeside and LambdaDuck) doing just that in our CCLAW project :-D [21:09:13] "doing that" = define a BNFC syntax for a programming language and integrate that to GF [21:10:41] this code is pretty messy and very incomplete, but here we're doing the transformation from BNFC abstract syntax to the GF abstract syntax in haskell https://github.com/smucclaw/dsl/blob/main/bnfc/src-l4/ToGF.hs [21:11:10] the actual BNFC and GF haskell codes are generated so they are not in the repo [21:13:29] but the GF code looks like this https://github.com/smucclaw/dsl/blob/main/grammars/Rule.gf , and so the generated haskell code (gf -make -f haskell) looks like this [21:13:29] data GDeontic = [21:13:29] GMay GActionAlias [21:13:29] | GMust GActionAlias [21:13:29] | GShant GActionAlias [21:13:32] etc. [21:21:25] inariksit: what can BNFC do that GF can't? (or is it about convenience/performance?)