User:CRGreathouse: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎GeSHi tester: more operators)
m (link)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{mylangbegin}}
{{mylangbegin|Languages I use}}
{{mylang|BASIC|out of practice}}
{{mylang|C|advanced}}
{{mylang|C|advanced}}
{{mylang|C++|out of practice}}
{{mylang|C sharp|intermediate|C#}}
{{mylang|C sharp|advanced|C#}}
{{mylang|Go|beginner}}
{{mylang|Forth|beginner}}
{{mylang|Java|out of practice}}
{{mylang|JavaScript|advanced}}
{{mylang|JavaScript|advanced}}
{{mylang|LabVIEW|beginner}}
{{mylang|LaTeX|advanced}}
{{mylang|LaTeX|advanced}}
{{mylang|Mathematica|beginner}}
{{mylang|Mathematica|beginner}}
{{mylang|MATLAB|out of practice}}
{{mylang|MySQL|intermediate}}
{{mylang|MySQL|intemediate}}
{{mylang|PARI/GP|advanced}}
{{mylang|PARI/GP|advanced}}
{{mylang|Perl|intermediate}}
{{mylang|Perl|intermediate}}
{{mylang|PHP|beginner}}
{{mylang|PHP|beginner}}
{{mylang|Ruby|beginner}}
{{mylang|Scheme|beginner}}
{{mylang|Scheme|beginner}}
{{mylang|UNIX Shell|intermediate}}
{{mylang|UNIX Shell|intermediate}}
{{mylangend}}
{{mylang|VBScript|out of practice}}
*[[User:CRGreathouse/lang tags|Bare lang tags]] on RC
{{mylang|Visual Basic|out of practice}}
*[[:Category:PARI/GP]]
*[[Reports:Tasks not implemented in PARI/GP]]
*[[Special:MostLinkedCategories]]/[[RC POP.OUT]]
*[[User:CRGreathouse/PARI GP contributors]]
*Useful PARI/GP tasks: [[Operator precedence#PARI/GP|Operator precedence]]
<br clear="right">
{{mylangbegin|Out of practice}}
{{mylang|BASIC|intermediate}}
{{mylang|Forth|beginner}}
{{mylang|Java|intermediate}}
{{mylang|LabVIEW|beginner}}
{{mylang|MATLAB|beginner}}
{{mylang|VBScript|beginner}}
{{mylang|Visual Basic|intermediate}}
{{mylangend}}
{{mylangend}}
<!-- The scale I'm using:
<!-- The scale I'm using:
(non-user) -- beginner -- intermediate -- advanced -- expert -- (designer)
(non-user) -- beginner -- intermediate -- advanced -- expert -- (designer)

Other values, like "out of practice", can be used but are not ranked.
-->
-->

*[[:Category:PARI/GP]]
*[[Reports:Tasks not implemented in PARI/GP]]
*[[Special:MostLinkedCategories]]
*[[User:CRGreathouse/PARI GP contributors]]


==My tasks==
==My tasks==
Line 37: Line 40:


==GeSHi tester==
==GeSHi tester==
As of 2011-08-05, the highlighting works essentially correctly. Remaining issues:
So far (2011-07-11), comments and keywords work just fine (though the 2.6 ones have not been added and the two comment types are highlighted differently). gp2c types work except :real which conflicts with the function of the same name. GP types do not work. Default keywords work except the two that conflict with functions, <code>simplify</code> and <code>log.</code>. Embedded quotes and even string context work just fine. Operators are not highlighted, which means I don't have to care about special ones like <code>\/</code>.
* Types don't work. gp2c types (e.g., <code>:mp</code>) are highlighted as though they were commands, and GP types (e.g., <code>"t_INT"</code>) are not highlighted at all.

* Escapes in strings are not highlighted, though they are properly detected in terms of ending strings.
Default keywords and types are highlighted outside their proper context, though this is probably not a big deal.
* Defaults that conflict with keywords (<code>simplify</code> and <code>log</code>) 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
<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 59: Line 68:
n=[1,2][9^9%2+1] \\ other operators
n=[1,2][9^9%2+1] \\ other operators
(a && b) || (c && d) == e++ === f-- != g;
(a && b) || (c && d) == e++ === f-- != g;
!#[]~ \\ 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
Fibonacci=7 \\ should not be highlighted</lang>
Fibonacci=7 \\ should not be highlighted</lang>

== PARI/GP Features ==

<code>&</code> and <code>|</code> were [http://pari.math.u-bordeaux.fr/archives/pari-announce-11/msg00001.html deprecated in 2011] and became obsolete in 2013. Please use <code>&&</code> and <code>||</code> instead.

Latest revision as of 13:55, 17 December 2015

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.