User:CRGreathouse

From Rosetta Code
Languages I use
Language Proficiency
C advanced
C# intermediate
Go beginner
JavaScript advanced
LaTeX advanced
Mathematica beginner
MySQL intermediate
PARI/GP advanced
Perl intermediate
PHP beginner
Ruby beginner
Scheme beginner
UNIX Shell intermediate


Out of practice
Language Proficiency
BASIC intermediate
Forth beginner
Java intermediate
LabVIEW beginner
MATLAB beginner
VBScript beginner
Visual Basic intermediate

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>

PARI/GP Features

& and | were deprecated in 2011 and became obsolete in 2013. Please use && and || instead.