はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    参議院選挙2025

『Chris Done's Homepage』

  • 人気
  • 新着
  • すべて
  • A modest critique of Htmx

    3 users

    chrisdone.com

    At work, we really like the basic simple idea of Htmx. Based on using Htmx in a non-trivial user interface, across a team, we’ve found that the following cases are actually not simple and are quite complicated. Inheritance of Htmx properties is a definite mistake Across pieces of code, it’s very surprising and it’s implicit. Like in CSS, inheritance is a cheap hack but you get what you pay for. It

    • テクノロジー
    • 2024/10/09 11:30
    • Tour of Hell

      8 users

      chrisdone.com

      This set of slides sketches out the implementation of Hell, in technical detail. I do tend to switch between the slides, old code, and the present code, so bear with me. It's more about the ideas. If you want to see a complete implementation, the complete implementation of Hell is one file, which you can look through easily. There are a few limits on the language; no imports, no polymorphism (poly

      • テクノロジー
      • 2024/10/03 03:29
      • Haskell
      • Try.do for recoverable errors in Haskell

        4 users

        chrisdone.com

        UPDATE 2021-01-02: I have since written a GHC compiler plugin to implement an alternative ?-based syntax for early return. I prefer that one than use of Try.do, because it doesn’t require any type magic or special instances, and the ? is more readable. UPDATE: I’ve added a follow-up post to this here, where I address some criticisms of this post. The first half of this post is here. Please read th

        • テクノロジー
        • 2020/12/23 22:43
        • Haskell
        • プログラミング
        • Client-side web programming in Haskell: A retrospective

          4 users

          chrisdone.com

          Client-side web programming in Haskell: A retrospective At the beginning of this decade (2010), a few of us Haskellers were exploring how best to do client-side web programming. We didn’t want to write JavaScript. There’s a surprising number of techniques we tried to avoid doing so. There was work coming from academia and industry. Here’s a history of my own experience in this problem space. In 20

          • テクノロジー
          • 2019/07/28 20:54
          • haskell
          • javascript
          • Fast Haskell: Competing with C at parsing XML

            5 users

            chrisdone.com

            In this post we’re going to look at parsing XML in Haskell, how it compares with an efficient C parser, and steps you can take in Haskell to build a fast library from the ground up. We’re going to get fairly detailed and get our hands dirty. A new kid on the block A few weeks ago Neil Mitchell posted a blog post about a new XML library that he’d written. The parser is written in C, and the API is

            • テクノロジー
            • 2017/01/12 12:07
            • Haskell
            • performance
            • A philosophical difference between Haskell and Lisp

              7 users

              chrisdone.com

              UPDATE 2020-08-03: I no longer stand by the content in this post. I think the overall sentiment is marginally accurate; however, the details in the post are incorrect (as many have pointed out over the years). As has been pointed out, remove-if-not’s start/count parameters behave differently and cannot easily be separated out of the function, a design trade-off that I appreciate. As has been noted

              • テクノロジー
              • 2015/12/21 09:31
              • Haskell
              • あとで読む
              • Use the REPL, Luke

                6 users

                chrisdone.com

                There was an online discussion about iteration times in Haskell and whether and why they are slow. For me, it’s not slow. I do all my Haskell development using a REPL. Here are some tips I wrote up in that discussion. Prepare for GHCi use The first thing you want to do before writing anything for your project is make sure you can load your code in the REPL; GHCi. Sometimes you have special configu

                • テクノロジー
                • 2015/07/16 16:02
                • Haskell
                • The path package

                  4 users

                  chrisdone.com

                  Here I’d like to announce and explain the motivations behind my path package. Motivation It was after working on a number of projects at FP Complete that use file paths in various ways. We used the system-filepath package, which was supposed to solve many path problems by being an opaque path type. It occurred to me that the same kind of bugs kept cropping up: Expected a path to be absolute but it

                  • テクノロジー
                  • 2015/06/29 23:54
                  • Haskell
                  • The constraint trick for instances

                    7 users

                    chrisdone.com

                    and thought, “Shenanigans! Why not just have this?” Me too! I only learned of this solution relatively recently, and I know experienced Haskellers who also only understood this recently or still don’t. Hence this quick write up. Here’s the thought process. We’re writing a trivial pretty printer and we’re using Writer. We write things like:

                    • テクノロジー
                    • 2015/06/21 10:35
                    • Haskell
                    • How Haskellers are seen and see themselves

                      6 users

                      chrisdone.com

                      How Haskellers are seen The type system and separated IO is an awkward, restricting space suit: Spending most of their time gazing longingly at the next abstraction to yoink from mathematics: Looking at anything outside the Haskell language and the type system: Using unsafePerformIO: How Haskellers see themselves No, it’s not a space suit. It’s Iron Man’s suit! The suit enables him to do impressiv

                      • テクノロジー
                      • 2015/05/20 12:39
                      • Haskell
                      • あとで読む
                      • Measuring duration in Haskell

                        3 users

                        chrisdone.com

                        Happy new year, everyone. It’s a new year and time for new resolutions. Let’s talk about time. Specifically, measuring it in Haskell. A wrong solution How do you measure how long something takes in Haskell? Here’s a naive attempt: import Control.Exception import Data.Time main = do start <- getCurrentTime evaluate (sum [1 .. 1000000]) end <- getCurrentTime print (diffUTCTime end start) Inaccurate

                        • テクノロジー
                        • 2015/01/06 11:52
                        • あとで読む
                        • Lucid: templating DSL for HTML

                          8 users

                          chrisdone.com

                          I’m not big on custom templating languages, for reasons I’ll write about another time. I prefer EDSLs. I preferred the xhtml package back when that was what everybody used. It looked like this: header << thetitle << "Page title" thediv noHtml ! [theclass "logo"] << "…" thediv noHtml ! [identifier "login"] Pretty line-noisy to read, write and hard to edit in a reasonable manner. Later, blaze-html b

                          • テクノロジー
                          • 2014/11/22 00:00
                          • DSL
                          • Haskell
                          • HTML
                          • shell-conduit: Write shell scripts in Haskell with Conduit

                            8 users

                            chrisdone.com

                            shell-conduit: Write shell scripts in Haskell with Conduit As part of my series of write-about-personal-projects, my latest obsession is writing shell scripts with Michael Snoyman’s Conduit. Here is my package, shell-conduit. It’s still in the experimental phase, but I don’t forsee any changes now for a while. Bash is evil I hate writing scripts in Bash. Until now, it was the easiest way to just w

                            • テクノロジー
                            • 2014/09/21 09:24
                            • Haskell
                            • Conduit
                            • DSL
                            • shell
                            • Typeable and Data in Haskell

                              15 users

                              chrisdone.com

                              Data.Typeable and Data.Data are rather mysterious. Starting out as a Haskell newbie you see them once in a while and wonder what use they are. Their Haddock pages are pretty opaque and scary in places. Here’s a quick rundown I thought I’d write to get people up to speed nice and quick so that they can start using it.1 It’s really rather beautiful as a way to do generic programming in Haskell. The

                              • テクノロジー
                              • 2014/04/24 11:04
                              • Haskell
                              • GHC
                              • Data
                              • あとで読む
                              • Typeable
                              • Emacs support for debugging Haskell

                                7 users

                                chrisdone.com

                                One odd thing about the Haskell community is that we don’t use debuggers. We don’t even use stack traces. I think for several reasons: Haskell code goes wrong less often. Due to that, people are content with once in a while sticking in printf statements. Lazy evaluation is known to make debugging tricky. Haskell has no decent editor support for debugging. It’s at least my experience that when my H

                                • 学び
                                • 2014/03/23 10:41
                                • Haskell
                                • Emacs
                                • Attempto Controlled English

                                  3 users

                                  chrisdone.com

                                  Attempto Controlled English is a formally defined unambiguous language which is a subset of the English language. It’s pretty sweet. I’ve known about it for some time, but I never fiddled with it because the standard implementation setup is rather elaborate. I wanted a nice, simple package in Haskell which would define a parser and a printer only, much like haskell-src-exts does. That way I can us

                                  • テクノロジー
                                  • 2014/02/25 05:05
                                  • Haskell
                                  • english
                                  • Dijkstra on Haskell and Java

                                    3 users

                                    chrisdone.com

                                    In 2001, Edsger W. Dijkstra wrote a letter to the Budget Council of The University of Texas. A PDF is available here, I’ve typed it up so that everyone can read it. Sadly, the curriculum was changed to Java. Relatedly, the algorithmic language Scheme was replaced by Python in MIT’s The Structure and Interpretation of Computer Programs version 6.01. To the members of the Budget Council I write to y

                                    • テクノロジー
                                    • 2014/01/09 08:59
                                    • structured-haskell-mode

                                      5 users

                                      chrisdone.com

                                      For about 2 months I’ve been working on and off on an Emacs package called structured-haskell-mode.1 A full explanation and demo of the features is available on the Github page. In summary, it is a mode that offers paredit-mode2 abilities for Haskell code. I’ve been keeping it to myself in a private Github repo, hoping to finish fleshing out the feature set3 and smooth over stability issues. In th

                                      • テクノロジー
                                      • 2013/12/09 18:48
                                      • Emacs
                                      • haskell
                                      • Hulk: A Haskell IRC server

                                        6 users

                                        chrisdone.com

                                        Hulk is an working-and-work-in-progress IRC server. Github repo. Motivation Last Wednesday night I whipped up a simple IRC server in Haskell in about four hours. We have been long time sick of the poor quality of the Skype Linux implementation, which was, on the dev team, our main point of communication. We agreed something like IRC would be good, so I thought it would be easy in Haskell to make s

                                        • テクノロジー
                                        • 2013/02/25 01:27
                                        • haskell
                                        • IRC
                                        • Z

                                          21 users

                                          chrisdone.com

                                          A tiny language called Z “The main idea seems clever, but also too clever” — reddit A tiny, strict, impure, curried, dynamically typed (although that may change), partially applied language with rather peculiar syntax. Markdown’s insight First, I want you to recall Markdown. You've seen it even if you haven't ever written any. And you'll know that there's a particular feature in the Markdown synta

                                          • テクノロジー
                                          • 2013/01/01 23:30
                                          • language
                                          • Z
                                          • programming
                                          • haskell
                                          • lisp
                                          • The Fay Programming Language — A Haskell subset

                                            17 users

                                            chrisdone.com

                                            IntroductionFay is a small programming language which has the following properties:A strict syntactic and semantic subset of HaskellStatically typedLazyPure by defaultCompiles to JavaScriptHas fundamental data types (Double, String, etc.) based upon what JS can supportHas a trivial foreign function interface to JavaScriptBecause Fay is intended to be small and simple, it relies on GHC, the Haskell

                                            • テクノロジー
                                            • 2012/07/22 02:46
                                            • haskell
                                            • javascript
                                            • Fay
                                            • language
                                            • js
                                            • programming
                                            • HJ — Haskell-to-JavaScript compiler

                                              8 users

                                              chrisdone.com

                                              HJ: Haskell-to-JavaScript Work in Progress This project aims to provide a compiler (specifically a code generator) for a subset Haskell to JavaScript. The outputted code should be small, a fairly good correspondance to the Haskell version, i.e. reasonably intelligible, and it should compress well with one of the major JavaScript compressors. It should at least be reasonably performant. Why write a

                                              • 世の中
                                              • 2012/05/01 05:57
                                              • Haskell
                                              • javascript
                                              • Ji, a little library for controlling a web browser from Haskell

                                                3 users

                                                chrisdone.com

                                                Ji, a little library for controlling a web browser from Haskell As of recent I have only been creating a lot of new projects, not working one existing ones or finishing half done ones off.1So here’s yet another little project that is to test the concept of controlling the web browser’s DOM from Haskell as a means to write user applications.It doesn’t use websockets as websockets aren’t well suppor

                                                • 世の中
                                                • 2012/02/06 22:19
                                                • haskell
                                                • web
                                                • Compiling to JavaScript with UHC

                                                  3 users

                                                  chrisdone.com

                                                  Last week I took a crack at testing the JavaScript compilation backend supported by UHC. There don’t seem to be any instructions1, that I have been able to find, on working with the JS backend. But it’s more or less straight-forward to figure out.As far as I understand quite a lot of what’s working now is thanks to Atze Dijkstra and Jurriën Stutterheim,2 so cheers to those!Build and Install UHCI u

                                                  • 学び
                                                  • 2012/01/20 10:37
                                                  • HaskellDB: A long tutorial

                                                    5 users

                                                    chrisdone.com

                                                    I’ve been using HaskellDB in production for about two years. I decided that I’d write a proper, up-to-date description, or tutorial, about what it is, how it works, what it can do, and my experience using it in projects.1What is HaskellDB?HaskellDB is a database interface library for Haskell which featuresexplicit declaration of schema of entities and fields,an EDSL2—a Query monad—for making queri

                                                    • テクノロジー
                                                    • 2011/11/06 14:46
                                                    • haskell
                                                    • SQL
                                                    • DB
                                                    • database
                                                    • Haskell-emacs

                                                      4 users

                                                      chrisdone.com

                                                      IntroductionI am currently working on, and using, an Emacs package called haskell-emacs. It is intended as an eventual general replacement for haskell-mode1. It won’t be released officially for a while. I will describe my motivations and development process, the current features (with screenshots!) of this package, and the features intended for the future. Development ProcessThe reason for creatin

                                                      • 暮らし
                                                      • 2011/08/24 16:56
                                                      • Haskell
                                                      • Emacs
                                                      • Lisk - Lisp and Haskell

                                                        6 users

                                                        chrisdone.com

                                                        I am personally sick of working with Haskell’s syntax.tl;dr: Scroll right to the bottom to read what Lisk is. Most of this post is complaining about Haskell’s syntax. I like Haskell’s syntaxI came to Haskell in early 2008. I wrote my first Haskell program and I didn’t like the look of what I had produced. I also didn’t like typing it. Compared to Scheme and Common Lisp, my previous languages of ch

                                                        • 世の中
                                                        • 2010/11/27 10:03
                                                        • lisp
                                                        • haskell
                                                        • A Haskell JSON service and updated Try Haskell!

                                                          8 users

                                                          chrisdone.com

                                                          Make your own Try Haskel!You can now run Try Haskell! as a simple HTML file locally, or on your own domain, if you like! All you need is an internet connection.Grab the source with git (or download a .zip or .tar.gz of the latest version):$ git clone git://github.com/chrisdone/tryhaskell.git Get writing interactive tutorials! Please let me know how you get on. Evaluate Haskell code anywhereYou can

                                                          • 暮らし
                                                          • 2010/04/06 03:39
                                                          • haskell
                                                          • JSON
                                                          • API

                                                          このページはまだ
                                                          ブックマークされていません

                                                          このページを最初にブックマークしてみませんか?

                                                          『Chris Done's Homepage』の新着エントリーを見る

                                                          キーボードショートカット一覧

                                                          j次のブックマーク

                                                          k前のブックマーク

                                                          lあとで読む

                                                          eコメント一覧を開く

                                                          oページを開く

                                                          はてなブックマーク

                                                          • 総合
                                                          • 一般
                                                          • 世の中
                                                          • 政治と経済
                                                          • 暮らし
                                                          • 学び
                                                          • テクノロジー
                                                          • エンタメ
                                                          • アニメとゲーム
                                                          • おもしろ
                                                          • アプリ・拡張機能
                                                          • 開発ブログ
                                                          • ヘルプ
                                                          • お問い合わせ
                                                          • ガイドライン
                                                          • 利用規約
                                                          • プライバシーポリシー
                                                          • 利用者情報の外部送信について
                                                          • ガイドライン
                                                          • 利用規約
                                                          • プライバシーポリシー
                                                          • 利用者情報の外部送信について

                                                          公式Twitter

                                                          • 公式アカウント
                                                          • ホットエントリー

                                                          はてなのサービス

                                                          • はてなブログ
                                                          • はてなブログPro
                                                          • 人力検索はてな
                                                          • はてなブログ タグ
                                                          • はてなニュース
                                                          • ソレドコ
                                                          • App Storeからダウンロード
                                                          • Google Playで手に入れよう
                                                          Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                          設定を変更しましたx