Projects:
- Nim wrapper for libcurl (download/uplaod files from/to HTTP, FTP, etc. servers).
- POP3 client library
- A sinatra-like web framework for Nim.
Forum:
- Using COM Interface (example usage of COM: modify an Excel file by talking to the installed office)
- Sharing memory between threads (channels, threads, memory allocation)
- File iteration slow (about reading large files)
- [Sieve of Erastosthenes, Benchmarks (bit magic speed up to match vector
)](http://forum.nim-lang.org/t/1581) - KDevelop nim/nimble project (now with install guideline)
- ptr, array, openarray and the heap (what would it take to reimplement seq)
- NimForum and the mailing list (you can receive email notification about forum topcis)
- Nimble publish is ready
- concurrency (benchmark, threads)
Core development:
Untyped pointers codegen changed. addr
expression fixed, Fixed reversed to work for empty seq’s, extending metatype matching in sigmatch.nim, fixed UTF-16 to UTF-8 conversion in widestrs.nim, unittest
improvements, Improve performance of readLine
by using fgets
, tuple unpacking works in a non-var/let context, math.nim works with NimScript, When reading files check if the eof flag is set before throwing, Don’t access GCed field in finalizer, implemented nimPinToCpu
threadpool feature, Coroutines,
Example code for this week:
nimble install jester
Then the following code shows the current time at http://127.0.0.1:5000/:
import jester, asyncdispatch, htmlgen, times
routes:
get "/":
let reload = "<meta http-equiv='refresh' content='1'/>"
resp reload & h1("Hello world") & h2($getTime())
runForever()