{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,27]],"date-time":"2025-03-27T12:08:24Z","timestamp":1743077304075,"version":"3.40.3"},"publisher-location":"Cham","reference-count":20,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319452784"},{"type":"electronic","value":"9783319452791"}],"license":[{"start":{"date-parts":[[2016,1,1]],"date-time":"2016-01-01T00:00:00Z","timestamp":1451606400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2016]]},"DOI":"10.1007\/978-3-319-45279-1_9","type":"book-chapter","created":{"date-parts":[[2016,9,16]],"date-time":"2016-09-16T16:23:45Z","timestamp":1474043025000},"page":"125-139","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Optional Type Classes for Haskell"],"prefix":"10.1007","author":[{"given":"Rodrigo","family":"Ribeiro","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Carlos","family":"Camar\u00e3o","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Luc\u00edlia","family":"Figueiredo","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Cristiano","family":"Vasconcellos","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2016,9,17]]},"reference":[{"issue":"1","key":"9_CR1","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/j.scico.2016.03.007","volume":"124","author":"C Camar\u00e3o","year":"2016","unstructured":"Camar\u00e3o, C., Ribeiro, R., Figueiredo, L.: Ambiguity and constrained polymorphism. Sci. Comput. Program. 124(1), 1\u201319 (2016)","journal-title":"Sci. Comput. Program."},{"key":"9_CR2","volume-title":"Model Theory","author":"CC Chang","year":"2012","unstructured":"Chang, C.C., Keisler, H.J.: Model Theory, 3rd edn. Dover Books on Mathematics, New York (2012)","edition":"3"},{"key":"9_CR3","doi-asserted-by":"crossref","unstructured":"Chakravarty, M.M.T., Keller, G., Jones, S.P.: Associated type synonyms. In: Proceedings of the Tenth ACM SIGPLAN International Conference on Functional Programming, ICFP 2005, pp. 241\u2013253 (2005)","DOI":"10.1145\/1090189.1086397"},{"key":"9_CR4","doi-asserted-by":"crossref","unstructured":"Chen, S., Erwig, M.: Principal type inference for GADTs. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 416\u2013428 (2016)","DOI":"10.1145\/2837614.2837665"},{"key":"9_CR5","doi-asserted-by":"crossref","unstructured":"Eisenberg, R.A., Stolarek, J.: Promoting functions to type families in Haskell. In: Proceedings of the 2014 ACM SIGPLAN Symposium on Haskell, Haskell 2014, pp. 95\u2013106 (2014)","DOI":"10.1145\/2775050.2633361"},{"key":"9_CR6","doi-asserted-by":"crossref","unstructured":"Eisenberg, R.A., Vytiniotis, D., Jones, S.P., Weirich, S.: Closed type families with overlapping equations. In: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2014, pp. 671\u2013683 (2014)","DOI":"10.1145\/2535838.2535856"},{"key":"9_CR7","doi-asserted-by":"crossref","unstructured":"Eisenberg, R.A., Weirich, S.: Dependently typed programming with singletons. In: Proceedings of the 2012 ACM Haskell Symposium, Haskell 2012, pp. 117\u2013130 (2012)","DOI":"10.1145\/2364506.2364522"},{"key":"9_CR8","unstructured":"Glasgow Haskell Compiler. http:\/\/www.haskell.org\/ghc\/"},{"key":"9_CR9","unstructured":"Hallgren, T.: Fun with functional dependencies. In: Proceedings of the Joint CS\/CE Winter Meeting (2000)"},{"key":"9_CR10","doi-asserted-by":"crossref","unstructured":"Jones, M.P., Diatchki, I.S.: Language and program design for functional dependencies. In: Proceedings of the First ACM SIGPLAN Symposium on Haskell, Haskell 2008, pp. 87\u201398 (2008)","DOI":"10.1145\/1411286.1411298"},{"key":"9_CR11","doi-asserted-by":"crossref","unstructured":"Kiselyov, O., L\u00e4mmel, R., Schupke, K.: Strongly typed heterogeneous collections. In: Nilsson, H. (ed.) Proceedings of the ACM SIGPLAN Workshop on Haskell, Haskell 2004, pp. 96\u2013107 (2004)","DOI":"10.1145\/1017472.1017488"},{"key":"9_CR12","doi-asserted-by":"crossref","unstructured":"Lindley, S., McBride, C.: Hasochism: the pleasure and pain of dependently typed Haskell programming. In: Proceedings of the 2013 ACM SIGPLAN Symposium on Haskell, Haskell 2013, pp. 81\u201392 (2013)","DOI":"10.1145\/2503778.2503786"},{"key":"9_CR13","unstructured":"Silva, M., Camar\u00e3o, C., Controlling the scope of instances in Haskell. In: Proceedings of SBLP 2011, pp. 29\u201330 (2011)"},{"key":"9_CR14","doi-asserted-by":"crossref","unstructured":"Jones, M.: Qualified types: theory and practice. Ph.D. thesis, Distinguished Dissertations in Computer Science. Cambridge Univ. Press (1994)","DOI":"10.1017\/CBO9780511663086"},{"key":"9_CR15","volume-title":"Developing Web Applications with Haskell and Yesod","author":"M Snoyman","year":"2012","unstructured":"Snoyman, M.: Developing Web Applications with Haskell and Yesod. O\u2019Reilly Media Inc., California (2012)"},{"issue":"1","key":"9_CR16","first-page":"153","volume":"5","author":"GD Plotkin","year":"1970","unstructured":"Plotkin, G.D.: A note on inductive generalisation. Mach. Intell. 5(1), 153\u2013163 (1970)","journal-title":"Mach. Intell."},{"key":"9_CR17","first-page":"101","volume":"6","author":"GD Plotkin","year":"1971","unstructured":"Plotkin, G.D.: A further note on inductive generalisation. Mach. Intell. 6, 101 (1971)","journal-title":"Mach. Intell."},{"key":"9_CR18","doi-asserted-by":"crossref","unstructured":"Ribeiro, R., Camar\u00e3o, C., Figueiredo, L., Vasconcellos, C.: Optional Type Classes for Haskell \u2013 On-line Repository (2016). https:\/\/github.com\/rodrigogribeiro\/mptc","DOI":"10.1007\/978-3-319-45279-1_9"},{"issue":"6","key":"9_CR19","doi-asserted-by":"publisher","first-page":"1216","DOI":"10.1145\/1108970.1108974","volume":"27","author":"P Stuckey","year":"2005","unstructured":"Stuckey, P., Sulzmann, M.: A theory of overloading. ACM Trans. Program. Lang. Syst. 27(6), 1216\u20131269 (2005)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"9_CR20","doi-asserted-by":"crossref","unstructured":"Yorgey, B.A., Weirich, S., Cretin, J., Jones, S.P., Vytiniotis, D., Magalh\u00e3es, J.P.: Giving Haskell a promotion. In: Proceedings of the 8th ACM SIGPLAN Workshop on Types in Language Design and Implementation, TLDI 2012, pp. 53\u201366 (2012)","DOI":"10.1145\/2103786.2103795"}],"container-title":["Lecture Notes in Computer Science","Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-45279-1_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,13]],"date-time":"2019-09-13T13:06:55Z","timestamp":1568380015000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-45279-1_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016]]},"ISBN":["9783319452784","9783319452791"],"references-count":20,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-45279-1_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2016]]},"assertion":[{"value":"17 September 2016","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SBLP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Brazilian Symposium on Programming Languages","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Maring\u00e1","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Brazil","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2016","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 September 2016","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"23 September 2016","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"sblp2016","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}