diff options
| author | aarne <aarne@chalmers.se> | 2010-12-22 14:08:42 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2010-12-22 14:08:42 +0000 |
| commit | ce15ec7b787479ca4c7295863ea7fa5cfdd16755 (patch) | |
| tree | f47d9227ab535781d44d00e6232b8c62902167df /doc/TODO | |
| parent | fb722fe8e2cedee3b42d7fb0c9da61ace74f3e22 (diff) | |
moved parts of doc to deprecated/doc
Diffstat (limited to 'doc/TODO')
| -rw-r--r-- | doc/TODO | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/doc/TODO b/doc/TODO deleted file mode 100644 index c92f4c8fa..000000000 --- a/doc/TODO +++ /dev/null @@ -1,231 +0,0 @@ - -* Some notes on the syntax of this file, making it possible to use todoo-mode.el: - -- Items start with "* " -- Sub-items start with "- " -- It should be noted somewhere in the item, who has reported the item - Suggestion: Add "[who]" at the beginning of the item title - (then one can use "assign item" in todoo-mode) -- Each item should have a priority - Suggestion: Add "URGENT", "IMPORTANT" or "WISH" at the beginning of - the item title -- Sort the items in priority order - (todoo-mode can move an item up or down) - ----------------------------------------------------------------------- - - -* [peb] URGENT: Error messages for syntax errors - - When a syntax error is reported, it should be noted which file it - is. Otherwise it is impossible to know where the error is - (if one uses the -s flag): - - > i -s Domain/MP3/Domain_MP_Semantics.gf - syntax error at line 33 before ve , Proposition , - - There's no problem with other kinds of errors: - - > i -s Domain/MP3/Domain_MP_Semantics.gf - checking module Godis_Semantics - Happened in linearization of userMove : - product expected instead of { - pl : Str - } - - -* [peb] IMPORTANT: Add the -path of a module to daughter modules - - Then the main module does not have to know where all grandchildren are: - - file A.gf: - abstract A = B ** {...} - - file B.gf: - --# -path=./resource - abstract B = Lang ** {...} - - I.e.: the file A.gf should not need to know that B.gf uses the - resource library. - - -* [peb] IMPORTANT: incomplete concrete and interfaces - -- The following works in GF: - - incomplete concrete TestDI of TestA = open (C=TestCI) in { - lincat A = TestCI.A ** {p : Str}; - lin f = TestCI.f ** {p = "f"}; - g = TestCI.g ** {p = "g"}; - } - - > i -src TestDE.gf - -- BUT, if we exchange "TestCI" for "C" we get an error: - - incomplete concrete TestDI of TestA = open (C=TestCI) in { - lincat A = C.A ** {p : Str}; - lin f = C.f ** {p = "f"}; - g = C.g ** {p = "g"}; - } - - > i -src TestDE.gf - compiling TestDE.gf... failed to find C - OCCURRED IN - atomic term C given TestCE TestCI TestCE TestDE - OCCURRED IN - renaming definition of f - OCCURRED IN - renaming module TestDE - -- the other modules: - - abstract TestA = { - cat A; - fun f, g : A; - } - - instance TestBE of TestBI = { - oper hello = "hello"; - bye = "bye"; - } - - interface TestBI = { - oper hello : Str; - bye : Str; - } - - concrete TestCE of TestA = TestCI with (TestBI = TestBE); - - incomplete concrete TestCI of TestA = open TestBI in { - lincat A = {s : Str}; - lin f = {s = hello}; - g = {s = bye}; - } - - concrete TestDE of TestA = TestDI with (TestCI = TestCE); - -* [peb] IMPORTANT: Missing things in the help command - - > h -printer - (the flag -printer=cfgm is missing) - - > h -cat - WARNING: invalid option: cat - - > h -lang - WARNING: invalid option: lang - - > h -language - WARNING: invalid option: language - - > h -parser - WARNING: invalid option: parser - - > h -aslkdjaslkdjss - WARNING: invalid option: aslkdjaslkdjss - Command not found. - (it should note: "option not found") - - > h -optimize - WARNING: invalid option: optimize - - > h -startcat - WARNING: invalid option: startcat - - > h h - h, help: h Command? - (it should also mention "h -option") - - -* [peb] IMPORTANT: Set GF_LIb-PATH within GF - - > sf libpath=~/GF/lib - - -* [peb] IMPORTANT: Set the starting category with "sf" - - > sf startcat=X - - -* [peb] IMPORTANT: import-flags - -- There are some inconsistencies when importing grammars: - - 1. when doing "pg -printer=cfg", one must have used "i -conversion=finite", - since "pg" doesn't care about the flags that are set in the grammar file - - 2. when doing "pm -printer=cfgm", one must have set the flag - "conversion=finite" within the grammar file, since "pm" doesn't - care about the flags to the import command - - (I guess it's me (peb) who should fix this, but I don't know where - the different flags reside...) - -- Also, it must be decided in what cases flags can override other flags: - - a) in the grammar file, e.g. "flags conversion=finite;" - b) on the command line, e.g. "> sf conversion=finite" - c) as argument to a command, e.g. "> i -conversion=finite file.gf" - -- A related issue is to decide the scope of flags: - - Some flags are (or should be) local to the module - (e.g. -coding and -path) - Other flags override daughter flags for daughter modules - (e.g. -startcat and -conversion) - -* [bringert] IMPORTANT: get right startcat flag when printing CFGM - GF.CFGM.PrintCFGrammar.prCanonAsCFGM currently only gets the startcat - flag from the top-level concrete module. This might be easier - to fix if the multi grammar printers had access to more than just - the CanonGrammar. - -* [peb] WISH: generalizing incomplete concrete - - I want to be able to open an incomplete concrete module - inside another incomplete conrete. - Then I can instantiate both incompletes at the same time. - -* [peb] WISH: _tmpi, _tmpo - - The files _tmpi and _tmpo are never removed when quitting GF. - Further suggestion: put them in /tmp or similar. - - peb: när man använder "|" till ett systemanrop, t.ex: - pg | ! sort - så skapas filerna _tmpi och _tmpo. Men de tas aldrig bort. - - peb: Ännu bättre: ta bort filerna efteråt. - - aarne: Sant: när GF quittas (om detta inte sker onormalt). - Eller när kommandot har kört färdigt (om det terminerar). - - peb: Bäst(?): skapa filerna i /tmp eller liknande. - - aarne: Ibland får man skrivrättighetsproblem - och det är - inte kul om man måste ange en tmp-path. Och olika - användare och gf-processer måste ha unika filnamn. - Och vet inte hur det funkar på windows... - - aarne: Ett till alternativ skulle vara att använda handles - utan några tmp-filer alls. Men jag har inte hunnit - ta reda på hur det går till. - - björn: Lite slumpmässiga tankar: - + man kan använda System.Directory.getTemporaryDirectory, så slipper man iaf bry sig om olika plattformsproblem. - + sen kan man använda System.IO.openTempFile för att skapa en temporär fil. Den tas dock inte bort när programmet avslutas, så det får man fixa själv. - + System.Posix.Temp.mkstemp gör nåt liknande, men dokumentationen är dålig. - + biblioteket HsShellScript har lite funktioner för sånt här, se - http://www.volker-wysk.de/hsshellscript/apidoc/HsShellScript.html#16 - - -* [peb] WISH: Hierarchic modules - - Suggestion by peb: - The module A.B.C is located in the file A/B/C.gf - - Main advantage: you no longer need to state "--# -path=..." in - modules - -- How can this be combined with several modules inside one file? |
