Friday, December 21, 2018

WebAssembly

WebAssembly is a new programming platform which looks very promising; it originated from the need to replace JavaScript in html websites; but became more than that; it is a low-level programming platform, a hardware abstraction layer that is designed to work well through html websites but also for standalone desktop executables

all major web browsers already support it; major companies support it financially [Apple, Microsoft, Google, Mozilla, ... ];

in this early status it is designed for low level tasks; as such one can already compile c, c++, rust programs to it; but support for high level programming languages is coming too

an introductory blog post : Andreas Rossberg : Why WebAssembly?
a serious article about it : Bringing the Web up to Speed with WebAssembly

it has threads too already

Thursday, December 6, 2018

Rust 2018 released

for the Rust programming language a major update is released after 3 years of development :

Tuesday, December 4, 2018

Microsoft WPF on Linux - correction


in a previous post i suggested that Microsoft WPF is to run on Linux as it gets part of .Net Core which runs on Linux; but a friend pointed out : WPF is Windows-only even as part of .Net Core

sorry for the misinformation

Sunday, December 2, 2018

Idris 2 - first public demo



the most exciting new feature is the quantitative type theory

the video also nicely demonstrates the type driven style of coding



Tuesday, November 20, 2018

incremental memory management for haskell

i see 1 last significant drawback of haskell for the software industry : it lacks an incremental memory manager - that is one that does not "stop the world" for big time;

fortunately it is being worked on; its implementation is to land in version 8.10 of the compiler, which is due at about 2019 november;

this video gives an introduction, but i do not recommend to watch it because it is too technical;

Thursday, November 15, 2018

union types in Haskell at library level

Scala and Ceylon have union types as language feature;
in Haskell one can have it as a library

Wednesday, November 14, 2018

Monday, November 12, 2018

prooving balancedness of search trees in Haskell

the Haskell type system is very powerful compared to the industrial programming languages; a nice demonstration of this is its ability to represent and maintain the invariants of balanced search trees [AVL, red-black]; and the Haskell code is not even longer [or much messier] than the Agda version [Agda is a real dependently typed language, the most popular one currently]
https://doisinkidney.com/posts/2018-07-30-verified-avl.html

Friday, November 9, 2018

prooving invariant of balanced search trees in Haskell

the Haskell type system is very powerful compared to the industrial programming languages; a nice demonstration of this is its ability to represent and maintain the invariants of balanced search trees [AVL, red-black]; and the Haskell code is not even longer [or much messier] than the Agda version [Agda is a real dependently typed language, the most popular one currently]

Friday, May 11, 2018

at least 3 years to dependent typing in haskell

Richard Eisenberg is the leader of the dependent types project for haskell; his work is funded by the National Science Foundation; he now writes the plan about the project :

• Upcoming research leave: 2019-20
• Goal: Merge on π-day, 2021
• Help wanted!

thus it looks like we need to wait at least 3 years for real dependent types to appear in haskell

Monday, April 2, 2018

Build Systems à la Carte

an article appeared, containing a [relatively] scientific study of build systems and how the architecture of a capable build system can be neatly implemented in haskell

Thursday, February 15, 2018

my book about what the industry misses

i wrote a book about what the industry misses in regard of efficient software coding :
in it : 
strong static typing
functional programming
parametricity
category theory
the logic-programming connection