{"id":13805449,"url":"https://github.com/wmww/Pinecone","last_synced_at":"2025-05-13T19:31:09.826Z","repository":{"id":39737909,"uuid":"70430960","full_name":"wmww/Pinecone","owner":"wmww","description":"An unmaintained programming language ","archived":true,"fork":false,"pushed_at":"2023-09-30T06:31:19.000Z","size":3829,"stargazers_count":870,"open_issues_count":0,"forks_count":116,"subscribers_count":50,"default_branch":"master","last_synced_at":"2024-11-18T21:47:44.806Z","etag":null,"topics":["language","pinecone","programming-language"],"latest_commit_sha":null,"homepage":"http://pinecone-lang.herokuapp.com/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wmww.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","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}},"created_at":"2016-10-09T21:17:33.000Z","updated_at":"2024-11-14T10:51:04.000Z","dependencies_parsed_at":"2024-01-08T08:03:51.026Z","dependency_job_id":null,"html_url":"https://github.com/wmww/Pinecone","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmww%2FPinecone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmww%2FPinecone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmww%2FPinecone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wmww%2FPinecone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wmww","download_url":"https://codeload.github.com/wmww/Pinecone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254012968,"owners_count":21999346,"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":["language","pinecone","programming-language"],"created_at":"2024-08-04T01:01:01.244Z","updated_at":"2025-05-13T19:31:09.165Z","avatar_url":"https://github.com/wmww.png","language":"C++","readme":"# The Pinecone Programming Language\n**_Built from the ground up to be fast, concise and intuitive._**\n\n## NOTE: PINECONE IS NO LONGER BEING ACTIVELY DEVELOPED OR MAINTAINED ## \n\nPinecone is a new programming language. Its goal is to combine the simplicity of a dynamic language with the performance of a compiled one. It is under rapid development, but most of the core features are ready.\n\n__If you want to program in Pinecone now, see the [tutorials](tutorials/index.md) for how to get started.__\n\n__There is also a Pinecone plugin for VIM [here](https://github.com/wsKilljoy/vim-pinecone).__\n\n__For updates, discussion and help, take a look at the Pinecone subreddit: [/r/PineconeLang](https://www.reddit.com/r/PineconeLang/)__\n\n\n## About\nPinecone is a brand new, easy to learn, general purpose, multi-paradigm, high performance programming language created by Sophie Winter. Work on the language began on October 4th, 2016. Pinecone can now be interpreted or transpiled to C++. The language is written from scratch (it includes an integrated lexer, parser and interpreter, etc.).\n\n## Example\nHere is the common demo program FizzBuzz written in Pinecone. It prints the numbers from 1 to 20, but it prints \"Fizz\" if the number is divisible by 3, \"Buzz\" if it is divisable by 5 and \"FizzBuzz\" if it is divisible by both. You can find more samples in the [examples directory](https://github.com/william01110111/Pinecone/tree/master/examples) or the [tutorials](https://github.com/william01110111/Pinecone/tree/master/tutorials).\n\n```\n# FizzBuzz\n\n# call the function defined below\nfizzBuzz: 1, 20\n\n# define the FizzBuzz function\nfizzBuzz :: {start: Int, end: Int}: (\n\n\t# loop i from start to end\n\ti: in.start | i \u003c= in.end | i: i+1 @ (\n\n\t\t# use conditionals to print the right thing\n\n\t\ti % 3 = 0 \u0026\u0026 i % 5 = 0 ?\n\t\t\tprint: \"FizzBuzz\"\n\t\t|\n\t\ti % 3 = 0 ?\n\t\t\tprint: \"Fizz\"\n\t\t|\n\t\ti % 5 = 0 ?\n\t\t\tprint: \"Buzz\"\n\t\t|\n\t\t\tprint: i\n\t)\n)\n```\n\n## Why?\nThis is probably the most common reaction to hearing about a new language. I realize that there are a __lot__ of programming languages, and that the reason for that is that there are so many assholes like me who keep making them. I do truly think, though, that Pinecone fills a previously empty niche.\n\nPinecone aims to have similar capabilities to modern object oriented compiled languages such as C++, Swift and Rust. It's primary attraction is the simplicity and consistency of it's syntax. Here are some examples of how Pinecone is different from other popular languages:\n\n* Variable creation is implicit, just set a variable and it is created.\n* Variables are statically typed, but type deduction is automatic.\n* Calling a function that takes no arguments is the same syntax as accessing a variable (just writing it's name).\n* Calling a function that takes one argument is the same syntax as setting or creating a variable (`funcOrVar: input`).\n* Calling a function that takes multiple arguments is the same syntax as setting or creating a tuple (`funcOrTuple: input1, input2`).\n* White space is ignored _and_ semicolons are not necessary\n* `:` is used for assignment, which leaves `=` free for comparison, rather than the often confusing `==`.\n* Tuples, structs and classes are all basically the same thing\n* Functions can be sent arguments from the left side, right side or both (`inputLeft.function: inputRight`), which is used for class methods but can also allow you to define functions for any type (even primitive).\n* Program control is done with operators instead of keywords (`?` instead of `if`)\n\n## Compatibility\nPinecone currently requires zero external dependencies (and the only one that will likely be added is LLVM). You will need a C++11 compiler to build it, and the process is easier with GCC and Make. Pinecone has been successfully tested on Linux, MacOS and Windows.\n\n## Current State\nThe features that are currently implemented are as follows:\n\n* Primitive data types `Bool`, `Int` and `Dub`\n* All the operators you would expect (`+`, `*`, `%`, `:`, `=`, `\u003e`, `\u003c=`, `\u0026\u0026`, etc.)\n* Single and multi line comments\n* Flow control (if, if/else, while loop, for loop)\n* Constants\n* Data structs\n* Tuples\n* Int arrays\n* Functions\n* Strings and various String operations\n* User input\n* Running system commands\n* Interpreter for rapid development and simplicity\n* Transpiler to C++ for max performance\n\nThe following features are coming soon:\n\n* Whatev type (equivalent to templates or generics in other languages)\n* Arrays of any type (Whatev support needed)\n* Pass-by-reference\n* Proper classes (pass-by-reference needed)\n* Operator overloading\n\n## Contributing\nI have not yet added enough documentation to the language internals to make it practical for others to contribute to the language itself. If you are interested in adding a specific feature or just helping out, post in the [subreddit](https://www.reddit.com/r/PineconeLang/) or direct message me on [reddit](www.reddit.com/u/william01110111/) or [twitter](https://twitter.com/PineconeLang). Fixes and improvements to the readmes and tutorials are always welcome.\n","funding_links":[],"categories":["C++","Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwmww%2FPinecone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwmww%2FPinecone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwmww%2FPinecone/lists"}