User:CRGreathouse: Difference between revisions

From Rosetta Code
Content added Content deleted
(highlighting update)
(bare lang tags; 2.6.0 updates)
Line 26: Line 26:
-->
-->


*[[User:CRGreathouse/lang tags|Bare lang tags]] on RC
*[[:Category:PARI/GP]]
*[[:Category:PARI/GP]]
*[[Reports:Tasks not implemented in PARI/GP]]
*[[Reports:Tasks not implemented in PARI/GP]]
Line 43: Line 44:
* Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
* Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
* Colors should probably be changed (my fault!); member functions and strings are too conspicuous and defaults and error types are not conspicuous enough. Maybe a desaturated green for strings and switch the blue-violet used for defaults and errors with the purple of the member functions.
* Colors should probably be changed (my fault!); member functions and strings are too conspicuous and defaults and error types are not conspicuous enough. Maybe a desaturated green for strings and switch the blue-violet used for defaults and errors with the purple of the member functions.
* New functions, defaults, constants, etc. from 2.6 need to be added


<lang parigp>x:real -> x^2
<lang parigp>x:real -> x^2
x->x^2 /* lambdas */
x->x^2 /* lambdas */
a += b <<= c >>= d -= e *= f /= g \= h \/= i %= j
a += b <<= c >>= d -= e *= f /= g \= h \/= i %= j
ellheegner(ellinit([0, -1, 1, -33, 93])) \\ Do the 2.6.x functions work?
Pi + Catalan + Euler \\ Is the new 2.6.0 constant highlighted?
func26 = [ellheegner,cmp,getenv] \\ Are the new 2.6.x functions working?
default(linewrap, 0) \\ Is the new 2.6.0 default working?
myFunc(x:real, y:mp, z:int)=[x,y,z]; \\ gp2c types, including one that conflicts with a function
myFunc(x:real, y:mp, z:int)=[x,y,z]; \\ gp2c types, including one that conflicts with a function
realprecision=mp+7; \\ should not be highlighted
realprecision=mp+7; \\ should not be highlighted
Line 63: Line 67:
(a && b) || (c && d) == e++ === f-- != g;
(a && b) || (c && d) == e++ === f-- != g;
!#[]~ \\ operators
!#[]~ \\ operators
for(i=1,9,variable_with_underscore);
sum(i=1,9,variable_with_underscore);
Mod(3,9).mod \\ member function
Mod(3,9).mod \\ member function
quadgen(5).disc \\ another member function
quadgen(5).disc \\ another member function

Revision as of 02:14, 28 November 2011

My Favorite Languages
Language Proficiency
BASIC out of practice
C advanced
C++ out of practice
C# advanced
Forth beginner
Java out of practice
JavaScript advanced
LabVIEW beginner
LaTeX advanced
Mathematica beginner
MATLAB out of practice
MySQL intemediate
PARI/GP advanced
Perl intermediate
PHP beginner
Scheme beginner
UNIX Shell intermediate
VBScript out of practice
Visual Basic out of practice

My tasks

I occasionally create tasks, usually with some reference implementation in a reasonably-common language like C, Perl, or JavaScript.

GeSHi tester

As of 2011-08-05, the highlighting works essentially correctly. Remaining issues:

  • Types don't work. gp2c types (e.g., :mp) are highlighted as though they were commands, and GP types (e.g., "t_INT") are not highlighted at all.
  • Escapes in strings are not highlighted, though they are properly detected in terms of ending strings.
  • Defaults that conflict with keywords (simplify and log) are highlighted wrong; not a big deal.
  • Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
  • Colors should probably be changed (my fault!); member functions and strings are too conspicuous and defaults and error types are not conspicuous enough. Maybe a desaturated green for strings and switch the blue-violet used for defaults and errors with the purple of the member functions.
  • New functions, defaults, constants, etc. from 2.6 need to be added

<lang parigp>x:real -> x^2 x->x^2 /* lambdas */ a += b <<= c >>= d -= e *= f /= g \= h \/= i %= j Pi + Catalan + Euler \\ Is the new 2.6.0 constant highlighted? func26 = [ellheegner,cmp,getenv] \\ Are the new 2.6.x functions working? default(linewrap, 0) \\ Is the new 2.6.0 default working? myFunc(x:real, y:mp, z:int)=[x,y,z]; \\ gp2c types, including one that conflicts with a function realprecision=mp+7; \\ should not be highlighted whatType(x)=if(type(x)=="t_INT", "integer", "something else") \\ GP types default(realprecision, 29); \\ defaults default(simplify, 1) \\ default that conflicts with a function trap(gdiver, "tried to divide by 0", 1/0) \\ error type "this is a string with embedded \"quotes\" and "a_variable" in the middle" \\ string context, embedded " "another string, this one with a \\ in the middle, the rest shouldn't be a comment" 'this is all a giant literal_variable \\ not a quote, not an error -- though if only the first part is treated as a variable that would be fine (x^2+1)'+1 \\ derivative of x^2+1, plus one -- nothing funny should happen to the +1 100 \ 9 *4 / 3 + 1 - 2 \\ are operators highlighted equally, even integer division? 100\9\/3 \/ 1 \\ what about without spaces, or the unusual \/ operator? n=[1,2][9^9%2+1] \\ other operators (a && b) || (c && d) == e++ === f-- != g; !#[]~ \\ operators sum(i=1,9,variable_with_underscore); Mod(3,9).mod \\ member function quadgen(5).disc \\ another member function Fibonacci=7 \\ should not be highlighted</lang>