The Reasoned Schemer

Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 9780262562140
Release Date: 2005-10-14
Genre: Computers

Extending the functional language Scheme with logical constructs in order to help the functional programmer think logically and the logic programmer think functionally.

Scheme and the Art of Programming

Author: George Springer
Publisher: Mit Press
ISBN: 0262691361
Release Date: 1989-01
Genre: Computers

Scheme is the fast track to getting started in programming. Its clear semantics, simple syntax, and interactive environment enable the beginning student to write sophisticated programs after just two brief chapters. As a first introduction to programming, it is an ideal vehicle for learning to reason correctly about computation. Starting from a few fundamental concepts and principles - procedural and syntactic abstractions, recursion, iteration, state, and control - Springer and Friedman develop the ideas and techniques of programming. They include both traditional topics such as numeric and symbolic computation, and also cover current issues such as streams, object-oriented programming and continuations for abstracting control. The presentation is designed for the introductory college student It is more sophisticated and complete than The Little LISPer, but not as advanced as Structure and Interpretation of Computer Programs. Springer and Freidman provide a solid introduction to data abstraction by presenting topics such as list strings, vectors, matrices, sets, relations, and functions. Among the examples used to illustrate object oriented programming are stacks, queues, circular lists, hash tables, and a gas station simulation. George Springer is Professor of Mathematics and Computer Science and Daniel P. Friedman is Professor of Computer Science. Both are at Indiana University, one of the centers for research and development of Scheme.

The Little Prover

Author: Daniel P. Friedman
Publisher: MIT Press
ISBN: 9780262527958
Release Date: 2015-07-10
Genre: Computers

An introduction to writing proofs about computer programs, written in an accessible question-and-answer style, complete with step-by-step examples and a simple proof assistant.

Functional and Logic Programming

Author: Jacques Garrigue
Publisher: Springer Science & Business Media
ISBN: 9783540789680
Release Date: 2008-03-28
Genre: Computers

This book constitutes the refereed proceedings of the 9th International Symposium on Functional and Logic Programming, FLOPS 2008. The 20 revised full papers, together with 3 invited contributions were carefully reviewed and selected from 59 submissions.

Functional and Logic Programming

Author: Oleg Kiselyov
Publisher: Springer
ISBN: 9783319296043
Release Date: 2016-02-22
Genre: Computers

This book constitutes the proceedings of the 13th International Symposium on Functional and Logic Programming, FLOPS 2016, held in Kochi, Japan, in March 2016. The 14 papers presented in this volume were carefully reviewed and selected from 36 submissions. They cover the following topics: functional and logic programming; program transformation and re-writing; and extracting programs from proofs of their correctness.

A Little Java a Few Patterns

Author: Matthias Felleisen
Publisher: MIT Press
ISBN: 0262561158
Release Date: 1998
Genre: Computers

foreword by Ralph E. Johnson and drawings by Duane Bibby 'This is a book of 'why' not 'how.' If you are interested in the nature of computation and curious about the very idea behind object orientation, this book is for you. This book will engage your brain (if not your tummy). Through its sparkling interactive style, you will learn about three essential OO concepts: interfaces, visitors, and factories. A refreshing change from the 'yet another Java book' phenomenon. Every serious Java programmer should own a copy.' -- Gary McGraw, Ph.D., Research Scientist at Reliable Software Technologies and coauthor of Java Security Java is a new object-oriented programming language that was developed by Sun Microsystems for programming the Internet and intelligent appliances. In a very short time it has become one of the most widely used programming languages for education as well as commercial applications. Design patterns, which have moved object-oriented programming to a new level, provide programmers with a language to communicate with others about their designs. As a result, programs become more readable, more reusable, and more easily extensible. In this book, Matthias Felleisen and Daniel Friedman use a small subset of Java to introduce pattern-directed program design. With their usual clarity and flair, they gently guide readers through the fundamentals of object-oriented programming and pattern-based design. Readers new to programming, as well as those with some background, will enjoy their learning experience as they work their way through Felleisen and Friedman's dialogue. src='/graphics/yellowball.gif' href='/books/FELTP/Java-fm.html'Foreword and Preface

ClojureScript Up and Running

Author: Stuart Sierra
Publisher: "O'Reilly Media, Inc."
ISBN: 9781449327392
Release Date: 2012-10-25
Genre: Computers

Learn how to build complete client-side applications with ClojureScript, the Clojure language variant that compiles to optimized JavaScript. This hands-on introduction shows you how ClojureScript not only has similarities to JavaScript—without the flaws—but also supports the full semantics of its parent language. You’ll delve into ClojureScript’s immutable data structures, lazy sequences, first-class functions, macros, and support for JavaScript libraries. No previous experience with Clojure or ClojureScript is necessary. If you’re familiar with JavaScript, HTML, CSS, and the DOM, you’ll quickly discover that ClojureScript has the same reach as JavaScript, but with more power. Start writing ClojureScript code with the Leiningen build system Learn how the ClojureScript compiler works to produce optimized JavaScript Use JavaScript functions and libraries directly from ClojureScript code Explore functions in Clojure’s sequence library such as map, reduce, and filter Use macros to define new control structures or embed domain-specific languages Compile manually or script your own workflow with ClojureScript’s compiler tools Integrate ClojureScript with Clojure on the JVM to build powerful client-server applications

Schnelles Denken langsames Denken

Author: Daniel Kahneman
Publisher: Siedler Verlag
ISBN: 9783641093747
Release Date: 2012-06-27
Genre: Psychology

