Permalink
Browse files

- Cleanup/redo of fake dependencies required for AG

- Work on infrastructure/syntax for equality predicates, still in unusable state
- Fix of incorrect parsing for class instances for classes defined by infix operator
- Paper writing
  • Loading branch information...
1 parent 112eb8c commit 060b54a1d8eccb4bb469613566ff33d28f06e4a0 atze committed Feb 23, 2012
Showing with 772 additions and 1,016 deletions.
  1. +4 −2 EHC/Makefile
  2. +1 −1 EHC/SVNREVISION
  3. +1 −1 EHC/ehclib/files2.mk
  4. +3 −2 EHC/lhs2TeX/IdentColors.fmt
  5. +17 −6 EHC/lhs2TeX/Javascript.fmt
  6. +6 −0 EHC/src/ehc/Base/Builtin.chs
  7. +6 −1 EHC/src/ehc/Base/Common.chs
  8. +1 −1 EHC/src/ehc/Base/TreeTrie.chs
  9. +0 −488 EHC/src/ehc/Base/Trie.chs
  10. +3 −3 EHC/src/ehc/CHR.chs
  11. +4 −2 EHC/src/ehc/CHR/Constraint.chs
  12. +3 −3 EHC/src/ehc/CHR/Key.chs
  13. +9 −9 EHC/src/ehc/CHR/Solve.chs
  14. +6 −0 EHC/src/ehc/EH/AbsSyn.cag
  15. +66 −71 EHC/src/ehc/EH/FakeDependencies.cag
  16. +3 −0 EHC/src/ehc/EH/GatherError.cag
  17. +1 −1 EHC/src/ehc/EH/InferClass.cag
  18. +1 −1 EHC/src/ehc/EH/InferClassCHR.cag
  19. +65 −12 EHC/src/ehc/EH/InferData.cag
  20. +24 −2 EHC/src/ehc/EH/InferTyExpr.cag
  21. +8 −1 EHC/src/ehc/EH/MainAG.cag
  22. +6 −1 EHC/src/ehc/EH/Pretty.cag
  23. +9 −0 EHC/src/ehc/EH/PrettyAST.cag
  24. +1 −1 EHC/src/ehc/EH/ToCore.cag
  25. +1 −1 EHC/src/ehc/EH/ToTyCore.cag
  26. +8 −2 EHC/src/ehc/Gam/FixityGam.chs
  27. +6 −0 EHC/src/ehc/Gam/TyGam.chs
  28. +3 −0 EHC/src/ehc/Gam/TyKiGam.chs
  29. +9 −3 EHC/src/ehc/HS/AbsSyn.cag
  30. +2 −0 EHC/src/ehc/HS/Fixity.cag
  31. +1 −1 EHC/src/ehc/HS/GatherError.cag
  32. +37 −40 EHC/src/ehc/HS/MainAG.cag
  33. +10 −4 EHC/src/ehc/HS/NameAnalysis.cag
  34. +22 −3 EHC/src/ehc/HS/NameDef.cag
  35. +62 −17 EHC/src/ehc/HS/Parser.chs
  36. +27 −13 EHC/src/ehc/HS/Pretty.cag
  37. +25 −26 EHC/src/ehc/HS/ToEH.cag
  38. +1 −1 EHC/src/ehc/Pred/CHR.chs
  39. +2 −2 EHC/src/ehc/Scanner/Common.chs
  40. +13 −13 EHC/src/ehc/Ty.cag
  41. +1 −1 EHC/src/ehc/Ty/AbsSyn.cag
  42. +1 −1 EHC/src/ehc/Ty/Parser.chs
  43. +3 −3 EHC/src/ehc/Ty/Pretty.cag
  44. +11 −1 EHC/src/ehc/Ty/TreeTrieKey.cag
  45. +2 −2 EHC/src/ehc/Ty/Trf/Canonic.cag
  46. +1 −1 EHC/src/ehc/Ty/Trf/Quantify.cag
  47. +0 −236 EHC/src/ehc/Ty/TrieKey.cag
  48. +0 −1 EHC/src/ehc/files-ag-s.dep
  49. +1 −1 EHC/src/ehc/files1.mk
  50. +16 −10 EHC/src/javascript/core/interpreter.cjs
  51. +1 −1 EHC/src/javascript/files.mk
  52. +22 −0 EHC/test/regress/99/Context1.hs
  53. +1 −1 EHC/test/regress/99/TypeOperator1.hs
  54. +1 −1 EHC/text/LitAdm.bib
  55. +231 −20 EHC/text/TopicJavaScript.cltex
  56. +1 −1 EHC/text/files-targets.mk
  57. +2 −0 EHC/text/main.cltex
