Skip to content
This repository
tree: 589fce1fde
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 57 lines (44 sloc) 2.352 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
"Low" hanging fruit - stuff that doesn't fit into a specific
point in the timeline, and anybody can pick up whenever they
feel like it. Not all of it is necessarily easy; I know some
of you like big projects.

* Generally speaking, the setting is very incomplete. Patches to add
  methods or subs to the setting, with tests, are welcome.
  - Series operators, stuff like that.
  - split, trans; a lot of basic Str/Num operators are missing
  - Beware - multiple dispatch is NYI!

* Control structures still have a lot of unimplemented cases. loop
  should be pretty straightforward, for instance.

* In particular, I/O is sorely lacking.
  - $*ARGFILES
  - open/read/write/close
  - dir
  - IO::Socket
  - Buf stuff
  - %*ENV

* If you want to add base functionality like CATCH blocks, talk to me
  first; I have plans on these. I don't think there are terribly many
  of this sort left though.

* Contributions for perf/ are welcome and will be treated as challenges.

* If you have Microsoft .NET, I'd like Niecza to work out of the box.
  That means a little bit of logic to probe for it, and then adapting
  CompilerDriver to invoke csc instead of gmcs. Also niecza_eval
  should run .exe files directly instead of "mono foo.exe".

* Junctions should work. You'll need to add some slightly tricky code
  on the slow path of nominal type checks. You will also need to fix
  the optimized builtins to use nominal type checking. Bonus points
  if the optimizer can turn if $x == any(1,3,5) into a loop.

* A multicore job scheduler would be cool. You'll need to talk with
  TimToady on dependency extraction; there are some subtle points with
  modules that export slangs.

* Parallel hyperops! Read the Cilk papers, they seem to have a data
  parallelism model most similar to what Perl 6 needs.

* Non-CLR backends would be great. I haven't completely made up my
  mind how these should work, so you'll have design work to do. In
  particular, a portable method for initializing metaobject trees
  needs to be created.

* Niecza is probably the ideal platform for prototyping a concurrency
  system which will whirlpool back into the synopses.

* The builtin function optimization should be extended to cover most of
  the basic operations; &char, &infix:<+>, that kind of stuff. No need
  to handle &gethostbyname as a builtin though.
Something went wrong with that request. Please try again.