Closed njordhov closed 1 year ago
👋 @njordhov Thanks for your application! We will do a pre-review and let you know if we have any immediate questions. In the mean time please refer to our review schedule here for a detailed timeline and response dates. Best, Will
Completed: https://github.com/njordhov/clarity-sequence
Thanks @njordhov !
Just curious if you have any updates / anticipated completion date for your Clarity Linter grant?
APPLICANT
Type:                                                                        Direct Application
Email:                                                                    terje@in-progress.com
Discord:                                                    Terje | njordhov
Twitter:                                                       
Stacks Forum:           njordhov
GRANT BASICS
Grant Name:                                        Clarity Sequence Library
Total Budget:                              10,000
Total Duration:                 40
Grant Type:                                               Open Source Dev 1st time Grantees
Grant Track:                                          Stacks dApps & Clarity
Grant Goal:                                               Create New Technology
Grant Audience:             Developers
Specific Audience:         Clarity contract developers
Grant Team:                                      
Previous Grants:                     
Ecosystem Programs:     
GRANT MISSION, IMPACT, RISKS & REFERENCE
Grant Mission:         Sequence operations can be challenging to implement in Clarity contracts, yet are crucial for many smart contract applications. A Clarity library with common sequence functions will make it easier to implement more advanced contracts. It will also give our developer community hands-on experience that can help in determining which functions would be most beneficial to implement natively in the Stacks blockchain VM.
The sequence library will accelerate the development of more advanced smart contracts and help us further improve the Clarity language, bringing us closer to a user-owned internet through usage in applications.
The sequence library will lower the barrier to developing advanced smart contracts for Stacks, potentially accelerating a broader adoption.
Clarity developers will benefit directly from using the sequence library in their contract and having code examples that can be used as inspiration. The project will encourage more discussion and engagement about further improvements to the Clarity language.
Grant Impact:               N/A
Grant Risks:                          Clarity is strongly typed without support for defining generic functions that can work across sequence types. Also, Clarity execution cost is typically a function of sequence length, making some sequence algorithms infeasible and hard to scale. Other sequence operations might be impossible due to Clarity not being Turing complete. The Clarity language is a moving target as it is advancing with new releases of the Stacks blockchain.
The Sequence library will have separate implementations for each sequence type, and possibly also for different sequence lengths. The implementation will not optimize for execution cost. It is assumed that other projects will revise and update the Sequence library in response to advances in the Clarity VM and changes in the needs of our developer community.
Support Link:                                     As the developer of ClarityTools and its transpiler for Clarity language extensions, I have a deep understanding of what is possible with Clarity when it comes to sequence operations.
I am intimately familiar with sequence operations in Lisp-based languages, having many years of experience as a professional developer extensively using Lisp languages, primarily Clojure and Common Lisp.
GRANT ROADMAP & DELIVERABLES
MILESTONE 1:
Deliverable:                   1) Sequence library deployed as a Clarity contract on Mainnet; 2) Github repo with source files for the project; 3) Documentation of how to use the functions;
FINAL DELIVERABLE
Deliverable:                   Clarity implementation of common sequence functions as: 1) Extension contract library deployed on Mainnet; 2) Github repo with related sources; 3) Documentation of the functions and their usage. The functions will be implemented for all Clarity sequence types (lists, buffers and strings).