Dr. Dobb's Journal

Total Page:16

File Type:pdf, Size:1020Kb

Dr. Dobb's Journal A Bibliography of Publications in Dr. Dobb's Journal: Software Tools for the Professional Programmer (2000{2009) Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Tel: +1 801 581 5254 FAX: +1 801 581 4148 E-mail: [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe/ 05 July 2016 Version 3.24 Title word cross-reference 2 [BC01]. 2.0 [Coc01e, Rao02, Wal03b]. 2000 [Cal00a, Coc03e, Mil00, SEC01, Ste00a, Ste00e]. 2001 [Coc02i]. 2002 [Coc03e]. 2003 [Eri03a]. 21st [LMM+01, MKR+01]. #1 [Swa02q, Swa03k]. 3.0 [Hei01, Van01]. 30th [Coc02f]. 3Dnow + [Ste01h]. 3 [Cro00b, LJ01, Sny03]. = [Fom00b]. 3 [Ste01h]. [Eri02a]. N log N [Gon00]. RXML [Eri01b]. 4 [Wal02a, Woe02a]. 4.0 [Met01]. .NET [Bar03, Bui02, Gri02, Gun02, Hel02, 6.1 [Van02a]. 64 [Jar01]. 64-Bit + + Rob03, SPRF02, Tim03, All02, DHR+01, [Gut00, HBT 00, KDG 00]. Rei01b, SPM02, dIJ02]. 802.11g [Coc02f]. 1 [She03]. 1.0 [Coc01c, Swa02k]. 108-bit [Bar00b]. 10th [Coc02f]. 1394 [Ale00]. = [SPRF02]. 1 2 Academic [Bar00d]. Accelerating Pig02, Qur01, Rol00a, Rol00b, Rol02, Sco02, [Rot01b]. Accept [Coc03a]. Access Sha02a, Smi02, Sta01a, Wie00, Win00]. [Bar00k, Gun01a, Smi01b]. Accidents Alliance [Coc02j]. Allocation [Nak01]. [Swa03c]. Accolades [KDG+00]. Ace Almost [Ste01d]. Alphabet [Coc02j]. [Byk00]. Achievement [Coc01d]. ACLU Alphanumeric [Win00]. Alternating [Bar01e]. ACM [Mar00]. Alternatives [Swa01a]. Always [Bar00d, Bar00i, Bar00f, Coc02c, Isr01]. [Eri02l]. Ambulance [Sha01a, Swa01p]. Acronyms [Bar01b]. Acrophilia [Swa00n]. Analog [DeC02, HBT+00]. Analysis Across [Coc03e, Mon00b]. Act [Bar00g]. [Bar01d, BJ01b, FV00, Mit00, Ner00, Nis03e, ActiveX [Lar01a]. Adam [Swa03b]. She03]. Analytic [LMM+01]. Analytical Adaptive [Coc02f, Gon00, Jon02b]. Add [Ber00]. Analyzing [LMM+01, TCM+00]. [Bar01d]. Adding [Car02a, Car02b, Eri02c]. Anarchy [Bar00f, Swa02h]. Anatomy Addition [Dau01]. Address [CDsJ+00]. [Fre02]. Anders [Bar01b]. Android Adele [Ano02b]. Adi [Coc03b]. Adleman [SL01b]. Annealing [Pal01b]. anniversary [Coc03b]. ADO [Che01]. Adopts [Bar01h]. [Coc02f]. Announced Advanced [Bar00l, Coc02k, DR01]. [Coc01a, Coc02b, Coc02i]. Announces Adventures [Bar00c]. Anonymity [Bar01b]. Anti [Sto01, Sto02a, Sto02b, Sto02c, Sto02d, [Sto03d]. Anti-patterns [Sto03d]. Sto02e, Sto02f, Sto02g, Sto02h, Sto02i, Antipasto [Swa00k]. Apache Sto02j, Sto02k, Sto02l, Sto03b, Sto03a, [Blo00, Jac02, Ram01]. API Sto03d, Sto03g, Sto03c, Sto03e, Sto03f]. [Mus01, RG00, Rou02, Sto03g, Wal02a]. Adversarial [Sha02d]. Adware [Ste00g]. AppForge [Cro01b]. Applet [Bar00j]. AE [Van02b]. AES [Coc02k]. Again Application [Coc02h, GKM01, HF00, [Eri01f]. Agent [Bru02]. Agents Man02, SM00, TEM+01, Yud02, Rem01b]. [Jon02a, O'M01, Kie01b]. Aggregation Applications [ZBKO01]. Aglets [Jon02a]. Agreement [Abu01, Cox01b, Fom00a, FH02, Fox00a, [Bar01d]. AI [Bar00k, Coc01a, Coc02l]. Ails HWZ00, Kis01, MKR+01, PA02, Tor01]. [Eri01b]. Airport [Eri00f]. Al [TLA+02]. Arc [Sha02h]. Architecture Alert [Coc03g]. Algorithm [Cro00a, Rot02b]. Architectures [Pie01]. [Ana00, Bar00j, Bar00l, Bar00b, Bar01c, Archives [PTB+02]. Aren't Bar01d, Bar01g, Bar01e, Bay01, Ben00, [BHP+01, Coc02c, GDHI02, MKR+01]. Ben01, Car01, DR01, Dem01, DNM00, Arithmetic [Sco02]. Armies [Bar00h]. Get01a, Get01b, Gon00, Gut00, Gut02, Arrays [Dem01, Ben01]. Arrogant HM01, Keo00, Kri01, Lev00, Mah02, Man00, [WNL+00]. Art [Coc01a, Cro00a, PTB+02]. Mar00, Mis00, Mit02a, Nel02b, Nil00, Pal01b, Artistic [Swa03l]. ASP.NET Pig02, Qur01, Rol00a, Rol00b, Rol02, Sco02, [Hov02, MPG+02, PA02, Rei02]. Aspect Sha02a, Smi02, Sta01a, Wie00, Win00]. [Gro02]. Aspect-Oriented [Gro02]. Algorithms [HBT+00, LMM+01, TCM+00]. AspectJ [Gro02]. Assembly [Sno01]. Alias [Mit00]. Aliasing [HWT+01]. Alien Assignment [Cha03]. Astronomy [Coc02b, Wil01c]. All-Pairs [Mah03]. Alley [Bar01d]. Atlantic [Bar00n, Coc03e]. Atom [Ana00, Bay01, Ben00, Ben01, Car01, DR01, [Swa00b]. Attacks [PGH+00, Swa03c]. Dem01, DNM00, Get01a, Get01b, Gon00, Attention [Nis01a]. Attraction [Nis02c]. Gut00, Gut02, HM01, Keo00, Kri01, Mah02, Attributes [Hov02]. Audio Mar00, Mis00, Mit02a, Nel02b, Pal01b, [Arn01, WWL+02]. Augural [Wit00]. 3 Authentication [Sha02d]. Big [Fre03, Str01, Coc01d, Dal01a]. Automated [BW00, Swa01t, Swa02w, Swa03g]. [Gso01a, Hav00, O'M01, Pug02, Smi03a]. Big-Endian [Swa01t]. Bill [Bar00m]. Automatic [Bar00g, Fom00a, Mou00]. Billionth [Coc02g]. Binary [Bar01f, Ben00]. Automatically [BGGT01]. Automation Binding [Bro03, FMPL+03, GLFO+03]. [SL01b]. Automend [Coc02d]. AV L Biometric [Coc03d, Dal01a]. Biometrics [Rol00a]. Award [Yud02]. Birth [Coc02c]. Birthday [Bar00d, Bar00i, Bar01f, Coc02b, Coc02c, [Coc03g]. Bit Coc02i, Coc03b, Eri00a, Eri01a, Eri03a]. [Gut00, Bar00b, HBT+00, KDG+00]. Bits Awarded [Coc02k]. Awards [Ano02b]. [Mit02a, Rob01b]. Blass [Bar00m]. Blip Aware [Chr00]. Away [Swa00o]. Bloch [Bar00g]. Block [Bar00g, Coc02g, Coc03b]. Axis [Dou02]. [Coc02i, FMPL+03, TCM+00]. Block-Structured [FMPL+03]. Blood B [PWS+02]. Babbage [Bar00b]. Baby [Nis03g, Sha00b]. Bluetooth [Ste01l]. Back [SG01, WK00b, WK00a]. Board [Bar01d]. [Coc02d, EJS+01, Eri01e, Ste02b, Swa01b]. Bob [Bet02]. Boneyard [Coc02j]. Book Bad [BHP+01, GDHI02, MKR+01]. [CDsJ+00]. Books [Ste00h, Wil03e]. Balancing [Fab01, Mon00a]. Ballots Bookshelf [Coc03a]. Band [VMNH03]. Bandwagon [Cro00a, Cro01a, GS00, GP01, Gri01, Gri02, [SSC+00]. Banners [SZ01]. Bar [Swa00x]. LS01, Pap02, Rei00b, Rei01a, Rot00, Rot01b, Bargain [Rol03]. Bargain-Basement Rot01a, Rot02a, Sta00b, SG01, Tay00, Tay02, [Rol03]. Base [Coc01c, Ste02b]. Based Wil00b, Wil00c, Wil00d, Wil00e, Wil00f, [Bar00k, EBC01, FMPL+03, G¨os03, Gso01b, Wil01c, Wil01d, Wil01e, Wil02a, Wil02b, Kie01a, Lar01b, Li03a, Mit00, Pal01c, Pie01, Wil02c, Wil02d, Wil02e, Wil03c, Wil03e, Wil03i, deC01a]. Basement [Rol03]. Basic Wil03d, Wil03g, Wil03f, Wil03h, WG00, [Cro01b, Lar01a, PWS+02, Swa01k]. Basics Woe01, Woe02b, Woe02c, Woe02a, Woe03]. [Coc02d, EJS+01]. Bass [Ste02b]. Batteries Boomin [Nis03b]. Boost [Coc01c, Coc02d]. Batting [Bar00j]. [LMM+01, LMM+01]. Boot [Coc02l]. Battlefronts [Swa03m]. BB [Coc02h]. Be Booty [Coc02d]. Borders [Coc03d]. [Bar00b, Eri00f, Ste02e, Coc01e]. Beams Borland [Lis02]. Bottlenecks [Pap01]. Box [Sha01b]. Beans [Rao02]. Beasts [Sha00a]. [Col00, Wil03b]. Boy [Swa01m]. Brackets Beats [Bar01d, Sha01c]. Beautiful [RSW+01]. Brain [Bar00h, Bar00g, Bar01h]. [Swa02e]. Bed [KDG+00]. Beeb [Swa03h]. Branch [Sim00b]. Breadth [Swa00c]. been [Whi01]. before [GKM01]. Breadth-First [Swa00c]. Breakfast Beginning [GP01]. Behave [Swa00i]. [Swa01m]. Breakthrough [Bar01g, Coc02f]. BEHEMOTH [Bar00l]. Being Breed [Bar01f]. Bresenham [Rie02]. Bring [ASW+01, Eri03f, FV01, Swa00o]. Bell [Far01]. Brings [Swa02a]. Brittle [Nis01h]. [Bar00n]. Belong [Nis02b]. Benchmark Brooks [Bar00i]. Brother [Swa03g]. BSD [Bar01e, GKM01]. Berkeley [VR02]. [ASW+01]. BSP [Cun00]. Bug Berners [Coc02k]. Berners-Lee [Coc02k]. [Coc03g, Swa02w]. Bugs [McR02]. Build Best [Kap00, Ste01j]. Bet [Bar00e]. Better [Mar03, PH00]. Builder [Coc03d]. Building [Coc01c, Coc02d, Eri00f, Swa00d]. [Bar00n, Chr00, CM01, Coh00, Mar02b, BetterBASIC [ASW+01]. Between Pie01, Rem01b, She01, Ste00a, deC01a]. [Woe03]. Bidness [Eri03c]. Bifurcations Builds [Bar01f, Hav00]. Bull [Ste02b]. 4 Bundles [Jac01]. Burnout [Swa01m]. Century [LMM+01, MKR+01]. Burying [Arn01]. Business [WDGO03, Certification [GH00]. CESH [Tuc00]. Cg Bar01d, Coc02j, GLFO+03, Nis02k, Eri02i]. [Rat02]. Chains [Coc02b]. Challenge Buy [CDsJ+00, Eri00g]. Buzzes [Coc02k]. [Coc02g]. Challenges [Bar01e]. Change Bye [Coc01e]. [CDsJ+00, Swa00d]. Changes [Swa02a]. Changing [Ste01b, Tay02]. Channel C [Coc03g, RSW+01, BFG01, But02, Cav02, [Bar01g]. Charge [Eri02g]. Chasers Cha03, Coh03, Dal01b, EBC01, Fra01, [Swa01p]. Cheap [Bar00h]. Checked HWT+01, Hin02, Hum03, Mac00, MC00, [Gol01]. Checker [Boe03]. Checking Mad01, MLDP02, MKR+01, MW00, Mic00, [SL01a, BK08]. Checkpointing [CS02]. Pat01, Pon03, RCE+00, Rot01b, Rot01a, checksum [Fre02]. Chemical [Nis02c]. Rot02a, SP00, Sha03, SL01a, Ste00a, Ste00b, Child [LMM+01, Sha01d]. Childhood Ste00d, Ste00k, Ste00e, Ste00f, Ste00j, Ste00i, [Swa00e]. Chilly [Swa00u]. Chimps Ste00h, Ste00g, Ste00l, Ste00c, Ste01d, [Sha00e]. China [Coc02c]. Ching [Eri03e]. Ste01j, Ste01b, Ste01c, Ste01e, Ste01a, Ste01f, Chip [Bar01h]. Chips [Coc01c]. Cities Ste01g, Ste01h, Ste01i, Ste01l, Ste01k, Ste02b, [Coc00g]. City [CDsJ+00]. Claims [Bar00k]. Ste02c, Ste02d, Ste02f, Ste02g, Ste02i, Ste02h, Clarification [GWT+01, SPRF02]. Clark Ste02j, Ste02k, Ste02a, Ste02e, Ste03a, Tay01, [Kim01b]. Class [BC01, BHP+01, Roe00]. Tru01, TC00, VMNH03, Wil00e, Woe00]. Classics [Wil00c]. Claude [Bar01f]. Client C# [KDG+00]. Client/Server [KDG+00]. [Bar01b, BHP+01, Cro01c, Ead01, Gri02, Clients [JRFH01]. Closed [Eri01i]. Closer Hum03, SG01, Ste02c, Ste02k, Wil00g]. C99 [Bar01g]. Closest [Mah03]. CLR [SPRF02]. [Che02]. Cache [BTTF02, Jol01]. Caching Cluetrain [Swa00k]. Cluster [Kop00]. [Ben00]. Calculated [Coc01c]. Calculates CLX [Lis02]. CMake [Mar03]. CMOS [Coc01e]. Calculator [Yam00]. Calculators [CM01]. Cobol [Bar01f, EJS+01]. Code [Bir00]. Call [Bar00d, PWS+02]. Callbacks [Ben00, BHP+01, Mos00, Sea02, Wan00, [Hum03]. Calling [Pon03]. Caltech BK08]. Coding [SEC01]. Cofounder [Bar00f, Coc03a]. Camera [Bar00g, Dou02]. [Bar01c]. Colbert [KDK00]. Colby Cameras [Rob01a]. Campaign [Coc01b]. [Coc01a]. Coli [Coc03a]. Collaborative Can [Bar00e, Bar00g, Bar01g, Cal00c, [Fox00a]. Collection [Bur00]. College Dav01, Gso00, Jen00a, Jol01, Kie01a, Kie02a, [Bar00j, Bar01d]. Collegiate
Recommended publications
  • Design and Implementation of an Optionally-Typed Functional Programming Language
    Design and Implementation of an Optionally-Typed Functional Programming Language Shaobai Li Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2017-215 http://www2.eecs.berkeley.edu/Pubs/TechRpts/2017/EECS-2017-215.html December 14, 2017 Copyright © 2017, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Design and Implementation of an Optionally-Typed Functional Programming Language by Patrick S. Li A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Engineering { Electrical Engineering and Computer Sciences in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Koushik Sen, Chair Adjunct Professor Jonathan Bachrach Professor George Necula Professor Sara McMains Fall 2017 Design and Implementation of an Optionally-Typed Functional Programming Language Copyright 2017 by Patrick S. Li 1 Abstract Design and Implementation of an Optionally-Typed Functional Programming Language by Patrick S. Li Doctor of Philosophy in Engineering { Electrical Engineering and Computer Sciences University of California, Berkeley Professor Koushik Sen, Chair This thesis describes the motivation, design, and implementation of L.B. Stanza, an optionally- typed functional programming language aimed at helping programmers tackle the complexity of architecting large programs and increasing their productivity across the entire software development life cycle.
    [Show full text]
  • Practical Ruby Projects: Practical Ruby Projects Ideas for the Eclectic Programmer
    CYAN YELLOW MAGENTA BLACK PANTONE 123 C BOOKS FOR PROFESSIONALS BY PROFESSIONALS® THE EXPERT’S VOICE® IN OPEN SOURCE Companion eBook Available Practical Ruby Projects: Projects Ruby Practical Ideas for the Eclectic Programmer Dear Reader, You’ve learned the basics of Ruby, and you’re ready to move on to the next level— trying out advanced techniques, mastering best practices, and exploring Ruby’s full potential. With this book you’ll learn by experience while you tackle an exciting series of varied but always practical programming projects. What is an eclectic programmer, you ask? He or she is an inquisitive thinker Practical who likes to play around with new concepts, a person who is project-oriented and enjoys coding, a person who doesn’t mind some technical depth folded in with creative excursions, and a person who is always looking for fresh ideas. This book is a little different from other computer books. It is meant to be entertaining, exciting, and intellectually challenging. Inside you’ll find a collec- tion of diverse projects, ranging from the creative to the practical, written as a nod to all the great Rubyists I’ve been privileged to know. Each chapter dives into Ruby Projects new topics and approaches meant to exercise your programming muscles. You’ll start by building a cross-platform music environment, progress to drawing animations using scalable vector graphics, and then move on to prac- tical problem solving using simulation. In addition, you’ll implement your own turn-based strategy game and build a Mac-native RubyCocoa interface to it.
    [Show full text]
  • Introducing Myself…
    IntroducingIntroducing myselfmyself …… Nenad aka "DocKimbel" Rakocevic, Programming for 25 years: C/C++, *Basic, ASM, REBOL, web client -side languages, … Founder of a software company in Paris: Softinnov Author of several libraries for REBOL: MySQL, PostgresQL, LDAP native drivers UniServe: asynchronous, event -driven network engine Cheyenne Web Server: full -featured web application server CureCode: very fast web -based bug tracker (Mantis -like) Various others tools, game, demos … Was a happy Amiga user and registered BeOS developer WhyWhy amam II usingusing REBOLREBOL forfor 1111 years?years? Great scripting language Great prototyping tool Simple cross -platform graphic engine (View) Symbolic & Meta -programming Code / Data duality DSL -oriented Great designer behind: Carl Sassenrath WhyWhy II don'tdon't wantwant toto useuse REBOLREBOL anymore?anymore? Closed source Slow ( benchmark ) No multithreading support Mostly glue language, not general -purpose enough Not (easily) embeddable in third -party apps Can't run on popular VM (JVM, CLR) Sometimes designed for " Bob the artist ", rather than "John the programmer " WhatWhat isis thethe statestate ofof REBOLREBOL world?world? (1/2)(1/2) How REBOL began 14 years ago … WhatWhat isis thethe statestate ofof REBOLREBOL world?world? (2/2)(2/2) …and where it is today WhatWhat toto dodo then?then? Give up and pick up another language? Build an alternative? I chose the 2 nd option! MyMy answeranswer is:is: RReded !! Red[uced] REBOL dialect Fully open source (MIT/BSD) Statically compiled
    [Show full text]
  • Rapid GUI Development with Qtruby
    Rapid GUI Development with QtRuby Caleb Tennis The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas BOOKLEET © Many of the designations used by manufacturers and sellers to distin- guish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Pro- grammer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Qt® is a registered trademark of Trolltech in Norway, the United States and other countries. Useful Friday Links • Source code from this book and Every precaution was taken in the preparation of this book. However, the other resources. publisher assumes no responsibility for errors or omissions, or for dam- • Free updates to this PDF • Errata and suggestions. To report ages that may result from the use of information (including program list- an erratum on a page, click the ings) contained herein. link in the footer. To see what we’re up to, please visit us at http://www.pragmaticprogrammer.com Copyright © 2006 The Pragmatic Programmers LLC. All rights reserved. This PDF publication is intended for the personal use of the individual whose name appears at the bottom of each page. This publication may not be disseminated to others by any means without the prior consent of the publisher. In particular, the publication must not be made available on the Internet (via a web server, file sharing network, or any other means).
    [Show full text]
  • Hi Quality Version Available on AMIGALAND.COMYOUR BONUS SECOND CD! Packed with Games, Anims, ^ 3D Models and M Ore
    ' A G A EXPERIENCE Hi Quality Version Available on AMIGALAND.COMYOUR BONUS SECOND CD! Packed with games, anims, ^ 3D models and m ore... P L U S n @ AMIGA • J U T D J t 'jJUhD'j'jSxni D W This commercial CD is packed with AGA games, 9771363006008 ^ demos, pictures, utilities, 3D models, music, animations and more 9 771363 006008 Please make checks to COSOFT or O (01702) 300441 n 300441 order by credit card / switch & delta Most titles are despatched same day. ^ ^ - 5 217 - 219 Hamstel Rd - Southend-on-Sea, ESSEX, SS2 4LB Vat is INCLUDED on all titles, e&oe q . ^ er [email protected] Give us your email for monthly feb Page: Hnp://www.pdsoft m updated catalogue reports. Office & Retail Outlet open Monday to Saturday 9:30 to 7pm - Tel (01702) 306060 & 306061 - Fax (01702) 300115 Please add 1.00 per title for UK P&P & 2.00 for oversea's Airmail - Order via email & get the most upto date prices. Check our Web pages (updated every day) for special ofers and new releases. Special offers running every day. JUNGLE STRIKE SPECIAL FEATURE (1 4 .ff CAPTIAL PUNISHMENT Only (24.99 688 ATTACK SUPER SIOMARKS LEGENDS LURE OF THE SUB (12 DATA DISK (S B * f 17.BB T.TRESS (12 SABRE TEAM PLAYER ON MANAGER 2 OOYSSEY 1199 RUGBY SYNDICATE ( 12.M EURO KICKOFF 3 Hi Quality Version Available on AMIGALAND.COMC7.BB INTER OFFICE UPNtl BLACK CRYPT M r ( I f f * Me (11.00 INTER SPREAD WORLD CUP M r ( 9 99 Inc SOCCER CM2 - (3.99 A ll - (3 99 IN TER WORD K240 (7.U M r u n w CHESS SYSTEM SCREEHBAT 4 Give us a ring if you do not see what you want ACTIVE STEREO Some titles are limited and will go out of stock quickly.
    [Show full text]
  • UC Berkeley UC Berkeley Electronic Theses and Dissertations
    UC Berkeley UC Berkeley Electronic Theses and Dissertations Title Design and Implementation of an Optionally-Typed Functional Programming Language Permalink https://escholarship.org/uc/item/99k5w2m0 Author Li, Patrick Shaobai Publication Date 2017 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California Design and Implementation of an Optionally-Typed Functional Programming Language by Patrick S. Li A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Engineering { Electrical Engineering and Computer Sciences in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Koushik Sen, Chair Adjunct Professor Jonathan Bachrach Professor George Necula Professor Sara McMains Fall 2017 Design and Implementation of an Optionally-Typed Functional Programming Language Copyright 2017 by Patrick S. Li 1 Abstract Design and Implementation of an Optionally-Typed Functional Programming Language by Patrick S. Li Doctor of Philosophy in Engineering { Electrical Engineering and Computer Sciences University of California, Berkeley Professor Koushik Sen, Chair This thesis describes the motivation, design, and implementation of L.B. Stanza, an optionally- typed functional programming language aimed at helping programmers tackle the complexity of architecting large programs and increasing their productivity across the entire software development life cycle. Its design objectives arose out of our own frustrations with writing software, and we built Stanza to be a practical general-purpose language that resolves the problems we encounter in our daily work. Stanza was designed to write programs of appreciable complexity; where development time is spent primarily on managing this complexity; and where better tools for managing complexity can significantly improve programmer productivity.
    [Show full text]
  • Computer Programming 1
    Computer programming 1 Computer Programming Copyright © Milo Except where noted, all text is copyright Milo. Unless otherwise specified, all materials in this book are owned by the original copyright holder. PDF version of October 2007 This PDF is version 0 from 14 October 2007. The intent of this free downloadable college text book is to attempt to directly help poor and middle class students with the high cost of college text books by providing a high quality free alternative that can be used in the classroom for a subject that most college students are required to take. This free downloadable book is based on and includes materials from http://www.OSdata.com . Materials from OSdata.com have already been used in more than 300 colleges and universities around the world and have been quoted in studies and policy decisions by the U.S. Navy and the government of the Federal Republic of Germany. This is still a work in progress. Feedback and constructive criticism appreciated (especially feedback from professors who might want to use the finished book). While this book is still being written, professors are free to use specific chapters (or portions of chapters) as class handouts to supplement existing for-profit text books. This same policy will continue to apply after the book is completed, but this policy offers usefulness for many classes right now today even though the book is still incomplete. Poor students should not feel bad about using this book for free. You are exactly who this book is intended to help. You may optionally do volunteer work for the charitable organization of your choice (not political or religious activity — actual work for a charitable organization helping the poor, the elderly, the sick, the disabled, or the environment, etc.).
    [Show full text]
  • Hi Quality Version Available on AMIGALAND.COM
    977136059601410 3|qB||BAB OS|B UO|S10fl qs|p -uojiipa 03 jjuaBes/w au jnoA >|sv tlAIOU-QO °N A A <tt Hi Quality Version Available on AMIGALAND.COM qqiK® *99* 919' Tel. 0116 246 3800 Fax. 0116 246 3801 [email protected] Weird Science Ltd., Q House, Troon Way Business Centre, Humberstone Lane, Leicester. LE4 2SE www.weirdscience.co.uk Foundation is a real-time strategy war gama which incorporates familiar pOCINDfiTION strategy elements with interesting new concepts Accomplished strategy game players will enjoy the enhanced control and complex resource management Beginners will enjoy the accessibility of the gamepfay when played In it's basic form and the depth f skill that Is attainable with experience. Forty game missions provided with more mission packs to be released soon. Custom games possible providing infinite landscapes with variable terrains and AGA. CyberGraphX and Picasso96 graphics modes are supported. Hundieds of speech and sound effects with an option to use AHI. The game can use large, wide or small graphics for different screens. U ses a database of 10 Million names and 1000 scanned faces Can be installed fully or partially to Hard Drive Fully multitasking and system friendly Amazing original music and custom made CD Audio tracks, The game supports many languages with free language packs. Free updates to bo released regularly to provide advanced features. TCP/IP support and optimizations are to be the first updates. COUNDfiTION Foundation roqui.aa a 2 Mag AGA aquippad Amiga (ag. A1200.) Tha gama h a t boon davalopad fo . 68030 baaad Amigas but an CbnqucM Gam: A1200 is enough to get the game running.
    [Show full text]
  • A History of the Amiga by Jeremy Reimer
    A history of the Amiga By Jeremy Reimer 1 part 1: Genesis 3 part 2: The birth of Amiga 13 part 3: The first prototype 19 part 4: Enter Commodore 27 part 5: Postlaunch blues 39 part 6: Stopping the bleeding 48 part 7: Game on! 60 Shadow of the 16-bit Beast 71 2 A history of the Amiga, part 1: Genesis By Jeremy Reimer Prologue: the last day April 24, 1994 The flag was flying at half-mast when Dave Haynie drove up to the headquarters of Commodore International for what would be the last time. Dave had worked for Commodore at its West Chester, Pennsylvania, headquarters for eleven years as a hardware engineer. His job was to work on advanced products, like the revolutionary AAA chipset that would have again made the Amiga computer the fastest and most powerful multimedia machine available. But AAA, like most of the projects underway at Commodore, had been canceled in a series of cost-cutting measures, the most recent of which had reduced the staff of over one thousand people at the factory to less than thirty. "Bringing your camera on the last day, eh Dave?" the receptionist asked in a resigned voice."Yeah, well, they can't yell at me for spreading secrets any more, can they?" he replied. Dave took his camera on a tour of the factory, his low voice echoing through the empty hallways. "I just thought about it this morning," he said, referring to his idea to film the last moments of the company for which he had given so much of his life.
    [Show full text]
  • Programming Cocoa with Ruby Create Compelling Mac Apps Using Rubycocoa
    Extracted from: Programming Cocoa with Ruby Create Compelling Mac Apps Using RubyCocoa This PDF file contains pages extracted from Programming Cocoa with Ruby, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy, please visit http://www.pragprog.com. Note: This extract contains some colored text (particularly in code listing). This is available only in online versions of the books. The printed versions are black and white. Pagination might vary between the online and printer versions; the content is otherwise identical. Copyright © 2009 The Pragmatic Programmers, LLC. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein. Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://www.pragprog.com Copyright © 2009 Brian Marick.
    [Show full text]
  • Arduino: a Quick-Start Guide
    Download from Wow! eBook <www.wowebook.com> What Readers Are Saying About Arduino: A Quick-Start Guide The most comprehensive book on the Arduino platform I have read. Loaded with excellent examples and references, Arduino: A Quick-Start Guide gets beginners up and running in no time and provides experi- enced developers with a wealth of inspiration for their own projects. Haroon Baig Creator of the Twitwee Clock, http://www.haroonbaig.com Excellently paced for those who have never experimented with elec- tronics or microcontrollers before and packed with valuable tidbits even for advanced Arduino tinkerers. Georg Kaindl Creator, Arduino DHCP, DNS, and Bonjour libs The Arduino platform is a great way for anyone to get into embedded systems, and this book is the road map. From first baby steps to com- plex sensors and even game controllers, there is no better way to get going on the Arduino. T o n y Williamitis Senior embedded systems engineer I recommend this engaging and informative book to software develop- ers who want to learn the basics of electronics, as well as to anyone looking to interface their computers with the physical world. René Bohne Software developer and creator of LumiNet Download from Wow! eBook <www.wowebook.com> Arduino A Quick-Start Guide Maik Schmidt The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Download from Wow! eBook <www.wowebook.com> Many of the designations used by manufacturers and sellers to distinguish their prod- ucts are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals.
    [Show full text]
  • Learn to Program Second Edition
    Prepared exclusively for Reed Kennedy Learn to Program Second Edition Chris Pine The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas Prepared exclusively for Reed Kennedy Pragmatic Bookshelf Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) containedherein. Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://www.pragprog.com Copyright © 2009 Chris Pine. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmit- ted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Printed in the United States of America. ISBN-10: 0-9766940-4-2 ISBN-13: 978-1-934356-36-4 Printed on acid-free paper. P2.0 printing, April 2010 Version: 2010-5-5 Prepared exclusively for Reed Kennedy Contents Preface to the Second Edition vii Introduction x What Is Programming? ......................
    [Show full text]