[09:22:42] *** Quits: wmacmil (~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 256 seconds) [10:54:20] *** Joins: wmacmil (~wmacmil@c83-252-138-144.bredband.comhem.se) [11:17:36] how do you understand the `no trees found` response [11:17:38] PlType> gr [11:17:38] Eval (TypSig (MkName "Foo") (ExtendCls (BaseClas Num) Xx EmptCls) (TPair (TVar Yy) (TVar Zz))) [11:17:38] 1 msec [11:17:38] PlType> i PlTypeHs.gf [11:17:38] linking ... OK [11:17:39] Languages: PlTypeHs [11:17:41] 8 msec [11:17:43] PlType> gr [11:17:45] no trees found [11:17:47] 0 msec [11:18:14] i can generate trees with just the abstract file but then when I load the concrete I get nothing [11:18:30] why is this? can share code if needed! [11:37:38] wmacmil: wrong start category? [11:38:01] inariksit: i just discovered this frankenstein phd thesis cover: http://www.cse.chalmers.se/temporary/nytt-omslag-disp.pdf [11:38:59] wmacmil: having a look at the code would help [11:39:09] and forget my previous question [11:39:58] i would guess some function is missing that is necessary to create a term of the start category [11:40:10] what happens if you linearize the abstract tree? [11:41:27] it works [11:41:27] PlType> l (MkName "Foo") [11:41:27] Foo [11:41:27] 1 msec [11:42:28] what about "l Eval (TypSig (MkName "Foo") (ExtendCls (BaseClas Num) Xx EmptCls) (TPair (TVar Yy) (TVar Zz)))" [11:42:31] ? [11:43:37] i haven't yet completed the lincats [11:44:21] https://gist.github.com/wmacmil/5c2e8e85cf1a8e6684ceaf1f393af4ce [11:44:24] then that's probably the problem [11:45:15] so you can't generate trees even though you aren't linearizing them? with incomplete lincats [11:45:42] what is the resulting category of MkName? if it is Name, you can try if "gr -cat=Name" works [11:46:09] i am not sure but that seems like an acceptable guess [11:46:38] https://gist.github.com/wmacmil/40b862f4e2ae849171323c788f306cef [11:47:15] PlType> gr -cat=Name [11:47:15] MkName "Foo" [11:48:42] ok i'll complete the lincats [11:48:48] and let you know if any problems persis [11:48:50] t [11:48:51] thanks [11:53:46] *** Quits: wmacmil (~wmacmil@c83-252-138-144.bredband.comhem.se) (Ping timeout: 272 seconds) [12:54:48] *** Joins: wmacmil (~wmacmil@212.85.68.186) [13:04:26] i'm getting the follow error for a function [13:04:28] PlTypeHs.gf: [13:04:28] PlTypeHs.gf:49: [13:04:28] Happened in operation addClass [13:04:28] {s = str; [13:04:28] empt = False} is not in the lincat of Clas; try wrapping it with lin Clas [13:04:45] oper [13:04:46] addClass : Str -> Clas ; [13:04:46] addClass str = { s = str ; empt = False } ; [13:04:57] Clas = { s : Str } ** { empt : Bool } ; [13:05:12] lincat Clas = { s : Str } ** { empt : Bool } ; [13:05:54] Will anyone help me decipher what it means/is wrong [13:08:25] wmacmil: just write addClass str = lin Clas { s = str ; empt = False } ; [13:08:40] tack! [13:09:02] lincats have hidden so-called lock fields that are missing in the plain record [13:09:25] by putting lin XXX in front of it you add the lock field for category XXX [13:17:41] @daherb, how's it going teaching gf via zoom btw [13:17:57] or whatever means you're using [13:26:14] wmacmil: unfortunately it is not as much interaction as in a computer lab [13:26:31] but we are doing our best [15:20:15] *** Quits: wmacmil (~wmacmil@212.85.68.186) (Ping timeout: 260 seconds) [15:49:17] *** Joins: wmacmil (~wmacmil@c83-252-138-144.bredband.comhem.se) [16:19:58] following up from yesterday, regarding list categories [16:21:49] is there any way to either customize the ConsC function to take an additional arguement, or to somehow do it explicitly [16:26:03] If i Have a function defined as follows, how can i intersperse the TypVar variable into the [Clas] linearlization. [16:26:04] fun [16:26:04] ExtendCls : [Clas] -> TypVar -> TypCls -> TypCls ; [16:26:04] lincat [16:26:04] Clas = Str ; [16:26:05] lin [16:26:07] BaseClas cl = cl ; [16:26:09] ConsClas cl lcl = cl ++ "," ++ lcl ; -- : C -> ListC -> ListC [16:26:11] I want [16:26:15] lin [16:26:17] ConsClas cl lcl = \x (cl ++ x ++ "," ++ lcl); -- where x here represents the Typvar [16:29:51] because the only way to define a linearization category (Clas, in this case) is via a table, right? But the table parameters can't be an arbitrary string? and it doesn't seem like a correct approach to solving this problem [17:03:41] wmacmil: i am afraid but i don't think it is possible [17:04:13] i tried something similar when i implemented coordination in latin [17:04:24] what strings would you expect for x? [17:13:44] just names [17:14:48] the goal is just for proper typeclass constraints in a haskell typing judgement [17:15:30] for instance [17:15:31] idBb :: (Num b, Ord b, Monad asdf ) => b -> asdf Int -> b [17:16:48] so the Num and Ord would constitute the list, and we'd just have one abstract node for the b (in the typeclass part of the signature) with seperate b nodes for the actual typing part [17:17:43] so then if it got linearized to English we could say "where b has typeclasses Num and Ord, and asdf is a Monad) [17:18:14] i'm going to run but if you post an answer i'll check the logs when i get back. or you can just wait til later