[00:36:29] *** Joins: JuanDaugherty (~juan@98.4.124.117) [01:38:06] * mbrock stays up late trying to get the GF runtime to build with Haste (the Haskell-to-JavaScript compiler) [01:45:32] I had to patch away the custom Cabal build type, but I think that's only used to build the RGL and stuff, which I don't need anyway [02:54:06] *** Quits: JuanDaugherty (~juan@98.4.124.117) (Quit: Hibernate, reboot, exeunt, etc.) [03:53:53] * mbrock admits defeat and goes to sleep. Turns out Haste doesn't really work with ByteStrings, and my attempts to load PGF data via Base64 strings and `Haste.Binary' ended up in misery [08:01:19] *** Joins: JuanDaugherty (~juan@98.4.124.117) [09:35:21] *** Quits: JuanDaugherty (~juan@98.4.124.117) (Quit: Hibernate, reboot, exeunt, etc.) [09:38:40] mbrock: i have a copy of gf haskell runtime that works with haste (thanks to thomas hallgren) [09:39:04] but it has severe problems with the javascript call stack depth [10:13:53] *** Quits: proteus-guy (~proteus-g@2405:9800:b408:bc31:a1d5:650c:84bb:1f05) (Remote host closed the connection) [10:29:01] daherb: ah, I see. Have you tried GHCJS? [10:32:44] by the way, I was just looking around in the C runtime out of curiosity, and found out (1) that PGF contains virtual machine bytecode; (2) that the C runtime involves a JIT compiler; and (3) that the JIT compiler mentions stuff like "for stack alignment on System V" [10:36:11] mbrock: i only tried haste because that is also a chalmers thing [10:37:27] you know, it is nice that when you have a problem you only have to go to the office of the author and ask them how to solve it [10:40:39] :) indeed! I'll try GHCJS at some point though. I haven't used it much before, but I did manage to use it to build one project that had quite a lot of random Haskell dependencies, including lots of bytestrings [11:53:16] https://github.com/GrammaticalFramework/GF/tree/master/src/runtime/javascript looks like it hasn't been touched in a few years ... have you tried it? [11:57:05] *** Joins: proteusguy (~proteus-g@119.63.68.196) [11:59:14] yeah, I had some success with the JavaScript runtime, but also some inscrutable errors [12:01:28] compiling from Haskell appeals to me because I want to run some tree transformations and a bunch of logic aside from just translating [12:01:46] sure [12:01:50] that makes sense [12:02:34] *** Joins: venicecat (6d6e1376@gateway/web/freenode/ip.109.110.19.118) [12:02:59] btw, we have discovered a good cafe to work at: http://www.miit.lv/ [12:03:33] if you prefer tea, https://www.tripadvisor.com/Restaurant_Review-g274967-d2192607-Reviews-Apsara_Tea_House-Riga_Riga_Region.html [12:04:08] apsara has two locations: http://www.apsara.lv/gb/tea-houses-apsara/tea-houses-apsara-1 [12:06:04] what kind of tree transformations do you intend to perform? [12:06:19] ah, good choices :) my housemate worked at the teahouse [12:06:53] in theory such functions should be achievable in native GF, but in practice it appears to be easier to represent the symbolic logic of what you want to do separately from the grammar engine [12:07:33] for our project we are devising the underlying logic in a notation independent of, but reducible to, GF [12:08:06] that notation is itself a language which is given a compiler toolchain, etc [12:08:11] the input will have some different grammatical forms, so I will preprocess them into a "core grammar". That also involves e.g. expanding some "shortcuts" into several sentences of the core grammar; in my case, e.g. "X is north of Y" also becomes "Y is north of X" [12:08:19] eh, "Y is south of X", hehe [12:08:40] right, a sort of rule and reasoning engine. [12:08:44] yep [12:09:27] the paper i showed yesterday, http://www.sciencedirect.com/science/article/pii/S1567832613000143 also demonstrates the use of a domain-specific logic which stands apart from the GF [12:10:29] soon you will have SHRDLU.hs SHRDLU.bnf SHRDLU.gf ! lol [12:11:56] :D indeed [12:12:28] so, i commented that the logical elements of GF seem equivalent to a backwards horn close [12:12:37] why not embed the prolog-like reasoning into raw GF directly? [12:12:49] northof(A,B) :- southof(B,A). [12:13:37] hm, how would that look in GF [12:13:59] the head of the horn clause goes on the right [12:14:06] the body goes on the left [12:18:05] cat Ind ; Northof Ind Ind; Southof Ind Ind; fun NS : (a,b: Ind) -> (s : Southof b a) -> Northof a b; [12:18:33] i just woke up, but maybe that can actually be made to work? [13:21:59] *** Quits: venicecat (6d6e1376@gateway/web/freenode/ip.109.110.19.118) (Ping timeout: 260 seconds) [13:40:20] freeside: would be very interesting to try such things! [13:41:18] yay, I'm getting somewhere with GHCJS! [13:41:28] JavaScript: Fetching lastadija.pgf... [13:41:28] JavaScript: Invoking Haskell callback with Base64 result... [13:41:28] Haskell: Decoding Base64... [13:41:28] Haskell: PGF has languages [RigaEng,RigaLav,RigaSwe]! [13:55:54] parsing and linearizing seem to work just fine :D [15:00:18] *** Joins: venicecat (d45d78a1@gateway/web/freenode/ip.212.93.120.161) [15:18:39] *** Quits: venicecat (d45d78a1@gateway/web/freenode/ip.212.93.120.161) (Ping timeout: 260 seconds) [17:45:03] wow, nice [17:45:05] you did it [17:45:29] i have never done ghcjs [17:47:34] *** Joins: venicecat (50e8d9c0@gateway/web/freenode/ip.80.232.217.192) [18:13:04] *** Quits: venicecat (50e8d9c0@gateway/web/freenode/ip.80.232.217.192) (Ping timeout: 260 seconds) [18:39:01] *** Joins: venicecat (50e8d9c0@gateway/web/freenode/ip.80.232.217.192) [18:48:04] *** Quits: venicecat (50e8d9c0@gateway/web/freenode/ip.80.232.217.192) (Ping timeout: 260 seconds) [18:49:45] *** Joins: venicecat (50e8d9c0@gateway/web/freenode/ip.80.232.217.192) [18:53:40] hiya \o/ [18:53:44] hi [18:53:50] how do you do dates in GF? [18:53:51] any dinner plans for tonight? [18:54:18] ah hmm I don't remember if there's a ready-made category, but there's Digit and Digits for numbers [18:54:31] not really [18:54:40] we are just camping out at a teahouse [18:54:51] what do you have in mind? [18:54:52] fooooooooooooooooooooo\o/oooooooooooooooooooooood [18:55:13] nothing special, I've been just inside doing nothing + took empty bottles to recycling bin [18:55:26] so would be nice to go out and have company ^^ [18:55:28] aw [18:55:36] we went to the beach! i should have asked you to join us! [18:55:45] but we will go again! because today it was (1) cloudy (2) all russians [18:55:50] hehe yeah [18:56:01] I think I needed the rest, so I'm not sorry I missed it for today :) [18:56:06] we went to a place very near the beach :P [18:56:15] and I had some boring emails and less boring emails to send too ^^ [18:56:21] yay, you were productive [18:56:25] you mean the jurmala beach? [18:56:40] i have been introducing my research team to GF, they are now reading krasimir's phd thesis [18:56:44] nice! [18:57:13] yesterday i added some support for : separation in GF_LIB_PATH, i mentioned i should ask you if think this is a good idea or not [18:57:37] mm I have no idea why it wasn't supported before [18:57:44] at least I've never heard of a reason for it [18:57:51] but you can ask krasimir tomorrow [18:58:11] ok, i will ask him tomorrow [18:59:44] so which teahouse are you in now, and may I join? :) or if you have a dinner place in mind, I could come there directly too [19:00:51] please, join [19:00:56] i have no dinner place in mind [19:01:05] although it has been suggested we try Lido [19:01:39] we are at the teahouse on the left http://www.apsara.lv/gb/tea-houses-apsara/tea-houses-apsara-1 [19:03:18] okay, that's 15mins walk from here! I'll start leaving [19:03:51] yay [19:14:14] *** Joins: venicecat_ (50e8d9c0@gateway/web/freenode/ip.80.232.217.192) [19:15:29] *** Quits: venicecat (50e8d9c0@gateway/web/freenode/ip.80.232.217.192) (Ping timeout: 260 seconds) [19:30:20] we have the answer, due to inari, for those who are following the question about dates ... [19:30:34] 20170820-19:29:32 mengwong@venice2:~/non-db-src/GF% grep monthYear **/*.gf [19:30:36] lib/src/abstract/Construction.gf: monthYearAdv : Month -> Year -> Adv ; -- in May 2013 [20:12:19] it has been proposed that we dine at LIDO VĒRMANĪTIS [20:12:22] 65 Elizabetes Street, Riga [20:38:52] thanks to daherb -- some examples of using GF for logic programming can be found on page 10 of Krasimir's PhD thesis [20:56:59] *** Quits: venicecat_ (50e8d9c0@gateway/web/freenode/ip.80.232.217.192) (Ping timeout: 260 seconds) [21:12:15] *** Quits: proteusguy (~proteus-g@119.63.68.196) (Ping timeout: 248 seconds) [22:36:29] freeside: have you read chapter 8.8 Logical semantics of natural language in the GF book? [23:49:24] yes, i have! it was very inspiring. [23:54:14] *** Joins: venicecat (6d6e1376@gateway/web/freenode/ip.109.110.19.118) [23:57:29] after i work through the exercises from chapter 8, i will look through https://github.com/bringert/mosg