(Advice for Haskell beginners) by Gabriel Gonzalez
He hits very good points. Except 1 :
"Some people learn Haskell with the expectation that they will achieve some sort of programming enlightenment or nirvana. You will be disappointed if you bring these unrealistic expectations to the language. "
For me : Haskell became enlightenment, nirvana.
Monday, October 16, 2017
Saturday, September 9, 2017
Cabal 2 released
Some release notes.
The main new feature is "new-build". It is nix-style functional package management.
The main new feature is "new-build". It is nix-style functional package management.
Friday, September 1, 2017
Friday, August 11, 2017
Thursday, August 10, 2017
Idris - the Type System is Too Slow
Creator of Idris, Edwin Brady said some discouraging admission about the type system of the language.
Sunday, June 25, 2017
Complex Data Type Configuration for Many-Step Processing
Here is a tutorial on complex data type configuration for many-step processing.
I recommend it because it is short and easy to understand.
It uses Haskell to demonstrate.
http://mazzo.li/posts/customizable-data-types.html
A longer, more scientific article about the topic is Trees That Grow from Shayan Najd, Simon Peyton Jones.
I recommend it because it is short and easy to understand.
It uses Haskell to demonstrate.
http://mazzo.li/posts/customizable-data-types.html
A longer, more scientific article about the topic is Trees That Grow from Shayan Najd, Simon Peyton Jones.
Sunday, June 18, 2017
Debian 9 released
https://www.debian.org/News/2017/20170617
If you have not yet used the Debian operating system : i strongly recommend. Beacuse it
If you have not yet used the Debian operating system : i strongly recommend. Beacuse it
- Is free of charge. You do not have to pay anything. Not now, nor anytime in the future. It is developed by volunteers with love.
- Is free as free speech. Anyone can use it, distribute it, even modify it and distribute the modified version.
- Is open. Anyone can inspect the source code of the whole system. This makes it less probable that something malicious is hidden in it.
- Does not spy on the user. It does not send usage info by default. Not now, not in the future.
- Is secure. Both because of its Linux architecture and because the applications you are likely to use are checked for you. There is no need to use antivirus software.
- Has the biggest developer base among the free operating systems. Both in number, work time, professional quality and love towards the project.
- Is modest. It does not include the newest shiny software just to impress you. It consumes very little hardware capacity. It does not include advertisement.
- Is user friendly. I found the installation more easy than of Windows, Ubuntu.
- Has one of the biggest software repository. All pieces are free of charge and free as free speech. Finding an application to your need, and installing, uninstalling, upgrading is easier than in any other operating system, and as a bonus, the found solution is free.
- Lets you use old hardware. It includes old drivers.
- Is supported for 5 years after release.
- Supports more processor architectures than any other major OS.
Sunday, April 2, 2017
Idris 1.0 released
This is a historically moment symbolically. Because Idris is the first new generational general purpose programming language.
What is "new generational"?
Of course it is purely functional, but fortunately after Haskell, Elm, Purescipt : this is not big news these days. So what then? It is built on Calculus of Constructions. That is a computational model that dropped all constraints : types are first class values and types can depend on everything, even on runtime values ["dependent type system"]. This gives it huge expressive power : equivalent with constructive mathematics, which in turn practically can express everything from mathematics in some work-around way. Because this is achieved by dropping constraints, it is very simple too. The amazing beauty in it is the combination of simplicity, intuition, power.
In what sense is it general purpose? Unlike Agda and Haskell [other purely functional languages which have or going to have dependent type-system] : Idris uses strictly eager evaluation order to keep memory usage low. Unlike Agda : Idris is designed to be a programming language first, only after that a mathematical tool.
Why is this release only symbolical? Unfortunately only the language is ready now. Documentation, a compiler, run-time systems also exist, but they are very immature, enough only for brave language enthusiasts or where bug-safety is extremely important. Less than 1 person is working on Idris now, without direct financial support, so fast improving is not yet expected.
the release announcement
What is "new generational"?
Of course it is purely functional, but fortunately after Haskell, Elm, Purescipt : this is not big news these days. So what then? It is built on Calculus of Constructions. That is a computational model that dropped all constraints : types are first class values and types can depend on everything, even on runtime values ["dependent type system"]. This gives it huge expressive power : equivalent with constructive mathematics, which in turn practically can express everything from mathematics in some work-around way. Because this is achieved by dropping constraints, it is very simple too. The amazing beauty in it is the combination of simplicity, intuition, power.
In what sense is it general purpose? Unlike Agda and Haskell [other purely functional languages which have or going to have dependent type-system] : Idris uses strictly eager evaluation order to keep memory usage low. Unlike Agda : Idris is designed to be a programming language first, only after that a mathematical tool.
Why is this release only symbolical? Unfortunately only the language is ready now. Documentation, a compiler, run-time systems also exist, but they are very immature, enough only for brave language enthusiasts or where bug-safety is extremely important. Less than 1 person is working on Idris now, without direct financial support, so fast improving is not yet expected.
the release announcement
Saturday, March 25, 2017
StackOverflow Technology Survey 2017
StackOverflow released a comprehansive survey about programming technologies :
Here are some interesting parts:
Most numbers express the rate of programmers that use a certain technology.
Programming languages :
{ Visual Studio Code, Atom } are among the most popular ones. Their usage is not smaller than of Eclipse, IntelliJ, Netbeans.
Version control:
Git is crazy popular with 0.7. That is 7* more than the next one. Mercurial is at 0.02.
Platforms :
Windows and Linux are the most popular :
Windows : 0.41
Linux : 0.33
Employement :
full time : 0.67
part time : 0.13
do not have a boss : 0.9
Algorithm developers earn about 1.1* more than other developers.
Here are some interesting parts:
Most numbers express the rate of programmers that use a certain technology.
Programming languages :
- Usage :
- Scala : 0.036
- Haskell : 0.018
- Want to use it more than any other language :
- Scala : 0.065
- Haskell : 0.054
- So Scala is wanted 2*, Haskell is wanted 3* more than are used. The same multiplier for Java and C# is about 0.4. So {Scala, Haskell} are about 6* more popular compared to {Java, C#} when popularity is normalized to the community size.
- Salary : in thousands of dollars per year.
- languages :
- C++, C# : 53
- Haskell : 53
- Scala : 60
- Rust : 65
- countries : Programmers in USA earn 2* more than in West-Europe.
{ Visual Studio Code, Atom } are among the most popular ones. Their usage is not smaller than of Eclipse, IntelliJ, Netbeans.
Version control:
Git is crazy popular with 0.7. That is 7* more than the next one. Mercurial is at 0.02.
Platforms :
Windows and Linux are the most popular :
Windows : 0.41
Linux : 0.33
Employement :
full time : 0.67
part time : 0.13
do not have a boss : 0.9
Algorithm developers earn about 1.1* more than other developers.
Saturday, February 4, 2017
Haskell - type equality constraints in classes
An understandable, enlightening article about type class resolution in Haskell. With an example of why to move type equality constraints from the head of a class to the context of the class.
http://blog.infinitenegativeutility.com/2017/1/haskell-type-equality-constraints
http://blog.infinitenegativeutility.com/2017/1/haskell-type-equality-constraints
Thursday, February 2, 2017
F* 0.9.4 released
https://github.com/FStarLang/FStar/releases/tag/V0.9.4.0
It is also said that the F* team is "very quickly expanding".
It is also said that the F* team is "very quickly expanding".
Subscribe to:
Comments (Atom)