igrep  id:igrep  



25,935    

-    

-    









.NET  (51)  

2ch  (58)  

AI(248)  

API  (53)  

ARM  (42)  

AWS Lambda  (18)  

ActiveRecord  (17)  

Advent Calendar  (28)  

Apple  (92)  

C(84)  

C#  (36)  

C++  (81)  

CI(63)  

COVID-19  (453)  

CPU  (62)  

CSS  (235)  

CSV  (15)  

ChatGPT  (88)  

Chrome  (305)  

Chrome OS  (20)  

Chromebook  (18)  

C  (30)  

DB(80)  

DNS  (37)  

Debian  (17)  

ECMAScript  (26)  

Edge  (31)  

Eight  (23)  

F#  (15)  

FRP  (23)  

Fintech  (22)  

Firefox  (106)  

Flash  (40)  

GC(25)  

GMO  (37)  

GPU  (29)  

GTD  (27)  

GUI  (43)  

Git  (255)  

Gmail  (26)  

Google  (444)  

Google Apps Script  (17)  

Google Home  (38)  

Google+  (23)  

GraphDB  (15)  

GraphQL  (51)  

IDE  (38)  

Intel  (34)  

IoT  (95)  

Java  (255)  

Kubernetes  (116)  

LGBT  (34)  

LINE  (55)  

LLM  (84)  

LLVM  (41)  

LaTeX  (49)  

Lua  (38)  

Mac  (72)  

Mastodon  (36)  

Microsoft  (185)  

Monad  (76)  

NHK  (38)  

Neo4j  (15)  

NoSQL  (22)  

OCaml  (44)  

OS(27)  

Oracle  (47)  

P2P  (20)  

PDF  (42)  

PHP  (38)  

PostgreSQL  (87)  

PowerShell  (44)  

PureScript  (51)  

Python  (232)  

Qiita  (27)  

R(29)  

RDB  (24)  

RDBMS  (21)  

REST  (21)  

Raspberry Pi  (17)  

Ruby  (540)  

SEO  (23)  

SIer  (15)  

SQLite  (17)  

SVG  (37)  

Safari  (22)  

Sansan  (50)  

Selenium  (28)  

Swift  (45)  

TCP  (27)  

TDD  (18)  

TLS  (19)  

Twitter  (216)  

UI(40)  

UX(16)  

Unity  (16)  

V8  (18)  

VR(36)  

Visual Studio  (18)  

Visual Studio Code  (52)  

WASI  (78)  

Web API  (36)  

WebRTC  (21)  

WebSocket  (18)  

Web  (237)  

Windows  (324)  

Windows 10  (59)  

XML  (16)  

XSS  (27)  

Yesod  (39)  

YouTube  (33)  

accessibility  (42)  

amazon  (74)  

android  (436)  

aws  (168)  

azure  (38)  

bash  (50)  

benchmark  (16)  

bot  (23)  

cabal  (66)  

canvas  (24)  

chromium  (24)  

cli  (112)  

clojure  (80)  

cloud  (81)  

conduit  (22)  

cookie  (20)  

coq  (17)  

cui  (17)  

cybozu  (20)  

ddd  (20)  

devops  (20)  

dhall  (21)  

docker  (241)  

dropbox  (25)  

eclipse  (15)  

electron  (25)  

elixir  (21)  

elm  (252)  

emacs  (27)  

emoji  (33)  

erlang  (25)  

eta  (15)  

ethereum  (19)  

excel  (43)  

facebook  (118)  

framework  (37)  

gem  (27)  

ghc  (367)  

github  (290)  

gitlab  (51)  

go(90)  

golang  (100)  

google cloud platform  (37)  

hash  (15)  

haskell  (3702)  

haskell-jp  (40)  

heroku  (28)  

html  (151)  

html5  (110)  

http  (58)  

http2  (28)  

https  (23)  

iOS  (135)  

iPad  (19)  

iPhone  (73)  

ie(38)  

iij  (108)  

intellij  (21)  

jQuery  (33)  

javascript  (1237)  

jenkins  (18)  

json  (117)  

jvm  (41)  

kindle  (23)  

kintone  (18)  

kotlin  (84)  

language server protocol  (18)  

lens  (49)  

linux  (376)  

lisp  (29)  

markdown  (45)  

microservices  (22)  

mixi  (15)  

moongift  (29)  

mysql  (128)  

neovim  (102)  

news  (344)  

nginx  (16)  

nix  (24)  

node  (53)  

node.js  (186)  

note  (71)  

npm  (53)  

oauth  (17)  

oss  (249)  

pandoc  (18)  

perl  (19)  

rails  (186)  

react  (149)  

redis  (19)  

rspec  (29)  

rust  (466)  

scala  (78)  

security  (949)  

servant  (42)  

serverless  (42)  

shell  (35)  

slack  (94)  

sns  (199)  

sony  (20)  

sql  (107)  

ssh  (54)  

stack  (95)  

svelte  (27)  

systemd  (18)  

test  (17)  

tips  (269)  

