タグ

Haskellに関するHashのブックマーク (79)

  • Haskellでつまずいた所まとめ への回答その2 - Just $ A sandbox

    lugendre.hatenablog.com こちらの記事への回答です。 前回の続き ただ割と前回と被ってるのでそこはスルーしますねGOMENNNASAI 適切な入門記事がない: 日語は話者が英語に比べて少なすぎるので敢えて日語で記事を書くことのうま味がね、はい(英語なら割と情報あります) ライブラリの使い方、Hackageの読み方: そういえばhackageの使い方とかどこにも書いてないし自分もどこで習ったのか忘れてしまったなァ この辺はstackを教える場面でフォローしてあげるべきなのだろうか $ と . : 意外とここで詰まる人多いのかな 型見れば違いは割と明らかな気がするけどそもそも型を頼りにプログラムを書くという言語に慣れてなければ厳しいか 型コンストラクタとkind: これ確かに難しいと思う -> が乱用されてたり不親切な割にはリストやらモナドやらで割と遭遇率も高いし 一

    Haskellでつまずいた所まとめ への回答その2 - Just $ A sandbox
    Hash
    Hash 2017/08/03
    具体的で参考になる
  • Spock Haskell Web Framework

    SIMPLE. EXPRESSIVE. FAST. Kickstart your next Haskell web application within seconds using Spock. Download from Hackage or run cabal install Spock Features Spock is a lightweight Haskell web framework inspired by Ruby's Sinatra. It provides a full toolbox including everything to get a quick start into web programming using Haskell.

    Hash
    Hash 2016/04/02
  • AffですべてのPromises/Generatorsを過去にする/そして何故我々は作用をモナドで抽象化すべきなのか - Qiita

    PromiseやGeneratorのような機構を使ってもなお非同期処理は厄介だ、そしてもっとシンプルで便利な方法があるよ、という話です。前半の議論を元に、後半ではなぜプログラミング言語の作用をモナドで抽象すると便利なのかということの説明をしています。 関数型プログラミング言語は「副作用をなるべく減らすことで安全性を高めた言語」というように説明されることがありますが、すべての式が副作用を持たないという『純粋』関数型プログラミング言語が言語を参照透明にしてモナドを導入するのは決して「副作用はなるべく避けたほうが安全だから」という理由だけではないのです。長いですが、これでも結構削りました。 序盤戦・Promises/Generatorsの光と影 Promises/Generatorsで世界はちょっと平和になる かつてはJavaScriptの非同期処理はコールバック地獄に陥ったり様々なパターンが混

    AffですべてのPromises/Generatorsを過去にする/そして何故我々は作用をモナドで抽象化すべきなのか - Qiita
    Hash
    Hash 2016/01/04
    PureScript で非同期処理を扱うお話
  • Haskell for Mac IDE — Learn Functional Programming with Haskell

    Functional programming is a hot topic in programming and the source of the expressiveness and safety of modern languages like Swift, Scala, and Rust. It also is the foundation for innovative web technologies, such as React, Redux, and Elm. Haskell is simply the best way to mastering functional programming and with that all the recent and upcoming technologies based on it. Haskell is also an amazin

    Hash
    Hash 2015/09/01
    タイトルの通り... これどうなんだろう
  • 【またかよ】「Haskellでクイックソート」問題【何度目だ】

    Pin📍AppBrew CTO @spinute クイックソート何行だと思う? rubyが40行、c++が35行、haskellは5行だよ? 大きいのと小さいのにちぎる、空だったら終わる、それが質でそれだけが必要最低限。 クイックソートのイデアは五行に収まるらしい 2013-01-27 00:18:27

    【またかよ】「Haskellでクイックソート」問題【何度目だ】
  • Haskell製サービスを本番投入 | POSTD

    thoughtbotはWebとモバイルアプリを開発するWebコンサルティング会社。Railsの有名プラグインであるPaperclipやFactory Girlなどのオープンソースプロジェクトや、自社プロダクト(hound、Upcase)も開発している。ボストンをベースに、サンフランシスコ、デンバー、ニューヨーク、フィラデルフィア、ローリー、ストックホルムにオフィスを持っている。 数週間前、私たちはGiant Robotブログで新しいコメント機能をひそかにリリースしました。パラグラフやコードブロック上でホバーすると、右側に小さなアイコンが表示され、その記事の該当するセクションにコメントできる機能です。 この機能を公開して、これまでずっと言いたかったことがようやく言えます。ついにHaskellのサービスを一般出荷しました! ここでは、リリースの概要および仕組みを説明し、私たちが遭遇したさまざま

    Hash
    Hash 2015/07/21
    コンパイル長いのつらそう
  • foldlを直す - 純粋関数空間

    http://www.well-typed.com/blog/90/ foldlに関するこの記事(英文)が面白かったので、勝手翻訳しました。 foldlなんとかなるといいですね。 foldlを直す foldl 関数は壊れている。壊れているとみんなが知っている。 四半世紀近く壊れたままだ。ついにこれを修正する時が来た! 今日、私はPrelude.foldlをData.List.foldl'として知られる実装で再定義することを提案する。 foldlは壊れている! 既にご存知だとは思うが、念のため… Haskellerが必ずfoldlではなく、foldrやfoldl'を使うように勧めてくることにお気づきだろうか? 例えばReal World Haskellでは次のように言っている。 `foldl`のサンクの挙動のため、実アプリではこの関数を使わないようにするのが望ましい。 特に問題がない場合でも

    Hash
    Hash 2015/07/18
  • 社内Haskellチュートリアルのススメ | GREE Engineering

    こんにちは。インフラストラクチャ部の竹辺(@beketa)です。 このエントリはGREE Advent Calendar 2013 12日目の記事です。 1. グリーでのHaskellプログラマ採用 Haskellを導入する企業が増えているようです。最近国内のメディアで紹介された事例だけでも Tsuru Capital様: http://itpro.nikkeibp.co.jp/article/Watcher/20131003/508622/ NTTデータ様: http://itpro.nikkeibp.co.jp/article/NEWS/20131126/520642/ の複数があり、すっかり実用的なプログラミングとして定着した感があります。 弊社でも2012年の中ごろから複数のプロジェクトでHaskellを使い始めており、昨年からは一部の商用サービスでもHaskellで開発したミド

    社内Haskellチュートリアルのススメ | GREE Engineering
  • 関数リアクティブプログラミングの実践

    リアクティブプログラミングって何? 時刻によって変化する値を使って計算する x = mouse_position.x y = mouse_position.y sum = x + y printf("(%d, %d); sum=%d", x, y, sum) 入力が変わるたびに再計算 用途: UI、シミュレーションなど Haskell/ML上のリアクティブプログラミング Behavior a: 時刻によって変化する値(中身a型) Event a: 繰り返し発生し得るイベント(a型の値が付属) mousePosition :: Behavior (Int, Int) mouseClick :: Event () コンビネータ mapB :: (a -> b) -> Behavior a -> Behavior b mapE :: (a -> b) -> Event a -> Event b

  • 就職しました - 純粋関数空間

    前の記事を書いてから随分時間が開いてしまいましたが、 今年の二月の終わり頃に、Tsuru Capitalというところに就職しました。 この記事を見てかどうかはわかりませんが、先方からお誘いいをただいて、 これは渡りに船とばかりに働かせていただくことになりました。 いろんな方にご心配をいただきまして、大変ありがとうございました。 身体面の健康も随分良くなりまして、今では元気に暮らしております。 Tsuru Capitalは自動株取引の会社で、ご存じの方はあまり多くないかもしれませんが、 Haskellでシステムを開発していて、日国内に数えるほどしかないHaskellで仕事できる会社の一つです。 当然ながら、私も毎日Haskellを書いています。 会社で働いてる人もほぼ全員Haskellが書けます。 なんというか、Haskellで開発しているからそれは当たり前なんですが、 これが当たり前って

    Hash
    Hash 2015/07/14
    ひとまずおめでとうございます.健康大事ですよね
  • シンプルでかつ最高のJavaScriptプロファイラ sjsp を作りました! ― Webアプリケーションが複雑化する中でプロファイラに求められるものとは何か - プログラムモグモグ

    あらすじ Web技術が複雑になる中で、JavaScriptのプロファイリングをとる方法とは。 プロファイリングを取るためのコードを手で書いてみましょう。 とてもシンプルで、かつ最高のJavaScriptプロファイラ sjsp を作りました。 当にあった怖い話 上司 「とにかくJavaScriptのコードを速くしてくれ」 私 「分かりました、速くします」 (次の日) 私 「いいプロファイラがないなら作ればいいじゃない」 同じチームの人 「えっ?」 私 「最高のJavaScriptプロファイラ作ったよ」 同じチームの人 「「えっえっ???」」 私 「早速使ってみたらこことここが遅いって分かったよ」 同じチームの人 「「「この子は一体…」」」 JavaScriptのプロファイリングの難しさ 近年、Webブラウザーの処理速度は著しく向上し、その可用性の高さから、アプリケーションのプラットフォーム

    シンプルでかつ最高のJavaScriptプロファイラ sjsp を作りました! ― Webアプリケーションが複雑化する中でプロファイラに求められるものとは何か - プログラムモグモグ
    Hash
    Hash 2015/07/01
    ゼロから作って実用に乗せるのが異様に早過ぎる...
  • #フィズバズエクストリーム 問題 拙解答の解説 #codeiq - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに CodeIQで出題されていた、通称「フィズ・バズ・エクストリーム」問題(←問題の公開は終了したので左記リンクでは問題閲覧はできません)。 うまい漸化式を見付けて、それを元にコンパクトな再帰で解けたのですが、意外とこの漸化式で解いている人が少なそうなので、(誰か解説書いてくれるだろうと踏んでいたのですけれどこの際だから自分で)それを紹介・解説してみます。 ついでに、そこから Ruby でコードゴルフしたのでそのコードも簡単に解説。 問題(概要) 問題全文は、↓こちらを参照。 CodeIQ 「フィズ・バズ・エクストリーム」 問題

    #フィズバズエクストリーム 問題 拙解答の解説 #codeiq - Qiita
    Hash
    Hash 2015/06/30
    すごい...
  • Haskellのビルドツール"stack"の紹介 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Stackとは? つい先日のことですが、Stackage界隈からstackというツールがリリースされました。リリースされたとはいえ、開発され始めたのがちょっと前のことですし、現在も盛んに機能が追加されているので、絶賛開発中であるとかそういったほうがいいかもしれません。 まだ開発の始まったばかりのツールなのに、なぜこんな紹介記事を書こうと思ったのかというと、このツールがHaskellの開発において極めて有用になることが確定的に明らかであって、すでに荒削りながらも、大変便利に使えているからなのです。そしてここで紹介することで、多くの読者の方

    Haskellのビルドツール"stack"の紹介 - Qiita
    Hash
    Hash 2015/06/27
    "cabal hellに悩まされない" それはありがたい... たなこふさんが言うならきっとよいもの
  • GitHub - Frege/frege: Frege is a Haskell for the JVM. It brings purely functional programing to the Java platform.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - Frege/frege: Frege is a Haskell for the JVM. It brings purely functional programing to the Java platform.
    Hash
    Hash 2015/05/04
    JVM上でうごくHaskell風言語. 中間コードとしてJavaを吐く
  • Frege: Hello Java · mmhelloworld

    The Joy of Programming! © Marimuthu Madasamy 2024. BSD 3-Clause License module hellojava.HelloJava where data LinkedList a = native java.util.LinkedList where native add :: Mutable s (LinkedList a) -> a -> ST s Bool native get :: Mutable s (LinkedList a) -> Int -> ST s (Maybe a) throws IndexOutOfBoundsException native new :: () -> STMutable s (LinkedList a) fromFregeList :: [a] -> STMutable s (Lin

  • Atom Flight Manual

    AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be

    Atom Flight Manual
  • Haskell - 2015年のMac + Haskell + IntelliJことはじめ、あるいはghcの再インストール - euphonictechnologies’s diary

    2015-08-09:この記事にはアップグレード版があります blog.euphonictech.com この記事の入れ方は今は推奨しません。上記の新しい版を参照してください。 あけまして あけましておめでとうございます。5日はブログにまとめようと思っているオセロのAIの開発の方にかまけて更新が滞っております。 cabal hell! IntelliJでHaskellを書いているとだんだんと動作がおかしくなってきて、cabal sandbox delete -> cabal sandbox initしてコマンドラインでcabal buildする回数が多くなってきます。ついにghc-modiが動かなくなってIntelliJ上で型が表示されなくなり…詰みです。 これはcabal hellと呼ばれる現象でぐっちゃぐっちゃになった依存関係の成れの果てです。ぐちゃぐちゃの程度は色々あるでしょうが、動

    Haskell - 2015年のMac + Haskell + IntelliJことはじめ、あるいはghcの再インストール - euphonictechnologies’s diary
    Hash
    Hash 2015/04/12
    cabal地獄よ
  • Why I love Haskell: An Example

    In this post I'm going to talk about a small Haskell implementation I wrote which would have been much more difficult to write in other languages. I'll try to provide enough context for the non-Haskeller to understand what is going on, and I will use the example to point out some of the features that I think make Haskell a great language. Reader beware: herein lies advocacy. The Problem The proble

    Why I love Haskell: An Example
    Hash
    Hash 2015/04/09
    読了 || こんな風に実用的かつ全体像を把握できるコード片いいな gistとかcodebinから拾ってくればいいのかな
  • A wreq tutorial

    Learn how to write web clients. We start easy, then ramp up the power. Installation To use the wreq package, simply use cabal, the standard Haskell package management command. cabal update cabal install -j --disable-tests wreq Depending on how many prerequisites you already have installed, and what your Cabal configuration looks like, the build may take a few minutes: a few seconds for wreq, and t

    Hash
    Hash 2015/02/20
    これは素晴らしい... Lensの構文が独特で慣れが必要だけど使いやすい
  • Haskell で Basic 認証 - sirocco の書いてもすぐに忘れるメモ

    Basic 認証 の必要なアクセスをAuthentication.hsを参考に動かしてみた。 import Codec.Binary.Base64.String import Network.HTTP import Network.URI -- Sends an HTTP request to a server identified by uri. -- The username and password are sent with the request using HTTP basic authentication. connect :: String -> (String, String) -> IO String connect uri credentials = case parseURI uri of Nothing -> error "Could not parse URI"

    Haskell で Basic 認証 - sirocco の書いてもすぐに忘れるメモ
    Hash
    Hash 2015/02/19
    httpsを使うにはこれに加えてhttp-conduitが必要
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy