FMS: Functional Programming as a Modelling Language

  • Ingmar DassevilleEmail author
  • Gerda Janssens
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11285)


In this paper we introduce the Functional Modelling System (FMS). The system introduces the Functional Modelling Language (FML), which is a modelling language for NP-complete search problems based on concepts of functional programming. Internally, we translate FML specifications to an Answer Set Program to obtain models. We give a general overview of the new FML language, and how this language is handled in the system. We give a step-by-step walkthrough of the system, pointing out what features are in place, and what improvements are still possible.


  1. 1.
    Appel, A.W.: Modern Compiler Implementation in C. Cambridge University Press, Cambridge (1998)zbMATHGoogle Scholar
  2. 2.
    Blockeel, H., et al.: Modeling machine learning and data mining problems with FO(\(\cdot \)). In: Dovier, A., Costa, V.S. (eds.) Proceedings of the 28th International Conference on Logic Programming - Technical Communications (ICLP 2012). LIPIcs, vol. 17, pp. 14–25. Schloss Daghstuhl - Leibniz-Zentrum fuer Informatik, September 2012Google Scholar
  3. 3.
    Calimeri, F., et al.: ASP-Core-2 input language format. Technical report, ASP Standardization Working Group (2013)Google Scholar
  4. 4.
    Dasseville, I., van der Hallen, M., Bogaerts, B., Janssens, G., Denecker, M.: A compositional typed higher-order logic with definitions. In: Carro, M., King, A., De Vos, M., Saeedloei, N. (eds.) ICLP 2016. OASIcs, vol. 52, pp. 14.1–14.14. Schloss Dagstuhl, November 2016Google Scholar
  5. 5.
    De Cat, B.: Separating knowledge from computation: an FO(\(\cdot \)) knowledge base system and its model expansion inference. Ph.D. thesis, KU Leuven, Leuven, Belgium, May 2014Google Scholar
  6. 6.
    Ianni, G., Ielpa, G., Pietramala, A., Santoro, M.C., Calimeri, F.: Enhancing answer set programming with templates. In: Delgrande, J.P., Schaub, T. (eds.) 10th International Workshop on Non-Monotonic Reasoning (NMR 2004), Whistler, Canada, 6–8 June 2004, pp. 233–239 (2004)Google Scholar
  7. 7.
    Jansen, J., Jorissen, A., Janssens, G.: Compiling input\(\ast \) FO(\(\cdot \)) inductive definitions into tabled Prolog rules for IDP3. TPLP 13(4–5), 691–704 (2013)MathSciNetzbMATHGoogle Scholar
  8. 8.
    Peyton Jones, S.L., Marlow, S.: Secrets of the Glasgow Haskell Compiler inliner. J. Funct. Program. 12(4&5), 393–433 (2002)MathSciNetzbMATHGoogle Scholar
  9. 9.
    Leuschel, M., Butler, M.: ProB: a model checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003). Scholar
  10. 10.
    Marlow, S., Peyton Jones, S., Kmett, E., Mokhov, A.: Desugaring Haskell’s do-notation into applicative operations. In: Proceedings of the 9th International Symposium on Haskell, pp. 92–104. ACM (2016)Google Scholar
  11. 11.
    Microsoft. Language Server Protocol (2018)Google Scholar
  12. 12.
    Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: towards a standard CP modelling language. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 529–543. Springer, Heidelberg (2007). Scholar
  13. 13.
    Parr, T.: The definitive ANTLR 4 reference. In: Pragmatic Bookshelf (2013)Google Scholar
  14. 14.
    Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)zbMATHGoogle Scholar
  15. 15.
    Provetti, A., Son, T.C. (eds.): Answer Set Programming, Towards Efficient and Scalable Knowledge Representation and Reasoning, Proceedings of the 1st International ASP 2001 Workshop, Stanford, 26–28 March 2001Google Scholar
  16. 16.
    Schrijvers, T., Stuckey, P.J., Wadler, P.: Monadic constraint programming. J. Funct. Program. 19(6), 663–697 (2009)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Peyton-Jones, S., Marlow, S.: The Glasgow Haskell Compiler (2012)Google Scholar
  18. 18.
    Wadler, P.: Comprehending monads. Math. Struct. Comput. Sci. 2(4), 461–493 (1992)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Wazny, J.R.: Type inference and type error diagnosis for Hindley/Milner with extensions. Citeseer (2006)Google Scholar
  20. 20.
    Wittocx, J., Mariën, M., Denecker, M.: Grounding with bounds. In: Fox, D., Gomes, C.P. (eds.) AAAI, pp. 572–577. AAAI Press (2008)Google Scholar
  21. 21.
    Wittocx, J., Mariën, M., Denecker, M.: Grounding FO and FO(ID) with bounds. J. Artif. Intell. Res. (JAIR) 38, 223–269 (2010)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceKU LeuvenLeuvenBelgium

Personalised recommendations