Notes

台北市資訊服務業職業工會
希望大家用不到啦,不過我有用到過(當時用了快一年),還可以(當年是打電話給勞保局,接電話的小姐問我什麼行業,我說資訊服務,她又問住哪,我說台北市,她就給我底下這個工會的資料囉)

台北市延平北路一段22號1012室
02-25590275
02-25590280
AM 9:00~12:00 PM 2:00~5:00 (中午休息,不接電話)


140.113.241.208:123
cs94g/cs94g
cs94g1/cs94g1

hhyou.cs.nctu.edu.tw:556
223/0rzhaha

140.113.238.177
cmd//417
port 21

advance functional programming
http://www.cs.chalmers.se/Cs/Grundutb/Kurser/afp/index.html

dependent type ?

data Empty
data NonEmpty
data List x y where
Nil :: List a Empty
Cons:: a -> List a b -> List a NonEmpty

safeHead:: List x NonEmpty -> x
safeHead (Cons a b) = a


Yes, the classic approach: systematically derive programs from their
specification. The classic paper on that is

Paul Hudak. The Design of a Pretty-printing Library.
http://citeseer.ist.psu.edu/hughes95design.html

with a follow-up

Philip Wadler. A prettier printer.
http://decenturl.com/homepages.inf.ed/wadler-98-prettier-printer

The man who derives all his programs from specification is Richard
Bird. You may want to have a look at his recent sudoku solver

Richard Bird. A program to solve Sudoku.
Slides: http://icfp06.cs.uchicago.edu/bird-talk.pdf

where he starts with an apparently correct but hopelessly slow
specification and transforms it into a blazingly fast one. His
introduction to Haskell

Richard Bird.
Introduction to Functional Programming using Haskel (2nd edition).
http://decenturl.com/amazon/bird-introduction-functional

emphasizes the classic style, too.

You may think "this is all nice, but my problem is too 'soft' for
mathematical laws and properties and such". Well, if you don't search,
you won't find. Here's an example for a "soft" problem domain:

Simon Peyton Jones, Jean-Marc Eber, Julian Seward.
Composing contracts: an adventure in financial engineering.
http://decenturl.com/research.microsoft/spj-financial-contracts

Of course, the laws "of nature" governing your problem domain may be
hard to find, so it may be worth to "just implement" and let some "law
intuition" guide you. Well-known example: darcs.

let v.s where
http://www.haskell.org/haskellwiki/Declaration_vs._expression_style
http://www.haskell.org/haskellwiki/Let_vs._Where

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License