←2005-08-19 2005-08-20 2005-08-21→ ↑2005 ↑all
01:20:01 <WildHalcyon> Are we still hating active X?
01:31:49 * pgimeno declares today as the ActiveX cursing day
01:32:47 <int-e> We hate Active X because MS cripples its OGL implementation to push it.
01:33:17 <WildHalcyon> /me says a brief, but poignant curse about ActiveX, followed by a moment of silence.
01:33:39 <WildHalcyon> hmm.. well, you get the idea
01:37:16 -!- Gs30ng has quit (Read error: 110 (Connection timed out)).
01:38:41 -!- kipple has quit (Read error: 110 (Connection timed out)).
03:25:11 -!- tokigun_ has changed nick to tokigun.
04:27:16 <WildHalcyon> Some french bastards might have already stolen my idea!... :-(
04:27:59 <WildHalcyon> I suppose I can't expect it to be completely original, but considering how few people are aware of 2D languages...
04:40:05 <WildHalcyon> Hmm.. seems I can't track down their implementation. Might have to contact them. In French?! Meh. I'll just keep developing my own since I can't find out about theirs.
06:07:04 -!- calamari has joined.
06:07:06 <calamari> hi
06:13:53 <WildHalcyon> hi
06:14:00 <WildHalcyon> how's your evening going calamari?
06:46:44 -!- int-e has quit ("Bye!").
07:34:59 <GregorR> Bwaha!
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:19 -!- calamari_ has joined.
08:16:53 <calamari_> hi WildHalcyon, from hours ago :)
08:17:30 <calamari_> my evening.. err, morning now, is fine, thanks ;)
08:34:54 -!- calamari has quit (Read error: 110 (Connection timed out)).
09:49:44 -!- calamari_ has quit ("Leaving").
10:12:47 -!- jix has joined.
11:07:52 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
12:35:41 -!- nooga has joined.
13:49:36 -!- kipple has joined.
14:01:41 -!- int-e has joined.
15:57:13 -!- nooga has left (?).
16:38:05 -!- nooga has joined.
16:47:00 * nooga has written an esoteric language and don't know how to explain it's syntax :>
16:47:55 -!- kipple has quit (Read error: 104 (Connection reset by peer)).
16:48:55 -!- kipple has joined.
16:52:34 <WildHalcyon> Why is the syntax hard to explain?
16:53:05 <nooga> hmmm
16:53:30 <nooga> it's like Lisp's syntax
16:53:40 <nooga> but without those ( )
16:54:16 <nooga> and identifiers are 1 char long ;p
16:54:27 <nooga> that's my explanation
16:54:54 <WildHalcyon> Hmm.. programming paradigm?
16:56:15 <int-e> ```sii``sii
16:56:25 <int-e> sounds like unlambda to me
16:56:28 <nooga> hm
16:56:31 <nooga> maybe an example
16:56:36 <WildHalcyon> Ah. Of course
16:57:09 <nooga> :n,3100 @>n0 (2 !n !'
16:57:34 <nooga> will write numbers from 100 downto 1 separated by spaces ;p
16:58:11 <nooga> each function must have defined number of arguments
16:58:33 <int-e> I see
16:58:51 <nooga> unless it takes the number of arguments as a first argument
16:58:56 <nooga> like ,3100
16:59:01 <int-e> I don't know what that does, but I see how that would allow for unique parsing of expressions.
16:59:34 <nooga> it returns 3 digit long number - 100
17:00:04 <WildHalcyon> What if I wanted a 31 digit number afterwards?
17:00:13 <nooga> ,,231....
17:00:21 <WildHalcyon> ohhh
17:00:29 <WildHalcyon> clever
17:00:33 <nooga> ;>
17:00:50 <nooga> my english isn't good
17:01:06 <nooga> but i need to write an description to put it in wikipedia
17:01:22 <nooga> and i don't know how to write a fancy one
17:02:02 <WildHalcyon> Well, the esolang wiki is nice and public domain, so if you just put something there, folks might clean it up and edit it for you
17:02:13 <nooga> hmm
17:02:23 <nooga> maybe that's an idea
17:02:28 <nooga> thanks
17:03:46 <WildHalcyon> After I see that spec in the wiki, I'd be more than happy to try editing it
17:04:11 <nooga> thanks
17:05:47 <WildHalcyon> I like that crazy ,,,12345 syntax
17:06:22 * WildHalcyon corrects his syntax to be ,,,12101234567890
17:07:19 <nooga> :a+,210*b,212 -> a = 10 + b * 12
17:08:12 <WildHalcyon> I've always wanted to write a forward polish notation langusge
17:08:16 <WildHalcyon> language*
17:08:35 <nooga> huhu
17:08:53 <WildHalcyon> * + 2 3 5 = (2+3)*5 = 25
17:09:32 <nooga> yup
17:10:01 <WildHalcyon> Does qdeql use that?
17:10:43 <WildHalcyon> Its the only queue based language I know
17:11:02 <nooga> don't know
17:16:13 <nooga> i need to write a fancy interperter
17:16:27 <nooga> in perl for example...
17:17:22 <nooga> the first one was made in free pascal on my 10 years old laptop ;p
17:18:00 <nooga> when i was extremely bored
17:19:25 <WildHalcyon> Im guessing the digits input are in decimal?
17:22:05 <nooga> yup
17:22:54 <nooga> curious 'bout the name?
17:23:41 <WildHalcyon> Sure, what'll it be called?
17:24:01 <nooga> SADOL - Sadistic And Damn Odd Language
17:25:03 <nooga> cool huh? :
17:25:03 <WildHalcyon> That'll work
17:26:45 <WildHalcyon> So you've already got an interpreter?
17:27:18 <nooga> yea
17:28:33 <nooga> but it's on my laptop, that crap doesn't even have FDD
17:29:45 <WildHalcyon> FDD?
17:30:25 <nooga> Floppy Disk Drive :>
17:30:58 <WildHalcyon> oh
17:59:23 * WildHalcyon is still trying to name his language
18:13:29 -!- CXI has quit (brown.freenode.net irc.freenode.net).
18:13:59 -!- CXI has joined.
18:15:31 <int-e> FAOL - fixed arity operator language
18:16:28 <nooga> ?
18:17:20 <int-e> "In mathematics and computer programming the arity of a function or an operator is the number of arguments or operands it takes"
18:17:46 <nooga> i see
18:19:47 <WildHalcyon> Ive been working on how to pass arguments to my functions
18:20:45 <nooga> and?
18:21:19 <nooga> &&? ;)
18:21:21 <WildHalcyon> Not sure yet. Might be similar to Pingpong, which has a second stack. There's an operation that pops off the first stack and pushes onto the second stack.
18:21:35 <WildHalcyon> A function might just take arguments off the second stack
18:21:45 <WildHalcyon> Could be difficult to turn into a genetic language though...
18:24:21 <nooga> ~f1f+#_01 <- a definition of a recursive function in SADOL, in C it looks like: f(x) {return f(x+1);}
18:24:56 <nooga> _ is a list holding actual parameters
18:25:10 <nooga> i meen arguments
18:25:39 <nooga> mean* ;p
18:26:23 <WildHalcyon> whats the 1 between the two fs do?
18:26:47 <nooga> that's the number of arguments for f
18:27:52 <nooga> ~abc - defines a function named 'a' with b arguments, c is the body
18:29:31 <WildHalcyon> okay
18:30:21 <nooga> ~f1f+#_01 -> a = 'f', b = 1, c = 'f+#_01'
18:31:17 <nooga> #_0 is like _[0]
18:32:12 <nooga> i mean, #xy returns an element of x list which index is y
18:32:37 <nooga> damn
18:32:53 <nooga> i said that i can't explain my own language :/
18:33:35 <WildHalcyon> How does it know that f is the argument that it takes?
18:34:09 <nooga> where?
18:34:37 <WildHalcyon> I guess I dont understand the returning arguments...
18:35:15 <nooga> hmmm
18:35:24 <int-e> returning values is implicit
18:35:24 <nooga> there is a list named _
18:35:40 <nooga> that holds arguments
18:36:10 <int-e> what it says is: f takes 1 argument, and f(args) = f(args[0]+1);
18:36:19 <nooga> right
18:36:22 <int-e> there is no return statement.
18:36:30 <nooga> umm
18:36:56 <nooga> function returns the value of lats call in it's body
18:37:07 <nooga> last
18:37:40 <nooga> there is a special functions that does nothing and it's used for grouping other calls
18:37:45 <nooga> look
18:37:59 <nooga> (3 +25 -31 *22
18:38:10 <nooga> will return 4
18:38:16 <int-e> oh, it's an implicit progn ... hehe
18:38:26 <nooga> (4 :a+25 -31 *22 a
18:38:38 <nooga> will return 7
18:38:46 <int-e> nooga, actually: how can the function have more than one 'statement'?
18:41:18 <nooga> ~ g 2 (3 :a+#_0#_1 :b*#_0#_1 +ab
18:42:38 <int-e> ah, ( is progn, ok.
18:42:42 <nooga> g(args) {a=args[0]+args[1]; b=args[0]*args[1]; return a+b;}
18:43:39 <nooga> but there is a second tyle of functions
18:43:47 <nooga> working like , function
18:43:56 <int-e> ~ g 2 (2 :a+#_0#_1 :b*#_0#_1 +ab would be g(args) {a=args[0]+args[1]; return b=args[0]*args[1];} { a+b }
18:44:01 -!- jix has joined.
18:44:09 <int-e> that is, two expressions/statements/programs/whatever.
18:44:12 <nooga> yup
18:44:30 <int-e> hi jix
18:44:31 <nooga> you understand
18:45:29 <jix> moin
18:45:32 <nooga> but, let's get back to that functions that arity isn't known
18:46:02 <nooga> they are defined like this ~ h -01 (...
18:48:20 <int-e> will the actual number of arguments be part of the arguments then? or will there be a length-of-list operator?
18:49:03 <nooga> #L-01 returns a length of L list
18:49:27 <nooga> i mean length = number of elements
18:49:45 <nooga> L[-1]
18:49:51 <int-e> hmm. interesting choice, but consistent with the function definition.
18:51:54 <nooga> lists in SADOL are indexed from 0
18:52:33 <nooga> heh
19:03:21 <nooga> do you like it ;p?
19:04:13 <WildHalcyon> I like it, even if I dont understand it yet. Its better than mine, which lacks both a name and a confirmed syntax
19:05:12 <jix> nooga: i read the logs sounds cool
19:05:20 <nooga> but i need to write a fancy documentation ;p
19:05:28 <nooga> im having problems
19:05:40 <nooga> ... even in my national language
19:11:07 <jix> nooga: i think i got it
19:12:47 <jix> ~f0(2f3 never returns but if it would it would return 3.. right?
19:15:15 <int-e> yes
19:16:16 <nooga> yea
19:16:28 <jix> think i got it
19:16:41 <jix> i just need a list of build in functions and a interpreter
19:18:28 <nooga> i'll write interpreter in perl soon
19:19:15 <nooga> i think that perl is the best choice bcs SADOL implements lists, and dealing with lists is fairly easy in perl
19:22:37 <int-e> Hmm, builtin functions. _ -- return current argument list. # list index -- list[index] (index -1 is length), ~ function arity body -- define a function. : variable value -- assign a variable +, -, *, /. variable arguments: , number_of_digits digits -- constant integer (,242 = 42.) ( number_of_terms terms -- progn - execute the terms in order, return value of last term.
19:23:36 <nooga> right
19:23:50 <int-e> is there anything that allows conditional execution?
19:24:20 <nooga> shure
19:24:32 <nooga> ? condition if_true if_false
19:25:21 <nooga> @ condition body - works like while(condition) body;
19:26:55 <nooga> ? condition if_true if_false - works like if(condition) if_true else if_false;
19:34:45 <nooga> hmm
19:34:57 <nooga> i'll make a table of built in functions
19:42:18 <nooga> hyhy
19:44:33 <nooga> how to write about % a b ?
19:44:42 <nooga> in C: a%b
19:44:47 <nooga> returns a modulo
19:45:07 <nooga> "Returns a modulo of division a by b." ?
19:59:25 <int-e> remainder
19:59:46 <nooga> a
20:00:01 <nooga> in Polish it's named modulo ;p
20:05:32 <nooga> hah
20:05:41 <nooga> now, ...
20:05:43 <nooga> erm
20:05:46 <nooga> nothing
20:06:00 <nooga> i'll end that stupid table tomorrow
20:06:07 <nooga> got to go
20:06:11 <nooga> bye
20:06:48 <int-e> bye
20:06:55 -!- nooga has left (?).
20:47:11 -!- WildHalcyon has quit ("Adios!").
20:50:42 -!- nooga has joined.
21:42:09 <nooga> me again
21:42:14 <nooga> int-e: r u there?
21:53:23 <int-e> maybe
21:54:37 <nooga> ;>
21:55:09 <nooga> i need to explain that in english: .3123 = 0.123
21:56:47 <nooga> . returns ....
21:57:22 <int-e> hrm
21:57:34 <jix> . has a variable number of arguments
21:58:01 <jix> and return all arguments as number/10^(number_of_arguments)
21:58:09 <nooga> yup
21:58:13 <nooga> that's right
21:58:15 <nooga> but
21:58:28 <jix> returns 0.arguemnts
21:58:55 <nooga> isn't it called fractional part ?
21:59:41 <jix> hmm i'm not a native english speaker..
21:59:50 <jix> yes it is
21:59:55 <jix> http://mathworld.wolfram.com/FractionalPart.html
22:15:23 <nooga> hehe
22:15:41 <nooga> i've almost done the list of those builtin functions
22:24:00 <jix> cool
22:54:34 <nooga> viola! http://agentj.risp.pl/wysypisko/uploads/sadl.htm
22:55:02 <nooga> please, help me to correct language mistakes ;p
22:55:15 <nooga> and excuse my english
22:56:08 <jix> nooga: is there a function for getting names longer than 1 char?
22:56:56 <jix> and are variables local or global?
22:58:04 <nooga> global ;p
22:58:12 <nooga> and all names are 1 char long
22:58:16 <jix> ok
22:58:51 <nooga> i thought about a namespaces ;>
22:59:04 <nooga> but there's only one char left
22:59:08 <nooga> )
22:59:41 <jix> no local variables make recursion difficult ..
23:00:33 <nooga> hm
23:00:38 <nooga> then maybe
23:00:54 <nooga> im writing a new interpreter
23:01:27 <jix> is a string handled as an integer array (modulo 256) (with popping and pushing and indexing..)?
23:01:43 <nooga> yup
23:02:09 <jix> string pushed on string == appending?
23:02:21 <nooga> yup
23:02:40 <jix> good i'm thinking about a turing completeness proove
23:03:23 <jix> what's about comparing strings with numbers?
23:03:43 <jix> and using strings in conditions...
23:04:06 <nooga> string is threated as a number of characters
23:04:15 <nooga> in that case
23:04:18 <jix> so "a" < 2
23:04:21 <jix> but "aaa" > 2
23:04:22 <nooga> yes
23:04:35 <nooga> got a better idea? :P
23:04:39 <jix> ; returns a 1char string or a integer?
23:04:48 <nooga> it depends
23:04:53 <jix> nooga: no but i need some more info for writing programs in it (without interpreter)
23:04:56 <jix> depends?
23:05:03 <nooga> i mean
23:05:06 <nooga> lol
23:05:16 <nooga> ow, getch()
23:05:36 <jix> ow?
23:05:50 <jix> getch in c returns int
23:05:54 <nooga> it's not equivalent to getch()
23:05:59 <nooga> i know
23:06:20 <nooga> i meant
23:06:40 <nooga> if user will input "A pie" ; will return a string
23:06:51 <jix> oh it's multibyte?
23:07:03 <nooga> if user will input 10.6e-2 ; will return a number
23:07:17 <jix> hmm i'd like to have byte wise input
23:07:39 <nooga> hmm
23:08:10 <jix> maybe let ; take an argument (bytes to read) 0 will read one expression (line as string number as integer/float) and 1 will read 1 byte as integer , 2 will read 2 bytes as string
23:08:52 <nooga> hmm
23:08:54 <nooga> good idea
23:08:58 <nooga> and
23:09:23 <nooga> maybe let the symbols A to Z be global
23:09:38 <nooga> and a to z will be local
23:09:41 <jix> good idea
23:09:57 <nooga> hm, cool
23:10:00 <jix> hmm another thing i need to know.. if i read one byte and get an eof.. what's the value
23:10:04 <nooga> let me change the table
23:10:20 <jix> 256, -1 ? (i think numbers are signed ints)
23:10:43 <nooga> 256
23:10:57 <jix> ok that's good.. makes binary input possible
23:14:03 <jix> are local functions possible?
23:14:17 <jix> it's easy if you store them like local varaibles
23:14:26 <nooga> function in function ?
23:14:29 <nooga> shure
23:14:38 <jix> i really like that language
23:14:43 <jix> think i'll implement it
23:14:45 <nooga> thanks
23:15:41 <jix> (2:t"0[tn creates a string containing a byte with the value n?
23:15:54 <jix> (2 :t"0 [tn {cleaner}
23:16:41 <nooga> yes
23:16:47 <nooga> i've updated the table
23:16:48 <nooga> g2g
23:16:51 <nooga> bye ;>
23:16:57 <nooga> ill be here tommorow
23:16:59 <jix> bye
23:17:05 -!- nooga has quit.
23:20:12 <jix> (2:i;0#-i,3256(4:t"0[ti!t:i;0 should be a cat program
23:20:55 <jix> ;",213Hello, world!
23:21:02 <jix> that language is cool
←2005-08-19 2005-08-20 2005-08-21→ ↑2005 ↑all