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

/prog/ ICFP team

Name: Anonymous 2010-06-18 6:47

ANY EXPERT PROGRAMMERS?

ARE YOU SUAVE?
ARE YOU A SPACE TOAD?
feeling a bit fuqin angry?

Then the /prog/ ICFP team is for you.

http://icfpcontest.org/2010/

Name: Anonymous 2010-06-18 7:43

Not Found

The requested URL /2010/task/ was not found on this server.
Apache/2.2.11 Server at icfpcontest.org Port 80


;_;

Name: Anonymous 2010-06-18 8:02

So, I mention this a week ago trying to see if anyone would bother, and we get an announcement on the fucking day it's going to start. You know what, fuck you /prog/

Name: Anonymous 2010-06-18 10:10

During the contest, you will execute two types of actions:

    • compute and upload fuel for a car;
    • upload a new car, with matching fuel.

YOU WOULDN'T DOWNLOAD A CAR
BUT MAYBE YOU WOULD UPLOAD ONE

Name: Anonymous 2010-06-18 11:11

During the contest, you will execute two types of actions:

    • compute and upload fuel for a cdr;
    • upload a new cdr, with matching cons.

Name: Anonymous 2010-06-18 11:18

YOU WOULDN'T
DOWNLOAD A CAR
 BUT YOU MIGHT
 UPLOAD A CDR

Name: Anonymous 2010-06-18 11:34

So…we can't start working out how factories or car/fuel encodings work without registering a team.  And if we post our findings (or login information) here, other teams can steal them.  How do we do this?

Name: Anonymous 2010-06-18 11:41

I've registered a team for it, but I doubt I'll actually compete. Guess the name /prog/

Name: Anonymous 2010-06-18 11:44

>>8
cars_and_cudders.

Name: Anonymous 2010-06-18 11:57

>>9
yes, I toyed with 'Haxus The Functional Programmer' and 'Cons my Anus!' though

Name: Anonymous 2010-06-18 12:25

>>8,9
Post the password.  It doesn't look like anyone can tamper with it other than putting in joke languages and such under team details.

Name: Anonymous 2010-06-18 12:43

>>11
534476531314773583880294691349669620547233433684481992972550
I don't think they let you change it

If /prog/ is actually going to compete, are we just going to use this thread?

Name: maysam 2010-06-18 13:37

i am in too

Name: Anonymous 2010-06-18 13:39

I have solved all problems and have won all prizes. Thread over

Name: Anonymous 2010-06-18 13:41

It's been almost 7 hours now, you can't win this.

Name: Anonymous 2010-06-18 13:41

>>14
lol

Name: Anonymous 2010-06-18 13:49

This is just way too damn complicated and confusing. They're using real-life metaphors for things in tremendously overextended and broken ways.

Name: Anonymous 2010-06-18 14:11

Don't tell me /prog/ is using functional paradigms instead of OOp.

Name: Anonymous 2010-06-18 14:34

>>18
As shocking as that would be [/sarcasm], there is no restriction on how you program or what language you use.

Name: Anonymous 2010-06-18 14:43

>>18
Haskell is /prog/'s muse

Name: Anonymous 2010-06-18 14:49

>>18
I'm sure that we're usually divided between multi-paradigm programmers(those that love mixing functional, imperative, meta ,OO, declarative, ... code), purely fictional programmers and a few nuts which stick to one paradigm only.

Name: Anonymous 2010-06-18 15:02

What the fuck is this contest about?

Name: Anonymous 2010-06-18 15:15

>>22
cars

Name: Anonymous 2010-06-18 15:18

>>23
Well, i got that so far.
But what the fuck are we supposed to do?

Name: Anonymous 2010-06-18 15:20

>>24
Somehow, I don't think you're going to have much to contribute.

Name: Anonymous 2010-06-18 15:21

>>24
Hack a server and probably play some mindgames.

Name: Anonymous 2010-06-18 16:03

What language are we going to use?

Name: Anonymous 2010-06-18 18:31

>>27
I vote for either Codan or Turd.

Name: Anonymous 2010-06-18 19:46

