Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Lisp and Scheme

Name: Anonymous 2007-03-08 8:14 ID:fc2iv5gF

Why is this shit still around? Didn't Haskell obsolete it 20 years ago?

Compare map:

 (define (map f lst)
   (let loop ((lst lst)
              (res '()))
     (if (null? lst)
       (reverse res)
       (loop (cdr lst)
             (cons (f (car lst)) res)))))

vs.

 map f []     = []
 map f (x:xs) = f x : map f xs

Name: Anonymous 2007-03-08 8:20 ID:PciHwIt7

Yeah, and the Haskell version isn't strict. I.e. if one application of f to an element of the list produces _|_, the program won't be affected unless it actually requires evaluation of the element. I.e. if that part of the result list is never used, well, nothing happens!

Contrast with the scheme version, where if "f" becomes _|_ at any stage, the whole evaluation of map falls down right there. I've heard that there's "optional" lazy evaluation available for Scheme somehow, but I don't quite see how Haskell's default behaviour could be found there without syntax contortions. The Haskell "map" is two really short lines for fuck's sake.

Name: Anonymous 2007-03-08 8:52 ID:8iiPARSk

Wow. Way to write an unnecessarily verbose implementation in lisp just to claim that it sucks.

(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))


Also Haskell wasn't around 20 years ago. You idiot.

Name: Anonymous 2007-03-08 8:57 ID:lf8KjFgA

Wrong, Haskell is 20 years old.

Name: Anonymous 2007-03-08 9:15 ID:8iiPARSk

>>4
The decision to form a committee to start work on a language to replace the plethora of lazy functional languages that had sprung up around that time was made in 1987. The first Haskell report wasn't ready until 1990. You can hardly claim that Haskell sprung into existence at that 1987 meeting.

(source: http://research.microsoft.com/~simonpj/papers/history-of-haskell/history.pdf)

Name: Anonymous 2007-03-08 9:52 ID:5xEvRgGA

Pythonic is better:
map = lambda f, l: l and [f(l[0])] + map(f, l[1:]) or []

Name: Anonymous 2007-03-08 10:31 ID:fc2iv5gF

>>3
That's what it says on wikipedia. I couldn't implement it myself because I find scheme unreadable, sorry.

Name: Anonymous 2007-03-08 10:53 ID:8iiPARSk

>>6
Just gtfo.

>>7
You fail almost as hard as wikipedia does.

Name: Anonymous 2007-03-08 10:57 ID:8iiPARSk

>>7
PS: I just checked out the wikipedia article and found that the simple definition is just a few lines above the version you copypastaed. So you fail doubly hard.

Name: Anonymous 2007-03-08 12:02 ID:fc2iv5gF

>>9
But that one's not constant space.

Name: Anonymous 2007-03-08 12:42 ID:8iiPARSk

>>10
It's equivalent to the Haskell implementation in >>1

Name: Anonymous 2007-03-08 13:14 ID:fc2iv5gF

map f xs = [f x | x <- xs]

Name: Anonymous 2007-03-08 13:16 ID:8iiPARSk

>>12
That's cheating since list comprehensions are just sugar for map and filter.

Name: Anonymous 2007-03-08 13:36 ID:fc2iv5gF

Okay here's a challenge to you Lisp heads then: write a function that takes a list of numbers X and an arbitrary list Y and splits Y into sublists the size of x1, x2, x3,...

in other words:
f [2,5,0,3] [1..15] == [[1,2],[3,4,5,6,7],[],[8,9,10],[11,12,13,14,15]]

here's the Haskell version:

f = foldr (\n r -> splitAt n >>> second r >>> uncurry (:)) return

Name: Anonymous 2007-03-08 13:37 ID:Heaven

>>13
Syntactic sugar isn't cheating, it's part of what makes a language good.

Name: Anonymous 2007-03-08 14:29 ID:0K1rHNcu

>>14
f = foldr (\n r -> splitAt n >>> second r >>> uncurry (:)) return

i don't care how long the lisp implementation of this would be; that code is just plain unreadable

Name: Anonymous 2007-03-08 14:29 ID:8iiPARSk

>>15
It's cheating when you're effectively just saying map = map.

Name: Anonymous 2007-03-08 15:05 ID:HAXZGHRF

Pythonic is still better:
map = lambda f, s: [f(i) for i in s]

Name: Anonymous 2007-03-08 15:51 ID:+zfmzq04

>>18
One word.  The automatic failure by posting something in Python.  Thread over.

Name: Anonymous 2007-03-08 16:05 ID:0K1rHNcu

Perl is better:
map

Name: Anonymous 2007-03-08 16:52 ID:HAXZGHRF

Python is better:
map = map

Name: Anonymous 2007-03-08 18:08 ID:y8b7j2FS

lol Python tries to emulate Haskell constructions like:
[f i | i <- s]

Name: Anonymous 2007-03-09 1:15 ID:D6jfNXCs

composing function in phyton: compose(f, compose(h, g))

FAIL FAIL FAIL

Name: Anonymous 2007-03-09 12:55 ID:30NVleim

>>3
win rar

>>23
agreed python is mega fail

Name: Anonymous 2007-03-09 14:39 ID:XDJhv50N

C++:

std::map<key_type, val_type> map;

Name: Anonymous 2007-03-09 15:02 ID:EmXvn2/u

>>25
Fail.

Name: Anonymous 2007-03-09 15:26 ID:Elye7AiN

C#:

Systems.Collections.Generic.HashMap

Name: Anonymous 2007-03-09 16:17 ID:30NVleim

>>25
>>27
LOL @ FAGS WHO DONT KNOW WHAT MAP IS

Name: Anonymous 2007-03-10 5:47 ID:YeZ1LdoH

BITCHES DON'T KNOW ABOUT MY BASIC FUNCTIONAL PROGRAMMING TOOLS

Name: Anonymous 2007-03-10 6:05 ID:wGCvAh2I

Name: Anonymous 2007-03-10 6:38 ID:YeZ1LdoH

>>30
USE XOR MOTHERFUCKER

Name: Anonymous 2007-07-14 11:02 ID:2D5LhY9n

>>14
f = foldr (\n r -> splitAt n >>> second r >>> uncurry (:)) return
my eyeballs are fuxx0r3d

Name: Anonymous 2007-07-14 11:12 ID:S+VYkp2c

>>30
Pythonic is better
b, a = a, b

Name: Anonymous 2007-07-14 11:20 ID:2D5LhY9n

2007-03-10 06:05  ID:wGCvAh2I
2007-07-14 11:12  ID:S+VYkp2c
So you did it in 3005 hours.  Yay for imperative programming.

Name: Anonymous 2007-07-14 11:43 ID:13pZjECx

uotse shdelkeyadze

Name: Anonymous 2007-07-14 12:08 ID:2D5LhY9n

>>35
Я ГРУЗИН

Name: Anonymous 2007-07-14 12:11 ID:13pZjECx

I GRUZIN

Name: Anonymous 2007-07-14 14:08 ID:+NYZrvYp

What you faggots are forgetting is that faggot shit like list comprehensions and all that syntactical sugar can be added to lisp . With lisp you can get as much syntactical sugar as you want.

Macros faggot, do you speak them?

Name: Anonymous 2007-07-14 15:23 ID:4U/+81ZL


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER


(define (map f list)
  (if (null? list) list
      (cons (f (car list)) (map f (cdr list)))))

THREAD OVER

Name: Anonymous 2007-07-15 20:17 ID:3OgO/mI2

first of all, lisp's map is different than haskell map. Lisp's map takes a variable number of arguments, so you can write something like

(map + '(1 2 3) '(4 5 6)) --> (5 7 9)


still, if you want a nice definition of a haskell-like map in scheme, I'm guessing it would be something like

(define (map f list)
  (foldr nil (lambda (e acc) (cons (f e) acc)) list))

which of course is the equivalent of

map f list = foldr [] (/ e acc -> (f e):acc)) list

which of course may seem shorter, but only because of syntax, and if haskell macros are any indication of, it matters little.
(The same applies to pattern matching vs. accesor functions, unless you like 20+ functions breaking when you add a field in your data type).

Name: Anonymous 2007-07-15 20:46 ID:cxlH6lUq

(defmacro filter ((predicate argument) sequence
                  &key (start 0 startp) (end nil endp))
  (let ((elt (gensym "ELT")))
    `(remove-if-not (lambda (,elt)
                      (,predicate ,elt ,argument))
                    ,(if (or startp endp)
                         `(subseq ,sequence ,start ,end)
                         sequence))))

