Win a copy of Head First Android this week in the Android forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Tim Cooke
  • Junilu Lacar
Sheriffs:
  • Rob Spoor
  • Devaka Cooray
  • Jeanne Boyarsky
Saloon Keepers:
  • Jesse Silverman
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
  • Tim Holloway
Bartenders:
  • Jj Roberts
  • Al Hobbs
  • Piet Souris

Light Table - where do I start?

 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm just starting (again) with Light Table, the minimalist and innovative IDE for Clojure (and other languages) created by Chris Grainger.

But if you're like me, the first time you downloaded and started up Light Table, you were left scratching your head, staring at a virtually empty Welcome screen and wondering what to do next.

So here's my recommendation:

  • Download and start up Light Table and leave it in the Welcome screen for now.
  • In your browser, run the very helpful Introduction to Light table video from Misophistful.
  • Watch the video and try some of the examples out as you're watching.

  • This will give you an introduction to what Light Table is, and how to do basic things like find the list of commands.

  • Now watch Misophistful's equally helpful video on Test Driving Clojure in Light Table which gives you a gentle introduction to Clojure, TDD and Light Table.

  • Finally, remember to check the Light Table docs which seem to contain lots of useful material. You can access this in Light Table as follows:

  • Control-space to open the Commands tab.
  • Type "docs" to run a fuzzy search.
  • Select "Docs: Open Light Table's documentation".

  • Look out for the "Getting Started" section, which is where I plan to spend my next hour or so...

    Have fun!

     
    Rancher
    Posts: 357
    21
    Mac OS X Monad Clojure Linux
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Excellent advice! I started dipping into LightTable as soon as the first version became available, moving up to one day a week by the time 0.5.0 appeared. When 0.6.0 appeared, I switched to it full-time for all my development - not just Clojure. I came from two years of Emacs so I've installed the Emacs plugin for LT and enabled Emacs mode in the underlying CodeMirror editor. There are a lot of useful plugins - and REPL/inline-eval for an increasingly wide selection of languages - and it keeps growing from strength to strength.

    It's definitely still a "developer's editor" rather than a general IDE: it needs some care and feeding, and it still has a bunch of quirks. But it's usable on a day-to-day basis now, despite that.

    I find the live eval feature to be so overwhelmingly useful that I'm willing to put up with the quirks.

    I usually have three tabsets open (three columns) with console on the left, my source file in the middle, my test file on the right. I write the ns declaration in both files and then ctl-shift-enter eval the whole source file and then ctl-shift-enter eval the whole test file, then I work back and forth between the tests and the code slowly growing my code over time, and evaluating each form as I write it (ctl-enter). I have a custom keymap for ctl-c , to run my Expectations (it's bound to [(:eval.custom "(expectations/run-tests [*ns*])")] so that it evaluates whatever tests have been defined.

    The immediately feedback and the ability to have really small increments of code for exploration and testing is incredibly valuable.

    I'm also using core.typed so I can overlay strong typing if I want (and I have ctl-c t bound to [(:eval.custom "(clojure.core.typed/check-ns)")] to run type checking on my code "instantly").

    Results appear inline in the source / test files, and console output appears continuously in the left tabset so you get both immediate and detailed information about your code works - or doesn't.
     
    chris webster
    Bartender
    Posts: 2407
    36
    Scala Python Oracle Postgres Database Linux
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    Thanks for the tips, Sean. Good to get some insights from somebody who's been using Light Table to do real development. Although I don't think I'll be engaging Emacs-mode any time soon!
     
    You showed up just in time for the waffles! And this tiny ad:
    Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
    https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
    reply
      Bookmark Topic Watch Topic
    • New Topic