Skip to content

TODO List and Ideas

rgsilva edited this page Jan 9, 2012 · 30 revisions

This is where we hold a TODO list. We'll try to keep this as much organized as we can...

Internals

  • Idea! Move modules that export global functions (like IO.cc) to another folder, keeping there only modules that export new types and its methods.
  • Idea! First class methods, functions and types.
  • Array<>, Map<>, Set<>, Hash<> and List<> types
  • Fix argument checking in function call
  • Allow function overload just like method does
  • Derived type checking
  • AST Transfomer for optimization in the AST
  • Implement Clever object file loader
  • Object iterator interface (rewind(), next() etc)
  • Exception handling support
  • Some kind of binary data type (sockets, file IO, etc).

I/O modules (mainly Filestream)

  • Filestream
    • Add unlink method
    • Add touch method

OS API helpers

  • Start process (with or without waiting for it to finish), capturing or not the exit code, etc.
  • Fork (*nix only, since the Windows kernel doesn't provide any kind of forking techniques)
  • Threads
  • Sleep function

Sockets module

  • Create UdpSocket type.
  • Add name resolution support
  • Add some method to check if the TcpSocket is still connected (.connected() maybe?)
  • Add error control on send and receive methods.
  • Use some kind of binary type - sent strings will be encoded as binary data prior to sending and received data will be decoded as string.
  • Using binary types, change the receive method to get only N (specified) bytes, not until there's no more data. So more complex applications (with binary data transmission) can be ported/implemented. Also, remove the non-blocking stuff - the user should poll() the socket first to know if there's more data.

Test-runner

  • Port the entire test-runner suite to clever (needs a lot of things to be done first).

Clone this wiki locally