summaryrefslogtreecommitdiff
path: root/scheme
AgeCommit message (Collapse)Author
2017-12-09Improvements to Chicken completion speedDan Leslie
Removed all of the symbol-interning code, and in the process greatly reduced the amount of CPU time. Should resolve jaor/geiser#174
2017-11-03Support Chicken Scheme apropos =>2.3.0John Whitbeck
Chicken Scheme's apropos egg changed the identifiers in the return value of the `apropos-information-list` from `module#name` to `(module . name)`. This commit adds support for the new identifiers.
2017-08-27more reduction on geiser:eval, add testChaos Eternal
2017-08-24rewritten geiser:eval to fix the following bug:Chaos Eternal
when eval (make-violation) it shall return: \#<condition &violation> but previous impletement will treat it as an ERROR.
2017-08-20Alway pretty-print for resultsChaos Eternal
2017-08-18Handle exceptions of ChezScheme and multi-value as wellChaos Eternal
- Capture exceptions of ChezScheme - handles multi-value return
2016-10-24Missing chibi and chez support filesJose Antonio Ortega Ruiz
Should fix #188, and i'm not generating a new version for this unless some distribution maintainer is asking.
2016-09-17Allows Chicken to limit the number of symbols provided to Geiserdleslie
- Also cleaned up the namespace a little.
2016-08-10Disable aggressive prefix assumptionDan Leslie
This was causing significant typing delay with little to no benefit. Disabled until a better solution can be found.
2016-08-10Minor typoDan Leslie
2016-05-02Chez: add rudimentary autodoc supportPeter
2016-05-02geiser-chibi: Implement autodoc for procedures in known modulesPeter
2016-04-30Use faster module listPeter
2016-04-30Add preliminary support for Chibi SchemePeter
2016-04-30Add preliminary support for Chez SchemePeter
2016-04-28Break long linesPeter
2016-04-26Add preliminary support for MIT/GNU Scheme.Peter
2016-02-15Fix for #127Dan Leslie
2016-01-25Fixes a potential endless loop.Dan Leslie
2016-01-19Fuzzy matching for Chicken AutoDoc and CompletionsDan Leslie
Because Chicken allows symbols to be imported with prefixes, and because 'apropos' does not provide any utility to match with the loaded prefixes, it is difficult to acquire information about prefixed symbols. This solution hacks around the issue by providing naive fuzzy-matching. If no match for a symbol can be found then the first character is dropped and matching is attempted again; the process is repeated until matches are found or the entire symbol is consumed. Also removes the (now redundant and slow) geiser-chicken-prefix-delimiters.
2015-12-31Performance ImprovementsDan Leslie
No longer rely on Apropos for matching. Apropos would perform a slow substring or regex search at every call; as well as rebuilding the entire list of available symbols. Now the list of symb
2015-12-14Fixing guile 2.2 compatibilityJose Antonio Ortega Ruiz
2015-12-14Support for guile-2.2Jose Antonio Ortega Ruiz
Using cond-expand to provide support for the new world of guile 2.2
2015-12-05Minor cleanupDan Leslie
Exposes geiser-load-paths, makes add-to-load-path and find-file 'unsafe'. Those needn't be memoized and would be strange if they are. This should finish fixing jaor/geiser#114
2015-12-05Minor changes to help with debugging completionsDan Leslie
2015-12-05No longer show arguments as strings.Dan Leslie
That was annoying.
2015-12-05Right-most character of arguments was being cutDan Leslie
2015-12-05Allows redefinition of modulesDan Leslie
If one were to re-evaluate a buffer with a module in it there would be problems because it would appear as a nested request. Solution: - Check if a module definition is a fore-most request, and if so, evaluate at top level
2015-12-05Fixes for Literals, Errors and ModulesDan Leslie
If literals were present chicken wouldn't provide any autodocumentation due to an error. Module evaluation was failing due to poor input. Chicken's Error output was failing to parse - Filter out all non-symbols from the autodoc set - Properly escape module names - Add "Error" to the set of accepted error prefixes
2015-10-03Stopped over-aggressive memoizationDan Leslie
It doesn't make sense to memoize the following: geiser-start-server geiser-macroexpand
2015-10-03Minor improvementsDan Leslie
Removed the unnecessary csi reference Added a flag to force build an so
2015-10-03Turn off debug logDan Leslie
2015-10-03Adds memoizationDan Leslie
Clears memo when anything other than a safe geiser call is made. Removes the last calls to regex within the thing
2015-10-03Converts toplevel methods to prefixed methodsDan Leslie
This seems to improve speed; in a large environment I witnessed a regular 100ms increase in speed for autodoc.
2015-10-03Refactored to reduce the reliance on regex.Dan Leslie
Improves speed by an order of magnitude.
2015-09-13Sorted and line-split crunch symbols.Dan Leslie
2015-09-11Added missing macrosDan Leslie
2015-09-11Adds recognition of the 'crunch' R5RS subsetDan Leslie
Crunch is a subset of R5RS that the crunch egg can heavily optimize via c++ compilation. This change allows geiser to report to chicken programmers whether the function is found within that subset, easing development. Details on the crunch egg can be found at: http://wiki.call-cc.org/eggref/4/crunch
2015-09-10Speeding up debugger check (addresses #64)Jose Antonio Ortega Ruiz
Soooo, the long delay experienced when evaluating long string lists in Guile had nothing to do with the time took by emacs to read the response from the scheme process; that process is always a breeze, no matter or its format or number of newlines. The delay was provoked by an innocent looking function that scans the received string (which includes a prompt at the end as an EOT marker) to check whether Guile (or any other scheme) has just entered the debugger (that's done inside `geiser-con--connection-update-debugging`). For some reason, `string-match` on that kind of string using Guile's regexp for a debug prompt takes forever. Instead of trying to optimize the regular expression, i've just applied it to the *second* line of the received string, which is the one that contains the response's prompt.
2015-09-08Ensuring switch-to-geiser asks for an implementationJose Antonio Ortega Ruiz
Should fix issue #85
2015-09-03guile: pretty printing evaluation results (#64)Jose Antonio Ortega Ruiz
We use the same trick as chicken for guile, and pretty-print the evaluation results before writing them. The trick wasn't working at all until i specified a value for the undocumented keyword parameter `#:max-expr-width`, which makes me think i might be missing something.
2015-08-31Merge remote-tracking branch 'dleslie/faster-output-handling'Jose Antonio Ortega Ruiz
2015-08-29The issue arose with numerics, as well.Dan Leslie
This change should fix it for most any input.
2015-08-29Fixes an issue where symbol->string was failingDan Leslie
In some instances apropos-information-list returns a string and not a list of symbols; this is the case for Chicken's builtins, like C_plus. IE, the following would fail: (geiser-autodoc #f '(+)) This fixes jaor/geiser#72
2015-08-28Use pretty-print instead of write with ChickenDan Leslie
Emacs chokes on buffers with very long lines. Use of pretty-print instead of write causes most incidents of long lines to be avoided by use of better formatting. This fixes jaor/geiser#64 for Chicken, and appears to greatly speed up completions in the general case for Chicken.
2015-05-17Various improvementsDan Leslie
- Can now optionally compile Geiser components for enormous speed improvements; enabled by default - Apropos was returning many duplicates, which was causing slowdowns; duplicates are now filtered - Now check for #<unspecified> results and return something - Fixed a typo in a comment - Fixed a typo in calling string-length
2015-02-09Documentation updates and nits for FreijaJose Antonio Ortega Ruiz
Preparing the release of 0.7, which will feature support for Chicken thanks to Dan and Freija!
2015-02-09Initial Chicken supportDan Leslie
2014-12-31Racket: displaying graphics in structured objectsJose Antonio Ortega Ruiz
By hooking the pretty-printer, as discovered by Greg in issue #49. To attain nirvana, we would still need (display (list graph)) to work...
2014-12-29Racket: show images with print, write and displayJose Antonio Ortega Ruiz
Up to now, we were only displaying images when printed as values by the REPL, but not when image values were explicitly print-ed, write-d or display-ed. This patch solves that problem by installing (semi) appropriate port-{print,write,display}-handler. This is still and incomplete solution in that those handlers (as well as the already installed current-print-handler) don't recurse over a value's structure and won't produce images embedded in other data structures, as discussed in issue #49.