background preloader

Real World Haskell

Real World Haskell
Related:  Haskellvitalis_magnus

Debugging - HaskellWiki 1 Stack trace 1.1 General usage Recent versions of GHC allow a dump of a stack trace (of all cost centres) when an exception is raised. A more detailed list of options can be found in the RTS section of the GHC user's guide. 1.2 Example -- test.hs crash = sum [1,2,3,undefined,5,6,7,8] main = print crash > ghc-7.6.3 test.hs -prof -auto-all -caf-all && . 2 Printf and friends The simplest approach is to use Debug.Trace.trace: trace :: String -> a -> a "When called, trace outputs the string in its first argument, before returning the second argument as its result.'" A common idiom to trace a function is: myfun a b | trace ("myfun " ++ show a ++ " " ++ show b) False = undefined myfun a b = ... The advantage is that disabling and enabling the trace takes only one line comment. You must keep in mind that due to lazy evaluation your traces will only print if the value they wrap is ever demanded. The trace function is located in the base package. A more powerful alternative for this approach is Hood. $ . $ .

DOAB: Directory of Open Access Books Abstract Increasingly, technology is at stake in toys, games and playing. With the immense popularity of computer games, questions concerning the role and function of technology in play have become more pressing. Technologie speelt een steeds belangrijkere rol in speelgoed en spellen. Tutorials 1 Introductions to Haskell These are the recommended places to start learning, short of buying a textbook. 1.1 Best places to start Learn You a Haskell for Great Good! (LYAH) Nicely illustrated tutorial showing Haskell concepts while interacting in GHCi. Real World Haskell (RWH) A free online version of the complete book, with numerous reader-submitted comments. Yet Another Haskell Tutorial (YAHT) By Hal Daume III et al. Haskell Wikibook A communal effort by several authors to produce the definitive Haskell textbook. Write Yourself a Scheme in 48 Hours in Haskell A Haskell Tutorial, by Jonathan Tang. How to Learn Haskell Some students at Washington University in St. О Haskell по-человечески About Haskell from a beginner for beginners. 1.2 Other tutorials Haskell for the Evil Genius By Andrew Pennebaker. Parallel Processing with Haskell By Andrew Pennebaker. GetOptFu By Andrew Pennebaker. A Gentle Introduction to Haskell By Paul Hudak, John Peterson, and Joseph H. H-99: Ninety-Nine Haskell Problems

[HUGE GUIDE] Weapon Upgrading and Weapon Analysis -- One-Stop Guide - Final Fantasy XIII Message Board for Xbox 360 - GameFAQs Fang Fang is the best Commando in the game, winning out over Snow because of her incredibly high strength and the massive strength bonus she can get from her weapons. Fang is also a very capable Saboteur and the second-best Sentinel, losing to Snow because he has so much more HP than she does. Surprisngly enough, once she has access to her non-innate roles, Fang is a very good Ravager. As you might expect, this makes choosing a weapon for her difficult. The Gae Bolg lacks raw power, but is great for Fang focused on being a Sentinel. The Pandoran Spear is optimized for Fang as a Saboteur. The Taming Pole has the best overall stats of any of Fang's weapons... but it has Stagger Lock.

Design and Analysis of Algorithms Information Overview This core course covers good principles of algorithm design, elementary analysis of algorithms, and fundamental data structures. The emphasis is on choosing appropriate data structures and designing correct and efficient algorithms to operate on these data structures. Learning outcomes This is a first course in data structures and algorithm design. learn good principles of algorithm design; learn how to analyse algorithms and estimate their worst-case and average-case behaviour (in easy cases); become familiar with fundamental data structures and with the manner in which these data structures can best be implemented; become accustomed to the description of algorithms in both functional and procedural styles; learn how to apply their theoretical knowledge in practice (via the practical component of the course). Synopsis Program costs: time and space. Syllabus Reading list T.

Introduction | Hackage The SchoolTool Book — The SchoolTool Book Roles | General information - Final Fantasy XIII Game Guide & Walkthrough Fighting system in Final Fantasy XIII is based on two major elements: roles and paradigms. Role are some kind of professions that will give our characters abilities to fulfill their tasks in the group. Every character can develop all six roles. The best tactic is to start with three major one that are different to each character, then (when they will be on a good level) you can start to give some points to other. You can learn basic role for each character from this table: Commando Commando is very important in every fight. The second thing is that Commando attacks (the only exception is Sazh) will throw your enemies into the air. A good thing is to learn something abort teams with two Commandos. Sentinel This profession was unnecessary in Final Fantasy XII. The best tactic is to use him against bosses and some larger groups of enemies when you will have to survive the first part of the fight. Medic As a healing character Medic is the best in every battle. Ravager Synergist Saboteur

Concurrency Information Overview Computer networks, multiprocessors and parallel algorithms, though radically different, all provide examples of processes acting in parallel to achieve some goal. Learning outcomes At the end of the course the student should: understand some of the issues and difficulties involved in Concurrency be able to specify and model concuurent systems using CSP be able to reason about CSP models of systems using both algebraic laws and semantic models be able to analyse CSP models of systems using the model checker FDR Synopsis Processes and observations of processes; point synchronisation, events, alphabets. Syllabus Deterministic processes: traces, operational semantics; prefixing, choice, concurrency and communication. Reading list Course Text: A. Alternatives: A.W. Overheads: This year's slides will appear on the Course Materials page over the course of the term. Related research at the Department of Computer Science

Hoogle Hoogle is a Haskell API search engine, which allows you to search many standard Haskell libraries by either function name, or by approximate type signature. Example searches: map (a -> b) -> [a] -> [b] Ord a => [a] -> [a] Data.Map.insert Enter your own search at the top of the page. The Hoogle manual contains more details, including further details on search queries, how to install Hoogle as a command line application and how to integrate Hoogle with Firefox/Emacs/Vim etc. I am very interested in any feedback you may have. Please email me, or add an entry to my bug tracker.

Related:  haskell