the larch environment n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
The Larch Environment PowerPoint Presentation
Download Presentation
The Larch Environment

Loading in 2 Seconds...

play fullscreen
1 / 108

The Larch Environment - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

The Larch Environment. A visual interactive programming environment http://sites.google.com/site/larchenv G. French J. R. Kennaway A. M. Day Europython 2011. Image by alcomm , flickr.com. Motivation. We look at three problems.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'The Larch Environment' - lazar


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
the larch environment

The Larch Environment

A visual interactive programming environment

http://sites.google.com/site/larchenv

G. French

J. R. Kennaway

A. M. Day

Europython 2011

Image by alcomm, flickr.com

slide5

Source code in a text editor is not interactive enoughConsoles are only good for a few lines at a time

slide6

Textual source code can be difficult to understand and comprehend(think the vertices of a polygon in code form)

how do we do that
How do we do that?
  • Visual object presentation
  • Programming environment
    • Visual console
    • Worksheets
  • Visual programming via embedded objects
slide14

MVC Architecture

Model

View

Controller

slide26

Label( ‘Hello’ )

Hello

Button

Button.buttonWithLabel( ‘Button’ )

a = Label( ‘A’ )

b = Label( ‘B’ )

c = Label( ‘C’ )

d = Label( ‘D’ )

Row( [ a, b, c, d ] )

ABCD

Column( [ a, b, c, d ] )

A

B

C

D

slide27

Presentation combinators:Many moreFlow layouts, mathematical fractions, superscriptRich text, other utilitiesWrite your own by combining existing ones!P.S. Appearance controlled with style sheets

slide30

Create an ‘object presenter’.Register it for the relevant class.When asked to present an instance of the class, Larch finds the appropriate presenter and uses it.(no monkeypatching required)

thats how the images were shown they are java awt bufferedimage objects

Thats how the images were shown;they are java.awt.BufferedImage objects

slide56

Interactive consoles are great.Caveat: gets difficult when working with more than a few lines of code at a timeE.g. Whole modules

slide77

__py_eval__

Act like an expression - return the result of evaluating

__py_evalmodel__

Act like an expression - return an AST

__py_exec__

Act like a statement – called at runtime

__py_execmodel__

Act like a statement – return an AST

state changes just throw ui elements away and re create don t mutate

State changes:Just throw UI elements awayandre-create.DON’T MUTATE

academic supervisory team

Academic supervisory team

Dr. Richard Kennaway

Prof. Andy Day

University of East Anglia, Norwich, UK

the jython team

The Jython team

Developing The Larch would have been very difficult without Jython

thank you

THANK YOU!

G. French

J. R. Kennaway

M. Day

http://sites.google.com/site/larchenv

Image by alcomm, flickr.com