Ailrun (UTC-5/-4)
@ailrun@hackers.pub · 3 following · 44 followers
소개 - Who Am I?
- 개발자/연구원
- Haskell Language Server Admin
- PL Theorist
- Logician
- 중증 맥덕
근황 - Recent Interests
- 언어간 상호운용성(Interoperability) 연구 중
- 의존적 형이론(dependent type theory) 연구 중
- 효율적인 레이텍 조판(LaTeX Typesetting) 공부 중
- Québec 에서 제일 맛있는 Stout 마시는 중
GitHub Page
- ailrun.github.io/ko
GitHub
- @Ailrun
@bglbgl gwyng
@kodingwarriorJaeyeol Lee
@lionhairdino
제 심상이랑은 좀 다르네요. 저는 H의 중간 막대가 좀 아래로, H가 좌우로 살짝 벌어져있고 P가 좀 더 바짝 붙은 형태를 상상했습니다. Inkscape 켜서 직접 그리기에는 졸리네요 😅
슬슬 해커스펍 svg 로고를 찾을 때가 오고 있습니다.
@lionhairdino 딱 떠오르는 건 HP를 붙여서 맥주잔 모양으로 만드는 거네요
책[1]에서 문자열을 다룰 때 StrictText와 Builder의 성능을 비교하는 예제에서 Builder의 성능이 더 좋다고 설명한다. 그런데 내 PC에서 같은 코드를 실행했는데 결과가 반대로 나왔다. 이상해서 문자열 길이를 늘렸더니 책에서 말한대로 나왔다.
ghci> concatSpeedTest 50000
0.004451s
0.04721s
ghci> concatSpeedTest 500000
0.062405s
0.023449s
ghci> concatSpeedTest 5000000
0.511402s
0.205632s
Chris Martin, Julie Moronuki, 《Sockets and Pipes》 ↩︎
@curry박준규 짧을 때는 길이가 chunk size의 배수냐가 중요할 겁니다. 길 때는 평균적인 성능이 나오겠지만요.
Yacc와 같은 파서 제네레이터에 BNF를 넣으면 파서 코드가 자동으로 생성된다. 그런데 HTTP나 ActivityPub 등의 프로토콜 스펙을 입력으로 넣으면 자동으로 코드를 구현해주는 도구 어디 없나?
@curry박준규 구문론(Grammar theory)에 대한 이해도와 규약론(Protocol theory)에 대한 이해도가 차원이 달라서... 구문론 수준의 도구를 만들기는 어렵죠.
CBPV가 핫하다보니 다뤄야 할 것이 가지치기로 막 늘어난다. 어떻게하면 핵심만 다룰 수 있을까...
아이폰 사파리 가로 스크롤 원인
@lionhairdino 지금 보니까 Graphviz 이미지도 그렇네요. 이미지가 모두 그런 걸까요 아니면 Graphviz만 그런 걸까요
아이폰 사파리 가로 스크롤 원인
@lionhairdino 다른 브라우저에서도 몇몇 긴 이름들이 가로로 스크롤을 하게 만들더라고요
@ailrunAilrun (UTC-5/-4) 맞아요. 사실 저는 줄바꿈 문자라고 부르는 것보다 줄끝 문자라고 불러야 하지 않나 싶습니다.
@hongminhee洪 民憙 (Hong Minhee) 말씀대로 "줄끝 문자" 혹은 "줄마침 문자"가 더 직관적인 이름일 수도 있겠습니다.
협업을 할 때 미묘하게 거슬리는 것들
- 텍스트 파일의 마지막 줄 완성 안 하기 Posix 표준 기준으로 각 줄은 새줄 문자(line feed, '\n')로 끝나야 하며, 마지막 줄도 예외는 아님
- 그리고 위의 일이 주기적으로 재발할 때
다음 글은 CBPV에 대해서 써볼까 합니다. CBV(Call-By-Value)나 CBN(Call-By-Name)은 전공자라면 한번쯤은 들어봤을 이름이지만, CBPV는 특정 분야 석박사가 아니면 들어본 적 없을 것 같네요. 하지만 실제 컴파일러 구현(GHC지만...)도 논의되고 있는 만큼 앞으로 유명해지지 않을까 싶어 미리 다뤄보려고 합니다.
어이쿠, CBPV가 무엇의 약자인지 써놓지를 않았네요. Call-By-Push-Value의 약자입니다. "Push"가 들어가는 걸로 CBV랑은 완전히 다른 것이 되는데요, 어찌 다른지는 글에서 다뤄보도록 하겠습니다.
다음 글은 CBPV에 대해서 써볼까 합니다. CBV(Call-By-Value)나 CBN(Call-By-Name)은 전공자라면 한번쯤은 들어봤을 이름이지만, CBPV는 특정 분야 석박사가 아니면 들어본 적 없을 것 같네요. 하지만 실제 컴파일러 구현(GHC지만...)도 논의되고 있는 만큼 앞으로 유명해지지 않을까 싶어 미리 다뤄보려고 합니다.
@lionhairdino SKI도 잘 안쓰이는데 그보다 심한 Jot은 안 쓰이지 않을까요
@ailrunAilrun (UTC-5/-4) 아, 단.무.지!로 잘 해결하는 사람 못이깁니다. ㅋㅋ
@lionhairdino "잘"인지는 모르겠습니다만 다른 것도 크게 도움은 안 되더라구요 ;;
브라우저 탭 라이프
사이드 탭
트리 탭
탭 잠그기
탭 배경색 바꾸기
탭 타이틀 바꾸기 및 고정
다 설치했다니, 이제사 탭 뭉치에서 방황하는 시간이 좀 줄어드나 싶네요.
가상 데스크탑으로 구분, 브라우저 창으로 구분, 그런데도 한 브라우저당 탭을 몇 십개씩 열어 놓습니다. 마음의 여유가 없어지니, 한 주제를 오래 못 보나 싶습니다. 언제 바꾸긴 해야 할 것 같은 탭 라이프인데, 외부 요인이 생겨야 가능할 것 같습니다.
@lionhairdino 저는 그냥 30개고 40개고 켜놓고 탭 검색 기능으로 버팁니다 ㅎㅎ
@ailrunAilrun (UTC-5/-4) 낱말 선택이 정갈합니다! 저는 구어체로 주로 글을 올리다보니 뒤죽 박죽 낱말 선택을 하는데요.
@lionhairdino 어이쿠, 그리 읽힌다니 다행입니다. 반복되는 접속어도 있고 해서 부끄럽습니다만...
@ailrunAilrun (UTC-5/-4) 재밌게 잘 읽었습니다. 걱정하신 것과 다르게 저에게는 쓰신 글이 술술(?) 잘 읽혔어요. 이제 다음 글은 Dependent Haskell인가요!
@curry박준규 Dependent Haskell은 흥미로운 내용을 다루기에는 아직 너무 갈 길이 멀고... 그렇다고 동기만 다루자니 좀 심심하네요. 아마 Agda나 Coq등을 조금 다뤄보지 않을까 싶습니다. 관련 내용으로 Dependent Haskell을 좀 언급할 수는 있겠습니다.
같은 것과 같지 않은 것에 대해서 짤막한 글을 써 보았습니다. 오랜만에 국어로 쓰는 글이라 잘 읽힐지 모르겠네요.
같은 것을 알아내는 방법
Ailrun (UTC-5/-4) @ailrun@hackers.pub
이 글은 일상적인 질문에서부터 컴퓨터 과학의 핵심 문제에 이르기까지, '같음'이라는 개념이 어떻게 적용되고 해석되는지를 탐구합니다. 특히, 두 프로그램이 '같은지'를 판정하는 문제에 초점을 맞춰, 문법적 비교와 $\beta$ 동등성이라는 두 가지 접근 방식을 소개합니다. 문법적 비교는 단순하지만 제한적이며, $\beta$ 동등성은 프로그램의 실행을 고려하지만, 계산 복잡성으로 인해 적용이 어렵습니다. 이러한 어려움에도 불구하고, 의존 형 이론에서의 형 검사(변환 검사)는 $\beta$ 동등성이 유용하게 활용될 수 있는 중요한 사례임을 설명합니다. 이 글은 '같음'의 개념이 프로그래밍과 타입 이론에서 어떻게 중요한 역할을 하는지, 그리고 이 개념을 올바르게 이해하고 구현하는 것이 왜 중요한지를 강조하며 마무리됩니다.
Read more →
@ailrunAilrun (UTC-5/-4) 저는, 상단의 카테고리 중 "게시글만"을 보고, 다른 서비스와 차별점이 이거구나 싶었습니다. 개발자 선수분들이 "투고"한 것들이, 적당한 속도로 쌓여 가면 좋겠습니다.
@lionhairdino 재활의 시발점으로 요새 하고 있는 일인 Conversion checker에 대한 글이나 좀 써 보아야겠습니다.
@ailrunAilrun (UTC-5/-4) 저는, 상단의 카테고리 중 "게시글만"을 보고, 다른 서비스와 차별점이 이거구나 싶었습니다. 개발자 선수분들이 "투고"한 것들이, 적당한 속도로 쌓여 가면 좋겠습니다.
@lionhairdino 국어 글쓰기 재활을 좀 해 보아야겠네요. 일전의 블로그 투고 연재의 "실패"는 너무 큰 조각을 한 번에 쓰려고 했기 때문 아닌가 싶은데, 이런 매체에서의 글쓰기는 더 세밀한 조각으로 나눌 수 있지 않을까 싶네요.
@ailrunAilrun (UTC-5/-4) 저도 궁금해서 질문을 했었습니다!
@curry박준규 그렇군요. 저는 기본적으로 "조용히 공개"를 항상 사용할 것 같은데, 기본으로 설정하는 방법이 있으면 좋겠네요.
기능이 여럿 있는데, 그 상세를 잘 모르겠는 것이 많군요. 이를테면 "공개"와 "조용히 공개"의 차이점이 제게는 직관적이지 않네요. 무슨 차이인지 아시는 분이 있다면 알려주시면 감사하겠습니다.
@ailrunAilrun (UTC-5/-4) 어서오세요. 반갑고 반갑습니다~
@lionhairdino 안녕하세요. 이런 매체로는 오랜만이네요.

