RFCs

RFC #0197: Type literals in tokens

at 2010-02-18 in RFCs5.8-SERIES by friebe

Scope of Change
A common way to denote type literals in generated sourcecode will be introduced.

Rationale
An example of where this is used is the type dispatching methods described in RFC #0195. Another example is generics generation, as described in RFC #0193.

Read the full RFC here



RFC #0193: Generics optimization

at 2010-02-18 in 5.8-SERIESRFCs by friebe

Scope of Change
Generics will be optimized.

Rationale

  • Improve performance
  • Enable reflection for generics
  • Enable reflective creation of generics
  • Support primitives a generic arguments

Read the full RFC here



RFC #0175: New io.zip package

at 2009-12-24 in RFCs by friebe

Scope of Change
A new package named io.zip will be created.

Rationale
Reading and creating zipfiles.

Read the full RFC here



RFC #0196: I/O Collections random access

at 2009-11-19 in RFCs by friebe

Scope of Change
There will be methods in the io.collections interfaces that will allow creating, finding, and removing children.

Rationale
Extend the I/O collections classes from read-only to include a full-featured filesystem access API.

Read the full RFC here



Generics in C#, Java, and C++

at 2009-11-14 in Further readingRFCs by friebe

In this interview from quite a while ago Bruce Eckel and Bill Venners talk with Anders Hejlsberg about generics implementations in C# and Java - the differences in their implementations, type erasure vs. runtime instantiation, reflection and how they compare to C++'s template mechanism. This has inspired us to come up with RFC #0193 - and moving our generics implementation closer to the one in the CLR.



RFC #0181: SystemExit

at 2009-11-13 in 5.8-SERIESRFCs by friebe

Scope of Change
Calls to exit() will be replaced by a method that throws a lang.SystemExit exception.

Rationale
Be able to catch sourcecode that tries to exit.

Read the full RFC here



RFC #0188: Test outcome

at 2009-09-28 in RFCsUnittests by friebe

Scope of Change
At the moment, there are three possible outcomes of a unittest: Succeeded, Skipped and Failed. This RFC suggests adding more kinds of outcomes: Error and NotRun.

Rationale
Be able to distinguish between the different non-success reasons.

Read the full RFC here



RFC #0191: New CSV API

at 2009-09-15 in RFCs by friebe

CSV fileScope of Change
An API for processing CSV files will be created and put into a new package called text.csv.

Rationale
The current classes - text.CSVGenerator and text.parser.CSVParser - are clumsy to use and almost not flexible.

Read the full RFC here



RFC #0190: Readers and Writers

at 2009-09-15 in RFCs by friebe

Scope of Change
To complement the input and output streams reading bytes from the underlying data sources, Reader and Writer classes will take care of reading formats defined ontop of these.

Rationale
Separate binary data and formatted data such as strings, as prerequisite for Unicode support.

Read the full RFC here



Extension methods: Swiss army knives without the anti-pattern

at 2009-08-29 in Experiments5.8-SERIESRFCs by friebe

Swiss Army KnifeThe following calls a method called "sorted" on an instance of the lang.types.ArrayList class. The ArrayList class doesn't have such a method, and we'll thus get a nice "call to undefined method" error shortly before our program is terminated.

<?php 
$array= new ArrayList(3, 1, 2);
$sorted= $array->sorted();
?>

We could add this method to the class, but the next request would be to have filter(), map(), join(), collect(), partition(), and whatever else methods in this class, which would turn it into the "swiss army knife" anti-pattern.


(more)

Subscribe

You can subscribe to the XP framework's news by using RSS syndication.


Categories

News
General
PHP5
Announcements
RFCs
Further reading
Examples
Editorial
EASC
Experiments
Unittests
Databases
5.8-SERIES