Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #8

Open
can3p opened this issue Mar 21, 2017 · 2 comments
Open

Roadmap #8

can3p opened this issue Mar 21, 2017 · 2 comments

Comments

@can3p
Copy link
Collaborator

can3p commented Mar 21, 2017

Hey,

I think it would be very useful to have some list of things that we would like to see in stu(tter).
Let me begin with my wishlist:

  • Rename project to stu (see b802bc5)
  • Consistent error reporting
  • Multiline repl
  • Data structures support - sets, hash tables, lists
  • Modules support
  • Standard library for strings manipulation, i/o etc.
@mikey-austin
Copy link
Owner

mikey-austin commented Mar 23, 2017

We definitely need this and is a great start; @pbu88 asked me about a roadmap awhile back.

I'd like to add to your nice list:

  • Factor out all functionality into a libstu, for easier embedding in other projects
  • Make a perl extension to drive the stu interpreter
  • Move to autotools, and test on more systems
  • Use your mentioned features to build OO functionality
  • Nice exceptions
  • Implement a step debugger

Some performance improvements are to make a memory slab allocator and change Sv_new, Sv_destroy, Env_new and Env_destroy to use it. This will mean we can batch mallocs & frees (hence the slabs), which will make it much more performant, especially for deeply nested recursive calls.

Also I'm going to add a public extension API so that native lisp objects can be manipulated in C, and also have C functions be able to be exported to lisp land.

@mikey-austin
Copy link
Owner

Oh and I'd like to do some coverage/profiling with gprof to see where the bottlenecks are.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants