All Projects → phantomics → Seed

phantomics / Seed

Licence: gpl-3.0
Interactive software environment based on Common Lisp.

Labels

Projects that are alternatives of or similar to Seed

Angular Native Seed
Build web apps and NativeScript applications from one codebase using the AngularCLI.
Stars: ✭ 271 (+281.69%)
Mutual labels:  seed
Webpack Starter Basic
A simple webpack starter project for your basic modern web development needs.
Stars: ✭ 552 (+677.46%)
Mutual labels:  seed
Disperse
React/Redux dApp (decentralized app) boilerplate using Ethereum's blockchain
Stars: ✭ 36 (-49.3%)
Mutual labels:  seed
Chrome Extension React Typescript Boilerplate
🔨 A boilerplate project to quickly build a Chrome extension using TypeScript and React (built using webpack).
Stars: ✭ 347 (+388.73%)
Mutual labels:  seed
Typeorm Seeding
🌱 A delightful way to seed test data into your database.
Stars: ✭ 501 (+605.63%)
Mutual labels:  seed
Faker
Faker is a pure Elixir library for generating fake data.
Stars: ✭ 673 (+847.89%)
Mutual labels:  seed
seedster
Register laravel seeds from a package
Stars: ✭ 22 (-69.01%)
Mutual labels:  seed
Prando
Deterministic pseudo-random number generator for JavaScript and TypeScript
Stars: ✭ 66 (-7.04%)
Mutual labels:  seed
Angular Seed
🌱 [Deprecated] Extensible, reliable, modular, PWA ready starter project for Angular (2 and beyond) with statically typed build and AoT compilation
Stars: ✭ 4,681 (+6492.96%)
Mutual labels:  seed
Js Boilerplate
Boilerplate for any javascript frontend project
Stars: ✭ 36 (-49.3%)
Mutual labels:  seed
Mongo Seeding
The ultimate solution for populating your MongoDB database.
Stars: ✭ 375 (+428.17%)
Mutual labels:  seed
Bogus
📇 A simple and sane fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.
Stars: ✭ 5,083 (+7059.15%)
Mutual labels:  seed
Typescript Seed
Typescript Seed Project (Angular, Hapi, Cookie Auth, TypeORM, Postgres)
Stars: ✭ 12 (-83.1%)
Mutual labels:  seed
Gokey
A simple vaultless password manager in Go
Stars: ✭ 305 (+329.58%)
Mutual labels:  seed
Starter Kit
📦 Angular 11+ starter kit for enterprise-grade projects
Stars: ✭ 1,102 (+1452.11%)
Mutual labels:  seed
larafy
Larafy is a Laravel package for Spotify API. It is more like a wrapper for the Spotify API.
Stars: ✭ 53 (-25.35%)
Mutual labels:  seed
Universal
Seed project for Angular Universal apps featuring Server-Side Rendering (SSR), Webpack, CLI scaffolding, dev/prod modes, AoT compilation, HMR, SCSS compilation, lazy loading, config, cache, i18n, SEO, and TSLint/codelyzer
Stars: ✭ 669 (+842.25%)
Mutual labels:  seed
React Seed
UruIT's react seed project
Stars: ✭ 67 (-5.63%)
Mutual labels:  seed
Torrent To Google Drive Downloader
Simple notebook to stream torrent files to Google Drive using Google Colab and python3.
Stars: ✭ 63 (-11.27%)
Mutual labels:  seed
Opengl Seed
⚪🌱A modern OpenGL starter repo that you could use to get the ball rolling.
Stars: ✭ 20 (-71.83%)
Mutual labels:  seed

Seed

Seed is an interactive software environment. With it you can create and use computer programs in many ways. It is based on the Common Lisp language and runs inside the Web browser, allowing you to build software on a local or remote computer system, and it can present programs and their output using a wide variety of display modes. Seed depicts programs in the form of a tree grid, featuring glyphs that denote different functions and types of data. All of Seed's display modes share basic interface principles in common, so you can quickly feel at home with whatever way your program is presented.

Background

