All Projects → Shen-Language → Shen Sources

Shen-Language / Shen Sources

Licence: bsd-3-clause
The Official Shen Sources

Programming Languages

lisp
113 projects
prolog
421 projects

Projects that are alternatives of or similar to Shen Sources

Program Blog
Practice, thinking and reading
Stars: ✭ 228 (-8.06%)
Mutual labels:  functional-programming
Cats Mtl
cats transformer type classes.
Stars: ✭ 238 (-4.03%)
Mutual labels:  functional-programming
Suddi.github.io
A static single-page application resume-builder developed using React.js and JSON Resume schema (https://suddi.io/)
Stars: ✭ 246 (-0.81%)
Mutual labels:  functional-programming
Curryhoward
Automatic code generation for Scala functions and expressions via the Curry-Howard isomorphism
Stars: ✭ 229 (-7.66%)
Mutual labels:  functional-programming
Neither
Either and Maybe monads for better error-handling in C++ ↔️
Stars: ✭ 236 (-4.84%)
Mutual labels:  functional-programming
Ink
Ink is a minimal programming language inspired by modern JavaScript and Go, with functional style.
Stars: ✭ 243 (-2.02%)
Mutual labels:  functional-programming
Functional Programming Jargon
Jargon from the functional programming world in simple terms!
Stars: ✭ 14,351 (+5686.69%)
Mutual labels:  functional-programming
Rich Hickey Fanclub
"every time I watch one of his talks I feel like someone has gone in and organized my brain"
Stars: ✭ 2,815 (+1035.08%)
Mutual labels:  functional-programming
Unchanged
A tiny, fast, unopinionated handler for updating JS objects and arrays immutably
Stars: ✭ 237 (-4.44%)
Mutual labels:  functional-programming
Pratica
🥃 Functional Algebraic Data Types
Stars: ✭ 246 (-0.81%)
Mutual labels:  functional-programming
Elm Ts
A porting to TypeScript featuring fp-ts, rxjs6 and React
Stars: ✭ 230 (-7.26%)
Mutual labels:  functional-programming
Bash Fun
Functional programming in bash
Stars: ✭ 232 (-6.45%)
Mutual labels:  functional-programming
Phunctional
⚡️ λ PHP functional library focused on simplicity and performance
Stars: ✭ 243 (-2.02%)
Mutual labels:  functional-programming
Arturo
Simple, expressive & portable programming language for efficient scripting
Stars: ✭ 225 (-9.27%)
Mutual labels:  functional-programming
Never
Never: statically typed, embeddable functional programming language.
Stars: ✭ 248 (+0%)
Mutual labels:  functional-programming
Functional intro to python
[tutorial]A functional, Data Science focused introduction to Python
Stars: ✭ 228 (-8.06%)
Mutual labels:  functional-programming
Cats Tagless
Library of utilities for tagless final encoded algebras
Stars: ✭ 238 (-4.03%)
Mutual labels:  functional-programming
Funcparserlib
Recursive descent parsing library for Python based on functional combinators
Stars: ✭ 250 (+0.81%)
Mutual labels:  functional-programming
Formatting
Type-safe, functional string formatting in Swift.
Stars: ✭ 248 (+0%)
Mutual labels:  functional-programming
Fsharp
The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
Stars: ✭ 2,966 (+1095.97%)
Mutual labels:  functional-programming

Current Release

Official Shen Sources

This is the official repository for the open-source development of Mark Tarver's Shen. Bug reports, suggested enhancements and pull requests are welcome here.

Note that this repository does not contain a runnable implementation of Shen. Downloads for the de-facto reference implementation are available on its releases page. Other certified implementations are linked on the Shen Open Source website.

Documentation for the Shen Language is the shendoc hosted on the main website.

Generating Kλ

Shen is a self-hosted language, so its kernel implementation is written in Shen. Building Kλ from the Shen sources requires an executable built from the previous release of Shen.

Using Pre-Built shen-cl (Recommended)

A prebuilt copy of the reference implementation can be pulled down by running make fetch. The executable shen will be dropped under the shen-cl folder. Render the Kλ by running make klambda or just make.

Using Another Executable

Using your own executable is the same as above, except you override the Shen variable like this: make klambda Shen="/path/to/shen".

Releases

Release packages containing the pre-built Kλ and the test suite are created using make release. Archives appear under the release/ folder in both zip and tar.gz format.

Packages can be created for any version, but when uploading to the releases page, make sure to have built the specific tagged revision.

make pure
git checkout shen-22.4
make fetch
make klambda
make release

Building release packages on Windows currently requires the 7-zip command 7z to be accessible from the command line.

Porting Shen

Refer to doc/ and the wiki for instructions on building a certifiable port of Shen. If you get your port to run the standard test suite successfully, let us know on the mailing list and your port will be certified.

Happy Programming!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].