I'm working on modernizing Rosetta Code's infrastructure. Starting with communications. Please accept this time-limited open invite to RC's Slack.. --Michael Mol (talk) 20:59, 30 May 2020 (UTC)


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[edit]

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

GeSHi tester[edit]

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
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
Mod(3,9).mod \\ member function
quadgen(5).disc \\ another member function
Fibonacci=7 \\ should not be highlighted

PARI/GP Features[edit]

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