Intuition oder Vernunft? - Menschliches Verhalten und das Verständnis von Wirtschaft Wie treffen wir unsere Entscheidungen? Warum ist Zögern ein überlebensnotwendiger Reflex, und was passiert in unserem Gehirn, wenn wir andere Menschen oder Dinge beurteilen? Daniel Kahneman, Nobelpreisträger und einer der einflussreichsten Wissenschaftler unserer Zeit, zeigt anhand ebenso nachvollziehbarer wie verblüffender Beispiele, welchen mentalen Mustern wir folgen und wie wir uns gegen verhängnisvolle Fehlentscheidungen wappnen können.

Der Turing Omnibus

Author: A.K. Dewdney
Publisher: Springer-Verlag
ISBN: 9783642788727
Release Date: 2013-03-12
Genre: Computers

Der Turing Omnibus macht in 66 exzellent geschriebenen Beiträgen Station bei den interessantesten Themen aus der Informatik, der Computertechnologie und ihren Anwendungen.

A Functional Comprehensive and Extensible Multi Platform Querying and Transformation Approach

Author: Tassilo Horn
Publisher: Logos Verlag Berlin GmbH
ISBN: 9783832542917
Release Date: 2015-07-11
Genre: Computers

This thesis is about a new model querying and transformation approach called FunnyQT which is realized as a set of APIs and embedded domain-specific languages (DSLs) in the JVM-based functional Lisp-dialect Clojure. Founded on a powerful model management API, FunnyQT provides querying services such as comprehensions, quantified expressions, regular path expressions, logic-based, relational model querying, and pattern matching. On the transformation side, it supports the definition of unidirectional model-to-model transformations, of in-place transformations, it supports defining bidirectional transformations, and it supports a new kind of co-evolution transformations that allow for evolving a model together with its metamodel simultaneously. Several properties make FunnyQT unique. Foremost, it is just a Clojure library, thus, FunnyQT queries and transformations are Clojure programs. However, most higher-level services are provided as task-oriented embedded DSLs which use Clojure's powerful macro-system to support the user with tailor-made language constructs important for the task at hand. Since queries and transformations are just Clojure programs, they may use any Clojure or Java library for their own purpose, e.g., they may use some templating library for defining model-to-text transformations. Conversely, like every Clojure program, FunnyQT queries and transformations compile to normal JVM byte-code and can easily be called from other JVM languages. Furthermore, FunnyQT is platform-independent and designed with extensibility in mind. By default, it supports the Eclipse Modeling Framework and JGraLab, and support for other modeling frameworks can be added with minimal effort and without having to modify the respective framework's classes or FunnyQT itself. Lastly, because FunnyQT is embedded in a functional language, it has a functional emphasis itself. Every query and every transformation compiles to a function which can be passed around, given to higher-order functions, or be parametrized with other functions.

Die Kunst des Game Designs

Author: Jesse Schell
Publisher: MITP-Verlags GmbH & Co. KG
ISBN: 9783958452848
Release Date: 2016-06-15
Genre: Computers

Grundlagen der Entwicklung und Konzeption klassischer Spiele von einem der weltweit führenden Game Designer Mehr als 100 Regeln und zentrale Fragen zur Inspiration für den kreativen Prozess Zahlreiche wertvolle Denkanstöße für die Konzeption eines erfolgreichen Spiels Jeder kann die Grundlagen des Game Designs meistern – dazu bedarf es keines technischen Fachwissens. Dabei zeigt sich, dass die gleichen psychologischen Grundprinzipien, die für Brett-, Karten- und Sportspiele funktionieren, ebenso der Schlüssel für die Entwicklung qualitativ hochwertiger Videospiele sind. Mit diesem Buch lernen Sie, wie Sie im Prozess der Spielekonzeption und -entwicklung vorgehen, um bessere Games zu kreieren. Jesse Schell zeigt, wie Sie Ihr Game durch eine strukturierte methodische Vorgehensweise Schritt für Schritt deutlich verbessern. Mehr als 100 gezielte Fragestellungen eröffnen Ihnen dabei neue Perspektiven auf Ihr Game, so dass Sie die Features finden, die es erfolgreich machen. Hierzu gehören z.B. Fragen wie: Welche Herausforderungen stellt mein Spiel an die Spieler? Fördert es den Wettbewerb unter den Spielern? Werden sie dazu motiviert, gewinnen zu wollen? So werden über hundert entscheidende Charakteristika für ein gut konzipiertes Spiel untersucht. Mit diesem Buch wissen Sie, worauf es bei einem guten Game ankommt und was Sie alles bedenken sollten, damit Ihr Game die Erwartungen Ihrer Spieler erfüllt und gerne gespielt wird. Zugleich liefert es Ihnen jede Menge Inspiration – halten Sie beim Lesen Zettel und Stift bereit, um Ihre neuen Ideen sofort festhalten zu können

The Little LISPer

Author: Daniel P. Friedman
Publisher:
ISBN: UOM:39015000464811
Release Date: 1974-01-01
Genre: LISP (Computer program language)

There are surprises in store for the diligent reader of this masterful introduction to recursion as a fundamental tool for expressing and solving problems. With wit and wisdom, The Little LISPer unfolds some of the most beautiful concepts in mathematics, computer science, and logic. The authors' goal is to show that recursive thinking is first of all fun, that it is powerful, and that the programming language Lisp allows one to express ideas recursively and naturally. There are hard problems along the way, but their solution brings mastery of recursive, functional, and meta-linguistic abstractions, developing skills in the underlying creative programming in Lisp. The Little LISPer is self-contained: an interpreter for the language is developed using the tools of the book itself .