Welcome to my blog

Weekly

• # Weekly links for 2017-09-18

Lamdu
This project aims to create a next-generation live programming environment that radically improves the programming experience
firehol/netdata: Get control of your servers. Simple. Effective. Awesome! https://my-netdata.io/
netdata is a system for distributed real-time performance and health monitoring. It provides unparalleled insights, in real-time, of everything happening on the system it runs (including applications such as web and database servers), using modern interactive web dashboards.
Why Momentum Really Works
Really nice illustrated mathematics on the web
sweirich/pi-forall: A demo implementation of a simple dependently-typed language
Pi-Forall language

This language implementation is designed to accompany four lectures at OPLSS during Summer 2014. Notes for these lectures are included in the distribution:
• # Weekly links for 2017-03-23

Quantomatic :: Home
Quantomatic is a diagrammatic proof assistant, meaning it provides machine-support for reasoning with diagrammatic languages
Madoko is a fast javascript Markdown processor written in Koka It started out as a demo program for the new, strongly typed, Koka language and the name comes from “Markdown in Koka”.
brick: A declarative terminal user interface library
Write terminal applications painlessly with brick! You write an event handler and a drawing function and the library does the rest.
• # Weekly links for 2017-01-16

9.1. Language options — Glasgow Haskell Compiler <release> Users Guide
For example, we can have pair :: forall a. a -> forall b. b -> (a, b) and then say pair @Bool True @Char which would have type Char -> (Bool, Char).
cies/htoml: TOML file format parser in Haskell
A TOML parser library in Haskell.

TOML is the obvious, minimal configuration language by Tom Preston-Werner. It is an alternative to the XML, YAML and INI formats mainly for the purpose of configuration files. Many will find that XML and YAML are too heavy for the purpose of configuration files prupose while INI is underspecified. TOML is to configuration files, like what Markdown is for rich-text.
kcsongor/register-machine-type: Universal Register Machine implemented at the type-level of Haskell
Initialises R1 to 5, then raises 2 to the power of the value of R1, leaving the result (32) in R0. Uses R2 as a scratch register, thus the machine is initialised with 3 registers.

pow2 :: ('Halted a (r ': rs) ~
Run
'[
-- Instr | label index
-- set R1 to 5
Inc (R 1) (L 1) -- 0
, Inc (R 1) (L 2) -- 1
, Inc (R 1) (L 3) -- 2
, Inc (R 1) (L 4) -- 3
, Inc (R 1) (L 5) -- 4
-- set R0 to 1
, Inc (R 0) (L 6) -- 5
-- R0 = 2^R1
, Dec (R 1) (L 7) (L 12) -- 6
-- R2 = R0
, Dec (R 0) (L 8) (L 9) -- 7
, Inc (R 2) (L 7) -- 8
-- R0 = 2*R2
, Dec (R 2) (L 10) (L 6) -- 9
, Inc (R 0) (L 11) -- 10
, Inc (R 0) (L 9) -- 11

, Halt -- 12
]) => Proxy r
pow2 = Proxy
> let f :: Ring x => x -> x
> f x = x*x*x + x + 3
>
> let a = 3 :: Integer
>
> putStrLn $"f a = " + show (f a) Now, we'll create a polynomial from our ordinary function. > let g :: Polynomial Integer > g = provePolynomial f > > putStrLn "" > putStrLn$ "g $a = " + show ( g$ a )

Polynomials support operations that other functions in Hask do not support.
For example, we can show the value of a polynomial:
> putStrLn ""
> putStrLn $"g = " + show g > putStrLn$ "g*g+g = " + show (g*g + g)
• # Weekly links for 2017-01-02

> let f :: Ring x => x -> x
> f x = x*x*x + x + 3
>
> let a = 3 :: Integer
>
> putStrLn $"f a = " + show (f a) Now, we'll create a polynomial from our ordinary function. > let g :: Polynomial Integer > g = provePolynomial f > > putStrLn "" > putStrLn$ "g $a = " + show ( g$ a )

Polynomials support operations that other functions in Hask do not support.
For example, we can show the value of a polynomial:
> putStrLn ""
> putStrLn $"g = " + show g > putStrLn$ "g*g+g = " + show (g*g + g)
A Haskell Study Syllabus :: FP Complete
Verified programming in F*
A hyper-heap provides organizes the heap into many disjoint fragments, or regions. Each region is collectively addressed by a region identifier, and these identifiers are organized in a tree-shaped hierarchy. Each region is itself a map from typed references to values, just like our heaps from before. The picture below depicts the structure.
When acquiring, using, and releasing various resources, it can be quite convenient to write a function to manage the acquisition and releasing, taking a function of the acquired value that specifies an action to be performed in between.ほ
restart server whenever a new file is created in the .stack-work bin folder
If you're on Linux, you can install inotify-tools, run stack build --file-watch in one terminal and

(
declare -i p
trap 'kill "\$p"' EXIT
while true; do
stack exec server arg1 arg2 & ...