「Haskell」に関連する技術ブログ

企業やコミュニティが発信する「Haskell」に関連する技術ブログの一覧です。

「Effect」ってなんだろう?

この記事はなに? TypeScriptのライブラリの1つである Effect の導入してみて得られた知見と所感をもとに、 Effect の概要に関して内容をまとめたものです。 実際に導入を進めるにあたり公式ドキュメントを参照しましたが、既存の Result 型と思想が異なる部分があり、すんなり理解できなかった箇所がありました…。他の Result 型と比較して、何が異なるのか / なぜ異なるの

Rustのquick-xmlを使ってXMLをTSVに変換してみた

こんにちは、エンジニアの澤田です。 最近、社内でRustで書かれたプログラムを見かけることが増え、社内ライブラリにRustが導入されたりなど、社内でRustを使う気運が高まっているのを感じ、自分もRustを勉強してプログラムを書いてみよう!と思いました。 自分の業務に近いところでRustを使うのによさそうなテーマを考えたとき、前回書いた記事「 Haskellで階層化され

TypeScriptでどこまで「関数型プログラミング」するか ─ 「手続き Haskell」から考察する

この記事は 一休.comのカレンダー | Advent Calendar 2023 - Qiita 10日目の記事です。 昨今は Web アプリケーション開発の世界でも、関数型プログラミングのエッセンスを取り入れるような機会が増えてきました。 とはいえ、一つのアプリケーションを 1 から 10 までがっちり関数型プログラミングで構成するというわけではなく、そのように書くこともあればそうでない従来からの

【第4回】ビッグデータ分析のためのSQL基礎

本連載では、ブロックチェーンの基本的な仕組みを解説しながら、オンチェーンデータを分析するための基本的な手法について、全8回で紹介します。 第4回となる今回は、オンチェーンデータ分析の手法としてSQLを用いることのメリットについて、SQLの背景にある概念や歴史などを交えながら解説していきます。 データ分析のためのSQL SQLとは、もともとリレーショナルデ

関数型言語”兼”定理証明支援系Leanの環境構築

Leanとは Leanは普通の関数型言語であり、なおかつ定理証明支援系でもある大変パワフルな言語です。つまり原理上実行前にわかる性質は、型に埋め込んだり、頑張って自分で証明したりすることができます。そう考えるとワクワクしてきますね! またコンパイラフロントエンドのAPIを自由にユーザーが使えるので、標準の文法や意味論とまったく同じレベルで自分の拡張

WEBアプリケーションのテストができるSeleniumとは?

Seleniumとは Seleniumの特徴 SeleniumはWebブラウザの操作を自動化することができるフレームワークです。現時点のSeleniumのコンポーネントは、簡単にブラウザ操作をレコードして再生できる「Selenium IDE」、プログラミング言語を利用してより複雑な操作を実現できる「Selenium WebDriver」、Selenium WebDriverを複数のOSやブラウザで動かすことができる「Selenium Grid」があります。 オープ

Haskellで階層化されたリストを1次元リストのリストに展開する

こんにちは、エンジニアの澤田です。 普段の業務で、XMLなどから値を取り出して扱う際、データを処理しやすいように一度DBに格納して、DB上でデータを処理することがあるのですが、 XMLなどは階層構造になっているため、取り出したデータも階層構造になることが多く、そのままではDBに格納することが難しくなっています。 (FORCIAでよく使っているPostgresでは配列や階

リストを題材にして代数的データ構造に入門してみる

こちらの記事は カケハシ Advent Calendar 2022 の 7日目の記事になります。 https://adventar.org/calendars/7444 この記事のモチベーション カケハシでAI在庫管理というプロダクトのバックエンド開発をやっている金子です。 代数的データ構造というデータ構造について聞いたことはありますでしょうか。 私ははあります。が、それが何なのか、なぜ「代数的」と呼ばれるのか良く分か

Row Polymorphism in C++20

Summary This post is my hobby and has nothing to do with work. I have wanted Extensible Records (a library in Haskell ) for a long time. The time has finally come. The language features we need to implement it are there in C++ 20! Therefore, this post will show you how to emulate row polymorphism in C++ 20. The latest, complete code can be found in this repository . Row Polymorphism Row polymorphism is a kind of polymorphism that allows one to write programs that are polymorphic on record field

PHP8.1 の新機能について語り合う・後編【PHP TechCafe イベントレポート】

弊社で毎月開催し、 PHP エンジニアの間で好評いただいている PHP TechCafe。2021年8月のイベントでは社外でご活躍されている PHP エンジニアにもご参加いただいて「PHP8.1の新機能」について語り合いました。 rakus.connpass.com PHP8.1の新機能は8.0に比べれば少ないとはいえ、順番に追いかけてみると思ったより大きなボリュームになったためイベント内容を2回に分けてレポートし

PHP で日本語の文字列配列をイイ感じにソートする 3 つの方法

はじめに こんにちは、開発エンジニアの amdaba_sk( ペンネ ーム未定)です。 今回は PHP のお話です。例えば以下のような配列があったとしましょう。 <?php $ target = [ 'ほげ' , 'ふが' , 'ぴよ' , ] ; これをソートしたいとします。ただそれだけなら、 <?php sort ( $ target ) でおしまい、 Q.E.D. ! でもいいのですが、 PHP には他にもいろいろな配列のソート方法が用意されていま

Erlang で並列プログラミングをやってみた

FORCIAアドベントカレンダー2020 23日目の記事です。 こんにちは。アドベントカレンダー23日目の記事を担当します、エンジニアの澤田です。 昨年は Template Haskell を使ってメタプログラミングをやってみた という記事を書き、Haskell を勉強しつつ関数型言語に触れてみました。 その中で、関数型言語は並列処理との親和性が高いということを知ったので、また、違う言語に

日々の作業をもっとサッとこなしたい!「ワンライナー勉強会」を開催しました

4月入社の新人エンジニアのxztaityozxです。趣味はdotfilesいじりです 皆さんは日々の開発でふと、調査やデータの加工が必要となったことはありませんか?私はたくさんあります。 ではそういった時、どうやって解決していますか?私はいくつかのCLIツールを組み合わせることで解決しています。 例えば、 /etc/services からtcpなサービスの名前を取り出すときは以下のように

Template Haskell を使ってメタプログラミングをやってみた

FORCIAアドベントカレンダー2019  18日目の記事です。 こんにちは。アドベントカレンダー18日目の記事を担当させて頂きます、エンジニアの澤田です。 普段の業務ではJavaScript やPython などでプログラムを書くことが多いですが、今回はあえて、普段使用していない関数型プログラミング言語Haskell に触れてみつつ、以前から興味があったメタプログラミングを実際にやっ
12
技術ブログを絞り込む

TECH PLAY でイベントをはじめよう

グループを作れば、無料で誰でもイベントページが作成できます。情報発信や交流のためのイベントをTECH PLAY で公開してみませんか?