{"id":18009902,"url":"https://github.com/kekyo/nesp","last_synced_at":"2025-03-26T14:31:36.707Z","repository":{"id":84090154,"uuid":"97701026","full_name":"kekyo/Nesp","owner":"kekyo","description":"A Lisp-like lightweight functional language on .NET","archived":false,"fork":false,"pushed_at":"2019-11-25T13:03:22.000Z","size":1700,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T23:22:30.078Z","etag":null,"topics":["compiler","csharp","dotnet","functional-language","lisp","repl"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kekyo.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":"2017-07-19T09:54:12.000Z","updated_at":"2021-02-14T08:59:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"e4e182b4-b675-41ef-957b-a6fe2fe9e900","html_url":"https://github.com/kekyo/Nesp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kekyo%2FNesp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kekyo%2FNesp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kekyo%2FNesp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kekyo%2FNesp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kekyo","download_url":"https://codeload.github.com/kekyo/Nesp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245670739,"owners_count":20653413,"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":["compiler","csharp","dotnet","functional-language","lisp","repl"],"created_at":"2024-10-30T02:11:31.318Z","updated_at":"2025-03-26T14:31:36.693Z","avatar_url":"https://github.com/kekyo.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nesp - A Lisp-like lightweight functional language on .NET\n\n(Sorry, this project is deprecated. I'm started my own research project instead it. Currently closed source, but I'll open it near future.)\n\n![Nesp](Images/Nesp512.png)\n\n[![AppVeyor Nesp](https://ci.appveyor.com/api/projects/status/1j6821cl3y5y9etu?svg=true)](https://ci.appveyor.com/project/kekyo/nesp)\n\n## What's this?\n\n* Nesp is a Lisp-like lightweight functional language on .NET\n* Nesp is:\n  * Very lightweight language syntax likely Lisp's S-expression.\n    * A different topic is Nesp don't have \"quote\" expression.\n    * Nesp expressions are lazy evaluation except literals.\n  * Applicable .NET library.\n  * Expandable tokens.\n  * Designed for easy embedding and useful on REPL.\n\n![Nesp (REPL)](Images/NespRepl.png)\n\n* Still under construction...\n\n## Nesp standard type names\n\n* We can use C# like reserved type names (ex: int, short, string, double ...)\n* Additional reserved type names (guid, datetime, timespan, type, math, enum)\n\n## Nesp standard functions\n\n* Numerical operators (+, -, *, /, %)\n* TOOO: Declare function (define)\n\n## Nesp REPL functions\n\n* TOOO: Folder/file manipulations (ls, cd, mkdir)\n* Clear screen (cls)\n* REPL help (help)\n* REPL exit (exit)\n\n## Samples\n\n* Basic tips:\n  * Nesp REPL mode not required brackets (...).\n\n### Literals\n\n```\n\u003e 123\n123 : byte\n```\n\n```\n\u003e 12345\n12345 : short\n```\n\n```\n\u003e 1234567890\n1234567890 : int\n```\n\n```\n\u003e 1234567890123456\n1234567890123456 : long\n```\n\n```\n\u003e 123.456\n123.456 : float\n```\n\n```\n\u003e 123.45678901234567\n123.45678901234567 : double\n```\n\n```\n\u003e \"abcdef\"\n\"abcdef\" : string\n```\n\n### Property reference\n\n```\n\u003e datetime.Now\n7/21/2017 12:04:43 AM : datetime\n```\n\n### Function invoke with no arguments\n\n```\n\u003e guid.NewGuid\nbb11b743-f5fe-4d68-bbe3-22e05606b3a5 : guid\n```\n\n### Function invoke with arguments\n\n```\n\u003e int.Parse \"12345\"\n12345 : int\n```\n\n```\n\u003e System.String.Format \"ABC{0}DEF{1}GHI\" 123 456.789\n\"ABC123DEF456.789GHI\" : string\n```\n\n### Function invoke with nested invoking function expressions\n\n* If argument is nested invoking function and it has no arguments, you aren't required brackets.\n  * This sample invokes Guid.NewGuid(), but NewGuid has no arguments:\n\n```\n\u003e string.Format \"___{0}___\" System.Guid.NewGuid\n\"___7ded117e-c873-48cf-a00b-75c57b8aa317___\" : string\n```\n\n### Bind result\n\nTODO:\n\n```\n\u003e define fooValue (+ 123 456)\nfooValue : int\n\u003e fooValue\n579 : int\n```\n\n### Bind function\n\nTODO:\n\n```\n\u003e define intParseAndAdd (str value) (+ (int.Parse str) value)\nintParse : string -\u003e int -\u003e int\n\u003e intParse \"12345\"\n12345 : int\n```\n\n## License\n* Copyright (c) 2017 Kouji Matsui\n* Under Apache v2 http://www.apache.org/licenses/LICENSE-2.0\n\n## History\n* 0.5.1 Public open.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkekyo%2Fnesp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkekyo%2Fnesp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkekyo%2Fnesp/lists"}