[00:10:12] *** Quits: fotonzade (~photon@78.189.158.97) (Quit: Leaving) [01:07:40] *** Quits: sirdancealot (~sirdancea@79.98.72.195) (Ping timeout: 240 seconds) [03:17:51] *** Joins: venicecat (6c72863e@gateway/web/freenode/ip.108.114.134.62) [05:42:09] *** Quits: venicecat (6c72863e@gateway/web/freenode/ip.108.114.134.62) (Ping timeout: 260 seconds) [05:53:56] *** Joins: JuanDaugherty (~juan@98.4.124.117) [08:33:34] *** Quits: proteusguy (~proteus-g@2405:9800:b408:bc31:f203:8cff:fe8d:7f9f) (Ping timeout: 245 seconds) [09:36:35] *** Quits: JuanDaugherty (~juan@98.4.124.117) (Quit: Hibernate, reboot, exeunt, etc.) [10:20:53] *** Joins: sirdancealot (~sirdancea@79.98.72.195) [10:48:36] *** Joins: fotonzade (~photon@78.189.158.97) [10:57:47] *** Quits: stoopkid (uid137696@gateway/web/irccloud.com/x-gvvwkwgvejvqdure) (Quit: Connection closed for inactivity) [11:13:07] *** Quits: fotonzade (~photon@78.189.158.97) (Quit: Leaving) [11:27:10] *** Quits: sirdancealot (~sirdancea@79.98.72.195) (Ping timeout: 240 seconds) [12:05:39] *** Joins: fotonzade (~photon@78.189.158.97) [12:28:10] *** Joins: stoopkid (uid137696@gateway/web/irccloud.com/x-csdiexjzzeyfhsuh) [13:25:50] *** Quits: fotonzade (~photon@78.189.158.97) (Quit: Leaving) [14:20:13] *** Joins: fotonzade (~photon@78.189.158.97) [14:27:19] *** Joins: proteusguy (~proteus-g@2405:9800:b408:bc31:f203:8cff:fe8d:7f9f) [21:04:11] *** Joins: freeside (~mengwong@2601:184:4700:16b0:6c5f:134e:e14a:e01e) [21:12:32] moo. [21:13:30] is there a magical implicit { s : Str } imputed to all lincat types? [21:14:25] i'm working through the exercises in 3.10 of the GF book and it seems that GF 3.8 doesn't quite inhabit the assertion "a linearization can by any combination of strings, parameters, tables, and records". [21:17:15] i'm doing the a^n b^n c^n exercise, and i'm riffing off the Copy language, but an implicit {s: ...} structure seems to be creeping in to my lincat types. [21:23:09] abstract Fermat = { [21:23:09] flags startcat = S; [21:23:09] cat S ; T ; ABC; [21:23:09] fun ts : T -> S; nil : ABC; mkt : T -> T; [21:23:09] } [21:23:16] concrete FermatEng of Fermat = { [21:23:16] lincat S, ABC = Str ; [21:23:16] T = { a,b,c : ABC }; [21:23:16] lin nil = [] ; [21:23:16] ts t = t.a ++ t.b ++ t.c ; [21:23:17] mkt t = { a = t.a ++ "a" [21:23:17] ; b = t.b ++ "b" [21:23:18] ; c = t.c ++ "c" } ; [21:23:18] } [21:24:38] FermatEng.gf:5: Happened in linearization of ts unknown label a in {s : Str} [21:39:25] what's mysteriuos about this? I don't define a {s:Str} anywhere! [22:00:03] *** Quits: freeside (~mengwong@2601:184:4700:16b0:6c5f:134e:e14a:e01e) (Read error: Connection reset by peer) [22:00:40] *** Joins: JuanDaugherty (~juan@98.4.124.117) [23:43:40] *** Joins: freeside (~mengwong@2601:184:4700:16b0:6c5f:134e:e14a:e01e) [23:43:40] ah. [23:43:50] maybe i have run afoul of the rule against run-time variables. [23:56:14] hello! [23:56:35] if you don't specify a lincat, then the default category is just {s : Str} [23:57:19] it may be that if you specify your category that doesn't include an s field, GF thinks that's suspicious and invalid and does something stupid [23:57:57] can you try again and add just some dummy s-field in your lincat of T? [23:58:26] your code doesn't look like you're violating any run-time variable rules; you are not matching against strings, nor using the single +