background preloader

Hoogle

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.

Math.Statistics modes :: Ord a => [a] -> [(Int, a)]Source Modes returns a sorted list of modes in descending order quantile :: (Fractional b, Ord b) => Double -> [b] -> bSource Sample variance Interquartile range Arbitrary quantile q of an unsorted list. linreg :: Floating b => [(b, b)] -> (b, b, b)Source Least-squares linear regression of y against x for a |collection of (x, y) data, in the form of (b0, b1, r) |where the regression is y = b0 + b1 * x with Pearson |coefficient r devsq :: Floating a => [a] -> aSource Returns the sum of square deviations from their sample mean. AJAX Control Toolkit ASP.NET AJAX Control Toolkit Welcome to the ASP.NET AJAX Control Toolkit. Choose from any of the samples on the left to see the live controls in action, and experiment with their different possibilities. What is the ASP.NET AJAX Control Toolkit? The ASP.NET AJAX Control Toolkit is an open-source project built on top of the Microsoft ASP.NET AJAX framework. The AJAX Control Toolkit contains more than 30 controls that enable you to easily create rich, interactive web pages. To get started, and to install the Ajax Control Toolkit, visit the AJAX Control Toolkit Project Page on CodePlex. To learn more, read the Getting Started Tutorial, or the other walkthroughs, tutorials and videos shown on the left.

Data.ByteString.Char8 O(n) The unfoldrN function is analogous to the List 'unfoldr'. unfoldrN builds a ByteString from a seed value. The function takes the element and returns Nothing if it is done producing the ByteString or returns Just (a,b), in which case, a is a prepending to the ByteString and b is used as the next element in a recursive call. To preven unfoldrN having O(n^2) complexity (as prepending a character to a ByteString is O(n), this unfoldr requires a maximum final size of the ByteString as an argument. cons can then be implemented in O(1) (i.e. a poke), and the unfoldr itself has linear complexity. The depth of the recursion is limited to this size, but may be less. For lazy, infinite unfoldr, use unfoldr (from List). Examples: unfoldrN 10 (\x -> Just (x, chr (ord x + 1))) '0' == "0123456789" The following equation connects the depth-limited unfoldr to the List unfoldr: unfoldrN n == take n $ List.unfoldr

XTips.ru Data.Map An efficient implementation of maps from keys to values (dictionaries). Since many function names (but not the type name) clash with Prelude names, this module is usually imported qualified, e.g. import Data.Map (Map) import qualified Data.Map as Map The implementation of Map is based on size balanced binary trees (or trees of bounded balance) as described by: Stephen Adams, "Efficient sets: a balancing act", Journal of Functional Programming 3(4):553-562, October 1993, Note that the implementation is left-biased -- the elements of a first argument are always preferred to the second, for example in union or insert. Operation comments contain the operation time complexity in the Big-O notation Effective Effective Books I'm getting ready to start work on Effective C++11 (about which I'll have more to say in a later blog post), and this week I've been reviewing a manuscript for a new book in my Effective Software Development Series, so recently I've been thinking a lot about what makes an effective Effective book. Effective books consist of a collection of technical essays ("Items"), where each essay's title comprises advice you should follow, and each essay's body consists of a rationale for the advice. In the third edition of Effective C++, for example, Item 37 is "Never redefine a function's inherited default parameter value." This format has always seemed pretty straightforward to me, but having reviewed dozens of proposals and manuscripts for my series, it's clear that it's not straightforward to everybody. A few years ago, I wrote up the following guidelines for authors of prospective Effective books. Item 1: Keep Items short. Think about your goals for your book. Item 4: Word Item titles carefully.

Data.Map Note: You should use Data.Map.Strict instead of this module if: You will eventually need all the values stored.The stored values don't represent large virtual data structures to be lazily computed. An efficient implementation of ordered maps from keys to values (dictionaries). These modules are intended to be imported qualified, to avoid name clashes with Prelude functions, e.g. import qualified Data.Map as Map The implementation of Map is based on size balanced binary trees (or trees of bounded balance) as described by: Stephen Adams, "Efficient sets: a balancing act", Journal of Functional Programming 3(4):553-562, October 1993, Note that the implementation is left-biased -- the elements of a first argument are always preferred to the second, for example in union or insert. Operation comments contain the operation time complexity in the Big-O notation (

50 полезных плагинов JQuery jQuery плагины являются одними из самых необходимых компонентов при построении сайта, да и вообще любого веб-приложения. Именно они позволяют вам расширить свой функционал. В этой статье перечислены самые полезные плагины за 2012 год. Для более удобного поиска все плагины разделены на следующие категории: Web Page Layout — плагины, плагины для навигации, Form Plugins, плагины для создания слайдеров, плагины для диаграмм и графиков, эффекты для изображений и другие. Page Layout плагины equalize.js equalize.js — это плагин для jQuery, который позволяет создавать блочную структуру сайта. Freetile.js Новый плагин для адаптивных макетов.Freetile позволяет создавать элементы любого размера, при этом необходимость создания фиксированного размера столбцов сетки отпадает. gridster.js Gridster.JS jquery плагин для построения drag and drop — сетки. Zoomooz.js Zoomooz.js - это простой в использовании jQuery-плагин для увеличения любого элемента веб-страницы. Wookmark JQuery HiddenPosition Stellar.js Fresco

