Profile

Cover photo
Alejandro Serrano Mena
Works at Utrecht University
Attends Utrecht University
Lives in Utrecht, The Netherlands
159 followers|21,007 views
AboutPostsReviews

Stream

 
 
My book "Beginning Haskell" [http://www.apress.com/9781430262503] is out! :)

It discusses our favourite language from beginner (assumming no previous knowledge about functional programming) into upper intermediate level. Apart from the "classical" topics of Haskell, I've tried to provide an overview of the entire Haskell ecosystem. Project management with Cabal, unit testing, lenses, streaming data libraries (such as conduit), Software Transactional Memory, Cloud Haskell and building web applications are many of the libraries and concepts that the book introduces. You can look at the Table of Contents in Amazon [http://www.amazon.com/Beginning-Haskell-A-Project-Based-Approach/dp/1430262508/].
11
4
Dexter Haslem's profile photoMartín Calveira's profile photoDoug Fort's profile photoAlejandro Serrano Mena's profile photo
2 comments
 
Thanks! :)
Add a comment...
 
My book "Beginning Haskell" [http://www.apress.com/9781430262503] is out! :)

It discusses the Haskell language from beginner (assumming no previous knowledge about functional programming) into upper intermediate level. Apart from the "classical" topics of Haskell, I've tried to provide an overview of the entire Haskell ecosystem. Project management with Cabal, unit testing, lenses, streaming data libraries (such as conduit), Software Transactional Memory, Cloud Haskell and building web applications are many of the libraries and concepts that the book introduces. You can look at the Table of Contents in Amazon [http://www.amazon.com/Beginning-Haskell-A-Project-Based-Approach/dp/1430262508/].
5
Add a comment...
 
My book "Beginning Haskell" [http://www.apress.com/9781430262503] is out! :)

It discusses our favourite language from beginner (assumming no previous knowledge about functional programming) into upper intermediate level. Apart from the "classical" topics of Haskell, I've tried to provide an overview of the entire Haskell ecosystem. Project management with Cabal, unit testing, lenses, streaming data libraries (such as conduit), Software Transactional Memory, Cloud Haskell and building web applications are many of the libraries and concepts that the book introduces. You can look at the Table of Contents in Amazon [http://www.amazon.com/Beginning-Haskell-A-Project-Based-Approach/dp/1430262508/].
50
15
John Harvey's profile photoShaun Sharples's profile photoOldřich Vetešník's profile photoPhilip Thrift's profile photo
9 comments
 
Alejandro, I'm thoroughly enjoying this book. Reading it feels like the author is a friend, and we are having fun learning Haskell.
Add a comment...
 
This thought came into my mind when looking at a recent Reddit question: why people from Haskell community seem reluctant to use or recommend EclipseFP (the Haskell plug-in for the Eclipse IDE)?
From my point of view, EclipseFP has a lot of features: autocompletion, automatic addition of imports (and even automatic addition of packages to the Cabal description!), suggestions of fixes for the most common errors, a graphical editor for Cabal files, support for sandboxes, a graphical debugger (using GHCi capabilities), integration with tools such as Hoogle, HLint, Snap and Yesod wizards, GHC profiler... And furthermore, the combo Haskell Platform + EclipseFP is very easy to install and get running, and thus quite user-friendly.
The most typical answer seems to be "it never worked for me X years ago". Is it still so bad to get it running? Maybe with more reports the situation could be changes, and we could recommend EclipseFP to our friends coming from Java / Visual Studio into Haskell :)
6
JP Moresmau's profile photoGregory Weber's profile photoRafał Babinicz's profile photoKrzysztof Skrzętnicki's profile photo
20 comments
 
+Krzysztof Skrzętnicki , thanks for the test drive!
The Cabal version thing buildwrapper can do nothing about. It uses the GHC API which requires the version of Cabal GHC was installed with. I'm actually talking to the GHC/Cabal devs to break that dependency, so hopefully the next GHC version (after 7.8) won't have that issue. Then  cabal uses a setup config file with its version written in it, which means the Cabal API version and the cabal-install version MUST match.
Projects not building and scion-browser not working is NOT normal behavior, of course. There are ways to turn on full logging to see in the Eclipse console what's happening.
Scion-browser is slow the first time because it downloads a lot of information, especially if you get everything from Hackage, but after that it's much faster since it only processes upgrades.
When you build a project with EclipseFP, under the scenes it still run "cabal build" on your project folder, so anything that builds via Cabal can be supported. But no, there is no explicit support for Makefiles. I wonder if the CPP plugins for Eclipse would have Makefile support you could use? It's true EclipseFP is targeting Cabalized projects, and you're the first one to request Makefile support.
Thanks for your final kind words. I know EclipseFP is never going the only and true environment to write Haskell in, but I hope to provide a viable alternative and healthy competition to the other solutions.
Add a comment...

Alejandro Serrano Mena

Shared publicly  - 
 
 
Cabal 1.18.0 is out: https://groups.google.com/forum/#!topic/haskell-cafe/SFoNwaq8wdc

Here's the typical workflow we expect people to use with this cabal release. First you create the sandbox and install all dependencies:

    cd my-pkg
    cabal sandbox init  # only once
    cabal install --only-dependencies --enable-tests

While installing dependencies take a while, it only needs to be done once (unless you add dependencies). If you put

    jobs: $ncpus

in your ~/.cabal/config file, all builds will be done in parallel, speeding up dependency installation.

For your day-to-day development you run either `cabal build` or `cabal test` (both now imply `cabal configure`).

    cabal build  # or:
    cabal test

If you need to e.g. debug a function, you can play with it from within GHCi:

    cabal repl

`cabal repl` automatically passes the right flags to ghci and also re-runs any preprocessors (e.g. hsc2hs) so you don't have to do that manually. We're still working on making `cabal repl` better, but even the first version should be a big improvement to what we had before.

Note how we're trying to move away from global (or user) installs of packages. There are still use cases for that, but by default we try to keep each project's dependencies separate (by using a sandbox). For a bit more on the philosophy behind the development behind the current UI read my blog post:

http://blog.johantibell.com/2012/03/cabal-of-my-dreams.html
1
Add a comment...

Alejandro Serrano Mena

Shared publicly  - 
 
+Elena Vielva has a new great website! :)
3
Add a comment...
Have them in circles
159 people
 
