Mimir:Spring 2014 Erol Aygar Log


 * Home
 * Semesters
 * Spring 2014

Week Ending February 4th, 2014

 * Notes:


 * Comments:

Week Ending February 11, 2014

 * Notes:


 * Comments:

Week Ending February 18, 2014

 * Notes:

(1) I realized that it has been a while since the course started, however, no one (including me) created any content for the course site. Therefore, I choose to start writing on wiki to ignite collaboration.

(2) Furthermore, I am volunteering to document an issue register. Please email any project related risks or issues. We can collect them and put them in a register file and raise it before (or during) our class.

(3) Contacts: Please find my contacts below. You may contact me for any change or update reqests.
 * email: erol.aygar@unh.edu
 * phone: (617) 775-4238


 * Comments:
 * Please write you comments here. Please also add your name with your comment.

Week Ending February 25, 2014
I will posting status reports here.

(1) I start reviewing two books about programming languages. If we can match the outlines, they have also useful information for note captures. I am trying to follow by our syllabus, and documenting their outlines. Anyone wants to see these books, please let me know. I will bring them to the class.
 * Notes:
 * Design Concepts in Programming Languages, Turbak, Gifford, 2008
 * Concepts in Programming Languages, Mitchell J.C, 2003
 * I also borrowed a book from Dr. Jonas. I will bring it back this week.

(2) I read 1st week notes. Thanks to Casey and Pauline. I copying them as pdf files from them. This format makes easier to understand.

(3) Outline of our text book. We need to meet more frequently. I realized that as graduate students we are meeting; however we need to find a way to share our findings with all class.


 * Comments:

Week Ending March 4, 2014
(1) The following books about programming languages are really supportive to understand the value of the functional programming languages. Furthermore, I believe they will be used as complementary readings (to our syllabus) that will provide a better understanding of the mechanisms behind such languages.
 * Notes:

During this week, while I was trying to do the homework, I had chance to read some chapters from these books and want to share my readings, and my afterthought about these readings.
 * Design Concepts in Programming Languages, Turbak, Gifford, 2008', Chapter 2.4 Functional Programming Lisp (p49-54); Chapter 15 Functional Programming Languages (p 654-696)

The history of Lisp and its dialects, the chronological efforts behind the evolutions the value of such languages for future technological development are well scrutinized. These pages describes Lisp as the first functional Programming Language, than the author introduces some dialects of lisp. Furthermore, he summarizes other functional programming languages, such as Common Lisp, Scheme, ML and Haskell. Author also offers the comparison between imperative and functional languages. - In these chapters it's also provided that the the idea behind lisp and the reasons and needs that triggered the birth of those languages. After these readings I see getting apparent for me to understand the relationship between simple functions, mathematical functions, lambda expressions--they are really well scrutinized. Data types and their illustrations are also worthwhile to read. The author provided a side to side introductory comparison of Lisp, Scheme, Haskel in terms of --origins, interpretation, primitive numeric functions, function definitions and forms, control flows, symbolic atoms and lists--and described their evolution. Also its great to read recursion and tail recursion from these chapter.

(2) Thanks to Note Capturer's efforts. As time passes, the value of these captures gets apparent. - It was confusing for me to follow the content from the wiki pages. I was reformatting and saving the pages as pdf files and reading them as separate pages. However I find a better way this week: a button on Safari web browser: Reader view--its great and you can read the page like a book. It might be so primitive, anyways I want to share my late but really practical finding.

(3) Outline of our text book. We start meeting frequently, I think its getting more clear every week--we are worming up, and after the break we will start citing. A discussion started after our meeting and every member start sharing their contributions on the wiki site. We also meet with or team.


 * Comments:

(2) - about the Reader View button - that's great(!!!); There were so many times I had troubles reading a web page, as the content font is too small/large; I was thinking about personalizing my browser somehow, but this option seems the way to go - thanks for sharing! --Sgm10 (talk) 04:08, 22 March 2014 (PDT)

Week Ending March 18, 2014
(1) I realized that it is really hard to switch from an imperative to functional programming realm. During the class Dr. Jonas explained how our CLISP implementation should yield us the functional experience. I will re-write my last response in the homework about functional programming perspective. I also gained some takeaways about the importance of learning languages (including programming languages): This week we had an assignment on Ruby, and while we were talking with Prof. Richard Greene about the difference between Lisp and imperative languages he underlined the value of being multi-lingual. He also reminded Whorfian Hypothesis[] which can be summarized like Prof. Greene did: "The language we speak influences on thinking. When you are multi-lingual, you are smarter than a mono-lingual person because you can see the world several different ways."
 * Notes:

(2) What makes a language fully functional, or what usage results a breach the rules from of functional programming language? I think the answer is not simple in first glance. Finally, I learned!

(3) Takeaway: Don't persistently try to install CLISP on Mac OSX, ask some help if you feel stuck.

You can also download the code and compile it--it is a little bit time consuming, but it is working, gcc.

Prepare the environment first, download and install from http://www.clisp.org version should be 2.49

The version can be checked by the following command from the terminal window: % clisp --version => version 2.49

I think it is not a good idea to code in the terminal, rather save code in a file and execute it by using the following command : clisp filename.lsp

if your installed correctly, it should yield results.

(4) functions return values!

(5) I want to the cite some books, articles, websites that I skimmed throught my homework.

''1. Common Lisp: A Gentle Introduction to Symbolic Computation http://www.cs.cmu.edu/~dst/LispBook/book.pdf

2. https://www.cs.unm.edu/~luger/ai-final2/LISP/

3. http://en.wikipedia.org/wiki/Functional_programming

4. http://www.risc.jku.at/education/courses/ws2012/logic-1/reverse.pdf

5. http://www.gigamonkeys.com/book/they-called-it-lisp-for-a-reason-list-processing.html

6. http://cl-cookbook.sourceforge.net/strings.html

7. http://alfredodinapoli.wordpress.com/tag/search-sublist-lisp/

8. http://www.jtra.cz/stuff/lisp/sclr/index.html'' ''

(6) We also "start from Scratch"--like Dr. Jonas told:) During the lab session Dr. Jonas introduced the visual programming by demonstrating coding. I got the screenshot of the last lab. I tried to upload as a link or a file, but cannot succeeded to do so. Let me know if you need them.

(7) I want to share one more (and final) reading from the following book : Design Concepts in Programming Languages, Turbak and Gifford. Following chapters are great support for understanding the concepts of recursion and lambda notation. The authors introduces another functional language called FL.

''A.2.7. Recursion (p1170) and A.2.8. Lambda Notation is NOT Lisp! (p 1169)''


 * Comments:

Week Ending March 25, 2014

 * Notes:


 * Comments:

Week Ending April 1, 2014

 * Notes:


 * Comments:

Week Ending April 8, 2014

 * Notes:


 * Comments:

Week Ending April 15, 2014

 * Notes:


 * Comments:

Week Ending April 22, 2014

 * Notes:


 * Comments:

Week Ending April 29, 2014

 * Notes:


 * Comments:

Week Ending May 6, 2014

 * Notes:


 * Comments: