Robby Findler
aa8b280f1c
adjust the splay tree implementation so that it creates fewer cons
...
cells when searching in the tree
Two tricks: represent lists of nodes as improper lists so singleton
lists don't allocate a cons and pass around two accumulators that
correspond to the hd & tl of a path, instead of cons'ing that up
into a list and them immediately taking it apart again
measurement: when starting up drracket with
collects/drracket/private/unit.rkt and then waiting for the colorer to
finish, and then inserting an open quote right before the first open
quote in the file (and waiting again for the colorer to finish)
creates 249000 cons cells before this change and 116000 after this
change
After a little more work, I'm pretty much convinced that this was
the wrong approach and that the splaying implementation should just
change to not allocate the paths into lists at all, thus removing
the other 116k cons cells. (I plan to get to this another day;
it should not be difficult now that I roughly understand how these
things work.)
I also looked into top-down splaying and found these notes to
be illuminating:
http://digital.cs.usu.edu/~allan/DS/Notes/Ch22.pdf
They essentially convinced me that we cannot use top-down splaying
here, since the "reassembling" stage requires moving some arbitrary,
unexplored subtree from a right-child to a left-child, and thus the
left-subtree-length cannot be updated properly.
2012-04-05 07:14:52 -05:00
Robby Findler
5dad811a5d
rackety
2012-04-03 17:08:00 -05:00
Robby Findler
404b4da138
avoid allocation for 'paren' structs
2012-04-03 17:08:00 -05:00
Eli Barzilay
f7c67b49a4
Big newline at EOF scan.
2012-02-29 00:28:11 -05:00
Robby Findler
11994bd4f8
fix a bug in the module lexer; it was returning the wrong length for the tokens
...
it creates when the #lang line isn't well-formed (eg "#lang racke").
closes PR 12399
2011-11-28 21:16:31 -06:00
Matthew Flatt
fca5ceecc9
switch `codeblock' to strings instead of bytes
...
Also, fix scribble lexer line counting.
Closes PR 12225
2011-11-27 11:06:21 -07:00
Robby Findler
65fd0234ad
add a unicode test to scheme-lexer.rkt
...
and change the tests so they all run with port line
counting enabled (or else the unicode test fails)
adjust module-lexer.rkt tests so they can run in either
port-counting mode or not (but currently run them all in
port-counting mode because scheme-lexer doesn't work without it)
also make a first stab at what needs to change in the module
lexer to make it work in non port line-counting mode
2011-11-03 22:41:27 -05:00
Robby Findler
d00aed6f1b
fix the module reader for the case when there are non-ASCII unicode characters
...
in comments before the #lang line
also add an #:init-position argument to peeking-input-port
2011-11-03 17:13:17 -05:00
Robby Findler
1eaf53d4cb
adjust the module lexer so that it treats the entire range that
...
'read-language' uses as a single token in the case that read-language
fails. This helps it to deal with things like s-exp and at-exp
properly
closes PR 12260
2011-10-08 08:08:36 -05:00
Ryan Culpepper
1b702a2ae3
docs reorganization
...
added tutorial, racket categories
relabeled some other categories
normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Robby Findler
69b5daa9e6
remove docs tests that no one was interested in
2011-07-01 11:38:09 +08:00
Eli Barzilay
ac26fe7554
A ton of @scheme*' ->
@racket*' and related updates.
...
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Matthew Flatt
bbd98528ba
improve docs for `module-lexer'
2011-06-10 06:21:35 -07:00
Robby Findler
507b1cd8fd
moved the docs-complete library into rackunit
...
to avoid having a separate, new manual for the
one library
2011-05-05 16:10:42 -05:00
Robby Findler
e7d0029aea
added lots of new tests that our documentation is complete
2011-04-25 13:24:43 -05:00
Robby Findler
68b5d2abf8
adjust module lexer to handle the case of specials in the editor properly
2011-03-01 15:20:55 -06:00
Robby Findler
83b00c0cf1
adjust the module-lexer so it explicitly notes malformed #lang lines before going into "no-lang-line" mode
...
closes PR 11766
2011-02-22 20:42:19 -06:00
Robby Findler
50e9aec0ab
catch more exceptions in the module lexer when it calls read-language
2011-02-10 09:56:43 -06:00
Robby Findler
d659d2f0af
changed the module lexer's strategy to be able to handle
...
the part of the buffer before the #lang line properly
closes PR 11381
2011-02-09 15:27:05 -06:00
Robby Findler
dce1d0ad47
revert the module-lexer.rkt changes that I accidentally pushed
2011-02-08 10:55:35 -06:00
Robby Findler
49c3011f49
started to fix the colorer problems (now that I undestand how!)
...
plus some extra checking in the colorer
2011-02-08 10:02:42 -06:00
David Van Horn
c9519fd113
Fixed various spelling errors.
2011-02-03 17:42:33 -05:00
Matthew Flatt
bf4fc2574c
fix syntax colorer for #true and #false
2010-10-12 08:22:12 -06:00
Matthew Flatt
e4aab34656
Fix `at-exp' syntax colorer to handle non-text input
...
- added 'special-filter-input-port' to `racker/port'
Merge to v5.0
2010-05-21 19:40:32 -06:00
Eli Barzilay
939af28a4c
Some random ".ss" -> ".rkt"s
2010-05-17 05:58:19 -04:00
Matthew Flatt
28b4043077
rename all files .ss -> .rkt
2010-04-27 16:50:15 -06:00
Robby Findler
59d90b279d
improved support for #lang planet (in drscheme)
2010-04-21 12:14:17 -04:00
Matthew Flatt
973d51c20f
change 'read-language' protocol so that the result from 'get-info' accepts a key plus default value (instead of just a key)
...
svn: r16459
2009-10-29 23:05:56 +00:00
Robby Findler
40ed4c0e87
svn: r16417
2009-10-22 23:24:40 +00:00
Matthew Flatt
d807421a07
extended syntax colorer to support lexer-specific backup; fix problems with new color lexers
...
svn: r15617
2009-07-29 03:31:29 +00:00
Matthew Flatt
84485e14ad
try reporting complex Scribble braces as regular braces
...
svn: r15614
2009-07-28 22:20:25 +00:00
Matthew Flatt
c261379a29
better coloring and bug fixes for Scribble notation
...
svn: r15613
2009-07-28 22:06:16 +00:00
Matthew Flatt
c1f5e3abb4
changed Scribble coloring for better tabbing
...
svn: r15612
2009-07-28 21:11:51 +00:00
Matthew Flatt
8b0b01939a
use the Scheme lexer when then module path is bad (or a planet path)
...
svn: r15610
2009-07-28 18:41:06 +00:00
Matthew Flatt
12ab7c3aff
disable syntax-coloring-triggered planet installs, for now
...
svn: r15609
2009-07-28 18:39:12 +00:00
Matthew Flatt
d48332ed26
fix for syntax coloring (4.2.1.4)
...
svn: r15608
2009-07-28 18:30:21 +00:00
Matthew Flatt
1ba7cf0926
#lang syntax coloring; Scribble syntax coloring
...
svn: r15607
2009-07-28 18:06:14 +00:00
Robby Findler
0c73b84692
PR 10344
...
svn: r15545
2009-07-24 04:37:34 +00:00
Eli Barzilay
c0a8a01222
Changed @itemize{...} to @itemize[...] (done after comparing the doc
...
tree and verifying that there are no changes).
(Also fixed a few bugs that were in the code)
svn: r14427
2009-04-05 17:46:20 +00:00
Matthew Flatt
077e5a4666
change reference and some other docs to use #f instead of false/c and or/c insteda of one-of/c
...
svn: r12023
2008-10-13 19:45:37 +00:00
Matthew Flatt
9453aaaccf
assign authors to manuals
...
svn: r11287
2008-08-15 20:16:06 +00:00
Scott Owens
5295dcb197
Clarified how the paren matching tree uses its internal data structures.
...
svn: r9720
2008-05-07 10:38:33 +00:00
Matthew Flatt
a26b334c67
proprocessor doc, merge scribblings and doc-categories fields
...
svn: r9414
2008-04-23 00:20:25 +00:00
Matthew Flatt
fbfc9bf883
keyword-ized plot, plot and mime docs
...
svn: r9304
2008-04-14 21:26:28 +00:00
Matthew Flatt
4c14045c5d
syntax coloring for prefabs
...
svn: r9229
2008-04-10 00:22:38 +00:00
Robby Findler
362f16b411
the paren matcher now works for previous interactinos with the REPL and hitting return up above copies the text down to the next prompt
...
svn: r8840
2008-03-01 21:49:31 +00:00
Matthew Flatt
bb6c2fba5a
make colorer handle #! abbreviation or #lang
...
svn: r8839
2008-03-01 14:38:38 +00:00
Eli Barzilay
bb34f747b6
make all files terminate with a newline
...
svn: r8786
2008-02-24 21:27:36 +00:00
Eli Barzilay
b1a08edd5a
use new require specs in many places
...
svn: r8774
2008-02-23 09:42:03 +00:00
Matthew Flatt
ca1a9dc8bf
docs form David Van Horn; Slideshow tweaks
...
svn: r8661
2008-02-14 14:07:57 +00:00