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

/prog/'s own esoteric language

Name: Anonymous 2008-08-04 18:08

Fun idea. Let's make our own programming language.
Conditions:
Must be somewhat useful like ABC.
Not limited to characters only. Can include words.
1 function per post.

Name: Anonymous 2008-08-04 19:07

Sounds somewhat like the Adjudicated Blind Collaborative Design Esolang Factory, except not quite Blind.

http://www.esolangs.org/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory

The most recent result was http://www.harderweb.de/tmp_jix/allofthem.txt

Name: Anonymous 2008-08-04 20:10

LISP: jump to the beginning of the stack.

Name: Anonymous 2008-08-04 21:25

Must be somewhat useful like ABC.

Name: Anonymous 2008-08-04 21:42

ifeelkindabadaboutit:( - Terminate program

Name: Anonymous 2008-08-04 21:53

All functions must be written in parens () ala lisp.

Name: Anonymous 2008-08-04 21:57

>>6
Just make it send messages to objects:
poster6 (extract-anus) (hax)

Poster6 receives 'extract-anus' and returns its anus, which then receives 'hax' and promptly haxes itself.

Name: Anonymous 2008-08-04 22:01

All lines of code must start with >> and a number.  Then you can goto considered harmful to a line of code.

Name: Anonymous 2008-08-04 22:09

The official name of the language is [spoiler]/prog/[/spoiler]

Name: Anonymous 2008-08-05 5:53

Name: Anonymous 2008-08-05 8:10

>>11 process (extract-thread 0) (goto-considered-harmful >>15)

Name: Anonymous 2008-08-05 8:20

Update:
LISP: Jump to the beginning of the stack
ifeelkindabadaboutit:(: Terminate program
>>X: Marks a line
goto considered harmful: Jump to a line marked with >>X

Keep it going. :)

Name: Anonymous 2008-08-05 8:48

I suggest adding a recursive factorial to the standard library.

Name: Anonymous 2008-08-05 9:08

Name: Anonymous 2008-08-05 9:26

Leah Culver: generating a random number between 0-100 and putting it on the stack

Name: Anonymous 2008-08-05 10:05

>>7
An anus cannot hax itself.

Name: Anonymous 2008-08-05 10:37

>>16
Have you checked?

Name: Anonymous 2008-08-05 11:47

A language is just a language, but a Fig Newton is fruit and cake.

Name: Anonymous 2008-08-05 13:46

>>11
I love it.  Lets keep going.

Name: Anonymous 2008-08-05 14:11

pee: increments top of stack

Name: Anonymous 2008-08-05 14:25

needs moar car and cdr.

Name: Anonymous 2008-08-05 15:02

(my-other [var name] is-a [var name])

Swap two variables

Name: Anonymous 2008-08-05 15:11

Update:
LISP: Jump to the beginning of the stack
ifeelkindabadaboutit:(: Terminate program
>>X: Marks a line
goto considered harmful: Jump to a line marked with >>X
Leah Culver: generating a random number between 0-100 and putting it on the stack
pee: increments top of stack
(my-other [var name] is-a [var name]): Swap two variables

Keep it going. :)

Name: Anonymous 2008-08-05 15:15

(post "Text here" numberhere)

Make a post on prog.  Example:
(post "shut up >>24" 1217887165)

Name: Anonymous 2008-08-05 15:30

abc "program"

Run an ABC program.
http://esolangs.org/wiki/ABC

Name: The 2008-08-05 15:43

The Sussman: deletes stack

Name: The Sussman 2008-08-05 15:43

The Sussman: deletes stack

Name: Anonymous 2008-08-05 15:44

rape: pop stack
penis: push stack

Name: Anonymous 2008-08-05 16:06

>>25
By analogy:

run "filename"

Ignores the rest of the code and just executes the named program, which can be written in an actual programming language.

Name: Anonymous 2008-08-05 17:06

(car list) return first element of the list.
(cdr list) return second to last elements of the list.

Name: Anonymous 2008-08-05 17:09

>>29
TOURING COMPLETENESS ACHIEVED!

Name: Anonymous 2008-08-05 17:23

Update:
LISP: Jump to the beginning of the stack
ifeelkindabadaboutit:(: Terminate program
>>X: Marks a line
goto considered harmful: Jump to a line marked with >>X
Leah Culver: generating a random number between 0-100 and putting it on the stack
pee: increments top of stack
(my-other [var name] is-a [var name]): Swap two variables
The Sussman: deletes stack
rape: pop stack
penis: push stack


Keep it going. :)

Name: Anonymous 2008-08-05 17:23

shit: decrement top of stack

Name: Anonymous 2008-08-05 17:24

>>30
I suggest:
car: move down the stack by one
cdr: move up the stack

Name: Anonymous 2008-08-05 17:45

CFLAGS JUST KICKED IN YO: optimize all the program into a single NOP.

Name: Anonymous 2008-08-05 17:50

>>35,29
Keep it real.

Name: Anonymous 2008-08-05 17:51

>>35
CFLAGS JUST KICKED IN YO: Skip next command.

Name: Anonymous 2008-08-05 18:32

nowYouHaveTwoProblems -- double the top element of the stack.

Name: Anonymous 2008-08-05 18:45

>>38 should be fork

Name: Anonymous 2008-08-05 19:02

>>39
I support your idea.

Name: Anonymous 2008-08-05 19:10

/b/ -- Overwrites every pointer with DICK

Name: Anonymous 2008-08-05 23:21

spork()

Fork the code into a separate thread.

Name: Anonymous 2008-08-06 10:07

(factor x) instantly returns the prime factors of x.

Name: Anonymous 2008-08-06 10:26

DONTHELPHIM: generate an exception

Name: Anonymous 2008-08-06 12:16

*grabs debugger* - breakpoint instruction

Name: Anonymous 2008-08-06 13:32

Update:
LISP: Jump to the beginning of the stack
ifeelkindabadaboutit:(: Terminate program
>>X: Marks a line
goto considered harmful: Jump to mark >>X
Leah Culver: generating a random number between 0-100 and putting it on the stack
pee: increments top of stack
shit: decrement top of stack
(my-other [number] is-a [number]): Swap two positions of the stack
The Sussman: deletes stack
rape: pop stack
penis: push stack
(factor x): instantly returns the prime factors of x.
CFLAGS JUST KICKED IN YO: Replace next command with a random command.
DONTHELPHIM: Skip next command.


Keep it going. :)

Name: Anonymous 2008-08-06 13:34

>>45
*grabs ASCII* Prints top of stack as an ASCII character.

Name: Anonymous 2008-08-06 14:41

Every single program written will not work.

Name: Anonymous 2008-08-06 15:06

>>48
huh

Name: Anonymous 2008-08-06 15:26

>>48
/thread

Name: Anonymous 2008-08-06 15:38

Appendix A.  Complete [spoiler]/prog/[/spoiler] implementation, written in The Algorithmic Language Haskell for rapid development.

main = fail "wut"

Name: Anonymous 2008-08-06 16:17


 _____ _    ____ _  _____ _   _ _   ____ ___ ____   ____  _____ _   _ ___ ____  _
|  ___/ \  / ___| |/ /_ _| \ | ( ) | __ )_ _/ ___| |  _ \| ____| \ | |_ _/ ___|| |
| |_ / _ \| |   | ' / | ||  \| |/  |  _ \| | |  _  | |_) |  _| |  \| || |\___ \| |
|  _/ ___ \ |___| . \ | || |\  |   | |_) | | |_| | |  __/| |___| |\  || | ___) |_|
|_|/_/   \_\____|_|\_\___|_| \_|   |____/___\____| |_|   |_____|_| \_|___|____/(_)