View
@@ -430,8 +430,10 @@ release-prepare:
FUN_PREFIX2DIR = $(patsubst %/,%,$(1))
tst:
- @echo $(INSABS_EHC_LIB_ALL_AG)
- @echo $(INSTALLABS_VARIANT_LIB_AG_PREFIX)
+ @echo $(INSTALL_LIB_JS)
+ @echo $(JSCRIPT_JS_JSCRIPT_DRV_JS)
+ @echo $(SRC_JSCRIPT_PREFIX)
+ @echo $(JSCRIPT_BLD_JSCRIPT_PREFIX)
tstv:
$(MAKE) INCLUDE_DERIVED_MK=yes EHC_VARIANT=100 tst
View
@@ -1 +1 @@
-2430:2457M
+2430:2458M
View
@@ -254,7 +254,7 @@ ehclib-codegentargetspecific-C: $(if $(EHC_CFG_USE_GRIN),$(INSTALL_LIB_RTS),)
ehclib-codegentargetspecific-jazy: $(if $(ENABLE_JAVA),$(INSTALL_LIB_JAZY),)
-ehclib-codegentargetspecific-js: $(if $(ENABLE_JS),$(INSTALL_LIB_JS),)
+ehclib-codegentargetspecific-js: $(if $(ENABLE_JS),$(INSTALL_LIB_JS) $(JSCRIPT_ALL_SRC),)
ehclib-codegentargetspecific-core:
@@ -1,4 +1,4 @@
-%%if slides
+%if slides
\newcommand{\varid}[1]{{\textcolor{black}{\mathit{#1}}}}
\newcommand{\con}[1]{\textcolor{blue}{\mathit{#1}}}
\newcommand{\tycon}[1]{\con{#1}}
@@ -9,9 +9,10 @@
\newcommand{\blankline}{\vspace{\baselineskip}\par}
\newcommand{\dsl}[1]{\textcolor{uuxgreen}{#1}}
\newcommand{\dslid}[1]{\mathit{{\textcolor{uuxgreen}{#1}}}}
-%%endif
+%endif
%if dictaat
\newcommand{\varid}[1]{{{\mathit{#1}}}}
+\newcommand{\con}[1]{{\mathit{#1}}}
\newcommand{\tycon}[1]{\con{#1}}
\newcommand{\cl}[1]{{\mathit{#1}}}
\newcommand{\class}[1]{\cl{#1}}
View
@@ -1,26 +1,37 @@
%% keywords
-%format throw = "\text{\textbf{throw}}"
%format function = "\text{\textbf{function}}"
-%format var = "\text{\textbf{var}}"
-%format if = "\text{\textbf{if}}"
-%format this = "\text{\textbf{this}}"
%format return = "\text{\textbf{return}}"
%format typeof = "\text{\textbf{typeof}}"
+%format throw = "\text{\textbf{throw}}"
%format while = "\text{\textbf{while}}"
+%format this = "\text{\textbf{this}}"
%format else = "\text{\textbf{else}}"
+%format var = "\text{\textbf{var}}"
+%format new = "\text{\textbf{new}}"
+%format if = "\text{\textbf{if}}"
+
+%format . = "."
%% DSL types/constructors
%format Fun = "\con{Fun}"
%format App = "\con{App}"
%format AppLT = "\con{AppLT}"
+%format _A_ = "\con{App}"
+%format _F_ = "\con{Fun}"
+%format _A_undersat_= "\con{AppLT}"
%% DSL identifiers
-%format ev = "\dsl{ev}"
+%format indset = "\dsl{indset}"
%format applyN = "\dsl{applyN}"
%format app1 = "\con{app1}"
%format app2 = "\con{app2}"
%format app3 = "\con{app3}"
%format app4 = "\con{app4}"
%format eOrV = "\dsl{eOrV}"
%format ind = "\dsl{ind}"
-%format indset = "\dsl{indset}"
+%format ev = "\dsl{ev}"
+%format __eOrV__ = "\dsl{eOrV}"
+%format __aN__ = "\dsl{applyN}"
+%format _e_ = "\dsl{eval}"
+%format evalN = "\dsl{fun}"
+%format __evN__ = "\dsl{fun}"
@@ -215,6 +215,12 @@ hsnIsUnknown = (==hsnUnknown)
hsnDynVar = hsnFromString "?"
%%]
+%%[4 export(hsnEqTilde,hsnIsEqTilde)
+hsnEqTilde = hsnFromString "~"
+
+hsnIsEqTilde = (==hsnEqTilde)
+%%]
+
%%[4 export(hsnCovariant, hsnContravariant, hsnInvariant)
hsnCovariant, hsnContravariant, hsnInvariant :: HsName
hsnCovariant = mkHNm "+Covariant"
@@ -196,6 +196,7 @@ class SemApp a where
isCon :: a -> Maybe (HsName)
isApp1 :: a -> Maybe (a,a)
isApp :: a -> Maybe (a,[a])
+ isConApp :: a -> Maybe (HsName,[a])
isArrow :: a -> Maybe ([a],a)
unArrow :: a -> ([a],a)
@@ -226,12 +227,16 @@ class SemApp a where
_ -> semRngAppTop rng (foldl1 (semRngApp rng) as)
-- default inspection
- unTop = id
+ unTop = id
isCon = const Nothing
isApp1 = const Nothing
isApp x = do { (f1,a) <- isApp1 $ unTop x
; (do {(f2,as) <- isApp f1; return (f2,as++[a])}) <|> (return (f1,[a]))
}
+ isConApp x = do { (f,as) <- isApp x
+ ; c <- isCon f
+ ; return (c,as)
+ }
unArrow x = case isApp x of
Just (fx,asx) -> case isCon fx of
Just con | hsnIsArrow con -> (arg:as,r)
@@ -388,7 +388,7 @@ lookupByKey keys ttrie = snd $ lookupPartialByKey TTL_WildInTrie keys ttrie
lookup = lookupByKey
%%]
-%%[9999 export(lookupResultToList)
+%%[9 export(lookupResultToList)
lookupResultToList :: ([v],Maybe v) -> [v]
lookupResultToList (vs,mv) = maybeToList mv ++ vs
%%]
Oops, something went wrong.

0 comments on commit 060b54a

Please sign in to comment.