Dependent types will take over the word! To help with it, my book "Beginning Haskell" [http://www.apress.com/9781430262503] shows the beginning steps of using Idris :)
2
Add a comment...
 
 
My book "Beginning Haskell" [http://www.apress.com/9781430262503] is out! :)

It discusses our favourite language from beginner (assumming no previous knowledge about functional programming) into upper intermediate level. Apart from the "classical" topics of Haskell, I've tried to provide an overview of the entire Haskell ecosystem. Project management with Cabal, unit testing, lenses, streaming data libraries (such as conduit), Software Transactional Memory, Cloud Haskell and building web applications are many of the libraries and concepts that the book introduces. You can look at the Table of Contents in Amazon [http://www.amazon.com/Beginning-Haskell-A-Project-Based-Approach/dp/1430262508/].
6
Add a comment...
 
EclipseFP is becoming more and more powerful. Yay!
 
Another release of EclipseFP, the Eclipse plugins for Haskell development.
It is my pleasure to announce a new release of EclipseFP, version 2.5.5. EclipseFP are Eclipse plugins for Haskell development. This is mainly a bug fix release with only small enhancements, so I recommend everybody upgrade (...
1
Add a comment...

Alejandro Serrano Mena

Shared publicly  - 
 
 
In today's computer science curricula [...] almost all their time is devoted to formal classification of syntactic language types, defeatist unsolvability theories, folklore about systems programming, and generally trivial fragments of "optimization of logic design"–the latter often in situations where the art of heuristic programming has far outreached the special-case "theories" so grimly taught and tested–and invocations about programming style almost sure to be outmoded before the student graduates.

— Marvin Minsky, 1969
1
Add a comment...
 
New EclipseFP released :D
Hello folks, a new bug-fixing release of EclipseFP. Nothing major, mainly fixed a big bug that caused the plugin to randomly not start properly in Kepler, and few little enhancements to make life easier. The full release note...
1
Add a comment...

Alejandro Serrano Mena

Shared publicly  - 
 
 
A foundations of mathematics for the 21st century.

It's here!   For decades, mathematicians been dreaming of an approach to math where different proofs that x = y can be seen as different paths in a space.   It's finally been made precise, thanks to Vladimir Voevodsky and a gang of mathematicians who holed up for a year at the Institute for Advanced Studies, at Princeton. 

I won't try to explain it, since that's what the book does.  I'll just mention a few of the radical new features:

•  It includes set theory as a special case, but it's founded on more general things called 'types'.  Types include sets, but also propositions.  Proving a proposition amounts to constructing an element of a certain type.  So, proofs are no longer 'outside' the mathematics being discussed, they're inside it just like everything else.

• The logic is 'constructive', meaning that to prove something exists amounts to giving a procedure for constructing it.  As a result, the whole system can be and is being computerized with the help of programs like COQ and AGDA.

• Types can be seen as 'spaces', and their elements as 'points'.  A proof that two elements of a type are equal can be seen as constructing a path between two points.  Sets are just a special case: the '0-types', which have no interesting higher-dimensional aspect.  There are also types that look like spheres and tori!  Technically speaking, the branch of topology called homotopy theory is now a part of logic!  That's why the subject is called homotopy type theory.

• Types can also be seen as infinity-groupoids.  Very roughly, these are structures with elements, isomorphisms between elements, isomorphisms between isomorphisms, and so on ad infinitum.  So, a certain chunk of the important new branch of math called 'higher category theory' is now part of logic, too.

• The most special contribution of Voevodsky is the univalence axiom.  Very very roughly, this expands the concept of 'equality' so that it's just as general as the hitherto more flexible concept of 'isomorphism' - or, if you know some more fancy math, 'equivalence'.   Mathematicians working on homotopy theory and higher category theory have known for decades that equality is too rigid a concept to be right - for certain applications.  The univalence axiom updates our concept of equality so that it's good again!    

Since this is all about foundations, and it's all quite new, please don't ask me yet what its practical applications are.  Ask me in a hundred years.  For now, I can tell you that this is the 'upgrade' that the foundations of math has needed ever since the work of Grothendieck.  It's truly 21-century math.

It's also a book for the 21st century, because it's escaped the grip of expensive publishers!  While it's 600 pages long, a hardback copy costs less than $27.  Paperback costs less than $18, and an electronic copy is free!  

#spnetwork #homotopytheory #ncategories #logic #foundations  
1
Add a comment...
People
Have them in circles
159 people
Education
  • Utrecht University
    PhD on Software Technology, 2013 - present
  • Universidad Politécnica de Madrid
    Doctorado en Software y Sistemas, 2012 - 2013
  • Universidad Autónoma de Madrid
    Ingeniería en Informática, 2006 - 2012
  • Universidad Autónoma de Madrid
    Matemáticas, 2006 - 2012
Links
Other profiles
Work
Occupation
Investigador en Programación Funcional
Employment
  • Utrecht University
    Doctorando, 2013 - present
  • IMDEA Software
    Doctorando, 2012 - 2013
  • Nublic
    CTO
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Utrecht, The Netherlands
Previously
Peña Grande, Madrid, Spain - Aluche, Madrid, Spain
Apps with Google+ Sign-in
una buena opción para las noches de madrid, situado en uno de los barrios donde se concentra la gente para salir.
Atmosphere: GoodDecor: Very goodService: Good
Public - a year ago
reviewed a year ago
mi discoteca preferida de huertas.
Atmosphere: ExcellentDecor: GoodService: Very good
Public - a year ago
reviewed a year ago
es un lugar muy bonito, ambientado al estilo estación de tren antigua. las veces que he estado, siempre tenían excelente música en directo.
Atmosphere: Very goodDecor: ExcellentService: Very good
Public - a year ago
reviewed a year ago
"uno de las discotecas en la ""ruta de la salsa"" madrileña: todas las semanas tienen clases de salsa de iniciación y avanzadas, lo cual la hace muy recomendable para aprender y conocer gente."
Atmosphere: Very goodDecor: GoodService: Very good
Public - a year ago
reviewed a year ago
19 reviews
Map
Map
Map
uno de los clásicos de madrid: muy buenas actuaciones a un precio muy muy razonable. altamente recomendado.
Atmosphere: ExcellentDecor: GoodService: Excellent
Public - a year ago
reviewed a year ago
la riviera tiene muy buenas actuaciones, pero suelen ser de grupos conocidos, lo cual la hace más cara que otras opciones en madrid.
Atmosphere: Very goodDecor: GoodService: Very good
Public - a year ago
reviewed a year ago
se trata de un local en cuyo sótano se hacen actuaciones en directo. la música suele ser muy buena, aunque el sitio suele llenarse muy rápido y puede ser un poco agobiante.
Atmosphere: Very goodDecor: GoodService: Good
Public - a year ago
reviewed a year ago