@@ -4,27 +4,74 @@ opaque type Position[Buffer] = Int
44
55trait TokenParser [Token , R ]
66
7- object TextParser {
8- implied TP for TokenParser [Char , Position [CharSequence ]] {}
7+ package p1 {
98
10- implied FromCharToken
11- given (T : TokenParser [Char , Position [CharSequence ]]) for Conversion [Char , Position [CharSequence ]] = ???
9+ object TextParser {
10+ implied TP for TokenParser [Char , Position [CharSequence ]] {}
11+
12+ implied FromCharToken
13+ given (T : TokenParser [Char , Position [CharSequence ]]) for Conversion [Char , Position [CharSequence ]] = ???
14+ }
15+
16+
17+ object Testcase {
18+ def main (args : Array [String ]): Unit = {
19+ import implied TextParser ._
20+ import TextParser ._
21+
22+ val tp_v : TokenParser [Char , Position [CharSequence ]] = TextParser .TP
23+ val tp_i = the[TokenParser [Char , Position [CharSequence ]]]
24+ val co_i = the[Conversion [Char , Position [CharSequence ]]]
25+ val co_x : Position [CharSequence ] = 'x'
26+
27+ {
28+ implied XXX for Conversion [Char , Position [CharSequence ]] = co_i
29+ val co_y : Position [CharSequence ] = 'x'
30+ }
31+ }
32+ }
33+ }
34+ package p2 {
35+
36+ object TextParser {
37+ implicit object TP extends TokenParser [Char , Position [CharSequence ]] {}
38+
39+ implicit def FromCharToken (c : Char )(implicit T : TokenParser [Char , Position [CharSequence ]]): Position [CharSequence ] = ???
40+ }
41+
42+ object Testcase {
43+ def main (args : Array [String ]): Unit = {
44+ import TextParser ._
45+ import implied TextParser ._
46+
47+ val tp_v : TokenParser [Char , Position [CharSequence ]] = TextParser .TP
48+ val tp_i = the[TokenParser [Char , Position [CharSequence ]]]
49+ val co_x : Position [CharSequence ] = 'x'
50+ }
51+ }
1252}
53+ package p3 {
1354
55+ object TextParser {
56+ implicit object TP extends TokenParser [Char , Position [CharSequence ]] {}
57+
58+ implicit def FromCharToken (implicit T : TokenParser [Char , Position [CharSequence ]]): Conversion [Char , Position [CharSequence ]] = ???
59+ }
1460
15- object Testcase {
16- def main (args : Array [String ]): Unit = {
17- import TextParser ._
18- import implied TextParser ._
61+ object Testcase {
62+ def main (args : Array [String ]): Unit = {
63+ import implied TextParser ._
64+ import TextParser ._
1965
20- val tp_v : TokenParser [Char , Position [CharSequence ]] = TextParser .TP
21- val tp_i = the[TokenParser [Char , Position [CharSequence ]]]
22- val co_i = the[Conversion [Char , Position [CharSequence ]]]
23- val co_x : Position [CharSequence ] = 'x'
66+ val tp_v : TokenParser [Char , Position [CharSequence ]] = TextParser .TP
67+ val tp_i = the[TokenParser [Char , Position [CharSequence ]]]
68+ implicit val co_i : Conversion [ Char , Position [ CharSequence ]] = the[Conversion [Char , Position [CharSequence ]]]
69+ val co_x : Position [CharSequence ] = 'x'
2470
25- {
26- implied XXX for Conversion [Char , Position [CharSequence ]] = co_i
27- val co_y : Position [CharSequence ] = 'x'
71+ {
72+ implied XXX for Conversion [Char , Position [CharSequence ]] = co_i
73+ val co_y : Position [CharSequence ] = 'x'
74+ }
2875 }
2976 }
3077}
0 commit comments