Permalink
Browse files

slutsats

  • Loading branch information...
1 parent a7c0cc5 commit d258b2bc0a91ab5c7049b4c2236b4f0077643397 Adam Bengtsson committed May 17, 2010
Showing with 7 additions and 30 deletions.
  1. +7 −30 rapport/kapitel/slutsatser.tex
@@ -1,32 +1,9 @@
-\section{Diskussion och slutsatser}
-Vi har skapat en javascriptapplikation som kan parsa, typchecka och interpretera stora delar av Haskell 98. Det som saknas är fullständigt stöd för typklasser där
-stödet endast finns i typcheckaren men fortfarande behöver implementeras i interpretatorn.
+\section{Slutsatser}
+I den här rapporten har vi visat hur en haskelltolk kan implenteras i Javascript.
+Vi har implementerat namngivna och anonyma funktioner, algebraiska datatyper och pattern matching.
+Vi har dock inte implementerat typklasser, men stöd för det finns i typcheckaren och parsern.
-Sett till planeringen har vi lyckats uppfylla alla milstolpar utom typklasser, dock inte enligt den ordning och tidsplan som ursprungligen planerades.
-Vi insåg att det var enklast att utveckla parsern, typcheckaren och interpertatorn parallelt och bestämma indivudellt vad som skulle implementeras och i
-vilken ordning för att senare, oftast en gång i veckan, samordna och implementera det som behövdes i flera delar.
+Vi har demonstrerat hur man med parser combinators kan implementera Haskells layoutregler och grammatik. HIJi, ett enkelt användargränssnitt, har utvecklats även om det i dess nuvarande form har ett begränsat användningsområde.
-Vi har inte implementerat NPlusK-pattern i parsern och då de är borttagna i Haskell 2010 \citep{haskell2010} känner vi att det inte behövs.
-
-
-
-\subsection{Framtida förbättringar}
-
-Syftet med projektet, att skapa en fungerande Haskelltolk i javascript, har vi lyckats implementera om man tar hänsyn till de avgränsningar som är uppsatta. Dock om man ser till motivationen bakom projektet, att vår Haskelltolk ska kunna användas som grund för att skapa en webbaserad interaktiv läroplattform, så finns det fortfarande mycket kvar att utveckla. Framförallt handlar det om att göra Haskelltolken och HIJi mer lättanvänd för nybörjare inom funktionell programmering.
-
-I parsern har vi identifierat två förbättringsmöjligheter. För det första, bättre felmeddelanden
-Hjälpsamma och förklarande felmeddelanden är en viktigt del av ett utvecklingsverktyg och det generars för tillfället inte av parsern.
-Om parsern stöter på ett fel rapporterar den endast att ett fel har inträffat och avslutar parsningsprocessen.
-Att förbättra dessa felmeddelanden med exempelivs rad- och kolumnnummer och specifik information om vad för fel som har inträffat skulle göra parsern mer användbar.
-För att implentera detta behöver man kombinera steg 1 och 2 i parsningen för att rad- och kolumn-nummer ska bevaras korrekt då borttagning av nästlade kommentarer kan påverka dessa.
-JSParse behöver modifieras så att det rapporterar var ett fel uppstod och i vilken parser.
-
-För det andra, konverteringen av icke kontextfri Haskellkod till kontextfri kan förbättras
-för att klara av att expandera måsvingar i \emph{[x | let x = 5]}.
-För att klara av detta behövs en parser som räknar antal måsvingar, paranteser,
-komman och hakparanteser efter \emph{let} och avgöra när det är korrekt att sätta in avslutande måsvingar.
-
-Även i HIJi finns det förbättringar att göra.
-Det som framförallt behöver utvecklas är, för det första, erbjuda en interaktiv tutorial där användaren får instruktioner vad som ska skrivas in i HIJi. Om användaren skriver in rätt uttryck fortsätter tutorialen till nästa nivå.
-För det andra, visa typinformation från funktioner genom att hålla musen över funktionsnamnet.
-Och tillsist, kunna stega igenom ett program eller funktion för att kunna se vad som händer i varje evalutionssteg.
+En rad förbättrningsåtgärder har identifierats för att göra tolken mer användbar för nybörjare. Främst handlar det om att göra ett snyggt interaktivt användargränssnitt till HIJi, men även att generera bättre felmeddelanden i parsern.
+Totalt sett har projektet visat sig vara lyckat, även om vi är medvetna om att mycket finns kvar att förbättra.

0 comments on commit d258b2b

Please sign in to comment.