(defmacro << (&rest body)
  `(append ,@body))

(defmacro [] (&rest body)
  `(list ,@body))

(defmacro 1-n (lst frst secnd &rest body)
  `(when lst
    (let ((,frst (car ,lst))
          (,secnd (cdr ,lst)))
      ,@body)))

;;;;;;;;;;;

;;; Haskell
qsort []     = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)

;;; Lisp
(defun qsort (lst) (1-n lst x xs (<< (qsort (filter (< x) xs)) ([] x) (qsort (filter (>= x) xs)))))



Thread over.

Name: Anonymous 2007-07-15 20:49 ID:MLpU7TlZ

>>40
THREAD ENDED ALREADY

Name: Anonymous 2007-07-15 20:58 ID:cxlH6lUq

>>15
If syntactic sugar (see: pattern matching) makes a language good, then a language that allows you to define your own syntactic sugar is even better.

...

HOW DO I UNDERSTOOD THE IMPLICATIONS OF MACROS?

Name: Anonymous 2007-07-15 21:00 ID:TZF+Q6RH

>>6

Why is this shit still around? Didn't C obsolete it 20 years ago?

Name: Anonymous 2007-07-15 22:38 ID:Heaven

Type inference is for fags

Name: Anonymous 2007-07-15 23:30 ID:3OgO/mI2

>>14
why? this is almost as short (a few characters of difference) and cleaner
f [] l2 = l2
f t:r l2 = frs:f r rst
    where (frs, rst) = splitAt t l2

contrast:
f [] l2 = l2 f t:r l2 = frs:f r rst where (frs, rst) = splitAt t l2
f = foldr (\n r -> splitAt n >>> second r >>> uncurry (:)) return

of course lisp version is similar to this.

Name: Anonymous 2007-07-15 23:36 ID:9rG+Dl7I

Name: Anonymous 2009-01-14 13:36

WHBTC

Name: Anonymous 2010-12-09 14:02

Name: Anonymous 2011-02-04 18:52

Name: Anonymous 2011-04-06 9:37

Great thread. Why don't we have threads as good as this anymore?

Name: Anonymous 2011-04-06 9:48

>>53
because assholes like yourself spend all your time whining about mythic "good old days" instead of making interesting posts.

Name: Anonymous 2011-04-06 10:14

mapping functions come with the language by default, why rewrite them, besides you chose a pretty verbose way to write it, it can be written much simpler. Lisp can be as expressive as Haskell, without the syntax mess.

Name: Anonymous 2011-04-06 10:18

>>55
Haskell's syntactic sugar is quite sweet and optional. It is  up to yourself if to decide to do your function definitions using only brackets.

Name: Anonymous 2011-04-06 11:42

Also Haskell wasn't around 20 years ago. You idiot.
You have to count Haskell's age in dog years.

>>41
So you have a lisp version which is only slightly longer and not that much uglier and all you had to do was write ugly macrocode of 10 times the length of the actual code.

>>14
forward feed? go back to f#

Name: Anonymous 2011-04-06 12:03

>>14

f [] ys = [ys]        
f (x:xs) ys = take x ys : f  xs (drop x ys)

-- call like so:
-- f [2,5,0,3] [1..15]


more readable imho

Name: nambla_dot_org_rules you 2011-04-06 12:37

"map f []     = []
 map f (x:xs) = f x : map f xs
"

That map function is wrong in Haskell. The first line should be

map f _ [] = []

and not

f [] = []

Remember, map in Haskell operates on the list itself. Now get with the program and stop thinking like a C++ weenie.

Name: Anonymous 2011-04-06 12:45

>>59
i don't even

Name: Anonymous 2011-04-06 13:43

>>59
i do odd

Name: Anonymous 2011-04-06 17:51

Yeah, it's not like there hasn't been portable pattern matching in Scheme for about 15 years... oh wait.

Name: Anonymous 2011-04-06 17:57

Name: Anonymous 2011-04-06 17:59

>>57
Hahaha

Name: A FEW FACTS... 2011-04-06 19:20


Lisp              | Haskell
------------------|------------------
map f l           | map f l
map list l1 l2    | zip l1 l2
map list l1 l2 l3 | zip3 l1 l2 l3
map f l1 l2       | zipWith f l1 l2
map f l1 l2 l3    | zipWith3 f l1 l2 l3



Lisp

(defmacro show (&rest xs) ...)


Haskell

instance  (Show a, Show b) => Show (a,b)  where
  showsPrec _ (a,b) s = show_tuple [shows a, shows b] s

instance (Show a, Show b, Show c) => Show (a, b, c) where
  showsPrec _ (a,b,c) s = show_tuple [shows a, shows b, shows c] s

instance (Show a, Show b, Show c, Show d) => Show (a, b, c, d) where
  showsPrec _ (a,b,c,d) s = show_tuple [shows a, shows b, shows c, shows d] s

instance (Show a, Show b, Show c, Show d, Show e) => Show (a, b, c, d, e) where
  showsPrec _ (a,b,c,d,e) s = show_tuple [shows a, shows b, shows c, shows d, shows e] s

instance (Show a, Show b, Show c, Show d, Show e, Show f) => Show (a,b,c,d,e,f) where
  showsPrec _ (a,b,c,d,e,f) s = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g)
        => Show (a,b,c,d,e,f,g) where
  showsPrec _ (a,b,c,d,e,f,g) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h)
         => Show (a,b,c,d,e,f,g,h) where
  showsPrec _ (a,b,c,d,e,f,g,h) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g, shows h] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i)
         => Show (a,b,c,d,e,f,g,h,i) where
  showsPrec _ (a,b,c,d,e,f,g,h,i) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g, shows h,
                      shows i] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j)
         => Show (a,b,c,d,e,f,g,h,i,j) where
  showsPrec _ (a,b,c,d,e,f,g,h,i,j) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g, shows h,
                      shows i, shows j] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k)
         => Show (a,b,c,d,e,f,g,h,i,j,k) where
  showsPrec _ (a,b,c,d,e,f,g,h,i,j,k) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g, shows h,
                      shows i, shows j, shows k] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k,
          Show l)
         => Show (a,b,c,d,e,f,g,h,i,j,k,l) where
  showsPrec _ (a,b,c,d,e,f,g,h,i,j,k,l) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g, shows h,
                      shows i, shows j, shows k, shows l] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k,
          Show l, Show m)
         => Show (a,b,c,d,e,f,g,h,i,j,k,l,m) where
  showsPrec _ (a,b,c,d,e,f,g,h,i,j,k,l,m) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g, shows h,
                      shows i, shows j, shows k, shows l, shows m] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k,
          Show l, Show m, Show n)
         => Show (a,b,c,d,e,f,g,h,i,j,k,l,m,n) where
  showsPrec _ (a,b,c,d,e,f,g,h,i,j,k,l,m,n) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g, shows h,
                      shows i, shows j, shows k, shows l, shows m, shows n] s

instance (Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h, Show i, Show j, Show k,
          Show l, Show m, Show n, Show o)
         => Show (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) where
  showsPrec _ (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) s
        = show_tuple [shows a, shows b, shows c, shows d, shows e, shows f, shows g, shows h,
                      shows i, shows j, shows k, shows l, shows m, shows n, shows o] s

Name: Anonymous 2011-04-06 19:23

LISP:

(`+` 3 4 5 ?) 6


Haskell:

(3 `f` 4 `f` 5 `f`) 6


LISP:

len a b -> sqrt 0+@(map ?^2 b-a)

Haskell:

len (Point x1 y1) (Point x2 y2) = sqrt $ fromIntegral ((x2-x1)^2 + (y2-y1)^2)


LISP:

f [x _ @xs] -> x+xs,f

Haskell:

f = sum . map snd . filter (odd.fst) . zip [1..]



LISP:

clockwise[x@xs]->[@x@xs,transpose,rev,clockwise]

Haskell:

clockwise (x:xs) = x ++ (clockwise . reverse . transpose) xs
clockwise _ = []


LISP:

factorial 1->1; n->n*(factorial n-1)


Haskell

product :: [Integer] -> Integer
product []     = 1
product (x:xs) = x * product xs
factorial n = procuct [1..n]

-- alternatively:
factorial::Integer->Integer
factorial 0=1
factorial n=n*factorial(n-1)

Name: Anonymous 2011-04-06 19:34

>>66
Nice LISP, fagstorm.

Name: Anonymous 2011-04-06 19:40

For me, the word "static" associates with: conservativity, spongers from academia, type theory, OOP, inconvenience, top-down nightmare, traditional pseudoscience, complicated religion, design patterns, 1984, jewish mathematics, verbose ugliness, overengineered.

Name: Anonymous 2011-04-06 19:48

>>66
Not Lisp.
>>65
#t

Name: Anonymous 2011-04-06 19:56

Haskell has operators. Tons of them.

! <+> <> +++ <-> <|> // <$> </> >< ## $$ << <?> ==> !! # $+$ /=? <&>
|+ |- &&? .* .|. <$$> <.> <||> ==? ? \\/ ||? !> $ && &&& &&@ *. -<-
-=- ->- . .&. .&.? .= /=@ /\\ <*> <+ <. <//> <:> <== <=> <=? <=@ <?
<@ <|*|> =<< ==@ >-> >. >:> >=> >=? >=@ >>> >? >@ \\\\ ^ ^^ |* |> ||
||* ||+ ||@ ||| ~: ~? ~~ !!! !-> !.! !>>= $! $$= $=! $> $~ $~! % %:
%= & &&. &> * *& *&&&* *&* ** *** ***** *<<<* *=* *=>* *> *>>>* *|*
+ ++ ++>> +/+ +: += +> +>> - -!- --> -->> -/\\- -::- -< -<=- -=> -?-
-?> -?>> -\\/- -| -|- -~> .$. .+ .++. .--. .-. .->. ... .... ./. ./=
.: .< .<= .== .=> .> .@. .\\. / /+/ /- /=&& /=. /==> /=> /=|| />/ /|
/~ /~? :+ :-> <$ <$?> <* <**> <++ <++> <-$ <-- </=? <<! <<< <<^ <<|
<<~ <=. <==? <@> <|?> =$$= =$= =*= =/= =< =<<! =<= =<>= ==&& ==. ===
===> ==|| =>> =~ =~~ >*> >++> >-- >=. >== >===> >=>=> >> >>= >>=#
>>@ >>^ >|< >||< ?&&? ?+ ?? ?||? @=? @? @?= @@ \\== ^# ^% ^. ^<< ^>>
^^. ^^^ |*| |-| |. |..| |.| |/ |// |: |<- |= |=| |? |\\ |\\\\ ||.
|||| ~=? ~> ~?= ~|||~ ~||~ ~|~ ~~> ~~? ~~~>

Name: Anonymous 2011-04-06 20:24


$ len "map f [x@xs] -> [x,f @(map f xs)]"
33

$ len "map f (x:xs) = f x : map f xs; map f [] = []"
44


That is why.

Name: Anonymous 2011-04-06 20:27

>>70
Perl 6 has a periodic table of operators, beat that.
http://glyphic.s3.amazonaws.com/ozone/mark/periodic/Periodic%20Table%20of%20the%20Operators%20A4%20300dpi.jpg
N.B.: It's outdated.

Name: Anonymous 2011-04-07 5:51

>>63
I was referring to Andrew Wright's matcher written ~1996. Nowadays you'd use Alex Shinn's which uses syntax-rules and gets rid of most of the features no-one actually uses.

Name: 2012-01-25 6:51

Name: Anonymous 2012-01-25 6:52

              JJJJJJJJJJJEEEEEEEEEEEEEEEEEEEEEEWWWWWWWW                           WWWWWWWW   SSSSSSSSSSSSSSS
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::W SS:::::::::::::::S
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::WS:::::SSSSSS::::::S
              JJ:::::::JJEE::::::EEEEEEEEE::::EW::::::W                           W::::::WS:::::S     SSSSSSS
                J:::::J    E:::::E       EEEEEE W:::::W           WWWWW           W:::::W S:::::S         
                J:::::J    E:::::E               W:::::W         W:::::W         W:::::W  S:::::S         
                J:::::J    E::::::EEEEEEEEEE      W:::::W       W:::::::W       W:::::W    S::::SSSS      
                J:::::j    E:::::::::::::::E       W:::::W     W:::::::::W     W:::::W      SS::::::SSSSS 
                J:::::J    E:::::::::::::::E        W:::::W   W:::::W:::::W   W:::::W         SSS::::::::SS
    JJJJJJJ     J:::::J    E::::::EEEEEEEEEE         W:::::W W:::::W W:::::W W:::::W             SSSSSS::::S
    J:::::J     J:::::J    E:::::E                    W:::::W:::::W   W:::::W:::::W                   S:::::S
    J::::::J   J::::::J    E:::::E       EEEEEE        W:::::::::W     W:::::::::W                    S:::::S
    J:::::::JJJ:::::::J  EE::::::EEEEEEEE:::::E         W:::::::W       W:::::::W         SSSSSSS     S:::::S
     JJ:::::::::::::JJ   E::::::::::::::::::::E          W:::::W         W:::::W          S::::::SSSSSS:::::S
       JJ:::::::::JJ     E::::::::::::::::::::E           W:::W           W:::W           S:::::::::::::::SS
         JJJJJJJJJ       EEEEEEEEEEEEEEEEEEEEEE            WWW             WWW             SSSSSSSSSSSSSSS 

Name: Anonymous 2012-01-25 6:52

              JJJJJJJJJJJEEEEEEEEEEEEEEEEEEEEEEWWWWWWWW                           WWWWWWWW   SSSSSSSSSSSSSSS
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::W SS:::::::::::::::S
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::WS:::::SSSSSS::::::S
              JJ:::::::JJEE::::::EEEEEEEEE::::EW::::::W                           W::::::WS:::::S     SSSSSSS
                J:::::J    E:::::E       EEEEEE W:::::W           WWWWW           W:::::W S:::::S         
                J:::::J    E:::::E               W:::::W         W:::::W         W:::::W  S:::::S         
                J:::::J    E::::::EEEEEEEEEE      W:::::W       W:::::::W       W:::::W    S::::SSSS      
                J:::::j    E:::::::::::::::E       W:::::W     W:::::::::W     W:::::W      SS::::::SSSSS 
                J:::::J    E:::::::::::::::E        W:::::W   W:::::W:::::W   W:::::W         SSS::::::::SS
    JJJJJJJ     J:::::J    E::::::EEEEEEEEEE         W:::::W W:::::W W:::::W W:::::W             SSSSSS::::S
    J:::::J     J:::::J    E:::::E                    W:::::W:::::W   W:::::W:::::W                   S:::::S
    J::::::J   J::::::J    E:::::E       EEEEEE        W:::::::::W     W:::::::::W                    S:::::S
    J:::::::JJJ:::::::J  EE::::::EEEEEEEE:::::E         W:::::::W       W:::::::W         SSSSSSS     S:::::S
     JJ:::::::::::::JJ   E::::::::::::::::::::E          W:::::W         W:::::W          S::::::SSSSSS:::::S
       JJ:::::::::JJ     E::::::::::::::::::::E           W:::W           W:::W           S:::::::::::::::SS
         JJJJJJJJJ       EEEEEEEEEEEEEEEEEEEEEE            WWW             WWW             SSSSSSSSSSSSSSS 

Name: Anonymous 2012-01-25 6:52

              JJJJJJJJJJJEEEEEEEEEEEEEEEEEEEEEEWWWWWWWW                           WWWWWWWW   SSSSSSSSSSSSSSS
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::W SS:::::::::::::::S
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::WS:::::SSSSSS::::::S
              JJ:::::::JJEE::::::EEEEEEEEE::::EW::::::W                           W::::::WS:::::S     SSSSSSS
                J:::::J    E:::::E       EEEEEE W:::::W           WWWWW           W:::::W S:::::S         
                J:::::J    E:::::E               W:::::W         W:::::W         W:::::W  S:::::S         
                J:::::J    E::::::EEEEEEEEEE      W:::::W       W:::::::W       W:::::W    S::::SSSS      
                J:::::j    E:::::::::::::::E       W:::::W     W:::::::::W     W:::::W      SS::::::SSSSS 
                J:::::J    E:::::::::::::::E        W:::::W   W:::::W:::::W   W:::::W         SSS::::::::SS
    JJJJJJJ     J:::::J    E::::::EEEEEEEEEE         W:::::W W:::::W W:::::W W:::::W             SSSSSS::::S
    J:::::J     J:::::J    E:::::E                    W:::::W:::::W   W:::::W:::::W                   S:::::S
    J::::::J   J::::::J    E:::::E       EEEEEE        W:::::::::W     W:::::::::W                    S:::::S
    J:::::::JJJ:::::::J  EE::::::EEEEEEEE:::::E         W:::::::W       W:::::::W         SSSSSSS     S:::::S
     JJ:::::::::::::JJ   E::::::::::::::::::::E          W:::::W         W:::::W          S::::::SSSSSS:::::S
       JJ:::::::::JJ     E::::::::::::::::::::E           W:::W           W:::W           S:::::::::::::::SS
         JJJJJJJJJ       EEEEEEEEEEEEEEEEEEEEEE            WWW             WWW             SSSSSSSSSSSSSSS 

Name: Anonymous 2012-01-25 6:53

              JJJJJJJJJJJEEEEEEEEEEEEEEEEEEEEEEWWWWWWWW                           WWWWWWWW   SSSSSSSSSSSSSSS
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::W SS:::::::::::::::S
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::WS:::::SSSSSS::::::S
              JJ:::::::JJEE::::::EEEEEEEEE::::EW::::::W                           W::::::WS:::::S     SSSSSSS
                J:::::J    E:::::E       EEEEEE W:::::W           WWWWW           W:::::W S:::::S         
                J:::::J    E:::::E               W:::::W         W:::::W         W:::::W  S:::::S         
                J:::::J    E::::::EEEEEEEEEE      W:::::W       W:::::::W       W:::::W    S::::SSSS      
                J:::::j    E:::::::::::::::E       W:::::W     W:::::::::W     W:::::W      SS::::::SSSSS 
                J:::::J    E:::::::::::::::E        W:::::W   W:::::W:::::W   W:::::W         SSS::::::::SS
    JJJJJJJ     J:::::J    E::::::EEEEEEEEEE         W:::::W W:::::W W:::::W W:::::W             SSSSSS::::S
    J:::::J     J:::::J    E:::::E                    W:::::W:::::W   W:::::W:::::W                   S:::::S
    J::::::J   J::::::J    E:::::E       EEEEEE        W:::::::::W     W:::::::::W                    S:::::S
    J:::::::JJJ:::::::J  EE::::::EEEEEEEE:::::E         W:::::::W       W:::::::W         SSSSSSS     S:::::S
     JJ:::::::::::::JJ   E::::::::::::::::::::E          W:::::W         W:::::W          S::::::SSSSSS:::::S
       JJ:::::::::JJ     E::::::::::::::::::::E           W:::W           W:::W           S:::::::::::::::SS
         JJJJJJJJJ       EEEEEEEEEEEEEEEEEEEEEE            WWW             WWW             SSSSSSSSSSSSSSS 

Name: Anonymous 2012-01-25 6:53

              JJJJJJJJJJJEEEEEEEEEEEEEEEEEEEEEEWWWWWWWW                           WWWWWWWW   SSSSSSSSSSSSSSS
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::W SS:::::::::::::::S
              J:::::::::JE::::::::::::::::::::EW::::::W                           W::::::WS:::::SSSSSS::::::S
              JJ:::::::JJEE::::::EEEEEEEEE::::EW::::::W                           W::::::WS:::::S     SSSSSSS
                J:::::J    E:::::E       EEEEEE W:::::W           WWWWW           W:::::W S:::::S         
                J:::::J    E:::::E               W:::::W         W:::::W         W:::::W  S:::::S         
                J:::::J    E::::::EEEEEEEEEE      W:::::W       W:::::::W       W:::::W    S::::SSSS      
                J:::::j    E:::::::::::::::E       W:::::W     W:::::::::W     W:::::W      SS::::::SSSSS 
                J:::::J    E:::::::::::::::E        W:::::W   W:::::W:::::W   W:::::W         SSS::::::::SS
    JJJJJJJ     J:::::J    E::::::EEEEEEEEEE         W:::::W W:::::W W:::::W W:::::W             SSSSSS::::S
    J:::::J     J:::::J    E:::::E                    W:::::W:::::W   W:::::W:::::W                   S:::::S
    J::::::J   J::::::J    E:::::E       EEEEEE        W:::::::::W     W:::::::::W                    S:::::S
    J:::::::JJJ:::::::J  EE::::::EEEEEEEE:::::E         W:::::::W       W:::::::W         SSSSSSS     S:::::S
     JJ:::::::::::::JJ   E::::::::::::::::::::E          W:::::W         W:::::W          S::::::SSSSSS:::::S
       JJ:::::::::JJ     E::::::::::::::::::::E           W:::W           W:::W           S:::::::::::::::SS
         JJJJJJJJJ       EEEEEEEEEEEEEEEEEEEEEE            WWW             WWW             SSSSSSSSSSSSSSS 

Name: Sgt.Kabu૎kiman憣绲 2012-05-28 23:05

Bringing /prog/ back to its people
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy

Don't change these.
Name: Email:
Entire Thread Thread List