"Scientific Clojure, a bird's eye view" by Thomas Clark

Explore Scientific Clojure's ecosystem with Thomas Clark, covering data manipulation libraries, Wolfram integration, visualization tools, and workflows for scientific computing.

Key takeaways
  • Scientific Clojure focuses on flexible, data-oriented approaches rather than rigid frameworks

  • Key libraries replacing Python scientific stack:

    • DtypeNext (NumPy replacement)
    • FastMath (mathematical operations)
    • Tablecloth (Pandas-like data manipulation)
  • Wolfram integration available through:

    • Wolframite 1.0 bridge
    • EMI library for math operations
    • Support for custom symbols and Unicode
  • Visual tools and plotting:

    • Clay for lightweight documentation and visualization
    • Hanami/Vega system for interactive plots
    • Plots treated as data for flexibility
    • Table Plot library in development
  • Documentation and testing:

    • Documentation generated from running code
    • Documentation serves as tests
    • Focus on tutorials that are executable tests
    • Integration with Quarto for multiple output formats
  • Scientific workflow considerations:

    • Scientists prioritize novelty over stability
    • Need for simple data transformations between domains
    • Importance of equation handling and symbolic math
    • Focus on adding new code rather than changing existing code
  • Community aspects:

    • Growing scientific Clojure ecosystem
    • Emphasis on voluntary cooperation
    • Benefits of being a smaller, focused community
    • Active development in scientific computing space
  • Interoperability:

    • Strong Python interop capabilities
    • Ability to gradually integrate existing workflows
    • Data-oriented approach to library interfaces
    • Support for larger-than-memory datasets