{"action":"created","comment":{"url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/comments/80281372","id":80281372,"diff_hunk":"@@ -1,68 +1,98 @@\n # Free project 1\n \n ## The user and a language\n-This section describes who the project would serve and why a language might be a\n-good way to meet their needs.\n+This section describes who the project would serve and why a language might be a good way to meet their needs.\n \n \n ### What's the need?\n _What need is met by your idea? Who are you helping? What is that person's\n experience like now? What would their experience be like if you could help \n them?_\n \n+I wish to create a DSL that makes it easy for users to plan a diet/meal.\n+A lot of applications allow users to record what they've been eating and \n+tell them how much calories they've consumed. However, it's hard to find \n+anything that helps users plan meals beforehand, taking their dietary \n+restrictions, specific goals of their diet (e.g. how much weight they wish to\n+lose), what kind of diet they want to be on (e.g. cutting carbs, cutting \n+sugar) into consideration.\n \n ### Why a language?\n _Why is a DSL appropriate for your user(s)? How does it address the need?_\n \n+This DSL will make it intuitive and easy for users to specify the type of \n+diet they want to be and specity their own amount of calories they would like to consume. For example, they would be able to customize their meal plans\n+by defining their diet as a variable, and they would be allow to call functions on the variable for miscelleneous settings. Then, at the end, the program will return a specific meal plan or instructions for the user.\n \n ### Why you?\n _What excites you about this idea? How did you come up with it?_\n \n+Recently, I decided to be on a diet and tried out a few weight \n+loss apps. Usually, the way they work is that they let the user\n+know the amount of calories consumed and nutrition facts.\n+While this is useful, I found it frustrating that none of the \n+apps help the user plan meals beforehand and their inference of \n+whether diet is going well or not is soley based on the number of\n+calories.\n \n ### Domain\n _Describe the project's domain in five words._\n \n+customized planning of diet meals\n \n ### Interface (syntax)\n _How might the user interact with the language? What does programming look \n like? Why is this the right way to interact with the problem domain?_ \n \n+I vision that the user would be led to define their diet as a variable and call\n+different functions on the variable to specify different settings like diatary restrictions. Some of the basic fucntions would be something \"remove\" to remove any ingredients that the user is allergic to and \"cut_half\" to cut things like carbs in half of what they usually consume.\n \n ### Operation (semantics)\n _What might happen when a program runs? How does a program interact with the\n user? What kinds of errors might occur, and how might they be communicated to\n the user?_\n \n+Perhaps, the program can be run on terminal and at the beginning, it will list\n+all the available functions. First, the user would be asked to name their diet, therefore, defining a variable, and then call different functions on the \n+variable (this can be done one by one, or in a batch mode). And when the user calls a function that indicates the end of setting up, the program will return specific instructions or meal plans for them. \n+\n \n ### Expressiveness\n _What should be easy to do in this language? What should be possible, but\n difficult? What should be impossible or very difficult?_\n \n+Things that are easy to do in this langauge are specifying different settings for the users' meals and, unlike any other apps of this sort, to have different settings for breakfast, lunch, and dinner, or different days of a week. \n+Something that would be difficult is to track their meals. Since there are a lot of apps that allow the user to record their meals, I feel that there's no need for this DSL to do so. This DSL's featuers will mostly focus on helping the user do something about their diet/meals beforehand, rather than afterwards. \n+\n \n ### Related work\n _Are there any other DSLs in this domain? If not, describe how you know there\n-aren't and conjecture why not. If so, describe them and provide links. How well \n-do they address the need? Are there any particularly admirable qualities of the\n-language? Are there parts of the language you think could be improved?_\n+aren't and conjecture why not. If so, describe them and provide links. How well do they address the need? Are there any particularly admirable qualities of thelanguage? Are there parts of the language you think could be improved?_\n \n+One of the apps I mentioned I tried out is \"myfitnesspal\" (https://www.myfitnesspal.com/), which is essnetially a calorie counter. It makes it easy for the user to track what they have been eating and count calories they've been consuming. However, again, it does not let the user plan meals beforehand or evaluate how they are doing on their diet based on anything other than number of calories.\n \n ## The Project\n This section examines whether the idea makes for a good CS 111 project.\n \n \n ### Suitability\n-_If someone were to work on this project, what percentage of their time would be\n-spent directly engaging in the **language** aspects of this project (e.g.,\n+_If someone were to work on this project, what percentage of their time would be spent directly engaging in the **language** aspects of this project (e.g.,\n making language design decisions), as opposed to \"systems\" aspects of the\n project (e.g., implementing a complicated semantics that doesn't require a lot\n of language design)?_\n \n+I believe building the systems aspects of the project would take slightly longer than the language aspects. \n+A public API for myfitnesstracker or other calorie counters might be used.\n+\n \n ### Scope\n _How big an idea is this? How ambitious is this project?_\n \n+The project is not that ambitious in a sense that it does not have too many features or complicated settings, since the goal of the project is to let the user specify their needs intuitively and very simply. However, I can imagine this DSL being integrated into some of the calories counter/weight loss apps.\n \n ### Benefits and drawbacks\n-_Why might this be a good idea for a project? Why might this not be a good idea \n-project?_\n+_Why might this be a good idea for a project? Why might this not be a good idea project?_\n+\n+I believe this project is suitable for the DSL class, because its domain is very narrow and specific. \n+I can imagine running into problems when trying to use the API of the calorie counter/weight loss apps due to their limited access for the public.","path":"free-1.md","position":106,"original_position":106,"commit_id":"a6defdd64b068e7a5d10e8721a4773aa775c98cc","original_commit_id":"a6defdd64b068e7a5d10e8721a4773aa775c98cc","user":{"login":"rwoll-hmc","id":21327633,"avatar_url":"https://avatars.githubusercontent.com/u/21327633?v=3","gravatar_id":"","url":"https://api.github.com/users/rwoll-hmc","html_url":"https://github.com/rwoll-hmc","followers_url":"https://api.github.com/users/rwoll-hmc/followers","following_url":"https://api.github.com/users/rwoll-hmc/following{/other_user}","gists_url":"https://api.github.com/users/rwoll-hmc/gists{/gist_id}","starred_url":"https://api.github.com/users/rwoll-hmc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwoll-hmc/subscriptions","organizations_url":"https://api.github.com/users/rwoll-hmc/orgs","repos_url":"https://api.github.com/users/rwoll-hmc/repos","events_url":"https://api.github.com/users/rwoll-hmc/events{/privacy}","received_events_url":"https://api.github.com/users/rwoll-hmc/received_events","type":"User","site_admin":false},"body":"See above comments regarding my hesitation to create a programmatic diet description and its health hazards.","created_at":"2016-09-23T16:45:38Z","updated_at":"2016-09-23T17:00:27Z","html_url":"https://github.com/hmc-cs111-fall2016/project-ideas/pull/15#discussion_r80281372","pull_request_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/15","_links":{"self":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/comments/80281372"},"html":{"href":"https://github.com/hmc-cs111-fall2016/project-ideas/pull/15#discussion_r80281372"},"pull_request":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/15"}}},"pull_request":{"url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/15","id":86287658,"html_url":"https://github.com/hmc-cs111-fall2016/project-ideas/pull/15","diff_url":"https://github.com/hmc-cs111-fall2016/project-ideas/pull/15.diff","patch_url":"https://github.com/hmc-cs111-fall2016/project-ideas/pull/15.patch","issue_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/issues/15","number":15,"state":"open","locked":false,"title":"Woky Park","user":{"login":"wpark","id":10727193,"avatar_url":"https://avatars.githubusercontent.com/u/10727193?v=3","gravatar_id":"","url":"https://api.github.com/users/wpark","html_url":"https://github.com/wpark","followers_url":"https://api.github.com/users/wpark/followers","following_url":"https://api.github.com/users/wpark/following{/other_user}","gists_url":"https://api.github.com/users/wpark/gists{/gist_id}","starred_url":"https://api.github.com/users/wpark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wpark/subscriptions","organizations_url":"https://api.github.com/users/wpark/orgs","repos_url":"https://api.github.com/users/wpark/repos","events_url":"https://api.github.com/users/wpark/events{/privacy}","received_events_url":"https://api.github.com/users/wpark/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-09-22T07:03:14Z","updated_at":"2016-09-23T17:00:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4a1a4a35d3c77ffa8fd9c10be1ed32ac03d59814","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/15/commits","review_comments_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/15/comments","review_comment_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/issues/15/comments","statuses_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/statuses/a6defdd64b068e7a5d10e8721a4773aa775c98cc","head":{"label":"wpark:master","ref":"master","sha":"a6defdd64b068e7a5d10e8721a4773aa775c98cc","user":{"login":"wpark","id":10727193,"avatar_url":"https://avatars.githubusercontent.com/u/10727193?v=3","gravatar_id":"","url":"https://api.github.com/users/wpark","html_url":"https://github.com/wpark","followers_url":"https://api.github.com/users/wpark/followers","following_url":"https://api.github.com/users/wpark/following{/other_user}","gists_url":"https://api.github.com/users/wpark/gists{/gist_id}","starred_url":"https://api.github.com/users/wpark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wpark/subscriptions","organizations_url":"https://api.github.com/users/wpark/orgs","repos_url":"https://api.github.com/users/wpark/repos","events_url":"https://api.github.com/users/wpark/events{/privacy}","received_events_url":"https://api.github.com/users/wpark/received_events","type":"User","site_admin":false},"repo":{"id":68560590,"name":"project-ideas","full_name":"wpark/project-ideas","owner":{"login":"wpark","id":10727193,"avatar_url":"https://avatars.githubusercontent.com/u/10727193?v=3","gravatar_id":"","url":"https://api.github.com/users/wpark","html_url":"https://github.com/wpark","followers_url":"https://api.github.com/users/wpark/followers","following_url":"https://api.github.com/users/wpark/following{/other_user}","gists_url":"https://api.github.com/users/wpark/gists{/gist_id}","starred_url":"https://api.github.com/users/wpark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wpark/subscriptions","organizations_url":"https://api.github.com/users/wpark/orgs","repos_url":"https://api.github.com/users/wpark/repos","events_url":"https://api.github.com/users/wpark/events{/privacy}","received_events_url":"https://api.github.com/users/wpark/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/wpark/project-ideas","description":"Assignment 3: generate ideas for the project","fork":true,"url":"https://api.github.com/repos/wpark/project-ideas","forks_url":"https://api.github.com/repos/wpark/project-ideas/forks","keys_url":"https://api.github.com/repos/wpark/project-ideas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wpark/project-ideas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wpark/project-ideas/teams","hooks_url":"https://api.github.com/repos/wpark/project-ideas/hooks","issue_events_url":"https://api.github.com/repos/wpark/project-ideas/issues/events{/number}","events_url":"https://api.github.com/repos/wpark/project-ideas/events","assignees_url":"https://api.github.com/repos/wpark/project-ideas/assignees{/user}","branches_url":"https://api.github.com/repos/wpark/project-ideas/branches{/branch}","tags_url":"https://api.github.com/repos/wpark/project-ideas/tags","blobs_url":"https://api.github.com/repos/wpark/project-ideas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wpark/project-ideas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wpark/project-ideas/git/refs{/sha}","trees_url":"https://api.github.com/repos/wpark/project-ideas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wpark/project-ideas/statuses/{sha}","languages_url":"https://api.github.com/repos/wpark/project-ideas/languages","stargazers_url":"https://api.github.com/repos/wpark/project-ideas/stargazers","contributors_url":"https://api.github.com/repos/wpark/project-ideas/contributors","subscribers_url":"https://api.github.com/repos/wpark/project-ideas/subscribers","subscription_url":"https://api.github.com/repos/wpark/project-ideas/subscription","commits_url":"https://api.github.com/repos/wpark/project-ideas/commits{/sha}","git_commits_url":"https://api.github.com/repos/wpark/project-ideas/git/commits{/sha}","comments_url":"https://api.github.com/repos/wpark/project-ideas/comments{/number}","issue_comment_url":"https://api.github.com/repos/wpark/project-ideas/issues/comments{/number}","contents_url":"https://api.github.com/repos/wpark/project-ideas/contents/{+path}","compare_url":"https://api.github.com/repos/wpark/project-ideas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wpark/project-ideas/merges","archive_url":"https://api.github.com/repos/wpark/project-ideas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wpark/project-ideas/downloads","issues_url":"https://api.github.com/repos/wpark/project-ideas/issues{/number}","pulls_url":"https://api.github.com/repos/wpark/project-ideas/pulls{/number}","milestones_url":"https://api.github.com/repos/wpark/project-ideas/milestones{/number}","notifications_url":"https://api.github.com/repos/wpark/project-ideas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wpark/project-ideas/labels{/name}","releases_url":"https://api.github.com/repos/wpark/project-ideas/releases{/id}","deployments_url":"https://api.github.com/repos/wpark/project-ideas/deployments","created_at":"2016-09-19T02:07:36Z","updated_at":"2016-09-15T03:31:16Z","pushed_at":"2016-09-22T07:29:39Z","git_url":"git://github.com/wpark/project-ideas.git","ssh_url":"git@github.com:wpark/project-ideas.git","clone_url":"https://github.com/wpark/project-ideas.git","svn_url":"https://github.com/wpark/project-ideas","homepage":null,"size":13,"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":"147982623a695ad7dc0113f37a8fe2977926d337","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":68263098,"name":"project-ideas","full_name":"hmc-cs111-fall2016/project-ideas","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/project-ideas","description":"Assignment 3: generate ideas for the project","fork":false,"url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas","forks_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/forks","keys_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/teams","hooks_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/hooks","issue_events_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/issues/events{/number}","events_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/events","assignees_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/assignees{/user}","branches_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/branches{/branch}","tags_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/tags","blobs_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/git/refs{/sha}","trees_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/statuses/{sha}","languages_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/languages","stargazers_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/stargazers","contributors_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/contributors","subscribers_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/subscribers","subscription_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/subscription","commits_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/commits{/sha}","git_commits_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/git/commits{/sha}","comments_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/comments{/number}","issue_comment_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/issues/comments{/number}","contents_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/contents/{+path}","compare_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/merges","archive_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/downloads","issues_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/issues{/number}","pulls_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls{/number}","milestones_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/milestones{/number}","notifications_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/labels{/name}","releases_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/releases{/id}","deployments_url":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/deployments","created_at":"2016-09-15T03:19:06Z","updated_at":"2016-09-15T03:31:16Z","pushed_at":"2016-09-22T10:48:03Z","git_url":"git://github.com/hmc-cs111-fall2016/project-ideas.git","ssh_url":"git@github.com:hmc-cs111-fall2016/project-ideas.git","clone_url":"https://github.com/hmc-cs111-fall2016/project-ideas.git","svn_url":"https://github.com/hmc-cs111-fall2016/project-ideas","homepage":null,"size":1160,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"open_issues_count":17,"forks":17,"open_issues":17,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/15"},"html":{"href":"https://github.com/hmc-cs111-fall2016/project-ideas/pull/15"},"issue":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/issues/15"},"comments":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/hmc-cs111-fall2016/project-ideas/statuses/a6defdd64b068e7a5d10e8721a4773aa775c98cc"}}}}
{"actor":{"display_login":"rwoll-hmc"}}