Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Crystal in Crystal

Building Crystal in Crystal

Crystal is a compiled ruby-like language and the compiler is written in Crystal itself. That means we can build crystal in crystal! The dream of rubinius come true! Explore a live session trying to implement a new feature in crystal!

This is an impromptu talk exploring what happens if you take a Ruby developer with slight crystal knowledge and let him do a live coding session implementing features in the crystal language itself. Exciting!

(impromptu talk as a talk had to be cancelled)


Tobias Pfeiffer

July 02, 2015


  1. None
  2. Speaker Tip #0: Use non standard slides

  3. Speaker Tip #0: Use non standard slides

  4. Speaker Tip #1: Rehearse your talk

  5. Speaker Tip #1: Check for spelling and order issues

  6. Speaker Tip #1: Have an engaging intro

  7. Hi

  8. Speaker Tip #2: Don't appologize for poorly prepared talks

  9. Sorry

  10. Building Crystal in Crystal Tobias Pfeiffer @PragTob Pragtob.info

  11. Speaker Tip #3: Avoid bullet lists

  12. Crystal • Compiled • (optionally) Statically type-checked • Method overloading

    • Speed • Ruby-like • http://crystal-lang.org/ • https://github.com/manastech/crystal
  13. Implemented in itself

  14. Rubinius?

  15. Speaker Tip #4: Make sure everything is readable

  16. None
  17. None
  18. You got my attention.

  19. Let's live code a Crystal feature!

  20. Speaker Tip #5: Never ever do live coding

  21. Speaker Tip #6: Really don't, something will go wrong

  22. Speaker Tip #7: If you do have a script or

    git history
  23. Oops.

  24. Speaker Tip #8: If you do make do it in

    a domain where you are really comfortable
  25. I have no idea about language implementations and wrote maybe

    ~200 loc Crystal
  26. Speaker Tip #9: If you do use an editor you

  27. Hi Atom.

  28. None
  29. Speaker Tip #10: Include some pictures

  30. Why should this work?

  31. It's just Ruby

  32. It's just Ruby(-ish)

  33. Let's get started!

  34. Speaker Tip #11: Have a great ending

  35. Thanks! @PragTob