<div dir="ltr"><div class="gmail_extra"><div class="gmail_extra">Hey Josh,</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks for the input!</div><div class="gmail_extra"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <span style="font-size:12.8000001907349px">The CLI output has probably changed more than the API in the past.</span></blockquote><div><br></div><div>That&#39;s true, I actually hadn&#39;t thought about output changing, I only considered the input changing. Good point.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">This probably points to duplication of functionality between port.tcl</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">and Pallet. That would be better solved by sharing of code, perhaps in a</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">new front-end support library module.</span></blockquote><div><br></div><div>Yeah, there&#39;s definitely a good amount of code duplication between the two. However there&#39;s also a lot of code in there for setting up the Tcl interpreter, error handling for it, and all that jazz. <br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">Not really, parsing some arbitrary text is not easier than adding</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">another procedure to the bindings.</span></blockquote><div><br></div><div>Eh, depending on how you set up the parser it could either be the same, or possibly even easier. <br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">No progress callbacks</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">No interactive prompt callbacks</span></blockquote><div><br></div><div>Yeah, those would definitely be some of the downsides. All interactivity would more or less have to be simulated, and progress bars would definitely be trickier. </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">No ability to implement features that the CLI doesn&#39;t have</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">Worse performance</span></blockquote><div><br></div><div>Ah, these are some good points that I hadn&#39;t really considered. Though I suspect that there are few features for Macports that would be GUI only, it&#39;s still something to keep in mind. </div><div><br></div><div> </div><div>Thanks for the input! :)</div><div>-Kyle</div></div></div>