Giter Club home page Giter Club logo

blocky's Introduction

This is the README.ORG file for the Blocky programming language. It contains general information about the project as well as an index of important files in this source distribution. More information about Blocky can be found at the Blocky home page, blocky.io.

The included file “COPYING” contains full licensing information, including the text of the GNU General Public License, Version 3.

See the included file INSTALL for installation instructions. A programmer’s guide may be found in the file GUIDE.ORG.

Blocky is a visual programming language for Common Lisp paired with an Emacs-like user interface. In addition to borrowing ideas from GNU Emacs, the language design is heavily influenced by existing research environments such as PureData, Squeak, Self Morphic, MIT Scratch, Berkeley’s BYOB project, and more recently Jens Moenig’s Smalltalk Elements.

My ultimate goal is to create an industrial-strength object-oriented visual Lisp by importing the “abstraction” concept from PureData. Such a “visual Lisp macro” facility enables much more powerful blocks to be defined in terms of simpler ones, interactively. In addition there are some improvements, such as native OpenGL support throughout, and of course the advantage of compiling your block diagrams to optimized machine code via SBCL. (Don’t forget Quicklisp either.)

I also wish to enable unfettered inquiry into computable knowledge, and to support radical autonomy of creative expression. So I have built Blocky first and foremost as a human language activity supported by free software, not as an app or platform—because language is a human right.

For more information on the design of Blocky, see http://blocky.io/design.html

For a quick start to getting familiar with Blocky internals, see the included file GUIDE.ORG (or read the first parts of the online Blocky reference manual) to get an overview of the language syntax. Then look through BLOCKS.LISP and branch out from there. I’ve placed cross references wherever possible.

Blocky is relatively stable at this point, but documentation is somewhat lacking.

Emacs users may find BLOCKY.EL useful in making Emacs behave better while editing Blocky sources and game modules.

Here is a quick index of the various files:

  • COPYING: Licensing information, including full GPLv3 text
  • CREDITS: List of thank-yous for help, influences, dependencies
  • INSTALL: How to obtain and build Blocky from source
  • rgb.lisp: X11 color set
  • keys.lisp: SDL key symbol translation table
  • math.lisp: bresenham’s and other algorithms
  • logic.lisp: several CL tools adapted from PAIP
  • prototypes.lisp: a custom Self-like object system underlying Blocky
  • console.lisp: basic device and file operations for SDL, OpenGL, etc
  • blocks.lisp: core Blocky language model and default block behaviors
  • halo.lisp: generic GUI object handles, in the style of Squeak Morphic
  • windows.lisp: generic interactive viewer for buffers
  • text.lisp: generic emacs-like textbox editing control
  • trees.lisp: drop-down menus and tree tab widgets
  • listener.lisp: Lisp data entry, data objects, and command processing
  • worlds.lisp: simulation of interacting objects
  • path.lisp: A-star pathfinding on a grid
  • syntax.lisp: visual macros
  • blocky.el: emacs lisp configuration for editing blocky source
  • blocky.asd: ASDF system definition
  • blocky-init.lisp: user-specific startup configuration file for blocky
  • tasks.org: current task list and plans, in org-mode format
  • standard: directory with included fonts/images
  • build-unix.lisp: build script for unix
  • build-win32.lisp: build script for win32 (obsolete)

Blocky is (C) Copyright 2006-2012 by David T. O’Toole <[email protected]> This program is dedicated to our beloved Yogi, who died 2006-10-06. Re-dedicated June 2012 to our beloved Cookie-Puss.

blocky's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.