Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sigma Lisp Σλ Sam Davis Nick Alexander. What is Sigma Lisp? ● New dialect of Lisp ● Designed to be as expressive as possible.

Similar presentations


Presentation on theme: "Sigma Lisp Σλ Sam Davis Nick Alexander. What is Sigma Lisp? ● New dialect of Lisp ● Designed to be as expressive as possible."— Presentation transcript:

1 Sigma Lisp Σλ Sam Davis Nick Alexander

2 What is Sigma Lisp? ● New dialect of Lisp ● Designed to be as expressive as possible

3 Project Overview: Why Lisp? ● Lisp is a highly abstract language ● S-expressions – Shared notation for code and data ● Macros – Functions that return code ● Lexical Scope – Easy insertion of values ● Dynamic Typing

4 Project Overview: Why Sigma? ● “Onions in the varnish” – “Features” that are products of history ● Language needs have changed – Cross-platform applications – OS interactions ● Revive the Lisp model

5 Project Overview: Principles ● Assume a sufficiently smart programmer ● Expressive enough to use and redefine itself ● Time efficiency for the programmer ● Language first, implementation second ● “I can't do everything myself” ● Nothing is sacred

6 Project Overview: Design ● Functional Programming – Test individual components independent of state ● Bottom-up Design – Build from independently coded components – Link together powerful abstract tools

7 Components ● Basic Data Structs ● Parser ● Libraries ● Memory Management ● Sigma Structs ● Scopes ● Eval

8 Basic Data Structs ● Defines structures for basic manipulation and storage of data – Array – Hash ● Controls interaction through interface ● Foundation

9

10

11

12 Sigma Structs ● Sigma specific structures – Object – Scope – Func – Cons – Num

13

14

15

16 Parser ● Translates text input into Sigma object representing the S-expression ● Syntax – quote: ' – backtick: ` – comma:,

17 Eval ● Evaluates an object returned from Parser – Symbol returns variable value – List preforms a function application – Everything else is returned ● (+ a b) -> application of function '+' to values of 'a' and 'b'

18 Scopes ● System for variable management – Stored in layers – Maps string to value ● Represents the environment of variables

19 Libraries ● Native functions written in C – Basic data manipulation – Control structures ● Predefined functions in Sigma – Higher level manipulation – Derived functions and macros

20 Memory Management ● Hybrid reference counting and garbage collection ● Emphasis on reference counting ● Garbage collection acts as back up for circular structures

21

22

23

24 Credits ● Nick: – Primary Coding: Basic Structs, Sigma Structs, Debugging, Scope, Tests, Design Concepts ● Sam: – Eval, Parser, Debugging, Tests, Diagramming, Primary Research Paper Writer, Administrative Requirements


Download ppt "Sigma Lisp Σλ Sam Davis Nick Alexander. What is Sigma Lisp? ● New dialect of Lisp ● Designed to be as expressive as possible."

Similar presentations


Ads by Google