tmux  (30)  

trouble  (68)  

tutorial  (28)  

typescript  (199)  

ubuntu  (109)  

unicode  (40)  

unix  (24)  

vim  (368)  

vue.js  (26)  

wasmer  (24)  

webassembly  (840)  

webpack  (20)  

web  (893)  

 (318)  

 (21)  

 (30)  

 (25)  

 (29)  

 (59)  

 (88)  

 (35)  

 (254)  

 (32)  

 (102)  

 (56)  

 (167)  

 (117)  

 (30)  

 (152)  

 (117)  

 (53)  

 (40)  

 (25)  

 (17)  

 (42)  

 (28)  

 (28)  

 (38)  

 (25)  

 (18)  

 (23)  

 (135)  

 (73)  

 (21)  

 (17)  

 (15)  

 (26)  

 (38)  

 (31)  

 (51)  

 (49)  

 (58)  

 (92)  

 (28)  

 (20)  

 (268)  

 (46)  

 (48)  

 (119)  

 (64)  

 (65)  

 (35)  

 (26)  

 (45)  

 (22)  

 (567)  

 (20)  

 (45)  

 (19)  

 (19)  

 (29)  

 (24)  

 (33)  

 (32)  

 (28)  

 (20)  

 (162)  

 (21)  

 (34)  

 (45)  

 (52)  

 (238)  

 (30)  

 (29)  

 (296)  

 (86)  

 (25)  

 (20)  

 (85)  

 (20)  

 (31)  

 (29)  

 (20)  

 (17)  

 (17)  

 (41)  

 (34)  

 (16)  

 (118)  

 (27)  

 (37)  

 (72)  

 (65)  

 (54)  

 (40)  

 (35)  

 (178)  

 (20)  

 (18)  

 (36)  

 (99)  

 (630)  

 (138)  

 (34)  

 (36)  

 (21)  

 (79)  

 (75)  

 (43)  

 (233)  

 (21)  

 (50)  

 (22)  

 (172)  

 (69)  

 (21)  

 (42)  

 (26)  

 (18)  

 (22)  

 (63)  

 (33)  

 (23)  

 (84)  

 (54)  

 (77)  

 (81)  

 (48)  

 (32)  

 (30)  

 (44)  

 (68)  

 (117)  

 (16)  

 (54)  

 (16)  

 (25)  

 (49)  

 (16)  

 (33)  

 (39)  

 (189)  

 (53)  

 (21)  

 (389)  

 (341)  

 (146)  

 (74)  

 (27)  

 (24)  

 (443)  

 (103)  

 (50)  

 (82)  

 (27)  

 (106)  

 (27)  

 (37)  

 (65)  

 (68)  

 (143)  

 (74)  

 (71)  

 (141)  

 (148)  

 (20)  

 (43)  

 (65)  

 (42)  

LAN  (24)  

 (153)  

 (57)  

 (45)  

 (155)  

 (158)  

 (18)  

 (49)  

 (28)  

 (29)  

 (23)  

 (71)  

 (26)  

 (79)  

 (42)  

 (59)  

 (42)  

 (104)  

 (55)  

 (79)  

 (364)  

 (103)  

 (18)  

 (62)  

 (28)  

 (23)  

 (162)  

 (102)  

 (61)  

 (40)  

 (54)  

 (58)  

 (34)  

 (17)  

 (43)  

 (44)  

 (21)  

調  (17)  

 (24)  

 (38)  

 (55)  

 (18)  

 (27)  

 (19)  

 (31)  

 (51)  

 (24)  

 (22)  

 (175)  

 (19)  

 (29)  

 (26)  

 (68)  

 (52)  

 (71)  

 (38)  

 (49)  

 (44)  

 (72)  

 (45)  

 (19)  

 (144)  

haskell  (3702)  

javascript  (1237)  

security  (949)  

web  (893)  

webassembly  (840)  

 (630)  

 (567)  

Ruby  (540)  

rust  (466)  

COVID-19  (453)  


 




 / www.parsonsmatt.org (13)






Dynamic Exception Reporting in Haskell  



4 users  

www.parsonsmatt.org  


 


Exceptions kind of suck in Haskell. You dont get a stack trace. They dont show up in the types of functions. They incorporate a subtyping mechanism that feels more like Java casting than typical Haskell programming. A partial solution to the problem is HasCallStack - that gives us a CallStack which gets attached to error calls. However, itonly gets attached to error - so you can either have Str
 



igrep
igrep  2022/08/20  


Haskell


 



 














Family Values  



1 user  

www.parsonsmatt.org  


 






igrep
igrep  2021/09/13  


Haskell
 



 














Stealing Impl from Rust  



5 users  

www.parsonsmatt.org  


 


