Part I: My beta's beta
Yap is a shell...
(REPL, TTY, Process, Job Control, History, Line Editing)
(AST Evaluation Execution)
...a developer shell.
Concurrency (Simulated, Thread)
2 slides to explain why.
(1 of 2)
(2 of 2)
Can't I have a right prompt?
Must I remember time?
Language reference for simple things?
Am I writing in a shell scripting language?
Can't my prompt live update?
Can't my shell push information to me?
Can't I share my tidbits with others?
Can't I discover others tidbits?
Does everyone seem to copy/paste or use that one guy's . files?
Why can't I inline exec Ruby?
“You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time.”
Yap is my nighttime drive with shabby head lights.
Yap has a shell language, not a scripting language. It has Ruby.
the familiar bits
Shell language: pipes
Shell language: conditionals
Shell language: grouping
Shell language: redirection
Shell language: env vars
Shell language: expansions
Shell language: tab completion
Shell language: multiline input
Shell language: basic job scheduling
not yet familiar
Shell language: repetition
Shell language: repetition w/blocks
Shell language: blocks
Shell language: ranges
Let's talk about fun stuff
>1 tabs, =1 Branch
(Maybe piggy back on Rubygems)
Inline ruby code
[this is a reminder to go take a peek]
terminal-layout: minimal browser rendering engine
Treefell: debug logging utility
ANSIString: ANSI-sequence aware string implementation
# Want to play around? # (Yes rbenv, probably chruby, but no RVM) gem install yap-shell # Github http://github.com/zdennis/yap-shell # Ideas / Issues http://github.com/zdennis/yap-shell/issues # Docs will be up soon! http://github.com/zdennis/yap-shell/wiki
Introducing Yap - Part I: My beta's beta