The Lisp family of programming languages offer unmatched flexibility in defining software, but this flexibility is not matched by the character strings most often used to express that software. Computer programs have hitherto been widely regarded as inextricable from and synonymous with character strings like the one you're reading now. While visual programming paradigms have made headway in a number of areas, most visual programming tools are tightly coupled to particular domains.

The choice of Lisp's creators to forego a detailed syntax in favor of symbolic expressions marked a turn down a road less traveled by language developers. Users may be confused by the sometimes homogenous, sometimes verbose nature of Lisp code, but the problem in these cases is not a shortcoming of Lisp -- it is a shortcoming of character strings. In the choice of a regular syntax for the language, Lisp was set on a path that could lead to programming beyond the limits of plain text. Seed is an effort to realize that destination: a language representation orthogonal to the language's structure.

These ideas are the foundation of Seed. Your experience with the system will determine their truth.

In Practice

Seed can be seen as a type of IDE. It integrates ASDF, the standard Common Lisp build system, and the software systems it's used to develop are often expressed as ASDF systems. These systems are divided into branches, each of which expresses input to and output from the system. In a given Seed system, there is typically a .seed file located in the package directory that specifies the system and the behavior of each branch.

The First Step: Installing and Running Seed

Seed depends on Common Lisp, ASDF and Quicklisp. The only Common Lisp implementation tested so far has been Steel Bank Common Lisp (SBCL). Seed also requires Node.js, NPM and Gulp to build parts of its Web interface. Install the required software if you don't have it, then clone this repository.

Setting up Node.js and NPM

If you don't have Node.js installed, you can follow one of these links to set Node.js up on your system.

Of the above choices, the first option to install Node.js using nvm is probably the best, since nvm makes it easy to install Node.js in a way that doesn't require administrator-level privileges on the system.

Once you have Node.js installed, you can install Gulp by running the command:

npm install -g gulp

If you installed Node using the second or third option above, you will probably need administrator-level permissions to do this, so on Linux and OSX the full command will most likely be:

sudo npm install -g gulp

Preparing Quicklisp

Enter your Quicklisp local-projects directory (usually ~/quicklisp/local-projects) and create a symbolic link to the directory where you cloned the Seed repository. For example, if you cloned the repo to ~/mystuff/seed and your Quicklisp directory is ~/quicklisp/, enter:

cd ~/quicklisp/local-projects
ln -s ~/mystuff/seed

Using the automatic installer

Seed comes with an installation program called, appropriately enough, install-seed.lisp. To use it, enter the Seed repository directory and load the install-seed.lisp file using your Common Lisp implementation. For example, if you are using SBCL, type:

sbcl --load install-seed.lisp

This should automatically set Seed up, install its dependencies and build the components of the browser interface. If there are problems it will display error messages that should help with fixing them. If this doesn't work, you should try...

Installing Seed manually

To complete the installation manually, start a Common Lisp REPL and enter:

(ql:quickload 'seed)

This will build Seed and install the software it needs to run. As long as you have Node, NPM and Gulp installed, the Javascript and CSS required to run the Seed interface should be automatically built.

Starting Seed automatically

From now on, if you'd like to automatically start Seed whenever you run SBCL, you can edit your .sbclrc file (usually located at ~/.sbclrc) and add the lines:

(asdf:load-system 'seed)
(seed:contact-open)

The contact-open method will open Seed's Web interface at the designated HTTP port. If you would prefer not to automatically open the Web interface when you start Common Lisp, you can omit the (seed:contact-open) line above.

The Web interface

Once opened, Seed's web interface will be located at port 8055 by default; if you wish to change that, just edit seed.lisp in the main Seed directory.

To visit the Web interface for the default portal "portal.demo1", which comes included with Seed, visit the URI:

http://localhost:8055/portal.demo1/index.html

If you create another portal, substitute that portal's name in the URI.

Tutorial

Follow this link for a tutorial to help you get started using Seed.

Credit

Seed contains a modified copy of Panic, a utility for building React components written by Michael J. Forster. Thanks to Michael for creating this tool.

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].