



Publications 

1. 
Richard Bird and ShinCheng Mu, "A greedy algorithm for dropping digits (Functional Pearl)," Journal of Functional Programming, volume 31, pages e29, November 2021. 
2. 
ShinCheng Mu and TsungJu Chiang, "Longest segment of balanced parentheses — an exercise in program inversion in a segment problem (Functional Pearl)," Journal of Functional Programming, volume 31, pages e31, November 2021. 
3. 
Oleg Kiselyov, ShinCheng Mu and Amr Sabry, "Not by Equations Alone: Reasoning with Extensible Effects," Journal of Functional Programming, volume 31, pages e2, January 2021. ::: 
4. 
ShinCheng Mu and TsungJu Chiang, "Declarative pearl: deriving monadic Quicksort," Functional and Logic Programming (FLOPS 2020), Keisuke Nakano and Konstantinos Sagonas, editor, pages 124138, September 2020. ::: 
5. 
Koen Pauwels, Tom Schrijvers and ShinCheng Mu, "Handling local state with global state," Mathematics of Program Construction (MPC 2019), Graham Hutton, editor, Springer, pages 1844, October 2019. ::: 
6. 
ShinCheng Mu, "Calculating a backtracking algorithm: an exercise in monadic program derivation," number TRIIS19003, Institute of Information Science, Academia Sinica, 2019. ::: 
7. 
ShinCheng Mu, "Equational reasoning for nondeterminism monad: the case of Spark aggregation," number TRIIS19002, Institute of Information Science, Academia Sinica, 2019. ::: 
8. 
ChenMou Cheng, RueyLin Hsu and ShinCheng Mu, "Functional pearl: folding polynomials of polynomials," Functional and Logic Programming (FLOPS 2018), Lecture Notes in Computer Science, 10818, John Gallagher and Martin Sulzmann, editors, pages 6883, Springer, May 2018. ::: 
9. 
TingYan Lai, TyngRuey Chuang, and ShinCheng Mu, "Type safe Redis queries  a case study of typelevel programming in Haskell," 2nd Workshop on TypeDriven Development (TyDe 2017), September 2017. 
10. 
YuFang Chen, ChihDuo Hong, Ondřej Lengál, ShinCheng Mu, Nishant Sinha, and BowYaw Wang, "An executable sequential specification for Spark aggregation," International Conference on Networked Systems (NETYS), pages 421438, May 2017. 
11. 
ShinCheng Mu, YuHsi Chiang, and YuHan Lyu, "Queueing and glueing for optimal partitioning," International Conference on Functional Programming (ICFP 2016), Eijiro Sumii, editor, ACM Press, pages 158167, September 2016. 
12. 
YuHsi Chiang, ShinCheng Mu, "Formal derivation of greedy algorithms from relational specifications: a tutorial," Journal of Logic and Algebraic Programming, volume 85, number 5, Part 2, pages 879–905, August 2016. 
13. 
Sharon Curtis, ShinCheng Mu, "Calculating a lineartime solution to the densestsegment problem," Journal of Functional Programming, volume 25, number 0, pages e22 (32 pages), December 2015. 
14. 
Bruno C. d. S. Oliveira, ShinCheng Mu, ShuHung You, "Modular reifiable matching: a listoffunctors approach to twolevel types," Haskell Symposium 2015, Ben Lippmeier, editor, pages 8293, September 2015. 
15. 
ShinCheng Mu, YuHan Lyu, and Akimasa Morihata, "Approximate by Thinning: Deriving Fully PolynomialTime Approximation Schemes," Science of Computer Programming, volume 98, number 4, pages 484–515, February 2015. 
16. 
ShinCheng Mu, TingWei Chen, "Functional pearl: Nearest shelters in Manhattan," Programming Languages and Systems, Lecture Notes in Computer Science, 8858, pages 159175, November 2014. 
17. 
ShinCheng Mu and José Nuno Oliveira, "Programming from Galois connections," Journal of Logic and Algebraic Programming, volume 81, number 6, pages 680–704, August 2012. ::: 
18. 
YunYan Chi and ShinCheng Mu, "Constructing list homomorphisms from proofs," The 9th Asian Symposium on Programming Languages and Systems (APLAS 2011), December 2011. 
19. 
ShinCheng Mu and Akimasa Morihata, "Generalising and Dualising the Third ListHomomorphism Theorem," International Conference on Functional Programming, pages 385391, September 2011. 
20. 
ShinCheng Mu and Jose Nuno Oliveira, "Programming from Galois Connections," 12th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 12), Lecture Notes in Computer Science, May 2011. ::: 
21. 
ShinCheng Mu, YuHan Lyu, and Akimasa Morihata, "Constructing datatypegeneric fully polynomialtime approximation schemes using generalised thinning," The 6th ACM SIGPLAN workshop on Generic programming (WGP 2010), Bruno C.d.S. Oliveira and Marcin Zalewski, editor, ACM, pages 97108, September 2010. ::: 
22. 
Kazutaka Matsuda, ShinCheng Mu, Zhenjiang Hu, and Masato Takeichi, "A grammarbased approach to invertible programs," 19th European Symposium on Programming (ESOP 2010), Lecture Notes in Computer Science, 6012, pages 448467, March 2010. ::: 
23. 
SC. Mu, HS. Ko, and P. Jansson, "Algebra of programming in Agda: dependent types for relational program derivation," Journal of Functional Programming, volume 19, number 5, pages 545579, September 2009. ::: 
24. 
SC. Mu, HS. Ko, and P. Jansson, "Algebra of programming using dependent types," Mathematics of Program Construction 2008, Lecture Notes in Computer Science, 5133, pages 268283, July 2008. ::: 
25. 
Z. Hu, SC. Mu and M. Takeichi, "A programmable editor for developing structured documents based on bidirectional transformations," HigherOrder and Symbolic Computation, volume 21, number 12, pages 89118, May 2008. 
26. 
SC. Mu, "Maximum segment sum is back: deriving algorithms for two segment problems with bounded lengths," Partial Evaluation and Program Manipulation (PEPM '08), pages 3139, January 2008. ::: 
27. 
SC. Mu, TC. Tsai, K. Nakano, "XML Stream Processing Using a Lazy Concurrent Language," Programming Language Techniques for XML (PLANX 2008), January 2008. 
28. 
K. Nakano and SC. Mu, "A pushdown machine for recursive XML processing," The 4th Asian Symposium on Programming Language and Systems, Lecture Notes in Computer Science, 4279, pages 340356, 2006. 
29. 
SC. Mu, Z. Hu and M. Takeichi, "Bidirectionalizing tree transformation languages: a case study," JSSST Computer Software (コンピュータソフトウェア), volume 23, number 2, pages 129141, 2006. 
30. 
R. S. Bird and SC. Mu, "Countdown: a case study in origami programming," Journal of Functional Programming, volume 15, number 5, pages 679702, 2005. 
31. 
SC. Mu, Z. Hu and M. Takeichi, "An algebraic approach to bidirectional updating," Asian Symposium on Programming Languages and Systems, Lecture Notes in Computer Science, 3302, pages 218, November 2004. 
32. 
R. S. Bird and SC. Mu, "Inverting the BurrowsWheeler transform," Journal of Functional Programming, volume 14, number 6, pages 603612, November 2004. 
33. 
SC. Mu, Z. Hu and M. Takeichi, "An injective language for reversible computation," Mathematics of Program Construction 2004, Lecture Notes in Computer Science, 3125, pages 289313, July 2004. 
34. 
SC. Mu, "A Calculational Approach to Program Inversion," Oxford University Computing Laboratory, March 2003. 
35. 
SC. Mu and R. S. Bird, "Rebuilding a tree from its traversals: a case study of program inversion," Asian Symposium on Programming Languages and Systems, Lecture Notes in Computer Science, 2895, pages 265282, 2003. 
36. 
SC. Mu and R. S. Bird, "Theory and applications of inverting functions as folds," Science of Computer Programming, volume 51, pages 87116, 2003. 
37. 
SC. Mu and R. S. Bird, "Inverting functions as folds," Mathematics of Program Construction, Lecture Notes in Computer Science, 2386, July 2002. 
38. 
R. S. Bird, J. Gibbons and SC. Mu, "Algebraic methods for optimisation problems," Algebraic and Coalgebraic Methods in the Mathematics of Program Construction, pages 281307, SpringerVerlag, January 2002. 
39. 
SC. Mu and R. S. Bird, "Quantum functional programming," 2nd Asian Workshop on Programming Languages and Systems, December 2001. 
40. 
R. S. Bird and SC. Mu, "Inverting the BurrowsWheeler Transform," ACM SIGPLAN 2001 Haskell Workshop, September 2001, Superseded by the extended version for Journal of Functional Programming 
41. 
SC. Mu and R. S. Bird, "On building trees with minimum height, relationally," First Asian Workshop on Programming Languages and Systems, December 2000. 
42. 
TyngRuey Chuang and ShinCheng Mu, "Outofcore functional programming with typebased primitives," Practical Aspects of Declarative Languages, Lecture Notes in Computer Science, 1753, Enrico Pontelli and Victor Santos Costa, editor, pages 3246, Boston, Massachusetts, USA, January 2000, SpringerVerlag 
43. 
TR. Chuang and SC. Mu, "Outofcore functional programming with typebased primitives," Practical Aspects of Declarative Languages, January 2000. 
44. 
S. Seres and SC. Mu, "Optimisation problems in logic programming: an algebraic approach," Proceedings of LPSE'00, 2000. 
45. 
SC. Mu and R. S. Bird, "Algebraic Methods for Optimisation Problems,", Transfering dissertation 2000. 











