lionhairdino

@lionhairdino@hackers.pub · 53 following · 60 followers

지금까지 다루어 봤던 언어는 아래와 같습니다. MSX Basic Z80 Assembly Pascal GW-Basic C Macromedia Director Visual Basic PHP Flash Actionscript C++ Javascript

그리고 지금은, 하스켈을 비즈니스에 쓰려고 몇 년간 노력하고 있습니다. 지금 상태는, 하스켈 자체를 연구하는 게 아니라, 하스켈 (혹은 함수형 언어) 이해가 어려운 이유를 연구하는 아마추어 연구가쯤 되어버렸습니다. 하스켈 주제로 블로그를 운영 중이지만, 아직은 하스켈 프로그래머라고 자신 있게 말하진 못하고 있습니다. 가끔 이해에 도움이 될만한 측면이 보이면, 가볍게 아이디어를 여러 SNS에 올려보곤 하는데, 그다지 프로그래머에게 쓸모 있는 내용이 포함되진 않는 것 같습니다.

Blog
lionhairdino.github.io
0
0

엑스와 쓰레드에서 모나드글을 가끔 올려서, 함수형 프로그래머분들을 "낚는데요". (이 거 좀 더 좋은 표현이 없을까요? ㅎ) 방금 전, SICP 역자 분으로 보이는 분(추정)이 팔로우를 해주셨네요! 해커스펍으로 모셔 오려고 하는데, 쓰레드는 DM이 없나봐요.

1

원숭이가 키보드를 쳐도 수 억번 치면 확률상 실제 동작하는 프로그램이 나오는데, LLM이 로컬에서 브루트포스를 할 수 있는 때가 오면, 테스트 통과 조건만 깔짝대면 완성된 프로그램이 나오는 때가 얼마 안남았네요.

0
0

하스켈 위클리를 받아보는데, 끊임없이 블로그 글들이 새로 올라 옵니다. 제가 전공자가 아니라서 그런가, 확실히 포멀한 책과는 다른 방식으로 얻는 게 있습니다. 이런 글들이 누적되는 게 건강한 생태계로 가는 유일한 길 아닐까 싶어요.

1
0
0
0
main = do
  n <- getLine
  putStrLn $ "hello " <> n

설명해야 될 게 한가득인데, 나중에, 나중에 하며 넘어가야 한다. 꼭 Lazy 평가처럼 말이다. 전통적인 "hello world"에서 출발하지 않아도 되는 것 아닐까? 첫 언어가 아닌 분들한테는, Writer 혹은 State 만들기부터 시작하면 어떨까? 단, "모나드"라고 말하지 않고.

2
0
1
0
0
2

배포distribute 配布 (유사어 배치排置: 일정한 간격으로 벌여 놓다)
신문이나 책자 따위를 널리 나누어 주다

배치deploy 配置
군대를 전장에 배치하듯, 비즈니스 서비스에서 서버를 현장에 배치한다. 실전을 뛰게 배치한다.

"새로 만든 앱을 배치해서 사용자에게 배포했어"

1
1
0
1
0

완전한 검정 배경에 하얀 글자는 대비가 높아, 눈에 잔상이 남습니다. 눈의 피로를 덜기 위해 다크 모드를 주 톤으로 선택했다면, 대비를 적당 수준으로 낮춰야 합니다. 나이가 올라갈 수록 영향을 받습니다. 모르시는 분들이 많은 것 같습니다.

1
1
1

무려 4년 전에 패터슨 조건을 공부하고 정리 해 놨는데, 패터슨 조건이란 말을 보고, "어, 저거 어디서 들어 본 건데..."하고 있다. 입력이 누적되지 않고, 점점 밑 빠진 독처럼 새 나간다... 씁쓸하네...이거.

2

해커스펍에서 댓글을 달 때, 굳이 @로 아이디 언급을 하지 않아도, 원 글과 타래는 연관 지어지는 거지요? 타래에 참여하고 있는 분들이 여럿이라면, 다 언급을 해야 하는 거고, 한 분이라면 굳이 언급하지 않아도 되는 거고요?

1
0

어디까지나 재미로 쌍대dual을 이해하기 위한 훈련을 하고 있습니다. (※ 리스트는 []에서 extract할 게 없어 모나드의 쌍대인 코모나드가 정의되지 않아 NonEmpty 타입으로 테스트 했습니다.)

λ> join $ (1:|[2]):|[3:|[4]]
1 :| [2,3,4]

λ> duplicate $ 1:|[2,3]
(1 :| [2,3]) :| [2 :| [3],3 :| []]

λ> join $ duplicate $ 1:|[2,3]
1 :| [2,3,2,3,3]

duplicate :: w a -> w (w a)join :: m (m a) -> m a를 연속으로 하면 처음 구조로는 돌아 오지만, 완전히 값까지 같은 상태로 돌아 오진 않습니다.
(완벽히 같은 곳으로 돌아오는 걸 역inverse이라 부르고, 역인 관계 두 연산을 합치면 id가 됩니다. Not처럼 역이 듀얼인 경우도 있습니다.)
("우편물 발송, 수취는 듀얼 관계지만, 뭘 보내고 받았는지까지 보는 건 아니다." 비유와 맞을지 모르겠습니다.)

"미래는 코모나드적이다"란 말을 만나곤 하는데, 이는 미래는 어차피 과거 조합으로 정해질 수 있는 모양 중 하나란 뜻으로 보입니다.

