exodist / gsd Goto Github PK
View Code? Open in Web Editor NEWThe 'Get Stuff Done' programming language
The 'Get Stuff Done' programming language
An array type, Plays nice with dict.
XTRN pointer wrappers should not be necessary after the switch to PRM
The GC and the PRM are unrelated except that they both manage memory. These should be separated.
PRM started as part of Dict. It has been moved out and rewritten.
Dict needs to be updated to use PRM instead of its epoch system.
Some work was made to do this, but it is unfinsihed, if necessary revert the Structure/src/* to 20b220a which is before the rework started.
Things to do:
Already partly started.
The list should be able to reference into a hash and vice-versa, so some shared internal structure.
Structures uses the older atomic builtins
A makefile is not enough
Tokenizer should recognize keywords, when encountered it should follow their patterns to continue parsing until the pattern end. Once the pattern ends the keyword will be run.
enum { ALPHA, DIGIT, SYMBOL, CONTROL, SPACE } chartype( uint8_t *string, size_t size );
A single place for the hashing algorithms to live.
Array that grows as necessary, play nice with dict
Need to finish the PRM tests.
Probably a good idea to add a concurrent stress test as well.
slurp all text from start until the type of character changes
Test the GC implementation.
Probably also a good idea to write a concurrent stress test.
There are a few places where the dictionary can spin, should add a yield callback in case people want to have it do something useful while waiting. GSD will use this.
Another idea might be to make operations that would yield return a yield/try again code instead... might be too much work.
SRefs and USRefs are reference counted, make sure it never bumps the count up from 0, that would be bad. Alternatively we can make it bump up from 0 thanks to PRM, but the destructor for said objects must be smart enough to abort destruction when the ref count is > 0. Because of the prm epochs free should never occur after refcount++.
Add a makefile and tests to the hashlib
Simple string-as-key dictionary with most of the setup/work done for you. Only constructor argument should be a free() function for when values have a 0 ref count.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.