lispe  by naver

Lisp interpreter for functional and array programming

Created 5 years ago
519 stars

Top 60.6% on SourcePulse

GitHubView on GitHub
Project Summary

LispE is a compact, multi-platform Lisp dialect designed to unify functional, array, and pattern programming paradigms with lazy evaluation. It offers a versatile formalism for developers seeking to harness modern programming trends, providing a powerful yet accessible language.

How It Works

LispE implements a Lisp interpreter based on a simple, extensible formalism, drawing inspiration from foundational Lisp concepts. It integrates functional programming features like lazy evaluation (à la Haskell) with robust array manipulation capabilities and a sophisticated pattern matching engine. This design facilitates concise code expression and enables novel approaches, such as a single-instruction implementation of Conway's Game of Life.

Quick Start & Requirements

Precompiled binaries are available for Windows and Mac OS (including M1). The project supports AI integrations via libraries like lispe_torch (PyTorch), lispe_gguf (llama.cpp), lispe_mlx (Mac GPUs), and lispe_tiktoken (OpenAI). Specific system or Python version requirements are not detailed in the provided text.

Highlighted Details

  • Supports traditional Lisp operators and built-in types for numbers and strings with array-like operations.
  • Features a robust threading model with protected thread-local variables and synchronization primitives.
  • Offers a composition operator (.) as a concise alternative to nested parentheses.
  • Includes a powerful built-in pattern matching mechanism for function definitions and data structure deconstruction.
  • Supports defining custom data structures and object-oriented programming constructs.
  • Incorporates advanced array language capabilities, enabling expressive, high-level operations.
  • Can function as a shell and includes a discovery game (minizork).

Maintenance & Community

No specific details regarding maintainers, community channels (e.g., Discord, Slack), or a public roadmap are present in the provided text.

Licensing & Compatibility

Licensed under the permissive BSD 3-Clause License. This license allows for broad use, modification, and distribution, including in commercial and closed-source applications, provided standard attribution is maintained.

Limitations & Caveats

The provided text does not explicitly detail any limitations, known bugs, or alpha/beta status of the project.

Health Check
Last Commit

6 days ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
2
Star History
80 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.