Open qdbplang opened 1 year ago
Perhaps use https://github.com/vurtun/nuklear for graphics?
abort should be a library function not a language primitive
Concurrency with unbuffered csp
Introduce a parallel map w/ the same type as List Map.
Maybe also parallel reduce? Maybe the parallel reduce should also check to see that the function has a IsAssociative
field.
If we are doing CSP, gotta figure out syntax for channels. Maybe at the beginning of the program, declare all the channel names like:
[channelname1, channelname2, ...] rest-of-program-here
Need file I/O
As far as standard library files are located, we could just have them such that they are located in ~/.qdbpstdlib
or something. And when the user imports something, it first checks locally. If we don't find it, then we look at qdbpstdlib.
Need some sort of list class with
The stdlib should be the only place where external call is allowed
Perhaps the stdlib should just be a bunch of predefined variables sorta like Haskell's prelude. And keep it minimal. Then we don't need two import directories, etc
A way to run bash commands
If we made linked lists instead have head
be the whole front end of the list and tail
be the last element, we could do:
(node! 1) + 2. + 3. + 4. + 5.
I like this. It would, however, depart from standard functional programming practice of having head
be the first element and tail
being the remainder of the list.
We could keep that syntax but reverse the list. Or we could pick a new syntax that is probably pretty clunky. Not quite sure yet
zipper style functional datastrucures
Finger tree for everything
This issue will be used for discussion for the standard library. Questions include: