Download
1 / 18

MuLE - PowerPoint PPT Presentation


  • 340 Views
  • Updated 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

PowerPoint Slideshow about 'MuLE' - Pat_Xavi


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 l.jpg

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

partially supported by the National Science Foundation CCLI-DUE 9952398


People l.jpg

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 l.jpg

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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
Running MuLE

  • Start PL Scheme , run Launcher


Running mule14 l.jpg
Running MuLE

  • Execute


Running mule15 l.jpg
Running MuLE

  • Execute


Running mule16 l.jpg
Running MuLE

  • Choose a language


Running mule17 l.jpg
Running MuLE

  • Get a language window


Running mule slam l.jpg
Running MuLE (SLam)

  • Program


ad