あどけない話

Internet technologies

2021-01-01から1年間の記事一覧

Integrating Fusion and cryptonite in Haskell quic

While Haskell quic version 0.0.1 or earlier supports the x86_64 architecture only, version 0.0.2 or later will supports non-x86_64 architectures. cryptonite When I started implementing the quic library in Haskell, I used cryptonite as cryp…

我田引水的な「関数プログラミングの入門」資料紹介

これは、Haskell Advent Calendar 2021の2日目を埋めるために書いた記事です。実は単に僕が作った「関数プログラミングの入門」の資料の宣伝です。 ちなみに、僕の関数プログラミングの定義は「不変データプログラミング」であり、おそらく最も厳しい定義で…

GHCのIOマネージャの歴史と僕の苦悩

これは、Haskell Advent Calendar 2021 の8日目の記事です。 Haskellのコンパイラとして事実上一択となったGHCには、「軽量スレッド」が実装されています。軽量スレッドは、ネイティブスレッドよりも軽量なスレッドで、他の言語では「グリーンスレッド」とも…

幅80cmで作る在宅勤務環境

都会のマンション暮らしだと、どうしても手狭になります。多くの人がそう感じていると思いますが、リモートワークするには一部屋足りません。(二部屋かも。)— 山本和彦 (@kazu_yamamoto) 2020年4月12日 ウチは6人家族なので、コロナ禍での在宅勤務は本当に手…

Releasing QUIC and HTTP/3 libraries

As I described in The Current Plan for Haskell QUIC, I have released the followings: tls http2 quic http3 warp-quic mighttpd2 tls tls v1.5.5 provides the Network.TLS.QUIC module. If you are interested in how this module has been improved, …

Migration API for QUIC clients

If I understand correctly, most QUIC implementations of clients and servers uses unconnected UDP sockets with sendto()/sendmsg() and recvfrom()/recvmsg(). For the server side, this is probably because they adopt event-driven programming. T…

Seeking the reasons for segfaults of a Haskell program

My open server of Haskell QUIC on Linux sometimes got segfaults. I saw two types of segfaults. One is a simple segfault by accessing a wrong address: mighty: segmentation fault The other is relating to free(): *** Error in `mighty': corrup…