Name: Anonymous 2008-08-06 17:02

>>52
Hello, Patrik.

Name: Anonymous 2008-08-06 19:00

>>53
Hello, Bob.

Name: Anonymous 2008-08-06 19:18

Name of the language will be /prog/oteric

Name: Anonymous 2008-08-06 19:27

>>55
Sounds pretty good.

Name: Anonymous 2008-08-06 20:17

>>52
Sounds pretty good.

Name: Anonymous 2008-08-07 2:12

    __                        __
   / / __  _ __ ___   __ _   / /
  / / '_ \| '__/ _ \ / _` | / /
 / /| |_) | | | (_) | (_| |/ / 
/_/ | .__/|_|  \___/ \__, /_/  
    |_|              |___/

Name: Anonymous 2008-08-07 5:03

private variables are declared inside [spoiler] tags

Name: Anonymous 2008-08-08 0:39

NULL expansion:
If the preprocessor sees NULLx# where # is a non-negative integer it will be replaced with NULL # times.

Example:
foo(NULLx6);
expands to
foo(NULL, NULL, NULL, NULL, NULL, NULL);

NULLx0 is undefined.

Name: Anonymous 2008-08-10 21:28

>>60
Surely foo(NULLx0) should just be foo().

Name: Anonymous 2008-08-11 9:58

>>60
As a an EXPERT WINDOWS PROGRAMMER I approve of this design decision.

Name: Anonymous 2008-08-11 13:26


FORCED stdio OF dick;
[testclass]
  [spoiler]
    hello <- [quote]Hello, world![/quote]
  [/spoiler]
  [def /testclass NULLx2]
    *grabs dick*
    /puts self.hello
  [/def]
[/testclass]

testclass NULLx2
/b/
ifeelkindofbadaboutit

Name: Anonymous 2008-08-11 17:22

Keep it going. :)

Fuck you.

Name: Anonymous 2008-08-11 17:46

>>67

Multiplication

Name: Anonymous 2008-08-12 9:10

Keep it going. :)

Name: Anonymous 2008-08-12 12:16

I think we should adapt some better coding standards. All commands should be in a standardized format, eg:
*grabs X* for stack manipulation as in
stack.*grabs The Sussman* empties a stack, etc.

Flow operations could be in the format "flow:" and ignore whitespace and case, eg:
flow:i  f e e l  k i n d  o f  b a d  a b o u t  i t  : (

"If" statements could use the OMGCOMMANDS, which are capitalized orders:
if( anus.haxed == true )
   DONTHELPHIM;
anus.hax;



Anyway, just some ideas, but if we want a working interpreter soon we better not have 50 keywords, all with different usage and syntax.

Name: Anonymous 2008-08-12 12:37

>>70
Good ideas. Can you improve the list, please?

Name: Anonymous 2008-08-13 11:01

bump

Name: Anonymous 2008-08-13 13:04

This is going to be another LOLCODE, right?

Name: Anonymous 2008-08-13 13:35

>>73
even uglier then lolcode by the looks of it

Name: Anonymous 2008-08-13 13:37

>>74
then

Name: Anonymous 2008-08-13 22:11

(comefrom <line>)
After evaluating line <line>, continue execution here.

Name: Anonymous 2008-08-13 22:11

>>76
example program:
(comefrom 2)
(display "LISP")

Name: Anonymous 2008-08-13 22:24

comefrom considered beneficial

Name: Anonymous 2008-08-14 7:19

(comehere <line>)
Moves <line> right after the instruction pointer.

Name: Anonymous 2008-08-14 23:26

hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite? hai guys am i doin it rite?

Name: Anonymous 2008-08-15 9:48

wtf crack dat shit nigger

Name: Anonymous 2008-08-19 12:44

bump. keep em coming. :)

Name: Anonymous 2008-08-19 12:56


(goaway <line>)         ; gets rid of <line>
(pleasecomeback <line>) ; May get the previously gotten rid of line back at position <line>, maybe not.
(iloveyou <line>)       ; Copies <line> if called once, removes the whole subroutine if called twice.

Name: Anonymous 2008-08-28 3:19

some std library functions:

(copypasta sha1_hash) - returns sjis art/copypasta/etc.  the implementation should recurse through a folder of copypasta provided with the distro as well as a user's .copypasta/ directory.

(ircd port) - starts an ircd listening on the given port

(thread id) - fetches thread id from /prog/.  the returned thread object formats itself when printed and has methods to print individual posts.

Name: Anonymous 2008-09-15 16:53

IN B4event
    event trapping/handling
    including errors, intervals &stuff
KTHX

EXPERT PROGRAMMER
    assembly program
KTHX

I EETEDvar # or proc
nulls var/proc - integers/floats/whatsit set to 0, strings set to "", procs set to "end".

DO NOT WANTvar # or proc
clears var completely, including pointers. I EETED does this to booleans.

PROCproc CONSIDERED HARMFUL
stops any execution of proc, and future attempts at execution produce errors

VARvar CONSIDERED HARMFUL
for vehemently disusing variables

And, of course, attempts to use elements that are CONSIDERED HARMFUL, would be one of the events trapped by IN B4.

Name: Anonymous 2008-09-15 16:57

And of course, the space before /code just has to be removed, making the code look even uglier than intended!

Name: Anonymous 2008-09-15 16:58

>>85
Fuck off.

Name: Anonymous 2008-09-15 20:02

(import math)

(class Example (object)
  (def (__init__ x y)
    (multiple-def (self.x self.y) (x y)))
  (def angle (property (lambda (self) (math.atan (/ self.y self.x)))))
  (def radius (property (lambda (self) (** (+ (* self.x self.x) (* self.y self.y)) .5) )))
  (def (repr self)
    (% '(Example %s %s)' (repr self.x) (repr self.y)))
)

(print (map (lambda (x) (x.upper)) 'This is the language of my dreams; the forcibly Lisped language Lython... Lisp syntax, Python semantics, object system and library.'))

Name: Anonymous 2008-09-15 20:05

>>88
Ew, extra paren after x.upper, sorry. No parens matching in browser.

Another example:

(for x (xrange 1 11)
  (for y (xrange 1 11)
    (print (% '%4d' (* x y)))))


As you can see, filthy statements are turned into beautiful expressions.

Name: Anonymous 2008-09-15 20:20

>>89
Wait. let's reserve ', ` and company for quote, quasiquote and company macros. Strings could be represented with " and nestable Tcl or Perl-like quotes with braces. Dictionaries and sets specified as (dict (k1 v1) ...) and (objectset e ...). . and [] should be advanced macro shorthands for get/set!, which in turn are macros for the actual double-underscore methods that get called behind the scenes. Variables are defined with (def var value) and rebound with (= var value) (a slight change from Python's semantics for better closures); use (== item ...) to compare. All filthy statements are now expressions and return the last evaluated value (e.g. the value of the last expression in the last iteration of a while loop). Lambdas are, thus, as powerful as defs. Tail-call elimination is guaranteed to happen.

