Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
The below is a transcript of a talk by Alex Beutel on machine learning database indexes, at the ML Systems Workshop at NIPS'17.
-
The below is a transcript of a talk by Ion Stoica on Ray, at the ML Systems Workshop at NIPS'17.
-
This is a guest post by Kaixi Ruan.
-
tl;dr If you use a Foldable function like length or null, where instance selection is solely determined by the input argument, you should make your code more robust by introducing an explicit type application specifying which instance you want.
-
I want to take the opportunity to advertise some new work from a colleague of mine, Henry Corrigan-Gibbs (in collaboration with the venerable Dan Boneh) on the subject of preserving privacy when collecting aggregate statistics.
-
Suppose you are a library writer interested in using Backpack.
-
GHC is not just a compiler: it is also a library, which provides a variety of functionality that anyone interested in doing any sort of analysis on Haskell source code.
-
This post is part two of a series about how you can try out Backpack, a new mixin package system for Haskell.
-
Those that espouse the value of backwards compatibility often claim that backwards compatibility is simply a matter of never removing things.
-
In the PVP, you increment the minor version number if you add functions to a module, and the major version number if you remove function to a module.
-
Suppose that you want to parse a list separated by newlines, but you want to automatically ignore extra newlines (just in the same way that import declarations in a Haskell file can be separated by one or more newlines.)
-
It’s not too hard to convince people that version bounds are poor approximation for a particular API that we depend on.
-
Rich Hickey recently gave a keynote at Clojure/conj 2016, meditating on the problems of versioning, specification and backwards compatibility in language ecosystems.
-
Backpack, a new system for mix-in packages in Haskell, has been released with GHC 8.2.
-
There’s a shitty API and it’s ruining your day.
-
One of the early posts from this blog, from 2010, was on the subject of how to pick your string library in Haskell.
-
A common claim I keep seeing repeated is that there are too many language-specific package managers, and that we should use a distribution’s package manager instead.
-
When building a module system which supports parametrizing code over multiple implementations (i.e., functors), you run into an important implementation question: how do you compile said parametric code?
-
An old article I occasionally see cited today is Repeat after me: “Cabal is not a Package Manager”.
-
When you run make to build software, you expect a build on software that has been previously built to take less time than software we are building from scratch.
-
Why are macros in Haskell terrible, but macros in Racket great?
-
I recently solved a bug where GHC was being insufficiently lazy (yes, more laziness needed!)
-
cabal new-build, also known as “Nix-style local builds”, is a new command inspired by Nix that comes with cabal-install 1.24.
-
Content advisory: This is a half-baked research post.
-
ghc --make is a useful mode in GHC which automatically determines what modules need to be compiled and compiles them for you.
-
Abstract.
-
The essence of stateless user interface is that actions you take with a program should not depend on implicit state.
-
You might be wondering: with the beta release of no-reinstall Cabal, is this functionality be coming to GHC 8.0?
-
Over this summer, Vishal Agrawal has been working on a GSoC project to move Cabal to more Nix-like package management system.
-
Another half year, another Ubuntu upgrade.
-
My usual laptop setup is I have a wide monitor, and then I use my laptop screen as a secondary monitor.
-
tl;dr A non-nameless term equipped with a map specifying a de Bruijn numbering can support an efficient equality without needing a helper function.
-
A while ago, I wrote a post describing how unsafe FFI calls could block your entire system, and gave the following example of this behavior: /* cbit.c */ #include <stdio.h> int bottom(int a) { while (1) {printf("%d\n", a);sleep(1);} return a; } /* cbit…
-
I finally got around to upgrading to Utopic.
-
Subtyping is one of those concepts that seems to makes sense when you first learn it (“Sure, convertibles are a subtype of vehicles, because all convertibles are vehicles but not all vehicles are convertibles”) but can quickly become confusing when functi…
-
This year at ICFP, we had some blockbuster attendance to the Haskell Implementor’s Workshop (at times, it was standing room only).
-
One of the major open problems for building a module system in Haskell is the treatment of type classes, which I have discussed previously on this blog.
-
Update.
-
Why are there so many goddamn package managers?
-
This summer, I’ve been working at Microsoft Research implementing Backpack, a module system for Haskell.
-
Hello loyal readers: Inside 206-105 has a new theme!
-
Today, I’d like to talk about some of the core design principles behind type classes, a wildly successful feature in Haskell.
-
tl;dr The scope of backtracking try should be minimized, usually by placing it inside the definition of a parser.
-
Brandon Simmon recently made a post to the glasgow-haskell-users mailing list asking the following question: I’ve been looking into an issue in a library in which as more mutable arrays are allocated, GC dominates (I think I verified this?)
-
Elimination rules play an important role in computations over datatypes in proof assistants like Coq.
-
Weak pointers and finalizers are a very convenient feature for many types of programs.
-
Move aside, poker!
-
So you may have heard about this popular new programming language called Haskell.
-
In Software Foundations, equality is defined in this way: Even Coq’s equality relation is not built in.
-
etckeeper is a pretty good tool for keeping your /etc under version control, but one thing that it won’t tell you is what the diff between your configuration and a pristine version of your configuration (if you installed the same packages on the system, b…