source: project/wiki/wish-list @ 32820

Last change on this file since 32820 was 32820, checked in by Mario Domenech Goulart, 5 years ago

wish-list (wiki): telegram client

File size: 4.6 KB
Line 
1== "And I want a pony!"
2
3''This page is intended to hold a "wish-list" of things that would be nice to have. There are no limits - go wild.''
4
5---
6
7=== Core system
8
9* Make it smaller
10* Make the source a human-readable paragon of software development brilliance
11* Make it easy to target foreign architectures (cross-compiling) - ''cross-compilation is already supported pretty well, see [[man/4/Cross compilation]] for more information (felix)''. ''See also [[https://github.com/OSSystems/meta-chicken|the meta-chicken layer for Yocto/OpenEmbedded]] for a practical application of that feature (mario)''
12** Make it easy to create monoliths with no run-time demands to run on targets without chicken
13* Provide hooks in the scheduler to enable extensions to implement native threading
14** Provide hooks in the garbage collector to implement native threading
15* Allow for less copying when dealing with blobs, particularly when transferring to/from the FFI. I'd like to be able to take a void*+size_t pair from C and wrap it as a chicken blob that I can then view as a string or as an SRFI-4 vector with a make-.../shared call - and have a finalizer so that an arbitrary C callback (such a free) is invoked when the blob is GCed. This will make blob-shuffling apps such as Ugarit use less CPU and RAM.
16* Add a compatibility module for the core of scsh. - ''There's support for scsh's SRE syntax in core and support for its process forms and most process-related procedures in the [[/egg/scsh-process|scsh-process egg]] (sjamaan)''
17* Weak References
18* An better escape for C compiler options on the csc command line: Most configure scripts like ''sdl-config'' will output more flags than are currently recognised by csc as compiler flags. A more general approach could use '''--''' as a separator for C compiler/linker flags:
19 csc -O5 -s file.scm  -- `sdl-config --libs`
20See the [[egg:sdl|sdl egg]] for an ugly example of a kludge to dodge this issue.
21* Threading: Make srfi-18 / scheduler use pthreads (instead of its current green threads) (already answered in the [[man/4/faq#does-chicken-support-native-threads|FAQ]])
22
23=== Eggs
24
25* An IMAP Egg + ssl support
26* A sawfish-like window manager ([[https://github.com/mario-goulart/nsfwm|work in slow progress here]])
27* Awful-based implementation of the IPython Notebook
28* CHICKEN-based Unix shell
29* Complete MIME support (parsing+generating)
30* Data lens (bidirectional transformations or parsing+unparsing from a single grammar specification)
31* Bindings for photography and image manipulation related libraries: gphoto, libraw, lensfun, imagemagick, etc.
32* Multithreaded FUSE support (http://wiki.call-cc.org/eggref/4/fuse is now available)
33* More spatial tree data structures: BK tree, MVP tree, etc.
34* A framework for convenient manipulation of pools of Unix worker processes
35* CHICKEN-based issue tracking and version control :-)
36* RDF library (possibly just a simple port of the Gauche RDF library)
37* A really clever high-level declarative DSL for creating WebKit GUIs
38* A pandoc-style library
39* SSAX-style queries for JSON data structures
40* Better XML processing tools
41* Something like [[http://pythonhosted.org/Whoosh/intro.html|Whoosh]] (a search engine library based on the [[http://en.wikipedia.org/wiki/Okapi_BM25|Okapi BM25F]] ranking function)
42* A Scheme implementation of [[http://en.wikipedia.org/wiki/Expect|expect]] (like e.g., [[https://github.com/pexpect/pexpect|pexpect]] for Python)
43* Bindings for [[http://linuxcontainers.org/|LXC]] (there are bindings for Python and Lua in the git repository)
44* [[http://en.wikipedia.org/wiki/SPDY|SPDY]] support (web stuff)
45* Bindings for [[http://www.vips.ecs.soton.ac.uk/|VIPS]] (a free image processing system)
46* Source-level debugger
47* A symbolic algebra system
48* Recursion schemes, groups and categories, [[http://hackage.haskell.org/package/category-extras|just like Haskell]]
49* An [[http://asciidoctor.org/docs/what-is-asciidoc|AsciiDoc]] parser and SXML emitter.
50* Port [[https://github.com/scheme/edwin48|edwin]] to CHICKEN
51* A Scheme->awk compiler (like [[/egg/spock|spock]], but targeting awk).
52* Bindings for [[https://github.com/ocornut/imgui|imgui]]
53* CHICKEN wrapper around [[http://code.google.com/p/miniz/|miniz]]
54* A client for [[https://telegram.org/|Telegram]]
55
56
57=== Documentation
58
59* Develop a production pipeline that turns the wiki manual pages into a manual that is easy to search online, downloadable as a single file so that it can be consulted offline, and, when printed,  produces a beautifully formatted, indexed user manual.
60* Turn the existing pages on internals into a detailed developer guide that is also easy-to-search, available in a single file, and printable as a beautiful document.
Note: See TracBrowser for help on using the repository browser.