This would probably be Guido's worst nightmare. And this is exactly what he'd need to do to the language; perhaps minus the Lisp syntax.

Name: Anonymous 2008-09-16 6:35

>>90
print is already a function in python 3.0, you can already do assignment without a var=value statement by setattr() and locals() (or even globals()), for and while loops aren't functional anyway, and the rest is just differences of syntax.

Name: Anonymous 2008-09-16 14:06

>>91
Python does need a better syntax to create multi-line closures. I think I remember hearing about a PEP to have a Ruby-like syntax for it (albeit with FIOC) though I don't know how well it went over.

Name: Anonymous 2008-09-16 18:12

>>90
Guido hates folds.
"So now reduce(). This is actually the one I've always hated most, because, apart from a few examples involving + or *, almost every time I see a reduce() call with a non-trivial function argument, I need to grab pen and paper to diagram what's actually being fed into that function before I understand what the reduce() is supposed to do. So in my mind, the applicability of reduce() is pretty much limited to associative operators, and in all other cases it's better to write out the accumulation loop explicitly.

Name: Anonymous 2008-09-16 18:15

>>93
How does he write functional code?

Name: Anonymous 2008-09-16 18:27

>>94
By indenting it until he's convinced it's now functional.

Name: Anonymous 2008-09-16 18:28

He hates reduce because he can't understand its use, so you should always write loops explicitly.

Name: Anonymous 2008-09-16 19:02

>>94
Terrible!

Name: Anonymous 2008-09-17 3:27

>>93
Hurrr I hate what I don't understand.

Sounds like Linux Tornballs.

Name: Anonymous 2008-09-17 4:44

>>98
Except Guido hasn't produced anything of value.

Name: Anonymous 2008-09-17 6:25

>>99
http://www.isc.org/sources/devel/func/glob.php

unfortunately he hasn't produced anything nearly as good since then.

Name: Anonymous 2008-09-17 6:43

>>100
100GET.
100 is the HTTP response code to Continue.
So by all means, please Continue.

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