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

Implement linked lists in GOOL #1998

Open
bmaclach opened this issue Jan 29, 2020 · 4 comments
Open

Implement linked lists in GOOL #1998

bmaclach opened this issue Jan 29, 2020 · 4 comments

Comments

@bmaclach
Copy link
Collaborator

GOOL should have functions for creating linked lists, analogous to the already existing listType for generic lists and the functions for creating arrays.

Giving this a low priority label because linked lists aren't needed by any of our current applications yet, at least that I know of.

@muhammadaliog3
Copy link
Collaborator

muhammadaliog3 commented Jul 6, 2020

How should we implement the linked lists?

  1. Implement them as lists that only support adding/removal/access at the ends
  2. Implement with a node as a class and pointer to next next
  3. Implement with a libraries (For example C++ has std::list, java has LinkedList in its utils package)

After having picked that we need to decide on how we are going to access/remove elements at a specific index (this will probably depend on the above choice)

  1. use a foreach loop until we find the desired node.
  2. access with brackets like a regular list.
  3. With prebuilt functions in the linked list library

@JacquesCarette
Copy link
Owner

Our "linked lists" should be as standard as possible. We shouldn't implement them ourselves if at all possible - so we should use the library-provided versions when we can. So choice number 3.

And this really is low-priority!

@muhammadaliog3
Copy link
Collaborator

muhammadaliog3 commented Jul 7, 2020

How low-priority is this issue, given that this would allow us to complete #2117 , and perhaps we could use this issue as "sub issue" to add vector related functions to lists in GOOL, such as dot product.

@JacquesCarette
Copy link
Owner

Right now, GOOL is in very good shape. To really be able to deal with those other issues, it is parts of Drasil itself that need more attention. For example #2194 and #1869. And #1795 - #1800. Very much #1601. #1174. #891 [Little hacks like #1778 should be deal with too]

A number of those require non-trivial design (so I'd want you to make a proposal before coding), but they will advance Drasil much more. You are now quite a bit more familiar with the project, I think you're ready to start tackling some of these bigger things. On some, we might need a (virtual) meeting, so that I can brief you on the wider issues.

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

No branches or pull requests

4 participants