Commit Graph

2286 Commits

Author SHA1 Message Date
hallgren
7fac5dc089 minibar.js: bug fix: the To: menu wasn't updated properly when switching grammars 2010-10-28 11:53:50 +00:00
hallgren
5fc0e059c5 minibar: restructured code and improved user interface
* Keyboard input and completion should now work much more smoothly:
  + When you press space, the current word will be completed (if incomplete)
    and a new magnet will be created. If there is more than one possible
    completion, no magnet is created, but the common prefix of the possible
    completions is added to the text box.
  + Instead of asking the server for possible completions every time a new
    letter is added to the curent word, minibar only ask for completions for
    whole words and then filters the list locally when more letters are entered,
    speeding things up when server responses are slow.

* Code restructuring:
  + The PGF server API has been moved to its own file: pgf_online.js. This
    allows it to be reused in other applicaitons without importing the entire
    minibar. It also allows minibar to be used with different server interfaces.
  + The minibar code has been rewritten to avoid storing state information
    in the document tree and accessing it by referring to named document
    elements. The code now also avoids using string literals contaning
    the names of top-level functions to specify event handlers for buttons
    and menus. (The code is no longer introspective, so alpha conversion will
    not change its meaning.)
2010-10-26 12:42:33 +00:00
hallgren
1e51a2e9e5 support.js: some enhancements and new functions
+ ajax_http_get(url,callback) now checks the HTTP response status and shows an
  error message if the status is not OK (is not 200)
+ New function node(tag,attrs,children) to create document nodes with arbitraty
  attributes and children. The functions node() and text() should now be enough
  to construct arbitrary document trees in an easy, functional way, and many of
  the more specialized functions could be removed.
+ When calling the function button(label,action,key), the action can be a
  function instead of a string, so you can use local/anonymous functions.
+ New function debug(str) adds text to the element with id=debug, if it
  exists.
2010-10-26 11:52:04 +00:00
krasimir
0ba1daf5eb when faced with hard unification problem the type checker should just postpone the decision instead of failing immediately. added test case as well 2010-10-25 15:47:33 +00:00
krasimir
aa6b07afdb when we print the bracketed string it is useful to print the attached metavariables as well 2010-10-25 12:21:12 +00:00
krasimir
84736e5712 fixed typo in GeneratePMCFG.hs. fidFloat -> fidVar 2010-10-25 11:48:17 +00:00
krasimir
2d3340b48a During the compilation, the final message "OK" should be displayed only if we are not in silent mode. This was changed incidentally on the way. 2010-10-25 11:31:16 +00:00
krasimir
822a70cf7a change the TcM monad to continuation passing style. The old monad caused stack overflow for large search spaces 2010-10-21 15:01:52 +00:00
krasimir
82edf7bebb support for proof search with high-order functions 2010-10-21 12:47:26 +00:00
krasimir
2991b7acef bugfix in the term generation 2010-10-20 13:36:39 +00:00
krasimir
d45b4ae426 fixed typo which broke the parsing with -openclass 2010-10-20 09:04:48 +00:00
krasimir
4ac1cf4970 in the type checker monad we should use lazy pattern matching because otherwise we force the exhaustive tree generation to be strict 2010-10-19 13:04:41 +00:00
krasimir
775e59dabe added explicit depth parameter to the parsing API and the corresponding command in the shell 2010-10-18 16:51:25 +00:00
krasimir
205ac48ac3 typo in PGF.TypeCheck which spoiled the previous patch 2010-10-18 16:50:55 +00:00
krasimir
702b4aad3b now we use the GF reasoner to fillin meta variables in the abstract trees generated from the parser 2010-10-18 15:55:14 +00:00
hallgren
57f0124f2a minibar.html: add a <noscript> element with a note that the page doesn't work unless JavaScript is enabled 2010-10-23 14:56:10 +00:00
hallgren
d803d2a925 minibar.js: show the type error messages that can occur for grammars with dependent types 2010-10-18 12:15:30 +00:00
hallgren
26da60d0a9 minibar.js: add an option to enable/disable the Random button 2010-10-17 16:48:21 +00:00
krasimir
05a52d6937 now since the type checking monad TcM is nondeterministic we can use the same monad in PGF.Forest.getAbsTrees 2010-10-14 14:28:40 +00:00
krasimir
7fc638e030 bugfix in PGF.VisualizeTree for handling trees with implicit arguments 2010-10-13 13:32:48 +00:00
krasimir
5ff6489013 WebUI: show error when depth/limit has invalid value 2010-10-13 12:53:42 +00:00
krasimir
09ce38742c fix PGF.Generate.restart. The restart should be done only if there are some solutions found 2010-10-13 12:38:51 +00:00
krasimir
cecf94d729 the PGF service now can do both random and exhaustive generation. these functions now return both the generated tree and its linearization 2010-10-13 12:32:49 +00:00
krasimir
63ac5f5db6 improved Web UI for queries 2010-10-13 12:31:38 +00:00
krasimir
8970184578 added option -depth to command gr 2010-10-12 13:36:37 +00:00
krasimir
de0354f991 the exhaustive/random generator now knows how to handle computable functions in the types 2010-10-11 17:18:28 +00:00
krasimir
f305587a62 now the generation from template with meta-variables respects the dependent types 2010-10-11 09:59:57 +00:00
krasimir
52cd3d5cbd added dummy search box for documents 2010-10-07 16:18:45 +00:00
krasimir
339de4c281 use TabBar for the links in the upper-left corner of the editor 2010-10-07 15:09:59 +00:00
krasimir
5f84c53681 dummy UI for documents saving/loading in the editor 2010-10-07 14:09:08 +00:00
krasimir
89ae7a3ac4 forgot to remove a trace message 2010-10-02 13:38:00 +00:00
krasimir
7200244605 backtracking for random generation is not enough. we must restart the search after each solution 2010-10-02 13:34:58 +00:00
krasimir
cb8795c222 refactor the API for random generation again. Now PGF contains probabilities in the abstract syntax 2010-10-02 13:03:57 +00:00
krasimir
72cc4ddb59 fixes in FridgeApp. now it is compatible with EditorApp 2010-09-30 08:08:57 +00:00
krasimir
c200232bfd update PGFService to work after the extensions in the random generation API 2010-09-30 07:35:54 +00:00
krasimir
3c3082f8ee fix the compilation of FridgeApp 2010-09-29 14:15:36 +00:00
krasimir
35b14d26f3 restore the method BracketedString.render which was needed for TranslateApp 2010-09-29 13:53:13 +00:00
krasimir
fdcec4273c add Magnet.getWord() 2010-09-29 13:47:51 +00:00
krasimir
8d37ed015e added compilation scripts for the editor 2010-09-29 13:32:23 +00:00
krasimir
3b11f81c6b initial import of the new GF editor. Note: the FridgeApp is temporary broken. It will be fixed with the next patch 2010-09-29 13:17:48 +00:00
hallgren
8b7d27fe4c minibar: work on adding back support for typing multiple words without pressing enter in between
It mostly works now, but some minor issues still need to be fixed.
2010-09-29 13:03:40 +00:00
hallgren
66672d8af1 minibar: update about.html with description of recent changes 2010-09-28 11:46:32 +00:00
hallgren
1ac7a8bd7c minibar/about.html: fix typos and formatting 2010-09-24 12:57:16 +00:00
hallgren
72fe93a8c4 minibar.html: specify charset, move initialization
Added a meta tag to specify that the file is in UTF-8. This makes the browser
(at least Firefox) assume that the JavaScript files are also in UTF-8, it seems.

Moved the call to start_minibar() from the <body onload="..."> to the end of
the file. The onload action is not executed until all images in the document
has been loaded, while javascipt at the end of the file is executed as soon
as the HTML file has been loaded. (Calling start_minibar() from the head of
the document would be too soon, since it refers to elements in the body,
which hasn't been loaded yet.)
2010-09-24 12:47:18 +00:00
hallgren
8ce7ef3bdd pgf-server HTTP mode: omit charset from ContentType for static files
When pfg-server servers a static file in HTTP mode, it is output as is, so
specifying charset="iso-8859-1" could be wrong. 

Note: the a charset can be specified with a meta tag in HTML files,
e.g. for files in UTF-8:

<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
2010-09-24 12:34:38 +00:00
aarne
709b0518fa restored the .ebnf grammar format 2010-09-24 12:39:49 +00:00
krasimir
617ce3cce6 the first revision of exhaustive and random generation with dependent types. Still not quite stable. 2010-09-22 15:49:16 +00:00
krasimir
1c9305e7a3 cleanup and export the Probabilistic API from PGF 2010-09-22 09:06:19 +00:00
krasimir
d09f62b0b1 bugfix in PGF.Type.pType: Agda style types like {x : A} -> B should not be supported in GF 2010-09-12 12:26:38 +00:00
hallgren
1b6d9ee29d minibar.js: server API code cleanup 2010-09-14 17:15:37 +00:00