Regular expressions 1 Overview Chris Kuklewicz has developed a regular expression library for Haskell that has been implemented with a variety of backends. Some of these backends are native Haskell implementations, others are not and rely on external C libraries such libpcre. There are also a number of alternate or complementary regular expression libs, including: Yoshikuni Jujo's regexpr - Regular expression library like Perl and Ruby's regular expressions Don Stewarts's pcre-light - A small, efficient and portable regex library for Perl 5 compatible regular expressions Martin Sulzmann's regexpr-symbolic - Equality, containment, intersection among regular expressions via symbolic manipulation Matt Morrow's regexqq - A quasiquoter for PCRE regexes Uwe Schmidt's hxt-regex-xmlschema - supports full W3C XML Schema regular expressions inclusive all Unicode character sets and blocks. All support String, (Seq Char), ByteString, and (except for regex-posix) ByteString.Lazy. 1.1 regex-base 1.2 regex-tdfa

C++ 11 FAQ от Бьярна Страуструпа Примечание переводчика Данный FAQ переводится на русский язык с любезного разрешения его автора - Бьярне Страуструпа. На данный момент работа над оригиналом этого документа еще не закончена, поэтому по мере изменения или дополнения оригинала, будет изменяться и перевод. Все пожелания/замечания по качеству перевода присылайте по почте, либо через профиль Google. По просьбам читателей, я выложил сверстанную в pdf версию перевода, а также оригинал перевода в docx формате. В формате pdf: формате docx: Благодарности: огромное спасибо Володе Тихонюку за вычитку материала и ценные советы! Последние изменения в оригинале: 23.02.2012 С++11 – принятый недавно новый ISO стандарт языка С++ Этот документ написан и поддерживается Бьярне Страуструпом (Bjarne Stroustrup). C++11 – это стандарт языка С++ утвержденный Международной организацией по стандартизации (ISO) в 2011-м году. Цель Цель этого C++11 FAQ: Список вопросов Он уже принят!

The Haskell Heap The Haskell heap is a rather strange place. It’s not like the heap of a traditional, strictly evaluated language... ...which contains a lot of junk! (Plain old data.) In the Haskell heap, every item is wrapped up nicely in a box: the Haskell heap is a heap of presents (thunks). When you actually want what’s inside the present, you open it up (evaluate it). Presents tend to have names, and sometimes when you open a present, you get a gift card (data constructor). But just as gift cards can lie around unused (that’s how the gift card companies make money!) Presents on the Haskell heap are rather mischievous. Understanding what happens when you open a present is key to understanding the time and space behavior of Haskell programs. In this series, Edward makes a foray into the webcomic world in order to illustrate the key operational concepts of evaluation in a lazily evaluated language. Next time: Evaluation on the Haskell Heap Technical notes.

TIME_WAIT and its design implications for protocols and scalable client server systems - AsynchronousEvents When building TCP client server systems it's easy to make simple mistakes which can severely limit scalability. One of these mistakes is failing to take into account the TIME_WAIT state. In this blog post I'll explain why TIME_WAIT exists, the problems that it can cause, how you can work around it, and when you shouldn't. TIME_WAIT is an often misunderstood state in the TCP state transition diagram. It's a state that some sockets can enter and remain in for a relatively long length of time, if you have enough socket's in TIME_WAIT then your ability to create new socket connections may be affected and this can affect the scalability of your client server system. There is often some misunderstanding about how and why a socket ends up in TIME_WAIT in the first place, there shouldn't be, it's not magical. Although the state transition diagram shows TIME_WAIT as the final state for clients it doesn't have to be the client that ends up in TIME_WAIT.

How to write a Haskell program A developers' guide to creating a new Haskell project or program, and working in the Haskell developer ecosystem. Note: for learning the Haskell language itself we recommend these resources. 1 Recommended tools Almost all new Haskell projects use the following tools. Each is intrinsically useful, but using a set of common tools also helps everyone by increasing productivity, and you're more likely to get patches. 1.1 Revision control Use git or darcs unless you have a specific reason not to. This page uses darcs in the examples. 1.2 Build system Built with Cabal Use Cabal. You should use cabal-install as a front-end for installing your Cabal library. cabal-install is widely available, as part of the Haskell Platform, so you can probably assume your users will have it too. 1.3 Documentation For libraries, use Haddock. 1.4 Testing You can use QuickCheck or SmallCheck to test pure code. To get started, try Introduction to QuickCheck. 1.5 Distribution 1.6 Target Environment 2.1 Create a directory to:

Related: