Skip to content

ficus stdlib TODO #5

Description

@vpisarev

(in bold there are higher-priority items)

    • Basic ops on strings, lists, arrays, numbers, tuples etc. ...
    • Real complex type & ops (need support at compiler level, but mostly can be done in the standard library, just like "option")
    • Introspection, compiler as a library
    • JSON parser & emitter
    • XML, YAML parser & emitter
    • Async, parallel programming (Mutex class/module or equivalent functionality is necessary to implement first for map-reduce algorithms)
    • OS services (files, directories, processes, ...)
    • Time & Date (arithmetic operations on time and date, calendar etc.)
    • Unit test framework
    • Logging
    • Pretty printing
    • Regexp (RE2? or something like that)
    • Parsing module for context-free grammars or some more constrained grammars
    • Functional & imperative data structures (balanced trees, hash tables, ...)
    • Basic operations on graphs (?)
    • Matrix operations, including popular decompositions
    • Bindings to BLAS & LAPACK
    • Math functions
    • Random number generation
    • Solvers (Linear programming, convex programming etc.)
    • Geometry (rotations, projections, multiple-view geometry etc.)
    • BigInt a.k.a. long or bigint or decimal (bindings to GMP?) (libBF by Fabrice Bellard? or big.js?). See also adding 'deci' type #12
    • GPGPU OpenCL (bindings & runtime loader of OpenCL; memory management)
    • GPGPU CUDA (???)
    • OpenGL API (or maybe something more modern?)
    • Vector graphics (AGG, NanoVG, ...)
    • Bindings to OpenCV
    • Tiny image processing library (filters, resize & warping, color conversion etc.)
    • Tiny DSP library (DFT, DCT, FIR/IIR filter, windows, ...)
    • (work in progress) Deep learning inference library (importers + execution)
    • Machine learning library (SVM, kNN, ...)
    • Image I/O
    • Bindings to zlib, ... (lossless data compression)
    • Bindings to sqlite, convenient SQL queries
    • Video encoding/decoding
    • Audio I/O (including mp3 decoder & microphone & playback)
    • Camera & other sensor access
    • Small network library (sockets, file downloading from url, ...)
    • Simple UI framework (?, LCUI? GLFW? tiny ui)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions