{"id":16644380,"url":"https://github.com/jmuzina/comparative_bst_demo","last_synced_at":"2026-04-11T13:34:18.644Z","repository":{"id":212398644,"uuid":"729686486","full_name":"jmuzina/comparative_bst_demo","owner":"jmuzina","description":"Comparison of Binary Search tree construction and search in three languages. Created for final project for CIS 524 (Comparative Programming Languages) at Cleveland State University.","archived":false,"fork":false,"pushed_at":"2023-12-14T02:51:57.000Z","size":435,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T17:43:27.172Z","etag":null,"topics":["angular","binary-search","haskell","python","typescript"],"latest_commit_sha":null,"homepage":"https://bst.jmuzina.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmuzina.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-10T02:39:09.000Z","updated_at":"2023-12-14T02:51:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"a1c010aa-77fb-4737-9f45-8699708c3602","html_url":"https://github.com/jmuzina/comparative_bst_demo","commit_stats":null,"previous_names":["jmuzina/comparative_bst_demo"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmuzina%2Fcomparative_bst_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmuzina%2Fcomparative_bst_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmuzina%2Fcomparative_bst_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmuzina%2Fcomparative_bst_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmuzina","download_url":"https://codeload.github.com/jmuzina/comparative_bst_demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243172099,"owners_count":20247887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","binary-search","haskell","python","typescript"],"created_at":"2024-10-12T08:11:10.172Z","updated_at":"2025-12-25T13:56:59.254Z","avatar_url":"https://github.com/jmuzina.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BST Implementation Comparison - Python / Haskell / Typescript\n\n## Features \nThis project delivers the following capabilities, in multiple programming languages and paradigms:\n- Binary search tree creation\n    - User is prompted to input numeric values\n    - Input is parsed and used to construct a binary search tree\n- Binary search tree search\n    - User can search the binary search tree for a value, and view the result.\n\n## Languages\nA variety of languages were selected to allow for interesting distinctions between implementations, concepts, and paradigms. \nEach language has its own folder at the root of the project, and has its own `README.md` file explaining the specifics of its implementation and usage.\n### Python 🐍\nThe Python implementation uses a dialogue-based approach to enable the user to create and search binary search trees. An object-oriented approach is used to control data validation and menu control flow.\n### Haskell  λ\nSimilarly to the Python implementation, the Haskell implementation uses a menu-based approach and offers the same capabilities. This program is purely functional, using recursion instead of polymorphism to control how the dialogue progresses. \n### Typescript 🌐\nThe Typescript implementation is a fun little bonus! Admittedly, I made the Python and Typescript implementations first because I am very comfortable with those languages, and then realized I missed the assignment requirement to use two different paradigms and created the Haskell implementation. The Typescript version also takes advantage of Javascript's integration with web browsers to offer a web interface, available at [bst.jmuzina.io](https://bst.jmuzina.io). ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmuzina%2Fcomparative_bst_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmuzina%2Fcomparative_bst_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmuzina%2Fcomparative_bst_demo/lists"}