freenode/#lisp - IRC Chatlog
Search
12:50:16
phoe
I'd translate one of the solutions from https://rosettacode.org/wiki/Stable_marriage_problem since the problem is well-documented there.
12:53:32
phoe
No, I just guess nobody ended up doing it for any reason. Things in the programming world appear only if someone writes them.
12:53:47
phoe
The algorithm seems to be four functions in total. Translating it from any other language would be pretty simple.
12:55:23
phoe
You have both a very good explanation of the problem and the algorithms AND solutions in multiple other languages. Translating this to CL is nothing that I'd call complicated.
12:56:35
nirved
looks too simple to bother, almost same number of lines as the pseudo-code here https://en.wikipedia.org/wiki/Stable_marriage_problem#Algorithm
12:57:02
phoe
wxie: first you translate it from another programming language, and then fix up the code so it's a bit more idiomatic CL.
12:58:02
phoe
I've seen CL being used to write object-oriented code, functional code, imperative code, linear code, declarative code, asynchronous code and a few of other lesser known paradigms. Hard to say that any of these were "unlispy".
12:59:11
phoe
The part of what I'd call "lispiness" is that a person X comes up and say "hey, I just invented this new programming paradigm!" and Common Lisp is all like "come at me bro"
13:00:55
wxie
for example, I come up with (push (cons (car pair) (cadr pair)) where pair is ((w1 . m1) (w2 . m2)). I am thinking if there is other ways to do it.
13:02:11
phoe
so basically, you have a two-element list, and you want to make a cons from that list, and push that cons to some kind of place called pairs.