vpisarev / ficus

The programming language Ficus
Apache License 2.0
72 stars 9 forks source link

ficus stdlib TODO #5

Open vpisarev opened 3 years ago

vpisarev commented 3 years ago

(in bold there are higher-priority items)

    • [x] 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
    • [x] JSON parser & emitter
    • [ ] XML, YAML parser & emitter
    • [x] Async, parallel programming (Mutex class/module or equivalent functionality is necessary to implement first for map-reduce algorithms)
    • [x] OS services (files, directories, processes, ...)
    • [x] Time & Date (arithmetic operations on time and date, calendar etc.)
    • [x] Unit test framework
    • [ ] Logging
    • [x] Pretty printing
    • [x] Regexp (RE2? or something like that)
    • [ ] Parsing module for context-free grammars or some more constrained grammars
    • [x] Functional & imperative data structures (balanced trees, hash tables, ...)
    • [ ] Basic operations on graphs (?)
    • [ ] Matrix operations, including popular decompositions
    • [ ] Bindings to BLAS & LAPACK
    • [x] Math functions
    • [x] Random number generation
    • [ ] Solvers (Linear programming, convex programming etc.)
    • [ ] Geometry (rotations, projections, multiple-view geometry etc.)
    • [x] BigInt a.k.a. long or bigint or decimal (bindings to GMP?) (libBF by Fabrice Bellard? or big.js?). See also #12
    • [ ] GPGPU OpenCL (bindings & runtime loader of OpenCL; memory management)
    • [ ] GPGPU CUDA (???)
    • [ ] OpenGL API (or maybe something more modern?)
    • [ ] Vector graphics (AGG, NanoVG, ...)
    • [x] 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, ...)
    • [x] 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)
puneeth072003 commented 1 year ago

Hey there, Im a nubie here could you please help me to set up the project in local computer

puneeth072003 commented 1 year ago

I'm finding it difficult to understand the code