Already a member? Log in

Sign up with your...

or

Sign Up with your email address

Add Tags

Duplicate Tags

Rename Tags

Share This URL With Others!

Save Link

Sign in

Sign Up with your email address

Sign up

By clicking the button, you agree to the Terms & Conditions.

Forgot Password?

Please enter your username below and press the send button.
A password reset link will be sent to you.

If you are unable to access the email address originally associated with your Delicious account, we recommend creating a new account.

Links 1 through 10 of 22 by Atif Aziz tagged pdf

“It is well-known that the x86 instruction set is baroque, overcomplicated, and redundantly redundant. [Stephan Dolan] show just how much fluff it has by demonstrating that it remains Turing-complete when reduced to just one instruction.”

Share It With Others!

“In the light of evidence that Haskell programs compiled by GHC exhibit large numbers of mispredicted branches on modern processors, we re-examine the “tagless” aspect of the STG-machine that GHC uses as its evaluation model.”

Share It With Others!

“We consider the design of a circuit description library for a pure functional language where circuits are defined as functions and connected together by writing applicative expressions. Just like the return value of any other function in a functional program, the output of a circuit can be bound to a variable and referred to many times. Usually it is the programmer’s intention that such references represent sharing of a circuit’s output, implying a fanout structure. However, in a pure functional language, references are transparent and the circuit description library can only view finite graph-shaped circuit structures as infinitely expanded regular trees. To overcome this problem, we introduce expressible sharing, a technique in which the programmer expresses the fork-points present in a circuit in the same way that they express other circuit components like and-gates and or-gates.”

Share It With Others!

Share It With Others!

“Our thesis is that programming web applications with continuations is superior to the current page-centric technology. A continuation is a program-level manageable value representing the rest of the computation of the program. What to do next is precisely what has to be explicitly encoded in order to program non trivial web interactions. Continuations allow web applications to be written in direct style that is, as a single program that displays forms and reads form submission since continuations automatically capture everything (control point, lexical bindings, etc.) that is needed to resume the computation. Programming is therefore safer, easier and more re-usable.”

Share It With Others!

“We describe the asynchronous programming model in F#, and its applications to reactive, parallel and concurrent programming. The key feature combines a core language with a non-blocking modality to author lightweight asynchronous tasks, where the modality has control flow constructs that are syntactically a superset of the core language and are given an asynchronous semantic interpretation. This allows smooth transitions between synchronous and asynchronous code and eliminates callback-style treatments of inversion of control, without disturbing the foundation of CPU-intensive programming that allows F# to interoperate smoothly and compile efficiently to .NET and native code.”

Share It With Others!

“Modern challenges led to a design of a wide range of programming models for reactive, parallel and concurrent programming, but these are often difficult to encode in general purpose languages. We present an abstract type of computations called joinads together with a syntactic language extension that aims to make it easier to use joinads in modern functional languages.”

Share It With Others!

C# iterators (introduced in 2.0) have the caveat that they do not support nested iterators, yet that’s crucial when dealing with recursive data structures. The current iterators will, for example, have a quadratic behavior when they are used to return all text nodes from an XML document. “We propose an extension of iterator methods called nested iterator methods, which simplify the coding of recursive enumerations, and which reduce the running time cost of such coding patterns to a linear function by retaining the recursion stack between iteration steps.”

Share It With Others!

This paper reports a positive experience with automatic generation of JIT compilers as supported by the PyPy infrastructure, by focusing on JIT compilation for .NET; in fact adding a second layer of JIT compilation by allowing dynamic generation of more efficient .NET bytecode, which in turn can be compiled to machine code by the .NET JIT compiler.

The main and novel contribution of this paper is to show that this two-layers JIT technique is effective, since programs written in dynamic languages can run on .NET as fast as (and in some cases even faster than) the equivalent C# programs.

The practicality of the approach is demonstrated by showing some promising experiments done with benchmarks written in a simple dynamic language.

Share It With Others!

Summary, “We strongly believe that LINQ is best way to expose a MapReduce style programming model over large clusters of commodity hardware for mainstream programmers.”

Share It With Others!