{"action":"created","comment":{"url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/comments/77758342","id":77758342,"diff_hunk":"@@ -1,38 +1,47 @@\n # Language\n _What is the name of the language? Link the name to its webpage \n-(if appropriate)._\n+\n+Shepherd http://github.hubspot.com/shepherd/docs/welcome/\n \n \n # Domain\n-_Describe the language's domain in five words._\n+Web pages that require tutorials\n \n \n # Computational model\n _We don't yet have a great definition of the term \"computational model\". \n For now, try to come up with the clearest, most concise explanation of \n what happens when a program in your DSL runs._\n \n+Shepherd is a JavaScript library used to guide users through a web page. It allows informative textboxes to be easily pinned to elements through the use of id’s and class names. Users go through the tutorial sequentially through mouse clicks of two buttons: a “next” button that moves to the next step of the tutorial and either a “back” or “exit” button. It relies on another open-source library, Tether, to position all of its steps. \n \n # DSL-ness\n _Fowler writes about a spectrum of languages, from general-purpose languages to \n \"purely\" domain-specific. Where does the DSL you chose fall on this spectrum, \n and why?_ \n \n+It’s an internal domain-specific language. Shepherd has some aspects of general-purpose languages like conditionals – to determine whether to go back or forward in the tutorial. But for the most part, has more domain-specific attributes. Code written with Shepherd has a sense of fluency in its structure, and Shepherd’s limited expressiveness means it can only be used in the particular domain of web page tutorials. \n \n # Internal or external?\n _Is the language implemented as an internal or external DSL? \n Justify your answer._\n \n+Shepherd is an internal domain-specific language because it is valid code in its host language, JavaScript. \n \n # Host language\n _What language(s) was (were) used to implement the DSL?_\n \n+HTML, CSS, and JavaScript\n \n # Benefits\n _Identify one potential benefit of the DSL: how is a programmer's life or a \n company's bottom line made easier by the existence of this language?_\n \n+Instead of having to manually use HTML, CSS and JavaScript to pin informative textboxes manually on a webpage, programmers can use this framework. To make a tutorial in this style without this framework would require a lot of experimentation with CSS positioning which could be quite time-consuming. ","path":"my-dsl.md","position":42,"original_position":42,"commit_id":"bf2ed9e488adc4fe03ceb50f02a9294fe94de9ab","original_commit_id":"bf2ed9e488adc4fe03ceb50f02a9294fe94de9ab","user":{"login":"annawoorim","id":21355294,"avatar_url":"https://avatars.githubusercontent.com/u/21355294?v=3","gravatar_id":"","url":"https://api.github.com/users/annawoorim","html_url":"https://github.com/annawoorim","followers_url":"https://api.github.com/users/annawoorim/followers","following_url":"https://api.github.com/users/annawoorim/following{/other_user}","gists_url":"https://api.github.com/users/annawoorim/gists{/gist_id}","starred_url":"https://api.github.com/users/annawoorim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/annawoorim/subscriptions","organizations_url":"https://api.github.com/users/annawoorim/orgs","repos_url":"https://api.github.com/users/annawoorim/repos","events_url":"https://api.github.com/users/annawoorim/events{/privacy}","received_events_url":"https://api.github.com/users/annawoorim/received_events","type":"User","site_admin":false},"body":"I agree, this seems like a very useful tool for web developers to have! Since it's not necessarily a function that many people will use frequently, but it'll be really nice to have Shepherd if someone does want to implement a tutorial.","created_at":"2016-09-07T04:23:19Z","updated_at":"2016-09-07T04:23:19Z","html_url":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL/pull/14#discussion_r77758342","pull_request_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/14","_links":{"self":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/comments/77758342"},"html":{"href":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL/pull/14#discussion_r77758342"},"pull_request":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/14"}}},"pull_request":{"url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/14","id":83954492,"html_url":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL/pull/14","diff_url":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL/pull/14.diff","patch_url":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL/pull/14.patch","issue_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/issues/14","number":14,"state":"open","locked":false,"title":"Justin Chan","user":{"login":"jchani","id":14183256,"avatar_url":"https://avatars.githubusercontent.com/u/14183256?v=3","gravatar_id":"","url":"https://api.github.com/users/jchani","html_url":"https://github.com/jchani","followers_url":"https://api.github.com/users/jchani/followers","following_url":"https://api.github.com/users/jchani/following{/other_user}","gists_url":"https://api.github.com/users/jchani/gists{/gist_id}","starred_url":"https://api.github.com/users/jchani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jchani/subscriptions","organizations_url":"https://api.github.com/users/jchani/orgs","repos_url":"https://api.github.com/users/jchani/repos","events_url":"https://api.github.com/users/jchani/events{/privacy}","received_events_url":"https://api.github.com/users/jchani/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-09-05T06:20:02Z","updated_at":"2016-09-07T04:23:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ff09d7cb1e2bb8dbd01c8ed95f3c05cb88f1c21c","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/14/commits","review_comments_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/14/comments","review_comment_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/issues/14/comments","statuses_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/statuses/bf2ed9e488adc4fe03ceb50f02a9294fe94de9ab","head":{"label":"jchani:master","ref":"master","sha":"bf2ed9e488adc4fe03ceb50f02a9294fe94de9ab","user":{"login":"jchani","id":14183256,"avatar_url":"https://avatars.githubusercontent.com/u/14183256?v=3","gravatar_id":"","url":"https://api.github.com/users/jchani","html_url":"https://github.com/jchani","followers_url":"https://api.github.com/users/jchani/followers","following_url":"https://api.github.com/users/jchani/following{/other_user}","gists_url":"https://api.github.com/users/jchani/gists{/gist_id}","starred_url":"https://api.github.com/users/jchani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jchani/subscriptions","organizations_url":"https://api.github.com/users/jchani/orgs","repos_url":"https://api.github.com/users/jchani/repos","events_url":"https://api.github.com/users/jchani/events{/privacy}","received_events_url":"https://api.github.com/users/jchani/received_events","type":"User","site_admin":false},"repo":{"id":67389329,"name":"what-is-a-DSL","full_name":"jchani/what-is-a-DSL","owner":{"login":"jchani","id":14183256,"avatar_url":"https://avatars.githubusercontent.com/u/14183256?v=3","gravatar_id":"","url":"https://api.github.com/users/jchani","html_url":"https://github.com/jchani","followers_url":"https://api.github.com/users/jchani/followers","following_url":"https://api.github.com/users/jchani/following{/other_user}","gists_url":"https://api.github.com/users/jchani/gists{/gist_id}","starred_url":"https://api.github.com/users/jchani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jchani/subscriptions","organizations_url":"https://api.github.com/users/jchani/orgs","repos_url":"https://api.github.com/users/jchani/repos","events_url":"https://api.github.com/users/jchani/events{/privacy}","received_events_url":"https://api.github.com/users/jchani/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jchani/what-is-a-DSL","description":"Assignment 1: read and write about DSLs","fork":true,"url":"https://api.github.com/repos/jchani/what-is-a-DSL","forks_url":"https://api.github.com/repos/jchani/what-is-a-DSL/forks","keys_url":"https://api.github.com/repos/jchani/what-is-a-DSL/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jchani/what-is-a-DSL/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jchani/what-is-a-DSL/teams","hooks_url":"https://api.github.com/repos/jchani/what-is-a-DSL/hooks","issue_events_url":"https://api.github.com/repos/jchani/what-is-a-DSL/issues/events{/number}","events_url":"https://api.github.com/repos/jchani/what-is-a-DSL/events","assignees_url":"https://api.github.com/repos/jchani/what-is-a-DSL/assignees{/user}","branches_url":"https://api.github.com/repos/jchani/what-is-a-DSL/branches{/branch}","tags_url":"https://api.github.com/repos/jchani/what-is-a-DSL/tags","blobs_url":"https://api.github.com/repos/jchani/what-is-a-DSL/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jchani/what-is-a-DSL/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jchani/what-is-a-DSL/git/refs{/sha}","trees_url":"https://api.github.com/repos/jchani/what-is-a-DSL/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jchani/what-is-a-DSL/statuses/{sha}","languages_url":"https://api.github.com/repos/jchani/what-is-a-DSL/languages","stargazers_url":"https://api.github.com/repos/jchani/what-is-a-DSL/stargazers","contributors_url":"https://api.github.com/repos/jchani/what-is-a-DSL/contributors","subscribers_url":"https://api.github.com/repos/jchani/what-is-a-DSL/subscribers","subscription_url":"https://api.github.com/repos/jchani/what-is-a-DSL/subscription","commits_url":"https://api.github.com/repos/jchani/what-is-a-DSL/commits{/sha}","git_commits_url":"https://api.github.com/repos/jchani/what-is-a-DSL/git/commits{/sha}","comments_url":"https://api.github.com/repos/jchani/what-is-a-DSL/comments{/number}","issue_comment_url":"https://api.github.com/repos/jchani/what-is-a-DSL/issues/comments{/number}","contents_url":"https://api.github.com/repos/jchani/what-is-a-DSL/contents/{+path}","compare_url":"https://api.github.com/repos/jchani/what-is-a-DSL/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jchani/what-is-a-DSL/merges","archive_url":"https://api.github.com/repos/jchani/what-is-a-DSL/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jchani/what-is-a-DSL/downloads","issues_url":"https://api.github.com/repos/jchani/what-is-a-DSL/issues{/number}","pulls_url":"https://api.github.com/repos/jchani/what-is-a-DSL/pulls{/number}","milestones_url":"https://api.github.com/repos/jchani/what-is-a-DSL/milestones{/number}","notifications_url":"https://api.github.com/repos/jchani/what-is-a-DSL/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jchani/what-is-a-DSL/labels{/name}","releases_url":"https://api.github.com/repos/jchani/what-is-a-DSL/releases{/id}","deployments_url":"https://api.github.com/repos/jchani/what-is-a-DSL/deployments","created_at":"2016-09-05T05:00:31Z","updated_at":"2016-09-01T02:23:29Z","pushed_at":"2016-09-05T06:18:08Z","git_url":"git://github.com/jchani/what-is-a-DSL.git","ssh_url":"git@github.com:jchani/what-is-a-DSL.git","clone_url":"https://github.com/jchani/what-is-a-DSL.git","svn_url":"https://github.com/jchani/what-is-a-DSL","homepage":null,"size":40,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"hmc-cs111-fall2016:master","ref":"master","sha":"9f598f2e9a19b680becec3fb382f86dc57908dfe","user":{"login":"hmc-cs111-fall2016","id":20343278,"avatar_url":"https://avatars.githubusercontent.com/u/20343278?v=3","gravatar_id":"","url":"https://api.github.com/users/hmc-cs111-fall2016","html_url":"https://github.com/hmc-cs111-fall2016","followers_url":"https://api.github.com/users/hmc-cs111-fall2016/followers","following_url":"https://api.github.com/users/hmc-cs111-fall2016/following{/other_user}","gists_url":"https://api.github.com/users/hmc-cs111-fall2016/gists{/gist_id}","starred_url":"https://api.github.com/users/hmc-cs111-fall2016/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hmc-cs111-fall2016/subscriptions","organizations_url":"https://api.github.com/users/hmc-cs111-fall2016/orgs","repos_url":"https://api.github.com/users/hmc-cs111-fall2016/repos","events_url":"https://api.github.com/users/hmc-cs111-fall2016/events{/privacy}","received_events_url":"https://api.github.com/users/hmc-cs111-fall2016/received_events","type":"Organization","site_admin":false},"repo":{"id":67006141,"name":"what-is-a-DSL","full_name":"hmc-cs111-fall2016/what-is-a-DSL","owner":{"login":"hmc-cs111-fall2016","id":20343278,"avatar_url":"https://avatars.githubusercontent.com/u/20343278?v=3","gravatar_id":"","url":"https://api.github.com/users/hmc-cs111-fall2016","html_url":"https://github.com/hmc-cs111-fall2016","followers_url":"https://api.github.com/users/hmc-cs111-fall2016/followers","following_url":"https://api.github.com/users/hmc-cs111-fall2016/following{/other_user}","gists_url":"https://api.github.com/users/hmc-cs111-fall2016/gists{/gist_id}","starred_url":"https://api.github.com/users/hmc-cs111-fall2016/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hmc-cs111-fall2016/subscriptions","organizations_url":"https://api.github.com/users/hmc-cs111-fall2016/orgs","repos_url":"https://api.github.com/users/hmc-cs111-fall2016/repos","events_url":"https://api.github.com/users/hmc-cs111-fall2016/events{/privacy}","received_events_url":"https://api.github.com/users/hmc-cs111-fall2016/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL","description":"Assignment 1: read and write about DSLs","fork":false,"url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL","forks_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/forks","keys_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/teams","hooks_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/hooks","issue_events_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/issues/events{/number}","events_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/events","assignees_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/assignees{/user}","branches_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/branches{/branch}","tags_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/tags","blobs_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/git/refs{/sha}","trees_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/statuses/{sha}","languages_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/languages","stargazers_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/stargazers","contributors_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/contributors","subscribers_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/subscribers","subscription_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/subscription","commits_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/commits{/sha}","git_commits_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/git/commits{/sha}","comments_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/comments{/number}","issue_comment_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/issues/comments{/number}","contents_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/contents/{+path}","compare_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/merges","archive_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/downloads","issues_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/issues{/number}","pulls_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls{/number}","milestones_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/milestones{/number}","notifications_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/labels{/name}","releases_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/releases{/id}","deployments_url":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/deployments","created_at":"2016-08-31T05:26:57Z","updated_at":"2016-09-01T02:23:29Z","pushed_at":"2016-09-07T02:21:12Z","git_url":"git://github.com/hmc-cs111-fall2016/what-is-a-DSL.git","ssh_url":"git@github.com:hmc-cs111-fall2016/what-is-a-DSL.git","clone_url":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL.git","svn_url":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL","homepage":null,"size":6,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":20,"mirror_url":null,"open_issues_count":19,"forks":20,"open_issues":19,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/14"},"html":{"href":"https://github.com/hmc-cs111-fall2016/what-is-a-DSL/pull/14"},"issue":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/issues/14"},"comments":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/issues/14/comments"},"review_comments":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/14/comments"},"review_comment":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/pulls/14/commits"},"statuses":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/what-is-a-DSL/statuses/bf2ed9e488adc4fe03ceb50f02a9294fe94de9ab"}}}}
{"actor":{"display_login":"annawoorim"}}