slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course PowerPoint Presentation
Download Presentation
MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course

Loading in 2 Seconds...

play fullscreen
1 / 18

MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course - PowerPoint PPT Presentation


  • 284 Views
  • Uploaded on

MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course. partially supported by the National Science Foundation CCLI-DUE 9952398. People. Principal Investigators John Barr Ithaca College

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

MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course


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
slide2

MuLEMultiple Language EnvironmentAn Environment for Interpreter-based Projects for the Programming Languages Course

partially supported by the National Science Foundation CCLI-DUE 9952398

people

People

Principal Investigators

John Barr Ithaca College

Laurie A. Smith King College of the Holy Cross

Consultants

Ben Coleman, PhD candidate, The College of William & Mary in VA

(Computer Science B.S. from Ithaca College 1997)

SLic.s implementation, SLic Labs

Barbara Moskal The Colorado School of Mines

Assessment Expert

students

Students

Holy Cross

Dan Conti (2003); CVS, Technical support, Web Page

Rachel Giguere (2000); SPoc.s port, features, Manual

Sean Harrington (2003); Testing, Document Proofreading, pre-labs

Raquel Ruano (2000); Testing, CVS

Matt Rinaldi (2001); SLam.s port, features, Manual, Web Page Scripting

Ithaca College

Laura Henry (2001); SOOP.s port, several classes, Manual

Hanh Pham (2002); SOOP.s port, several classes, Manual

Lora Kassab (1996); pre-labs

Jamie Scheinblum (2002); Utilities.s port, The Launcher

Christian Stoehr (2000); Utilities.s port, The Launcher

mule multiple language environment
MuLEMUltiple Language Environment
  • Tool designed for the programming languages design and implementation course
  • In development since 1994
  • Used at Ithaca College and Holy Cross
  • NSF CCLI-DUE #9952398 (awarded January 2000)
    • John Barr Ithaca College
    • Laurie Smith King Holy Cross
  • Innumerable students (Literacy, PL, Senior Project)
mule structure
MuLE: Structure
  • Launcher (extensible)
  • Utilities file
  • 4 Interpreters
    • SLam (Simple LAMbda): functional/applicative

Awful choices: SiFL, Sapp, Sunc

    • SPoc (Simple PrOCedural): imperative
    • SOOP (Simple Object Oriented Paradigm)
    • SLic (Simple LogIC): logic/declarative
mule structure8
MuLE: Structure
  • Written in Scheme
    • Simple to learn (truth in advertising: complex features)
    • Small language (smaller than Lisp)
    • Functional paradigm
  • Uses DrScheme
    • Provides GUI elements
    • Truly Cross Platform
    • Freely available http://www.cs.rice.edu/CS/PLT/packages/drscheme/
mule use
MuLE: Use
  • Program in each MuLE language
  • Examine interpreters to learn how language features are implemented
  • Extend interpreters (counter-example/PIC)
  • Write a new language (PIL)
mule use examples
MuLE: Use examples

SPoc

program one

declare a / b / c $

begin

a = 1 $

b = 2 $

c = ( 2 * a + b ) $

print a $

end

SOOP

(assign a make-box)

(send a set-name aaa)

(send a set-val 1)

(assign b make-box)

(send b set-name bbb)

(send b set-val 2)

(assign c make-box)

(send c set-name ccc)

(send c set-val send 2 * send a + b)

SLam

(assign a 1)

(assign b 2)

(assign c (* 2 ( + a b ) ) )

mule slic
MuLE: SLic

b { w } . q { X } if b { X } and c { X } .

b { x } . r { X } if c { X } .

b { y } . s { X } if r { X } .

c { y } .

c { z } .

?- q { X } .

?- s { X } .

(( X y ))

(( X z ))

(( X y ))

running mule
Running MuLE
  • Start PL Scheme, run Launcher
    • Starting MuLE is not platform independent
    • Windows:Draglauncher.sontoDrScheme icon
    • MacOS:Draglauncher.sontoDrScheme icon
    • Unix:Typedrscheme launcher.s
running mule13
Running MuLE
  • Start PL Scheme , run Launcher
running mule14
Running MuLE
  • Execute
running mule15
Running MuLE
  • Execute
running mule16
Running MuLE
  • Choose a language
running mule17
Running MuLE
  • Get a language window