Hoomla

“Symmetry is a complexity reducing concept […]; seek it everywhere.”

Instängd

clock maj 3, 2009 13:30 by author kullbom

Under senare tids programmering i C# har en känsla av instängdhet vuxit sig starkare och starkare hos mig.Jag kommer att tänka på en av de stackars katterna från Lambdacats och tror mig uppleva något liknande. För egen del har jag inte gått så långt att jag känner mig instängd av sidoeffekter i allmänhet. Den ständiga närvaron av null och exceptions är dock minst sagt frustrerande och kan beskrivas som att man konstant befinner sig inuti en Maybe-monad och en Error-monad på en gång utan att ha någon som helst möjlighet att någonsin komma därifrån (en hemsk känsla).

Till och med grundläggande och till synes helt oskyldiga operatorer som +, - och × (för att inte tala om /) är så opålitliga att de låtsas vara fria fast de hör hemma i både en och två monader (Overflow, DivisionByZero etc.).

Även om situationen i Haskell i allmänhet är bättre har man där, t.ex., valt att ha en definition av head av den olyckliga typen [a] -> a. Den skrämmande beskrivningen lyder: “Extract the first element of a list, which must be non-empty.”.

Om man som jag under vissa tider helt har undvikit arrayer av rädsla för IndexOutOfRange skulle man kanske önskat sig en något rimligare typ eller att man helt avstått från en definition av head m.fl.

Vi kan nu antingen acceptera vår eländiga “monadiska situation” och gå medpå att allt av olika skäl kan gå sönder eller - förgäves - fortsätta låtsas som om man med hjälp av Options, Exception-unioner och liknande skall kunna slå sig ut.

Men hur och vad vi än gör så gör vi det hela tiden inifrån de eländiga monaderna. Vi måste ut!

Bli den första att värdera denna post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Salsa: .Net från Haskell

clock oktober 10, 2008 16:20 by author kullbom

Idag annonserade en Andrew Appleyard Salsa: A .NET Bridge for Haskell på Haskell Cafe.

Projektet ser ut att vara en del av hans Bachelor of Science (under ledning av Manuel M. T. Chakravarty):

   A .NET Bridge for Haskell: Dancing with the Devil

...vars abstract får beskriva det hela:

Libraries are essential for software development in any language. Access to the extensive collection of high-quality libraries provided by the Microsoft .NET Framework is, understandably, something that many programmers require. This thesis addresses the challenge of providing access to .NET libraries from Haskell by developing a runtime bridge, called Salsa, between their respective runtime systems. In doing this, a new technique for binding object-oriented subtyping and method overloading in Haskell was developed, which is type safe and has a convenient syntax.

(Sedan tidigare fanns HOC: A Haskell to Objective-C Binding - sida hos Google Code - med liknande syfte...)

Bli den första att värdera denna post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


En glömd monad

clock augusti 11, 2008 20:25 by author kullbom

Efter att precis ha läst om “The Marvels of Monads” av “Yet Another Language Geek” - om monader i C# - insåg jag att den är en av de mer begripliga artiklarna i ämnet och samtidigt en av de få (utanför Haskell-världen) som tar upp de monadiska lagarna.

Bli den första att värdera denna post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Tre lokala vävbidrag

clock augusti 11, 2008 16:52 by author kullbom

För att väva ihop hoomla ytterligare lite länkar jag härmed in tre dokument i olika stadier av utveckling:

Bli den första att värdera denna post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Liskov och annan spännande läsning

clock juli 20, 2008 17:11 by author kullbom

De flesta har hört talas om Barbara Liskovs “Liskov substitution principle” som en del av ett gäng “Agile Design Principles”. För den som vill sätta sig in i vad det handlar om är naturligtvis källan en bra början: “Behavioral Subtyping Using Invariants and Constraints”

För att inte tappa bort spännande texter som denna har jag börjat samla ihop länkar till olika “papers” här.

Edit: Denna diskussion i ämnet är lite kul

Bli den första att värdera denna post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


foreach och typsäkerhet

clock maj 26, 2008 23:55 by author kullbom

Edit: Då det ursprungliga inlägget i sak var fel ersätts det härmed med en länk till en korrigerad version.

Just nu värderat 4.0 av 1 människor

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5