Episode #4 – Collections

Summary:

An overview of core and contributed collections and their use.

Show Notes:

Overview of Persistent Collections

Intro | Follow-up | News

  • Discussion on community relations

Immutable Persistent Collections

  • List vs Vector
    – Linked list vs tree implementation
  • Map vs Set
    – Key can be anything
    – KV | Unique KV
    – Relational operations on set are outside of core
  • Seq library
    – ISeq (first, rest, cons)
    – Interop with Java utterable
    – Functions are written to work against the Seq interface
    – Seq in, Seq out
  • Immutability and Persistence
    – What is it?
    – Why is it important?
    – Implementation
    http://hypirion.com/musings/understanding-persistent-vector-pt-1
    http://hypirion.com/musings/understanding-persistent-vector-pt-2
  • Lazy collections
    – What does it mean to be lazy?
    – What does it mean to hold on the head?
  • Eager operations
    – Sometimes you need side effects so you cannot be lazy
    – Doall, doseq
  • Persistent vs. Transient
    – Performance
  • Specter – Nathan Marz
    – Ensure output format of collection operations is controlled
    – Editing operations
    Clojure West 2016 presentation: https://www.youtube.com/watch?v=VTCy_DkAJGk
  • Community contributed collections – shout out to
    – Chris Houser – Data.zip
    – Michał Marczyk – Ctries and AVL
    – Mark Engelberg – Priority maps
    – Peter Schuck – Lean Hash Maps
    Clojure West 2016 presentation: https://www.youtube.com/watch?v=GibNOQVelFY

Credits:

Music: Thanks to the very talented ptzery for the permitting us to use his music on the opening and closing of the podcast. This track is Melon Hamburger. You can give his work some ❤️ and hear more on his SoundCloud.

Episode #3 – Tour of the REPLs with Mike Fikes

Summary:

An episode where we go on a tour of the Clojure and ClojureScript REPLs with a special guest Mr Mike Fikes.

Show Notes:

Mike helps us on our tour of the many forms of REPL as we look at

  • The technology needed to create a REPL for the web, for a specific OS
  • REPLs in editors and IDEs
  • File listening REPLs for live coding
  • REPLs that can be used in web pages to provide executable documentation
  • Fun ways to use REPLs for music, graphics and even 3D games

We start with Mike’S interview to be a REPL Author

[ Spoiler alert – he got the job and an amazing salary! ]

IDE REPLs
Cider | Cursive

File listener REPLs
figwheel | hoplon & boot | ring-refresh | test-refresh

Web REPLs
Klipse | Gorilla | instaREPL | Hymera | tryClojure | Dev Cards

Fun REPLs
Overtone | Sonic Pi | Repl electric

Credits:

Special Guest: Thanks again to Mike for his contribution to the podcast and for his stellar contributions to the ClojureScript ecosystem. Follow his work on Twitter at https://twitter.com/mfikes

Music: Thanks to the very talented ptzery for the permitting us to use his music on the opening and closing of the podcast. This track is Melon Hamburger. You can give his work some ❤️ and hear more on his SoundCloud.

Web sites mentioned:

  • Lots … working on these