Skip to main content

LuaRocks - A Declarative and Extensible Package Management System for Lua

  • Conference paper
Programming Languages (SBLP 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8129))

Included in the following conference series:

  • 468 Accesses

Abstract

While sometimes dismissed as an operating systems issue, or even a matter of systems administration, module management is deeply linked to programming language design. The main issues are how to instruct the build and runtime environments to find modules and handle their dependencies; how to package modules into redistributable units; how to manage interaction of code written in different languages; and how to map modules to files. These issues are either handled by the language itself or delegated to external tools. Language-specific package managers have risen as a solution to these problems, as they can perform module management portably and in a manner suited to the overall design of the language. This paper presents LuaRocks, a package manager for Lua modules. LuaRocks adopts a declarative approach for specifications using Lua itself as a description language and features an extensible build system that copes with the heterogeneity of the Lua ecosystem.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Adler, J.: R in a Nutshell, pp. 37–47. O’Reilly Media (October 2012) ISBN 144931208X

    Google Scholar 

  2. Apache Software Foundation. Apache Maven Project, https://maven.apache.org/

  3. Bailey, E.: Maximum RPM, p. 450. Sams (August 1997) ISBN 0672311054

    Google Scholar 

  4. Balbaert, I.: The Way To Go: A Thorough Introduction to the Go Programming Language, pp. 203–223. iUniverse (March 2012) ISBN 1469769166

    Google Scholar 

  5. Barzilay, E., Orlovsky, D.: Foreign Interface for PLT Scheme. In: Fifth Workshop on Scheme and Functional Programming, Snowbird Utah, USA (September 22, 2004)

    Google Scholar 

  6. Beane, Z.: Quicklisp, http://www.quicklisp.org/

  7. Berube, D.: Practical Ruby Gems. Apress (April 2007) ISBN 1590598113

    Google Scholar 

  8. Christiansen, T., Foy, B.D., Wall, L., Orwant, J.: Programming Perl, 4th edn., pp. 629–644. O’Reilly Media, ISBN 0596004923

    Google Scholar 

  9. CocoaPods, http://www.cocoapods.org

  10. Corcoran, L.: MoonRocks, http://rocks.moonscript.org/

  11. Gift, N., Jones, J.: Python for Unix and Linux System Administration, pp. 279–283. O’Reilly Media (August 2008) ISBN 0596515820

    Google Scholar 

  12. Hagelberg, P., et al.: Leiningen, http://leiningen.org/

  13. Hatcher, E., Loughran, S.: Java Development with Ant, p. 672. Manning Publications (August 2002) ISBN 1930110588

    Google Scholar 

  14. Heller, T., et al.: Python CTypes, http://docs.python.org/3/library/ctypes.html

  15. Ierusalimschy, R., Figueiredo, L.H., Celes, W.: The evolution of Lua. In: History of Programming Languages III, San Diego, USA (June 2007)

    Google Scholar 

  16. ISO/IEC 23271:2012. Information Technology — Common Language Infrastructure (CLI)

    Google Scholar 

  17. Jones, I., Peyton Jones, S., Marlow, S., Wallace, M., Patterson, R.: The Haskell Cabal: A Common Architecture for Building Applications and Tools. In: Haskell Workshop (2005)

    Google Scholar 

  18. Kepler Project. LuaJava — A script tool for Java, http://keplerproject.org/luajava/

  19. Krafft, M.: The Debian System: Concepts and Techniques, p. 608. No Starch Press (September 2005) ISBN 1593270690

    Google Scholar 

  20. Lehey, G.: The Complete FreeBSD: Documentation from the Source, 4th edn., pp. 167–180. O’Reilly Media (April 2003) ISBN 0596005164

    Google Scholar 

  21. Muhammad, H., Ierusalimschy, R.: C APIs in extension and extensible languages. Journal of Universal Computer Science 13(6)

    Google Scholar 

  22. Mascarenhas, F.: Alien — Pure Lua extensions, http://mascarenhas.github.com/alien/

  23. Microsoft, MSDN Library, Side-by-side Assemblies (Windows) (August 2010), http://msdn.microsoft.com/en-us/library/aa376307.aspx

  24. Osterhout, J.: Scripting: Higher Level Programming for the 21st Century. IEEE Computer 31(3), 23–30 (1998)

    Article  Google Scholar 

  25. Outercurve Foundation. NuGet Gallery, https://nuget.org/

  26. Packagist, http://www.packagist.org

  27. PLaneT Package Repository, http://planet.racket-lang.org/

  28. Powers, S.: Learning Node, pp. 63–79. O’Reilly Media (October 2012) ISBN 1449323073

    Google Scholar 

  29. Python Package Index, https://pypi.python.org/pypi

  30. Ruby Version Manager, https://rvm.io/

  31. Snoyman, M.: Solving Cabal Hell, http://www.yesodweb.com/blog/2012/11/solving-cabal-hell

  32. Sonatype Inc. The Central Repository, https://search.maven.org

  33. Spinellis, D.: Package Management Systems. IEEE Software 29(2), 84–86 (2012), doi:10.1109/MS.2012.38

    Article  Google Scholar 

  34. Worthmuller, S.: No End to DLL Hell! Dr. Dobb’s Journal (September 2010), http://www.drdobbs.com/windows/no-end-to-dll-hell/227300037

  35. Ziadć, T.: Chronology of Packaging, http://ziade.org/2012/11/17/chronology-of-packaging/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Muhammad, H., Mascarenhas, F., Ierusalimschy, R. (2013). LuaRocks - A Declarative and Extensible Package Management System for Lua. In: Du Bois, A.R., Trinder, P. (eds) Programming Languages. SBLP 2013. Lecture Notes in Computer Science, vol 8129. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40922-6_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40922-6_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40921-9

  • Online ISBN: 978-3-642-40922-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics