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

[BRAINFUCK] /prog/ challenge [EXPERT]

Name: /prog/ challenge master 2013-01-31 16:56

Problem: Write the shortest brainfuck program that outputs the value of 21000 in decimal, followed by a newline.  The brainfuck program must not accept any input.

Judging: The entries will be judged by their correctness (the most correct first), then by their length (shortest first), and finally by their dates of submission (earliest first).  Note that a longer correct entry wins to a shorter incorrect one.

Participating: You are required to cryptographically sign your solution (e.g. by creating a throwaway GPG key with fake info and sync'ing it to a keyserver).  This is needed so you that may claim your prize (and not an impostor).  The lack of any means of authentication leads to immediate disqualification.  You may submit as many entries as you like.

Remark. I realize that not everyone here is familiar with GPG.  This should give you a head start:
$ cat submission.txt
+++[...
$ gpg --gen-key
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 2
DSA keys may be between 1024 and 3072 bits long.
What keysize do you want? (2048) 2048
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 1y
Key expires at Fri 31 Jan 2014 04:26:47 PM EST
Is this correct? (y/N) y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Himmler (Der Henker) <heinrichh@duesseldorf.de>"

Real name: hello kitty
Email address:
Comment:
You selected this USER-ID:
    "hello kitty"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? o
You need a Passphrase to protect your secret key.

You don't want a passphrase - this is probably a *bad* idea!
I will do it anyway.  You can change your passphrase at any time,
using this program with the option "--edit-key".

(snip)

pub   2048D/0xD77B493754AB980C 2013-01-31 [expires: 2014-01-31]
      Key fingerprint = 6531 777E 6F1D BC81 2786  BE6F D77B 4937 54AB 980C
uid                 [ultimate] hello kitty
sub   2048g/0xF1AB3377C8CB418C 2013-01-31 [expires: 2014-01-31]

$ gpg --send-keys 54AB980C
gpg: sending key 0xD77B493754AB980C to hkp server pgp.mit.edu
$ gpg --clearsign -u "hello kitty" submission.txt
$ cat submission.txt.asc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

+++[...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iF4EAREKAAYFAlEK5hYACgkQ13tJN1SrmAyvSwEAtLoi4LXi1YQtJV0rbH3t4gNr
3MMBC2KmorxTRr+3HakA/RxqRTy0ARjbYDV9DG2/z5OOQb/a1S6QngsM7trHYZzd
=4/xg
-----END PGP SIGNATURE-----
$


Prize: The winner will be offered a document describing the art of infinite multiple quotation on Shitchan.  If the prize is not claimed within one week of its announcement, it will be offered to the next best submitter.

Deadline: 2013-04-01 at 00:00 UTC.


Attached: Signed version of this post.
data:application/octet-stream;base64,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

Name: Anonymous 2013-01-31 17:15

This is a SICP exercise!

Name: Anonymous 2013-01-31 22:14

Let's see if I can remember how to do this...
A
B
C
D
> E
> > F










A[o]
B [o]
C [o]
D [o]
> E [o]
> > F [o]
[/o][/o][/o][/o][/o][/o]

Name: Anonymous 2013-02-01 0:55

Fuck I always wanted to know how to expert quote. Could you guys just tell me, please?

Name: Anonymous 2013-02-01 1:01

>>4
first convert to judaism

Name: Anonymous 2013-02-01 1:04

>>5
Or you could keep your foreskin and win this challenge to get the answer.

Name: !REFhI/YQko!u2cYtIZ3RujQgda 2013-02-01 1:17

Simple and dumb solution:

+++++++++++++++++++++++++++++++++++++++++++++++++.-.+++++++.------.++++.-----.++++++++.--.------.+++++++.------.+++++++.--.----.++++.+.----.-.--.+++++++++.-----.++++.----.--.+++.-----.++++.+++++.---------.++++++.------...+.+++++++.-------.-.+++++.+.-----.+++.----.++++.++++.-------..++++++.-------.+++++..--..+++.------.+++++++.---..-.++++.--.-----.+++.+++++..-----.++++.-------.+++.++.----.-.+++++.----..+.++.+++++.------.+++.-----.+..++.+++++.------.--.++++++++.-.-----.++++.+..-------.++++.+.+++.----.+++.---.+++.-------.+.+++++.--.++++.-----.++.+.-----.+++++++.--------.++++++.--..--.--.+++.++.++.------.+++.----.+++++++.-.------.+++.+.---.++++++.---.+.+++.-------.+.--.+++.----.++++.-.++.++++.-.----.+.++..--.++.---.++.+++.-.---.++.---.++++.--------.+++.++++++.------.+.+.+.+...---.++++.------.++.--.+.---.+++++++++.-.---.-.--.-.-.+++++++.---.++.------.+++++.-----.++++++.----.+.++++.------..+++.---.+++++++.-..++.----.-.---.+++++++.------.-.++++.--.---.++++.++.--.+++.---.+++++.-.-----.++.+++.-------.++++++++.-----.---.+.++++.+.----.++++++.-.-.-.+.--..++++.--------.+++++.-..-.-.++++++.-----.++.------.+++++++..-------.++++++.----.+++++++.--------.+++.+.++.------..++++++++.---.--.+++..-.++.--.-.-.--.-.+++++.+.-..------.++++.--.+++++++.-.-----.--.+++++.-.---.++++.----.++.-.+++++.--.++.-----.++++.-----.--.+++++.+..++.--------.++++++.+++.------.++++.-.--------------------------------------------.

Name: Anonymous 2013-02-08 4:04

>>7
Someone else can simplify that with multiplication loops because I sure ain't.

Name: Anonymous 2013-02-08 9:35

Bamp.

Name: Anonymous 2013-02-08 10:49

>>8
actually that just prints each digit the dumb and retarded way. I really hope >>7 won't be the winner and someone else comes up with something a bit more refined.

Name: Anonymous 2013-02-08 10:59

>>1
Heinrich Himmler (Der Henker)

Name: Anonymous 2013-02-08 11:14

>>10
Yeah, 301 print statements, for each of the 301 digits, computed as hardcoded sequences of successive additions and subtractions.

My programmery mind tells me that this is done as bigint decimal exponentiation, your memory is a big array after all, but fuck everything about that in brainfuck.

Name: Anonymous 2013-02-08 12:17

>>12
Giving up so easily?

Name: Anonymous 2013-02-08 16:31

lel

Name: Anonymous 2013-02-08 16:47

>>14
Fuck you cretin.

Name: Anonymous 2013-02-08 16:51

LLLLLLLLLLLLLLLLLLLLLLLLEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
>EGIN
>LE EGIN GWINZ GRO

Name: Anonymous 2013-02-08 17:33

>>16
I thought you were taking your pills, Mr. Egin.

Please get well soon.

Name: Anonymous 2013-02-08 18:01

I'm going to solve this using either the prog DESU implementation, or unlambda.

Name: Anonymous 2013-02-09 19:18

I think I just wrote a BF interpreter in an hour.

Name: Anonymous 2013-02-09 19:27

>>19
Confirmed: it runs hello world, fibs and rot13

Name: Anonymous 2013-02-09 19:37

More specifations, please? Is the array size limited to 30'000 and the size of one element to 255?

Name: Anonymous 2013-02-09 19:38

>>21
Assume the most stringent specifications, so that the program is portable across all brainfuck implementations.

Name: /prog/ challenge master 2013-02-09 22:24

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

>>21
Cells take values between 0 and 255 inclusively and the tape is unlimited in both directions.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iF4EAREKAAYFAlEXEpAACgkQeudWmwrQCx/qCwD+NYC7BM/c3qoGWMd9uq4Yrbxt
85wsSreo7o6vv7CSeYEA/Avldurzf0ee3ixyvYCi8xQB//xmlM/1DnQe7HXbm7TB
=aq3G
-----END PGP SIGNATURE-----

Name: Anonymous 2013-02-11 2:19

Name: Anonymous 2013-02-11 21:56

Name: Anonymous 2013-02-11 22:12

and not a single brainfuck was given

Name: Anonymous 2013-02-11 23:36

Already prefect solution given by >>7, move along.

Name: Anonymous 2013-02-12 3:06

I think it works, but I didn't wait for it to finish.


(define zero (lambda (f) (lambda (x) x)))
(define one (lambda (f) (lambda (x) (f x))))
(define add (lambda (g1 g2) (lambda (f) (lambda (x) ((g1 f) ((g2 f) x))))))
(define mult (lambda (g1 g2) (lambda (f) (lambda (x) ((g1 (g2 f)) x)))))
(define exp (lambda (g1 g2) (lambda (f) (lambda (x) (((g2 g1) f) x)))))
(define two (add one one))
(define three (add two one))
(define five (add two three))
(define ten (mult two five))
(define one-thousand (exp ten three))
(define two-to-the-one-thousand (exp two one-thousand))
(define chn->num (lambda (g) ((g (lambda (x) (+ x 1))) 0)))
(define two-to-the-one-thousand-num (chn->num two-to-the-one-thousand))
(display two-to-the-one-thousand-num)
(newline)

Name: Anonymous 2013-02-12 3:21

>>28
I like you!

Name: Anonymous 2013-02-12 4:04

>>29
Will you accept it if I rewrite it in unlambda? I think I'll have to violate the rules, and it'll just print 2^1000 asterisks to the screen.

Name: Anonymous 2013-02-12 4:31

>>30
Part of the challenge is the conversion to decimal.

Name: Anonymous 2013-02-12 4:42

Ok, unlambda church numeral decimal conversion challenge accepted. It might be completed by april. But I don't know.

Name: Anonymous 2013-02-12 12:19

-[<.-]<67396086650273868342625613892406676124568677469117541926077064934556195576789376214918538947464035128145977814117326050647012458903242847776543930847589647577548953404132965825417815286413557192764957218585965188738913942216394211501530738830573447063355071184041650181000609405248490237626817068051701

Also prints out a whole bunch of junk null bytes. Note: there's a \x01 after the ']'.

Name: >>1 2013-02-12 14:07

>>33
what the fuck.

Name: Anonymous 2013-02-12 14:22

>>34
He smokes acid, ignore him.

Name: Anonymous 2013-02-12 23:13

>>35
why would u be so mean to me, buddy? ^^

Name: Anonymous 2013-02-12 23:19

>>19
It took you an hour? Are you a retard? I've seen a monkeys write BF interpreters in less than 10 minutes.

Name: Anonymous 2013-02-12 23:26

>>37
He probably wrote it in BF.

Name: >>38 2013-02-13 1:20

Also, I'm just wondering: have you guys ever craved cock so badly that you found yourself running around outside, howling at the moon for it? Literally ROARING at the top of your lungs, wanting nothing less than a dick's head churning against your glottal stop?

Tell me I'm not alone.

Name: Anonymous 2013-02-13 11:33

I'm surprised nobody wrote a LLVM-to-brainfuck compiler just yet.

Name: Anonymous 2013-02-13 11:44

>>37
I've seen monkeys writing BF interpreters in less than 10 minutes in less than 10 minutes

Name: Anonymous 2013-02-13 11:53

LLLLLLLLLLEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
>LE MONKEY!
>EGIN GWIN WGIN GRO

Name: Anonymous 2013-02-13 11:55

Please! African-American, you guys are such racists gawd!

Name: Anonymous 2013-02-14 10:17

czechum

Name: Anonymous 2013-02-24 1:13

Name: Anonymous 2013-03-26 14:16

Deadline's approaching.

Name: Anonymous 2013-03-26 22:03

i
n
f
i
n
i
t
e
m
u
l
t
i
p
l
e
q
u
o
t
a
t
i
o
n
o
n
S
h
i
t
c
h
a
n
.

Name: Anonymous 2013-03-27 10:52

lemon key face

Name: Anonymous 2013-03-27 11:25

Oh
god
how
did
this
get
here
Im
not
good
with
computer!

Name: Anonymous 2013-03-27 11:47

why would you give someone a prize for this, it's fucking trivial

Name: Anonymous 2013-03-27 11:51

>>50
then submit your implementation you massive homolord, a trivial one has already been posted (>>7)

Name: nikita sadkov !/84.nIkITA 2013-03-27 11:55

>>50
Shalom, Hymie!

Name: Anonymous 2013-03-27 12:06

+

Name: nikita sadkov !/84.nIkITA 2013-03-27 12:32

I am a faggot ;) I love the JEWISH cock. Sometimes I keep screaming for it, to feel that head against my throat. I will call you symta.

Name: Anonymous 2013-03-27 12:51

>>52,54

Looks like somebody's a little too exited about figuring out how to use tripcode explorer.

Name: nikita sadkov !/84.nIkITA 2013-03-27 12:52

>>55
Shalom Hymie!

Name: Anonymous 2013-03-27 12:53

>>52,54
Your joke is so funny, I almost fell off my chair because I couldn't stop laughing. That was a good shit, a great shit, congrats man.

Fuck off back to /b/.

No, I'm not the Russian raghead, you fucking retard.

Name: nikita sadkov !/84.nIkITA 2013-03-27 12:55

>>57
Shalom Hymie!

Name: Anonymous 2013-03-27 12:56

>>57
SHALAM SADKIKE!

Name: nikita sadkov !/84.nIkITA 2013-03-27 12:58

Знаете ли Вы, что до поражения Германии во Второй Мировой, было два вида математики, - арийская и еврейская, - названные так по национальности своих сторонников?

Арийская Математика брала пример с естественных наук, склонялась к эмпирицизму, конечности и познаваемости мира, и работала исключительно c объектами, которые можно построить физически (например, в памяти ЭВМ или на бумаге).

Еврейская Математика же склоняется к религиозной абстракции и казуистике: всеохватывающей бесконечности, множествам, и порождаемым ими апориям. Так Еврейская Математика постулирует, что можно удвоить объект, путём перекладывания его частей, пространство делимо на "бесконечно малые", а для любого числа, Бог может создать большее число (аксиома о бесконечности).

Основатель Еврейской Математики, Гидеон Кантор, писал, что работает с "Абсолютом - непознаваемым человеком Актус Пьюриссимус, именуемым многими Богом". Примечательно, что Кантор окончил свою жизнь в психиатрической лечебнице, однако дело Кантора поддержали сионистские организации и католическая церковь, доведя до того, что сознательные германские студенты и профессора протестовали, требуя убрать еврейскую заразу из ВУЗов.

После войны, евреи сделали всё возможное, чтобы уничтожить Арийскую Математику, удалив её сторонников и подменив математику Теорией Множеств - центральной опорой Еврейской Математики. Так основатель интуиционизма, Лёйтзен Брауэр, подвергся изоляции, а результаты Русских и Английских финитистов умалчивались и не получили распространения. В русской истории от рук евреев страдали математики Егоров (погиб в ГУЛАГе), Лузин (подвергся травле и был отстранён), Флоренский (расстрелян), Есенин-Вольпин (репрессирован).

Сегодня математика стала еврейской даже по-цвету. Государства поддерживают так называемую "анти-расистскую математику", требующую например использовать еврейские имена в примерах и задачках, рассказывая при этом о великом "вкладе" еврейства в развитие математики.

Name: Anonymous 2013-03-27 12:59

>>51
what brainfuck interpreter are you using OP?

Name: nikita sadkov !/84.nIkITA 2013-03-27 13:03

>>61
If it ain't symta, it ain't [b]shit[b].

Name: nikita sadkov !/84.nIkITA 2013-03-27 13:03

>>62
The jews made me fail.

Name: Anonymous 2013-03-27 14:47

>>60

Translation:

"Aryan mathematics" is about "knowability of the world" (so its actually science)
"Jewish mathematics" is about set theory and the concept of infinity
Jews created set theory to corrupt our schools and our way of thinking

Look at this barely educated slav kike trying to join in on the fun. How cute.

Name: Anonymous 2013-03-27 14:52

>$ gpg --gen-key
>
Please select what kind of key you want:
>
    (1) RSA and RSA (default)
>
    (2) DSA and Elgamal
>
    (3) DSA (sign only)
>
    (4) RSA (sign only)
>
Your selection? 2

Why create an encryption key for doing a one-time sign? Just select 3 instead.

Name: Anonymous 2013-03-27 14:53

what a beautiful bbcode fail i just made lel

Name: Anonymous 2013-03-27 15:00

I just wrote about half.. I can't be fucked doing any more

Name: Anonymous 2013-03-27 16:21

babbyCode fail

Name: Anonymous 2013-03-27 16:48

>>64
Mathematics isn't science

Name: Anonymous 2013-03-27 17:53

>>65
So that I may encrypt the prize with your public key.

Name: Anonymous 2013-03-27 17:56

>>67
come on, I know you can do it.

Name: Anonymous 2013-03-27 18:49

>>71
I know I can do it too, that's why it's not fun anymore - and it looks likes >>7 will be shorter than all the code to deal with lists of digits and long division

Name: Anonymous 2013-03-27 19:10

>>72
I can amend the challenge to read 210000 instead of 21000 (so that the retarded bruteforce way is penalized) if you want.

Name: Anonymous 2013-03-27 21:16

When there is a significant difference between the parent's and child's sense of the amount of attention needed, the child is often described as seeking excessive or inappropriate attention, particularly if the child is whiny, clingy, silly, or provocative. Children generally seek so-called inappropriate attention when they feel unable to manage their emotions or behavior. Needing extra help is usually a sign that a child is not functioning at his or her best level. We call this regression.

Some children engage in so-called "negative attention-seeking behavior," which involves an effort to provoke a response that they know will be negative. Such behavior should always perplex parents, and cause them to examine the behavior more deeply, because negative attention never feels good to a child - after all, the attention comes with quite a price. Disapproving, irritated, reproachful attention does not fill a child with good feeling any more than such attention feels welcomed by an adult! There needs to be quite a "pay-off" to induce a child to actually seek out such negativity. One possibility is that child has been over-indulged and therefore has not developed age appropriate skills, autonomy, and independence.

Name: Anonymous 2013-03-28 6:18

ok I was wrong this isn't trivial. Here's a thing that converts 0x1000000000 to decimal backwards by doing quotent/remainder repeatedly.


$ ../bff l2 > foo.txt
^C
$ cut foo.txt -b 1-100
6376749178600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


you would have to store digits on a stack to get them printed in the right order. Seems like a real hassle checking if we're done (have to count the number of nonzero digits of the number).. the most series problem with this code is that is that it doesn't reduce the digits to hexadecimal so it overflows if you try it with higher numbers - that's fixable but I can't be bothered.



>>>>>>>
+>+>>>>>>

+++++++++
[[->>>>>>>+<<<<<<<]+>>>>>>>-]<<<<<<<[<<<<<<<]

>>>>>>>
[

[

<<<<<[->>>>>>++++++++++++++++<<<<<<]>>>>>>

[
>>++++++++++[-<<
[->>>+>+<<<<]>>>>[-<<<<+>>>>]<
[<<+<->>>[-]]<<<
>>]<<
[->>>+>+<<<<]
>>>>[-<<<<+>>>>]<
[<<[-]>>>>+<<[-]]<<<
]
>>>>>[-<<<<<+>>>>>]<<<<<

<>>>>>>>

]

<<<<<<<>>
++++++++++
++++++++++
++++++++++
++++++++++
++++++++
.
[-]
<<[<<<<<<<]>>>>>>>

]

Name: Anonymous 2013-03-28 6:20

forgot to say that code is being released under GPLv3 http://www.gnu.org/licenses/gpl-3.0.html

it should be mostly self explanator but if anyone can be bothered fixing it and wants to ask questions I will explain.

Name: Anonymous 2013-03-28 6:41

I just realized what I did wrong in my code (the reason it doesn't work for larger numbers), i was doing the first "digit" divided by 10.. andadding 16* the remainder to the next digit but you're supposed to do 16*first digit + next digit then divided by 10 and use quotient remainder.. can't beleive I forgot how to do long division..

Name: Anonymous 2013-03-28 9:36

This
could
be
your
post!
Unlock
the
secrets
today!

Name: Anonymous 2013-03-28 10:23

I
would
enter
the
challenge,
but
I
already
know
how
to
do
this.

Name: Anonymous 2013-03-28 13:51

>>79
There
is
not
much
elseI
can
give
you.

Name: Anonymous 2013-03-28 14:31

> a
b
c
gay

Name: Anonymous 2013-03-28 14:33

a
> > b
> > > c
>>> gay

Name: Anonymous 2013-03-28 14:33

a
> b
> c

Name: Anonymous 2013-03-28 17:09

What
the
hell
is
going
on
around
here?

Name: Anonymous 2013-03-28 17:11

>LELLLLLLLLLL
L >> L> LLEEEEEEEEEEEEEELLLLLLLLLLLLLL
<> >> >>KKLELELLLLLLLLLLL L
>>>>   >>>LLELLEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLL
[i][i]LLLLLLLLEEEEEEEWEWLLLLLLLLLLLLLLLLLLLL[/i][m]=
:>> >>>>>>           LEEEEEEEEE :LLLLLLLLLLLL
LE NBABBYCODE LLLEEEEEEEEEELLLLLLL XDDDDDDDD

Name: Anonymous 2013-03-28 17:30


fuck
this
> shit

Name: Anonymous 2013-03-28 17:30

[quote]dicks[/quote]

Name: Anonymous 2013-03-28 21:28

white power dubz checkem

Name: Anonymous 2013-03-28 21:29

o/ o/ o/ o/ o/

Name: Anonymous 2013-03-28 21:37

2^1000 is only 125 bytes, but in brainfuck you'd need to print byte by byte, so 301 bytes

you could calculate it with 125 bytes, then use another 301 bytes to print it

if only in brainfuck there was some var acessible at all times, no matter where in the tape you are...

Name: Anonymous 2013-03-29 1:05

in brainfuck you'd need to print byte by byte

my head hurts at this stupid

Name: Anonymous 2013-03-29 1:36

my stupid hurts at this head

Name: Anonymous 2013-04-01 1:11

Missed the deadline. I don't even give a fuck.

[-]>[-]<>++++++++[<++++++++>-]<+.>+++++++[<+++++++>-]<--.++.>+++[<--->-]<.+++.>+++++++++[<--------->-]<+++++.>++++++[<++++++>-]<++.>++++++[<++++++>-]<+++++..---.>+++[<+++>-]<--.

Name: 1 2013-04-01 1:18

>>93
You got me. You got me good.

>>2-92
Nobody wins, fuck you. I am extending this indefinitely (or at least until I leave this board); anyone who solves the challenge in non-trivial way will receive the prize (given that they authenticated properly).

Name: Anonymous 2013-04-01 18:44

>>94
Please do not refer to your harebrained authentication scheme as `proper'.

Name: Anonymous 2013-04-01 20:39

>>95
fuck you dipshit

Name: Anonymous 2013-04-01 21:01

>>96
wow stop posting you shithead. >>7 won.

Name: Anonymous 2013-04-01 21:45

>>97
fuck you I won't do what you tell me

Name: Anonymous 2013-04-02 2:58

>>96

OK YOU FUQIN MADE AN EXPERT PROGRAMMER feel kind of bad. I don't like church numerals though. I don't know how to subtract them. So instead I will implement numbers as stacks of dinner plates.

Name: Anonymous 2013-04-02 5:37

It's a start. This should be translatable to unlambda, but right now it is too slow.


(define (i x) x)

(define (zero is-zero receive-predecessor)
  (is-zero))

(define (do-nothing) zero)

(define (successor n)
  (lambda (is-zero receive-predecessor)
    (receive-predecessor n)))

(define one (successor zero))

(define (add n1 n2)
  (n2 (lambda () n1)
      (lambda (n2-pred)
        (add (successor n1)
             n2-pred))))

(define (signed-sub n1 n2 pos neg)
  (n2 (lambda () (pos n1))
      (lambda (n2-pred)
        (n1 (lambda () (neg n2))
            (lambda (n1-pred)
              (signed-sub n1-pred n2-pred pos neg))))))

(define (sub n1 n2)
  (signed-sub n1 n2 i (lambda (n) (error "Cannot subtract and get a negative"))))

;; to be optimized
(define (add-times n1 n2 sum)
  (n2 (lambda () sum)
      (lambda (n2-pred)
        (add-times n1 n2-pred (add n1 sum)))))

(define (mul n1 n2)
  (add-times n1 n2 zero))

;; to be optimized
(define (mul-times n1 n2 product)
  (n2 (lambda () product)
      (lambda (n2-pred)
        (mul-times n1 n2-pred (mul n1 product)))))

(define (pow n1 n2)
  (mul-times n1 n2 one))

(define (div_ n d q ret)
  (signed-sub n d (lambda (n2)
                    (div_ n2 d (successor q) ret))
                  (lambda (n2)
                    (ret q n))))

(define (div n d ret)
  (div_ n d zero ret))

(define (quot n d)
  (div n d (lambda (q r) q)))

(define (mod n d)
  (div n d (lambda (q r) r)))

(define (to-num n)
  (n (lambda () 0)
     (lambda (n1-pred)
       (+ 1 (to-num n1-pred)))))

(define two (add one one))
(define four (pow two two))
(define eight (mul two four))
(define ten (add eight two))
(define five (quot ten two))
(define three (mod eight five))
(define nine (pow three two))
(define seven (add five two))
(define six (sub ten four))


(define (print-digit n done)
  (n (lambda () (display #\0) (done))
     (lambda (n-1)
       (n-1 (lambda () (display #\1) (done))
            (lambda (n-2)
              (n-2 (lambda () (display #\2) (done))
                   (lambda (n-3)
                     (n-3 (lambda () (display #\3) (done))
                          (lambda (n-4)
                            (n-4 (lambda () (display #\4) (done))
                                 (lambda (n-5)
                                   (n-5 (lambda () (display #\5) (done))
                                        (lambda (n-6)
                                          (n-6 (lambda () (display #\6) (done))
                                               (lambda (n-7)
                                                 (n-7 (lambda () (display #\7) (done))
                                                      (lambda (n-8)
                                                        (n-8 (lambda () (display #\8) (done))
                                                             (lambda (n-9)
                                                                (n-9 (lambda () (display #\9) (done))
                                                                     (lambda (n-10)
                                                                       (error "digit value is greater than nine"))))))))))))))))))))))

(define (cons_ car cdr)
  (lambda (is-null f)
    (f car cdr)))

(define (null is-null f) (is-null))

(define (for-each_ f lis)
  (lis (lambda () null)
       (lambda (car cdr)
          (f car (lambda ()
                   (for-each_ f cdr))))))

(define (digits-list_ n base acc)
  (div n base (lambda (q r)
                (q (lambda () (cons_ r acc))
                   (lambda (q-pred)
                     (digits-list_ q base (cons_ r acc)))))))

(define (digits-list n base)
  (digits-list_ n base null))

(define (print-num n)
  (for-each_ print-digit (digits-list n ten)))

(print-num (pow two nine)) (newline) ;; proof of concept for small number


;; too slow to run
;(define one-thousand (pow ten three))
;(define two-to-the-one-thousand (pow two one-thousand))
;(print-num two-to-the-one-thousand) (newline)

Name: tripcodes are secure !!aW8dlOh22d1YgJi 2013-04-04 4:42

this one is asymptotically acceptable. Still slower than hardware arithmetic, but what can you do. I will be slowly translating it to ski now.





;; booleans

(define (true true-case false-case)
  (true-case))

(define (false true-case false-case)
  (false-case))

(define (not_ v)
  (v (lambda () false)
     (lambda () true)))

(define (or_ v1 v2)
  (v1 (lambda () true)
      (lambda ()
        (v2 (lambda () true)
            (lambda () false)))))

(define (and_ v1 v2)
  (v1 (lambda ()
        (v2 (lambda () true)
            (lambda () false)))
      (lambda () false)))

(define (xor_ v1 v2)
  (v1 (lambda () (not_ v2))
      (lambda () v2)))

(define (addition-circuit v1 v2 carry-in ret)
  (ret (xor_ (xor_ v1 v2) carry-in)
       (or_ (and_ v1 v2)
            (or_ (and_ v1 carry-in)
                 (and_ v2 carry-in)))))

(define (subtraction-circuit v1 v2 borrow-in ret)
  (ret (xor_ (xor_ v1 v2) borrow-in)
       (or_ (and_ (and_ v1 v2) borrow-in)
            (and_ (not_ v1) (or_ v2 borrow-in)))))



;; lists

(define (null is-null f)
  (is-null))

(define (cons_ car cdr)
  (lambda (is-null f)
    (f car cdr)))

(define (reverse__ lis acc)
  (lis (lambda () acc)
       (lambda (car cdr)
         (reverse__ cdr (cons_ car acc)))))

(define (reverse_ lis)
  (reverse__ lis null))

(define (for-each_ f lis)
  (lis (lambda () null)
       (lambda (car cdr)
         (f car (lambda ()
                  (for-each_ f cdr))))))



;; numbers

(define zero null)
(define one (cons_ true null))

(define (add_ n1 n2 carry-in)
  (n1 (lambda ()
        (n2 (lambda ()
              (carry-in (lambda () one)
                        (lambda () zero)))
            (lambda (n2-car n2-cdr)
              (carry-in (lambda () (add_ n2 one false))
                        (lambda () n2)))))
      (lambda (n1-car n1-cdr)
        (n2 (lambda ()
              (carry-in (lambda () (add_ n1 one false))
                        (lambda () n1)))
            (lambda (n2-car n2-cdr)
              (addition-circuit n1-car
                                n2-car
                                carry-in
                                (lambda (out carry-out)
                                  (cons_ out
                                         (add_ n1-cdr n2-cdr carry-out)))))))))

(define (add n1 n2)
  (add_ n1 n2 false))

(define (sub_ n1 n2 borrow-in negative ret)
  (n1 (lambda ()
        (n2 (lambda ()
              (borrow-in (lambda () (negative))
                         (lambda () (ret zero))))
            (lambda (n2-car n2-cdr)
              (negative))))
      (lambda (n1-car n1-cdr)
        (n2 (lambda ()
              (borrow-in (lambda () (sub_ n1 one false negative ret))
                         (lambda () (ret n1))))
            (lambda (n2-car n2-cdr)
              (subtraction-circuit n1-car
                                   n2-car
                                   borrow-in
                                   (lambda (out borrow-out)
                                     (sub_ n1-cdr
                                           n2-cdr
                                           borrow-out
                                           negative
                                           (lambda (rest-sub)
                                             (out (lambda () (ret (cons_ out rest-sub)))
                                                  (lambda ()
                                                    (rest-sub (lambda () (ret null)) ;; truncate significant zeros.
                                                              (lambda (rest-sub-car rest-sub-cdr)
                                                                (ret (cons_ out rest-sub)))))))))))))))

(define (sub n1 n2 negative ret)
  (sub_ n1 n2 false negative ret))

(define (sub-pos n1 n2)
   (sub n1 n2 (lambda () (error "Cannot subtract and get a negative")) (lambda (x) x)))

(define (even?_ n)
  (n (lambda () true)
     (lambda (n-car n-cdr)
       (n-car (lambda () false)
              (lambda () true)))))

(define (double n)
  (n (lambda () null)
     (lambda (n-car n-cdr)
       (cons_ false n))))

(define (double-and-inc n)
  (cons_ true n))

(define (floor-div-2 n)
  (n (lambda () zero)
     (lambda (n-car n-cdr) n-cdr)))

(define (mul n1 n2)
  (n2 (lambda () zero)
      (lambda (n2-car n2-cdr)
        (n2-cdr (lambda () n1)
                (lambda (n2-cadr n2-cddr)
                  (n2-car (lambda () (add n1 (double (mul n1 n2-cdr))))
                          (lambda () (double (mul n1 n2-cdr)))))))))

(define (square n)
  (mul n n))

(define (pow b p)
  (p (lambda () one)
     (lambda (p-car p-cdr)
       (p-cdr (lambda () b)
              (lambda (p-cadr p-cddr)
                (p-car (lambda () (mul b (square (pow b p-cdr))))
                       (lambda () (square (pow b p-cdr)))))))))

(define (div n d ret)
  (n (lambda () (ret zero zero))
     (lambda (n-car n-cdr)
       (n-car (lambda () ;; n odd
                (div n-cdr d (lambda (q_ r_)
                               (sub (double-and-inc r_) d (lambda () (ret (double q_) (double-and-inc r_)))
                                                          (lambda (double-inc-r_-d)
                                                            (ret (double-and-inc q_) double-inc-r_-d))))))
              (lambda () ;; n even
                (div n-cdr d (lambda (q_ r_)
                               (sub (double r_) d (lambda () (ret (double q_) (double r_)))
                                                  (lambda (double-r_-d)
                                                    (ret (double-and-inc q_) double-r_-d))))))))))

(define (quot n d)
  (div n d (lambda (q r) q)))

(define (mod_ n d)
  (div n d (lambda (q r) r)))



(define (print-hex-word n done)
  (n (lambda () (display #\0) (done))
     (lambda (n-car n-cdr)
       (n-cdr (lambda () (display #\1) (done))
              (lambda (n-cadr n-cddr)
                (n-cddr (lambda ()
                          (n-car (lambda () (display #\3) (done))
                                 (lambda () (display #\2) (done))))
                        (lambda (n-caddr n-cdddr)
                          (n-cdddr (lambda ()
                                     (n-cadr (lambda ()
                                               (n-car (lambda () (display #\7) (done))
                                                      (lambda () (display #\6) (done))))
                                             (lambda ()
                                               (n-car (lambda () (display #\5) (done))
                                                      (lambda () (display #\4) (done))))))
                                   (lambda (n-cadddr n-cddddr)
                                     (n-cddddr (lambda ()
                                                 (n-caddr (lambda ()
                                                            (n-cadr (lambda ()
                                                                      (n-car (lambda () (display #\F) (done))
                                                                             (lambda () (display #\E) (done))))
                                                                    (lambda ()
                                                                      (n-car (lambda () (display #\D) (done))
                                                                             (lambda () (display #\C) (done))))))
                                                          (lambda ()
                                                            (n-cadr (lambda ()
                                                                      (n-car (lambda () (display #\B) (done))
                                                                             (lambda () (display #\A) (done))))
                                                                    (lambda ()
                                                                      (n-car (lambda () (display #\9) (done))
                                                                             (lambda () (display #\8) (done))))))))
                                               (lambda (n-caddddr n-cdddddr)
                                                 (error "Number too large to print as a hex digit"))))))))))))

(define (base-digits n base)
  (n (lambda () null)
     (lambda (n-car n-cdr)
       (div n base (lambda (n-quot n-mod)
                     (cons_ n-mod (base-digits n-quot base)))))))

(define (print-base n base)
  (n (lambda () (print-hex-word zero (lambda () null)))
     (lambda (n-car n-cdr)
       (for-each_ print-hex-word (reverse_ (base-digits n base))))))


(define two (add one one))
(define three (add two one))
(define four (pow two two))
(define eight (pow two three))
(define nine (mul three three))
(define ten (add nine one))
(define five (quot ten two))
(define six (sub-pos eight two))
(define seven (sub-pos ten three))

(define (print_ n)
  (print-base n ten))



;; main

(print_ (pow two (pow ten three)))

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