<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div><div>Hi all,</div><div>this patch is a first chunk of work on the NS4-HLP-LLC (New System for Helping People Learn LLDB Commands)</div><div><br></div><div>It introduces a Karma class in the CommandInterpreter, whose purpose is to track positive and negative command-based interactions with the debugger</div><div>Currently, each session starts with +5 karma points, and:</div><div>- using the help command adds 1 karma point</div><div>- using the apropos command adds 1 karma point</div><div>- having a command fail to run correctly takes away 1 karma point</div><div><br></div><div>When your karma level goes below 0, you cannot run commands anymore.</div><div>However, you can still use the help command to learn commands AND restore karma points.</div><div><br></div><div>Currently, you can only use the no-arguments version of “help” when you have no karma (essentially, just get a list of debugger commands), but this will be improved upon in a follow-up patch.</div><div><br></div><div>Also in a follow-up patch, more activities will have karma effects:</div><div>- using the `expr` syntax will gain karma</div><div>- so will creating a data formatter</div><div>- memory read from address 0 will lose karma - even if the command succeeds</div><div><br></div><div>…and we are definitely open to suggestions as to what activities you think should earn or lose karma for the user!</div><div><br></div><div>I am sure by now you realized this is going towards LLDB having an achievements system! Stay tuned!</div><div><br><div apple-content-edited="true">
<div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; -webkit-text-stroke-width: 0px; word-spacing: 0px; white-space: normal; text-transform: none; letter-spacing: normal; color: rgb(0, 0, 0);"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><i>- Sent from Enrico's desk on April 1st 2014</i><br>📩 egranata@<font color="#ff2600"></font>.com ☎️ 27683</div><div><br></div></div></div></div></div></div></div></body></html>