298 Commits

Author SHA1 Message Date
ConnorSkees
969726eb30 Revert string interning
There existed issues related to multithreaded tests that are difficult
to resolve. In the future interning may be reimplemented but in a more
limited capacity.

The motivation behind interning *values* was that it appeared checking
for named colors was responsible for much of the time lost when parsing
unquoted strings. If interning were to be reimplemented, it may make
sense to limit it solely to identifiers and style properties.
2020-05-22 14:20:31 -04:00
ConnorSkees
3e5abf0587 remove keywords 2020-05-22 14:09:28 -04:00
ConnorSkees
b15740976c remove superfluous allocations when resolving idents 2020-05-22 13:49:19 -04:00
ConnorSkees
5bed62c404 keywords are thread_local 2020-05-22 13:47:48 -04:00
ConnorSkees
9a6c8ce019 add string interning
this seems to improve performance by ~20% as well as significantly
decrease memory usage
2020-05-21 22:46:40 -04:00
ConnorSkees
45a29c9697 refactor Number::to_integer 2020-05-20 22:40:21 -04:00
ConnorSkees
d88ac86bd1 consolidate builtin imports 2020-05-18 17:50:52 -04:00
ConnorSkees
c07bb7ecce refactor == and != order of operations 2020-05-16 22:43:13 -04:00
ConnorSkees
1fb6822259 rename register to declare 2020-05-16 18:01:06 -04:00
ConnorSkees
a3604491e9 consolidate implementations of hsl and hsla 2020-05-16 17:49:30 -04:00
ConnorSkees
b5a0931e45 consolidate implementations of rgb and rgba 2020-05-16 17:45:04 -04:00
ConnorSkees
6729f24b17 Value::inspect returns cow 2020-05-06 11:50:35 -04:00
ConnorSkees
0aed492123 move builtin fns to outer scope to reduce nesting 2020-04-30 19:36:34 -04:00
ConnorSkees
170759239a simplify declaration of rgb fns 2020-04-30 19:04:32 -04:00
ConnorSkees
4cfa29c971 simplify declaration of other color fns 2020-04-30 18:59:27 -04:00
ConnorSkees
11e0d523b2 simplify declaration of opacity fns 2020-04-30 18:54:29 -04:00
ConnorSkees
3e8b83d8ad simplify declaration of hsl fns 2020-04-30 18:51:10 -04:00
ConnorSkees
22098ca684 simplify declaration of string fns 2020-04-30 18:41:33 -04:00
ConnorSkees
26aabb42ad simplify declaration of meta fns 2020-04-30 18:31:55 -04:00
ConnorSkees
8a3ba1ae07 make lowercase in place where possible 2020-04-30 16:08:35 -04:00
ConnorSkees
fda95683ce simplify declaration of math fns 2020-04-30 15:48:54 -04:00
ConnorSkees
2d094490ba simplify declaraction of map fns 2020-04-30 15:18:54 -04:00
ConnorSkees
2eef3e9f6a store &'static str rather than String for builtin fn names 2020-04-30 15:00:57 -04:00
ConnorSkees
f2322dda4d simplify declaration of list functions 2020-04-30 14:47:07 -04:00
ConnorSkees
f4f4fe2e03 wrap match in Ok rather than all branches 2020-04-26 18:51:08 -04:00
ConnorSkees
680790c49a replace max_args! macro with builtin method 2020-04-22 06:17:52 -04:00
ConnorSkees
33ccabce7b box color in value 2020-04-21 18:54:19 -04:00
ConnorSkees
25e6151aa9 remove workaround for compiler regression 2020-04-21 18:28:46 -04:00
ConnorSkees
3805eaab2b clippy 2020-04-21 18:22:26 -04:00
ConnorSkees
52c6ed0b64 remove QuoteKind::Single variant 2020-04-18 13:19:30 -04:00
ConnorSkees
de78c1147a manually resolve some formatting issues 2020-04-17 13:06:54 -04:00
ConnorSkees
409fa3a1dd eval args to zip 2020-04-13 12:28:40 -04:00
ConnorSkees
62f9f7da4f integrate error handling with codemap 2020-04-12 19:37:12 -04:00
ConnorSkees
0ddabb5afd hsl/hsla 4 args special functions 2020-04-07 00:04:19 -04:00
ConnorSkees
6b817dcb24 hsl/hsla 3 args special functions 2020-04-06 23:38:17 -04:00
ConnorSkees
b17420e00b dont emit comma on one arg two channels special 2020-04-06 22:38:55 -04:00
ConnorSkees
203200ca4c emit rgba inside rgba for two args special 2020-04-06 22:35:07 -04:00
ConnorSkees
b545c162f5 two arg special function rgb/rgba 2020-04-06 22:33:12 -04:00
ConnorSkees
c95c69be4d avoid unwrapping in special functions rgb/rgba one arg green 2020-04-06 22:26:43 -04:00
ConnorSkees
65ba25e555 handle special functions in 1 arg rgb/rgba 2020-04-06 22:09:36 -04:00
ConnorSkees
b5a0957aa7 handle special functions in 3args rgba 2020-04-06 21:58:47 -04:00
ConnorSkees
97425665f9 consolidate implementation of rgb and rgba 2020-04-06 21:22:03 -04:00
ConnorSkees
ef282c5c18 consolidate inspect implementations 2020-04-06 00:27:09 -04:00
ConnorSkees
49aa66eb78 refactor max_args error message 2020-04-05 20:19:46 -04:00
ConnorSkees
355643f538 proper error message for builtin fn expecting 0 args 2020-04-05 18:46:19 -04:00
ConnorSkees
50778bd743 random with limit is 1<=n<=limit 2020-04-05 18:30:17 -04:00
ConnorSkees
d67fe948d6 implement builtin function unique-id 2020-04-05 18:20:58 -04:00
ConnorSkees
c8a59ea501 implement builtin function random 2020-04-05 13:42:53 -04:00
ConnorSkees
b7be1705a2 args and default values are lazily evaluated 2020-04-04 18:17:04 -04:00
ConnorSkees
24983b9d20 rustfmt 2020-04-04 14:13:17 -04:00