재미로, 모나드와 코모나드 비교를 한 문장으로 표현하면,
“모나드의 미래는 알 수 없지만, 코모나드의 과거는 지금을 만들 수 있었던 정해진 경우의 수들이다.”

고정된 환경값 하나를 넣어주는 Reader 모나드는, 즉 매 번 이펙트가 똑같다면, 과거나 미래나 같으니, 모나드와 코모나드의 동작이 같게 나오는 걸로 보입니다.

그래서, 최종 쌍대dual를 비전공자의 교양 수준의 말로, 최대한 똑 떨어지게 설명하면, 구조를 반대로 뒤집어도 성립하는 대칭성이다.

@ailrunAilrun (UTC-5/-4) 님 설명 참고: "쌍대란 쌍대의 쌍대가 자기 원래의 대상과 같은 무언가"

0
0

적용을 주목해서 보면
a->b, b->c 합성의 구현은 a에 a->b를 적용 $의 체이닝으로 볼 수 있다.
b->c $ a->b $ id a

λ> (+1) $ (+2) $ 3

a->mb, b->mc 합성은 ma에 a->mb를 적용 >>=의 체이닝
return a >>= a->mb >>= b->mc

λ> Just 3 >>= (\x -> Just (x+1)) >>= (\x -> Just (x+2))

wa->b, wb->c 합성은 wa->b를 wa에 적용 extend의 체이닝
wb->c extend (wa->b extend duplicate wa)

λ> (\(Identity x) -> x+1) `extend` (\(Identity x) -> x+2) (duplicate (Identity 3))

이런 눈으로 보면, Functor 적용 <$>, Applicatives 적용<*>(이 둘은 다른 결에 있긴 하지만) 등 이 덜 낯설게 보인다.
(코모나드 정리 노트 중 일부입니다.)

0
1
1
1

파폭에서 탭 고정pinning을 해서 SNS들을 쓰고 있는데요. 알림 박스의 빨간점이, 다른 서비스들 처럼 파비콘에도 찍히면 좋겠는데요.(그림에서 링크드인은 새 글도 있고, DM도 있고) 아직 기능이 없으면 조용히 기다리려 했는데, 알림 박스 기능이 이미 있으니, 뭔가 어렵지 않은 작업으로 되지 않을까 싶어 글 남깁니다.

탭 고정에서 보이는 파비콘
1

글을 한 방에 써야되는데, 빠진 말이 생각나 댓을 달면, 타임라인에 중복이 너무 많이 나와 진상 유저가 된 느낌이 드네요 ^^;; 댓의 원 글이 안나와야 되는 것 아닐까 싶어요. 클릭해서 들어가면 타래를 보고... 개인 의견입니다.

0

패스키 개념이 없어, 검색에 의존해서 NixOS, 파이어폭스, 인증 장비는 스마트폰으로 어찌 해보려 했더니, 안되는 건가 봅니다. PC에서 기존 메일 방식으로 로그인 하고, 아이폰에서는 패스키로 로그인 해야겠습니다.

1

아주 오래 전, 스콧마이어스 책을 곽용재님 번역으로 봤었는데, (아는 분은 아니고, 이 분 C++ 번역 책을, 번역책으론 드물게 좋아합니다.) 오, 스콧의 정리가 여러 사람의 시간을 살리겠구나.. 했었습니다. 근데, 지금 보면, Effective C ++ 책에 있는 내용들은, 왜 프로그래머가 조심하고, 조심하게 만들었을까 싶은 것들이 수두룩 합니다. 이런 것들은 기계가(혹은 언어 스펙이) 알아서 해야 할 일들 아닌가 싶습니다.

예전엔 스콧의 테크닉쯤은 미리 알고 있는 게 숙련자였는데, 모던? 언어들을 만지는 지금은 그 테크닉들이 다 원시적으로 보입니다. 한 때는 밥벌이에 필수 지식이었을텐데요.

0
1
1
1
1
0
1
0

(어디까지나 개인 취향입니다.) 저는 글을 다른 사람과의 대화와 비슷한 느낌을 가지고 읽습니다. 제 주변에 어떤 사람도 저에게 대화할 때, ~음, ~슴, ~함 체로 말하지 않습니다. 뭐뭐 하였음, 그래서 이랬음, 결과로 뭐뭐함 ... 좀 어색하게 들리는데요. 저만 그런가요? 몇 년 째 고맙게 보고 있는 긱뉴스가 이 정책을 고수하는데, 아직도 어색하네요.

0

이제 타래(쓰레드)만 중복 안되게 묶이고, 브라우저 파비콘에 새글 알림이 뜨면, 당분간 더 바랄게 없겠습니다...지만, 사람 마음은 간사하니 그 때 되며 또 뭐가 생기겠지요.ㅎㅎ

0
0
0

댓글을 달 때, 조그맣긴 하지만 원 글 작성자가 볼드체로 선명하게 나와 마치 현재 글의 화자인듯한 직관이 듭니다. 보통 화자 아이디를 앞에 써주는 서비스들이 많아서 그런 게 아닐까 싶은데요. (휴대폰 메시지, 디스코드, ...) 아래처럼 화살표를 넣으면 직관에 도움이 될까요?

"이 메시지는 누구에게 보내는 글입니다. 🡒 @lionhairdino"
"@lionhairdino 🡐 이 메시지는 누구의 글에 다는 댓글입니다."

아니면 세로 연결선이 있는 경우, 아예 원 글 아이디를 빼도 되지 않을까요.

완성된 제안은 아닙니다. (어느 게 누가 쓴 글이야 하고 헷갈리는 게 저만 그럴 수도 있으니...)

2