1 / 18

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

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

libitha
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MuLEMultiple Language EnvironmentAn Environment for Interpreter-based Projects for the Programming Languages Course partially supported by the National Science Foundation CCLI-DUE 9952398

  2. 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

  3. 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

  4. A Glance at MuLE

  5. 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)

  6. 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

  7. 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/

  8. 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)

  9. 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 ) ) )

  10. 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 ))

  11. 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

  12. Running MuLE • Start PL Scheme , run Launcher

  13. Running MuLE • Execute

  14. Running MuLE • Execute

  15. Running MuLE • Choose a language

  16. Running MuLE • Get a language window

  17. Running MuLE (SLam) • Program

More Related