With the new OverloadedRecordDot language extension, we can use the . character to access stuff on records. {-# language OverloadedRecordDot #-} data User = User { name :: String }main :: IO () main = do let user = User { name = "Matt" } putStrLn user.name This is syntax sugar for the following code: import GHC.Records data User = User { name :: String } instance HasField "name" User String where
 



igrep
igrep  2021/08/08  
"BREAKING NEWS"...  

haskell

ghc
 



 














Template Haskell Performance Tips  



1 user  

www.parsonsmatt.org  


 






igrep
igrep  2021/07/20  


Haskell


 



 














Plucking Constraints  



2 users  

www.parsonsmatt.org  


 


Theres a Haskell trick that Ive observed in a few settings, and Ive never seen a name put to it. Id like to write a post about the technique and give ita name. Its often useful to write in a type class constrained manner, but at some point you need to discharge (or satisfy?) those constraints. You can pluck a single constraint at a time. This technique is used primarily used in mtl (or other
 



igrep
igrep  2020/01/19  


haskell
 



 














Write Junior Code  



5 users  

www.parsonsmatt.org  


 


A plea to Haskellers everywhere. Haskell has a hiring problem. There arent many Haskell jobs, and there arent many Haskell employees. Haskell employees tend to be senior engineers, and the vast majority of job ads want senior-level Haskell candidates. The vast majority of Haskell users do not have any professional production experience, and yet almost every job wants production Haskell experienc
 



igrep
igrep  2019/12/27  
"Lets make jobs for juniors. Lets hire juniors. Lets train those juniors into seniors. Let us grow Haskell in industry by writing simpler code and making room for the less experienced."   

haskell
 



 














Return a Function to Avoid Effects  



4 users  

www.parsonsmatt.org  


 


To help write robust, reliable, and easy-to-test software, I always recommend purifying your code of effects. There are a bunch of tricks and techniques to accomplish this sort of thing, and Im going to share one of my favorites. I have implemented a pure data pipeline that imports records from one database and puts them in another databasewith a slightly different schema. Rather than implement
 



igrep
igrep  2019/04/02  


haskell
 



 














Sum Types In SQL  



2 users  

www.parsonsmatt.org  


 


Algebraic datatypes are a powerful feature of functional programming languages. By combining the expressive power of and and or, we can solve all kinds of problems cleanly and elegantly. SQL databases represent product types  and  extremely well - a SQLtable can correspond easily and directly to a product type where each field in the product type can fit in a single column. On the other h
 



igrep
igrep  2019/03/27  


haskell

sql

persistent
 



 














ghcid for the win!  



3 users  

www.parsonsmatt.org  


 


Supercharge your Haskell development experience with ghcid! ghcid is  at the current moment  the most important tool for Haskell development environments. Itis fast, reliable, works on all kinds of projects, and is remarkably versatile. You can use itwith any editorworkflow, primarily by not integrating your editor! (though there are integrations available if youre brave) For these reasons,
 



igrep
igrep  2018/05/25  
 

haskell

ghcid
 



 














Transforming Transformers  



3 users  

www.parsonsmatt.org  


 


Theres a kind fellow named lunaris on the FPChat slack channel that shares exceptionally good advice. Unfortunately, due to the ephemeral nature of Slack, a lot of this advice is lost to history. Ive been pestering him to write up his advice in a blog so that itcould be preserved. He hasnt posted ityet, so Im going to start posting his rants for him ;) lunaris works with a company called Hab
 



igrep
igrep  2018/04/15  


haskell
 



 














Three Layer Haskell Cake  



15 users  

www.parsonsmatt.org  


 


The question of How do I design my application in Haskell? comes up a lot. Theres a bunch of perspectives and choices, so itmakes sense that its difficult to choose just one. Do I use plain monad transformers, mtl, just pass the parameters manually and use IO for everything, the ReaderT design pattern, free monads, freer monads, some other kind of algebraic effect system?! The answer is: why
 



igrep
igrep  2018/04/02  


haskell
 



 














Haskell Performance Debugging  



3 users  

www.parsonsmatt.org  


 


Someone posted a Treap implementation to reddit that was slow. Lets analyze itand determine whats up. The repo is available here Base Run I set the code up in a Cabal project, created a makefile, and ran an initial profiling run. The code and profiling output are in the base branch on GitHub. Before we look at any of the executing code or profilign output, lets check out the definition of the
 



igrep
igrep  2017/12/23  
"Strict in the spine, lazy in the leaves"  

Haskell


 



 














Grokking Fix  



3 users  

www.parsonsmatt.org  


 


This post is intended for beginners of functional programming interested in an exploration of laziness, Haskell, and recursion Haskells laziness enables some pretty cool tricks. The fix function is one of the neater ones, though itcan be hard to understand how to use itfrom just the implementation and type signature. If you grab a calculator and put any number into it, you can start hitting the
 



igrep
igrep  2017/08/31  
fix "You can specialize plain a types to function types a -> b for interesting results."  

Haskell

Monad
 



 














1











202471

   



20246

   



202465

   


 

Twitter



@HatenaBookmark


@hatebu

 









   




 



j

k

l

e

o
 

















 









 

















 









 









 







Pro



 




 






App Storeからダウンロード
Google Playで手に入れよう


Copyright © 2005-2024 Hatena. All Rights Reserved.
 



x