Eitaro Fukamachi gave a presentation on writing a fast HTTP parser in Common Lisp called fast-http. He explained that the bottleneck in the Wookie web framework was HTTP parsing, which was slower than Node.js. This was because Node.js uses the C-based and highly optimized http-parser library. Eitaro discussed how fast-http achieves high performance through an architecture that reduces memory allocation and uses the right data types, as well as through benchmarking, profiling, and type declarations to provide hints to the compiler. The goal was to write carefully optimized Lisp code that could match or beat C in performance for complex programs like an HTTP parser.
This document summarizes Camomile, a Unicode library for OCaml. It provides a Unicode character type, supports UTF-8, UTF-16 and UTF-32 encodings, and allows conversion between 200+ encodings. It also supports case mapping, collation, and Unicode normal forms to handle equivalent string representations. The library uses functors and lazy evaluation. Modules provide Unicode normalization and canonical comparison of strings based on semantic equivalence.
Using functional programming within an industrial product group: perspectives...Anil Madhavapeddy
?
We present a case-study of using OCaml within a large product development project, focussing on both the technical and non- technical issues that arose as a result. We draw comparisons between the OCaml team and the other teams that worked on the project, providing comparative data on hiring patterns and cross-team code contribution.
This document provides an overview of the Camel programming language. It describes Camel as a compiled, modular language that supports both functional and imperative programming styles with automatic garbage collection. It highlights Camel's support for algebraic data types, pattern matching, native compilation, object-oriented features, and functional concepts. The document also notes that Camel is fast and suitable for complex image processing, embedded/low-level applications, and that while not as popular as C, it has found success in applications like MLDonkey and static code analysis tools.
Scala, Haskell and LISP are examples of programming languages using the functional programming paradigm. Join us in this TechTalk to know why functional programming is so important, how to implement some of its core concepts in your existing programming languages, and how functional programming inspired Google's Map Reduce, Twitter's Algebird, and many other technologies.
By Mohammad Ghabboun - Senior Software Engineer, SOUQ.com
Haskell is a pure functional programming language where the main control structure is the function. It allows for writing concise and elegant code through its functional paradigm. The document provides a brief introduction to Haskell and mentions it enables cool things through functions that take input and produce output.
Eitaro Fukamachi gave a presentation on writing a fast HTTP parser in Common Lisp called fast-http. He explained that the bottleneck in the Wookie web framework was HTTP parsing, which was slower than Node.js. This was because Node.js uses the C-based and highly optimized http-parser library. Eitaro discussed how fast-http achieves high performance through an architecture that reduces memory allocation and uses the right data types, as well as through benchmarking, profiling, and type declarations to provide hints to the compiler. The goal was to write carefully optimized Lisp code that could match or beat C in performance for complex programs like an HTTP parser.
This document summarizes Camomile, a Unicode library for OCaml. It provides a Unicode character type, supports UTF-8, UTF-16 and UTF-32 encodings, and allows conversion between 200+ encodings. It also supports case mapping, collation, and Unicode normal forms to handle equivalent string representations. The library uses functors and lazy evaluation. Modules provide Unicode normalization and canonical comparison of strings based on semantic equivalence.
Using functional programming within an industrial product group: perspectives...Anil Madhavapeddy
?
We present a case-study of using OCaml within a large product development project, focussing on both the technical and non- technical issues that arose as a result. We draw comparisons between the OCaml team and the other teams that worked on the project, providing comparative data on hiring patterns and cross-team code contribution.
This document provides an overview of the Camel programming language. It describes Camel as a compiled, modular language that supports both functional and imperative programming styles with automatic garbage collection. It highlights Camel's support for algebraic data types, pattern matching, native compilation, object-oriented features, and functional concepts. The document also notes that Camel is fast and suitable for complex image processing, embedded/low-level applications, and that while not as popular as C, it has found success in applications like MLDonkey and static code analysis tools.
Scala, Haskell and LISP are examples of programming languages using the functional programming paradigm. Join us in this TechTalk to know why functional programming is so important, how to implement some of its core concepts in your existing programming languages, and how functional programming inspired Google's Map Reduce, Twitter's Algebird, and many other technologies.
By Mohammad Ghabboun - Senior Software Engineer, SOUQ.com
Haskell is a pure functional programming language where the main control structure is the function. It allows for writing concise and elegant code through its functional paradigm. The document provides a brief introduction to Haskell and mentions it enables cool things through functions that take input and produce output.
Introduction to functional programming using Ocamlpramode_ce
?
The document provides an introduction to functional programming concepts using Ocaml as the teaching language. It outlines the workshop plan which will cover Ocaml syntax, important functional programming concepts, and understanding the functional paradigm through Ocaml. It then discusses Ocaml background, where Ocaml is used, the Ocaml REPL, function definition, type inference, recursion, tail calls and TCO, higher order functions, algebraic data types, pattern matching, immutability, and more.
The document discusses Mirage, an operating system constructed using OCaml and designed to run on the cloud. It aims for end-to-end static type safety using OCaml and domain-specific languages. It describes Mirage's approach of using a simple single-threaded core with the hypervisor dividing cores. It also summarizes Mirage's use of LWT for concurrency without magic, typed memory allocators, I/O implementation in pure OCaml, and goal of being portable across environments like POSIX, Javascript, and Google AppEngine.
An Introduction to Functional Programming using HaskellMichel Rijnders
?
The document provides an introduction to functional programming using Haskell. It discusses Haskell's main features such as being purely functional, lazy, strongly typed, and supporting higher-order functions. It also covers Haskell's history, types, functions, pattern matching, and common data structures like lists. Programming techniques like recursion, algebraic data types, and type classes are explained. Examples of list processing functions and higher-order functions are provided.
The document summarizes a meeting of the OCaml Consortium in November 2012. It discusses plans to create an OCaml Platform that combines the core compiler with libraries, tools, and documentation. This will include launching ocaml.org with sites for documentation, packages, mailing lists, and events. It also describes the ongoing work on OPAM and hosting its package repository, along with expanding support for different operating systems.
The document discusses the functional programming language Haskell. It notes that Haskell is a purely functional, lazy, higher-order, strongly typed general purpose language. It states that functional programming focuses on values rather than state, and that learning Haskell can help programmers think differently even when using other mainstream languages. It provides examples of Haskell code for a simple window manager application and discusses concepts like data types, pattern matching, and property-based testing in Haskell.