Here's what I have so far.

The factory syntax is a list of gates, of the form (left-input right-input gate-type '#' left-output right-output).  The only valid gate-type appears to be 0.  Each of the input/output fields is a reference to the output/input pin it's connected to; either a gate number followed by 'L' or 'R', or the special value 'X' representing an external data stream.  Gates are implicitly numbered from 0 to n by the order they appear in the list, and each wire is specified redundantly at both connection points.  Before and after the list are redundant specifications of the external pin locations.  A signal traveling ``backward'' refers to one where the destination gate number is less than or equal to the source gate number; such signals are not read until the next clock cycle.

The gate logic is (a, b) -> (a-b, 2+a*b) mod 3.
The input string fed to a factory is (begins with) 01202101210201202.
The key prefix is 11021210112101221.

Here is a shitty program to run a factory.  It takes a gate layout on stdin and prints the expected result on stdout.  It has no error checking.

#!/usr/bin/perl
use 5.008001;

our ($xout, $xin, @gates, @pins);
# our @input = (0,2,2,2,2,2,2,0,2,1,0,1,1,0,0,1,1);    # key input
our @input = (0,1,2,0,2,1,0,1,2,1,0,2,0,1,2,0,2);    # real input
our @output;

sub wrap_pin_desc {
    [ $_[0], $_[1] eq 'R' ? 1 : 0 ]  # X -> [undef,0]
}
sub read_desc {
    @gates = ();
    <> =~ /^(\d+)([LR]):/ or die;
    $xout = wrap_pin_desc($1, $2);
    while (<>) {
        /^(?:X|(\d+)([LR])) (?:X|(\d+)([LR])) (\d+) \#
          (?:X|(\d+)([LR])) (?:X|(\d+)([LR])) ([,:]) /x or die;
        push @gates, [ wrap_pin_desc($1, $2),
                       wrap_pin_desc($3, $4),
                       $5,
                       wrap_pin_desc($6, $7),
                       wrap_pin_desc($8, $9) ];
        last if $10 eq ':';
    }
    <> =~ /^(\d+)([LR])/ or die;
    $xin = wrap_pin_desc($1, $2);
}
sub gate {
    my ($l, $r) = @_;
    ( ( $l-$r )%3, ( 2+$l*$r )%3 )
}
sub set_pin {
    my ($pin, $value) = @_;
    my ($gate, $side) = @$pin;
    if (!defined $gate) {
        push @output, $value;
    } else {
        $pins[$gate][$side] = $value;
    }
}
sub run_step {
    set_pin($xout, shift @input);
    for (0..$#gates) {
        my ($lvalue, $rvalue) = gate(@{$pins[$_]});
        set_pin($gates[$_][3], $lvalue);
        set_pin($gates[$_][4], $rvalue);
    }
}
sub run {
    @pins = ();
    @output = ();
    while (@input) {
        run_step();
        print "clock ", $clock++, ":", (map {" (@{$_})"} @pins), "\n";
    }
}
read_desc();
run();
print "output: ", @output, "\n";

Name: Anonymous 2010-06-18 21:09

IHTFP.

Name: Anonymous 2010-06-19 2:19

"The first place team's language is the programming language of choice for discriminating hackers."

goddamn,  lispers please win this thing.

Name: Anonymous 2010-06-19 2:40

>>31
We should make a C++/Java/something team just to troll them.

Name: Anonymous 2010-06-19 2:44

>>32
Well, we can just write it in Lisp and then just translate to Java when done.

Name: Anonymous 2010-06-19 2:46

>>32

real trolls: INTERCAL

Name: Anonymous 2010-06-19 3:44

>>32
It would be amusing if we put assembly language teams in the first 3.

Name: Anonymous 2010-06-19 10:27

Name: Anonymous 2010-08-21 7:01

C++ >>36 is a functional language?

Name: Anonymous 2010-08-21 7:06

The verdict is that functional languages=shit
2009 First:    C++  Second:Java     Third:None    Lightning(consolation prize?):ML[6]

Name: Anonymous 2010-08-21 7:46

>>38,39
Terrible!

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