00:04:36 <ehird> so guys how is backwards land
00:05:01 <ehird> wait did that not reverse properly
00:07:27 <oklopol> reminds me of that xkcd comic
00:07:42 <oklopol> where the text was mirrored and upside down or something
00:07:51 <oklopol> and it says "wanna annoy the hell out of our readers"
00:07:56 <oklopol> and i'm like what the fuck is the joke
00:08:29 <oklopol> psygnisfive: well supposedly some people can't read mirrored text :|
00:09:37 <psygnisfive> the hello world program, and a (slightly restricted) cat program, are easily some of the simplest programs in my wip language :O
00:09:39 <ehird> so gentlemen, how are you today? Are you enjoying the amazing thing known as backwards?
00:10:16 <ehird> then type between the arrows
00:10:19 <ehird> then deplete arrows.
00:10:29 <ehird> --> so easy a green could do it<--
00:11:07 -!- jix_ has joined.
00:11:17 <ehird> no, I used black magic
00:11:35 <ehird> also, green magic.
00:11:47 <psygnisfive> green magic is the magic of environmentalists
00:11:51 <ehird> also, purple magic.
00:12:03 <psygnisfive> they use all natural biodegradable materials to cast spells
00:23:25 -!- jix has quit (Read error: 110 (Connection timed out)).
00:35:03 -!- jix_ has quit ("...").
00:51:17 -!- oklopol has quit (Connection timed out).
01:06:02 -!- GreaseMonkey has joined.
01:07:30 -!- Corun has changed nick to MateyHuber.
01:14:37 <psygnisfive> so one of my professors is in a russian music video...
01:25:17 -!- MateyHuber has changed nick to Corun.
03:35:15 -!- Corun has quit ("This computer has gone to sleep").
06:02:08 -!- Sgeo_ has quit ("Leaving").
06:12:33 -!- Dewio has joined.
06:25:27 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
07:36:42 -!- Dewio has changed nick to Dewi.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:55 -!- Mony has joined.
09:20:34 -!- GreaseMonkey has quit ("Client Excited").
09:30:23 -!- asiekierka has joined.
09:30:54 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say.
09:31:50 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz.
09:33:25 <Mony> h) the letter h
09:35:02 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h.
09:35:25 -!- Slereah2 has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h j) there is no i.
09:37:07 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h j) there is no eye.
09:38:00 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h j) there is no eye z) Let's skip to ASCII char 42, shall we? :D.
09:38:15 <Mony> can you tell me something about the esoteric comics ?
09:39:00 -!- Slereah2 has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h j) there is no eye z) Let's skip to ASCII char 42, shall we? :D {) beep boop.
09:43:07 <asiekierka> http://www.stripcreator.com/comics/asiekierka/453254
09:44:48 -!- Corun has joined.
09:45:00 <Mony> tiens, un sélérat ! :o
09:51:07 <Mony> it's a french word, Slereah and scélérat sound like the same words
09:51:29 <Mony> scélérat = wicked
09:53:49 -!- Slereah has joined.
09:54:02 <Mony> slereah came back
09:54:24 <Mony> asiekierka, maybe you can make the comic from scratch
09:59:00 <Mony> wait, i don't understand that word
09:59:46 <asiekierka> http://asiekierka.boot-land.net/screebles/img/comic/28.JPG
10:00:02 <asiekierka> http://asiekierka.boot-land.net/screebles/img/comic/32.JPG
10:00:08 <Mony> you can keep on using stripcreator, and when the comic book is ended, you can modify it with paint or what you want
10:00:25 <asiekierka> nope, it'll be also crapfestic quality
10:00:29 <asiekierka> http://asiekierka.boot-land.net/screebles/img/comic/25.JPG
10:00:40 <asiekierka> http://asiekierka.boot-land.net/screebles/img/comic/23.JPG
10:03:16 <Mony> stripcreator seems to be good, but i don't like so much the characters' faces
10:03:54 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
10:06:00 <asiekierka> Mony: Ok, but do you prefer my Screebles, then?
10:07:35 <Mony> I don't know, the Screebles (28 and 32) have something dirty (except the 25 and 23, there're good :))
10:08:55 <asiekierka> i must reproduce it, make it a vector image and use it
10:12:28 <Mony> I ever wanted to make my own comic or cartoon
10:12:48 <asiekierka> get a scanner, get a pen and let your imagination fly!
10:13:11 <Mony> something like 8bit NES game, with bigs pixels and chiptune music
10:15:53 <Mony> maybe i can make moving the sprite, scroll the background, etc
10:16:21 <Mony> it can be pretty cool
10:17:15 <Mony> yeah, i used to make some flash animations
10:17:44 -!- oklopol has joined.
10:20:08 <asiekierka> and there will be both b&w and color versions
10:40:46 -!- Hiato has joined.
10:52:31 -!- Corun has quit ("This computer has gone to sleep").
10:55:03 -!- Hiato has quit ("Leaving.").
10:55:44 -!- Hiato has joined.
10:56:13 <asiekierka> http://asiekierka.boot-land.net/aa1_template_color.PNG
10:56:50 -!- Hiato has quit (Client Quit).
10:57:09 -!- Hiato has joined.
11:02:04 -!- asiekierka has quit.
11:30:01 -!- FireFly has joined.
11:34:25 -!- Corun has joined.
11:51:07 -!- Mony has quit ("reboot").
11:56:24 -!- Mony has joined.
12:17:36 -!- MigoMipo has joined.
12:25:58 -!- FireyFly has joined.
12:26:07 -!- FireFly has quit (Nick collision from services.).
12:26:12 -!- FireyFly has changed nick to FireFly.
12:48:12 -!- FireFly has quit (Read error: 104 (Connection reset by peer)).
12:50:27 -!- FireFly has joined.
12:58:22 -!- MigoMipo has quit ("http://www.mibbit.com ajax IRC Client").
13:11:42 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
13:12:15 -!- Hiato has joined.
13:15:57 -!- Hiato has quit (Client Quit).
13:36:34 -!- kar8nga has joined.
14:14:04 -!- BeholdMyGlory has joined.
14:27:20 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
14:32:37 <ehird> oh jesus, fucking asiekierka fucked with the topic again
14:32:48 <ehird> has he figured out that it's irritating yet
14:33:21 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
14:34:53 -!- Hiato has joined.
14:35:22 <ehird> <asiekierka> don't use it except if i allow you
14:35:32 <ehird> Does this count as a formal licensing, or can I use it blatantly?
14:35:39 <ehird> I think the latter.
14:37:15 -!- KingOfKarlsruhe has joined.
14:45:33 -!- Hiato has quit ("Leaving.").
14:59:01 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:05:18 -!- Corun has quit ("This computer has gone to sleep").
15:09:28 -!- olsner has joined.
15:32:15 <comex> I don't think you have enough coins to buy 50 VP...
15:32:42 <comex> sorry, wrong channel
15:45:15 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
15:45:20 -!- puzzlet has joined.
16:43:07 <psygnisfive> i think i know how im going to add types to my language :o
16:43:19 <psygnisfive> ehird! you once said you wished haskell had first class types, or something. what did you mean?
16:43:35 -!- BeholdMyGlory has quit ("bye").
16:43:41 <ehird> type language = code language, turing complete compilation (has its downsides ... like non-terminating compilations ... )
16:43:47 <ehird> e.g. you can strongly type printf
16:44:20 <psygnisfive> can you give me a more detailed example? im not sure what a dependent type would be
16:44:43 <psygnisfive> also, doesnt C++ or something have require TC compilation due to its type system? x.x
16:44:44 <ehird> dependent types is just the theoretical term
16:44:48 <ehird> psygnisfive: here's a concrete example
16:45:13 <ehird> psygnisfive: http://www.cs.chalmers.se/~augustss/cayenne/examples.html Scroll to the vey bottom
16:45:21 <ehird> that's a strongly typed printf
16:45:31 <ehird> you can probably get the gist of how it fits in with what i've said
16:47:41 <ehird> basically, it's calling a function in the type system there
16:47:50 <ehird> which varies printf's type depending on what string you feed it
16:48:04 <ehird> (yes, it breaks down if you e.g. feed it user input, you have to offer proofs that its' gonna be a certain type then)
16:51:20 <ehird> does it make sense to you? :P
17:16:25 -!- asiekierka has joined.
17:16:35 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) fake.
17:17:02 <ehird> Oh noes, offensive words
17:17:29 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:17:49 <oklopol> oh my god is there something offensive on irc
17:17:58 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) stfu ehird.
17:18:08 <ehird> asiekierka telling me to stfu?
17:18:25 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:18:25 <oklopol> gay sex... oh dear god i can't take it anymore
17:18:27 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
17:18:59 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) stands for "freak".
17:19:08 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:19:11 -!- Slereah has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) stands for "freak" g) THE GAME.
17:19:12 <ehird> I can do this all day.
17:19:13 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:19:22 -!- Slereah has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally. g) THE GAME.
17:19:27 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:19:35 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) asiekierka is an idiot that sucks so much he doesn't even deserve being in the freaking topic g) THE GAME i) there is no h.
17:19:42 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:19:54 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) asiekierka is an idiot that sucks so much he doesn't even deserve being in the freaking topic g) THE GAME i) there is no h.
17:20:07 <ehird> asiekierka: You know, most who hate themselves that much just cut themselves.
17:20:19 <ehird> That would be a lot less annoying for me, to boot.
17:20:21 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:20:42 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehird is a super-lame super-bad idiot that sucks so much he doesn't even deserve being in the freaking topic g) THE GAME i) there is no h.
17:20:59 <ehird> I think I'll make bsmnt_bot set the topic for me.
17:21:00 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:21:03 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehird is a super-lame super-bad idiot that sucks so much he doesn't even deserve editing this freaking topic g) THE GAME i) there is no h.
17:21:10 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:21:27 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehird is a super-lame super-bad idiot that sucks so much he doesn't even deserve editing this freaking topic g) nor does bsmnt_bot h) THE GAME j) there is no i.
17:21:38 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:21:49 -!- asiekierka has set topic: a) oko; b) the swatter; c) no messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehird is a super-lame super-bad idiot that sucks so much he doesn't even deserve editing this freaking topic g) nor does bsmnt_bot h) THE GAME j) there is no i.
17:21:56 <ehird> Remember when asiekierka did anything interesting esolang-related? No, me neither.
17:21:57 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:22:08 -!- asiekierka has set topic.
17:22:12 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:22:18 -!- asiekierka has set topic: ehird sux.
17:22:22 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:22:37 -!- asiekierka has set topic: all your topic are belong to asiekierka.
17:22:40 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:22:58 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) g. occasionally..
17:23:09 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:23:15 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) x. occasionally..
17:23:21 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:23:29 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gxscc for the wi9n.
17:23:40 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:23:49 -!- asiekierka has set topic: 3.14.
17:24:07 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:24:14 <ehird> Hey, remember when asiekierka spammed?
17:24:30 -!- asiekierka has set topic: What about we leave the topic alone now and be friends? ...please?.
17:24:48 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:24:53 <ehird> We can leave the topic alone now.
17:24:53 -!- asiekierka has set topic: I said something!.
17:25:05 <ehird> Oh, you're breaking your own truce.
17:25:08 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:25:23 -!- asiekierka has set topic: What about we leave the topic alone AT THIS POINT WITHOUT EVER EDITING IT and be friends? ...please?.
17:25:37 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:25:40 -!- Slereah has set topic: http://tunes.org/~nef/logs/esoteric.
17:26:20 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:29:57 -!- asiekierka has set topic: What about we leave the topic alone AT THIS POINT WITHOUT EVER EDITING IT and be friends? ...please? Please? Anyone who edits this topic is an idiot..
17:30:03 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:34:12 -!- asiekierka has set topic: please stop. now..
17:34:22 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:34:28 <ehird> How about you? You changed it initially.
17:34:43 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) *** ***. occasionally..
17:34:52 <ehird> How about you? You changed it initially.
17:34:53 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:35:06 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehi rd!. occasionally..
17:35:09 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:35:19 -!- asiekierka has set topic: CoinTalesQ.
17:35:28 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:35:43 -!- Mony has set topic: STOP PLAYING WITH THE TOPIC !! è_é.
17:35:47 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:35:51 -!- asiekierka has set topic: ,[.,] input:"ehird sucks".
17:35:55 <ehird> Mony: asiekierka is messing with it, i am setting it back.
17:35:56 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:36:00 <ehird> he'll get tired eventually.
17:36:17 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) you want my father to see that?.
17:36:24 <ehird> Tch. If only you weren't so annoying all the time I might have some sympathy.
17:36:55 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:36:56 -!- asiekierka has left (?).
17:37:03 -!- asiekierka has joined.
17:37:11 <ehird> Bye. Oh wait, you're bacj
17:37:31 -!- asiekierka has left (?).
17:37:51 -!- asiekierka has joined.
17:38:08 <ehird> Your "leaving FOREVER"s are remarkably short.
17:44:02 -!- CakeProphet has joined.
17:55:20 -!- kar8nga has joined.
18:24:43 -!- puzzlet has quit (Remote closed the connection).
18:24:51 -!- puzzlet has joined.
18:34:23 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game;.
18:34:24 -!- asiekierka has left (?).
18:37:11 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
18:40:07 <ehird> "I used to be a KDE user. I thought KDE 4.0 was such a disaster I switched to GNOME"
18:47:04 -!- Slereah2 has joined.
18:58:39 -!- Slereah has quit (Read error: 110 (Connection timed out)).
18:58:55 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
19:04:16 -!- puzzlet has quit (Remote closed the connection).
19:04:24 -!- puzzlet has joined.
19:05:11 -!- Corun has joined.
19:22:01 -!- oklopol has joined.
19:27:17 <oklopol> ehird: i remember more of asiekierka's esolang related stuff than yours, but, umm, maybe it's just my memory :P
19:27:34 <ehird> i said interesting
19:32:31 <oklopol> lifthrasiir: do you like pudding?
19:36:43 -!- puzzlet has quit (Remote closed the connection).
19:36:50 -!- puzzlet has joined.
19:40:56 <ehird> "What's ironic got to do with Alanis Morisette?!:
19:43:23 <Slereah2> It's sort of like rain on your wedding day.
19:44:16 -!- BeholdMyGlory has joined.
19:51:32 -!- Mony has quit ("Quit").
19:54:10 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
19:57:45 -!- psygnisf_ has joined.
19:57:45 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
19:59:58 -!- puzzlet has quit (Remote closed the connection).
20:00:05 -!- puzzlet has joined.
20:06:53 -!- Corun has quit ("This computer has gone to sleep").
20:08:47 -!- Corun has joined.
20:10:12 -!- MigoMipo has joined.
20:54:44 -!- ktne has joined.
20:54:56 <ktne> can i ask some language design questions here?
20:55:13 <ktne> i'm designing my own language and i have some issues to solve
21:31:02 <Ilari> ktne: Well, if the language is esoteric... :->
21:31:19 <ktne> well my main issue is performance
21:31:29 <ktne> i would like a prototype based language
21:31:36 <ktne> but with C-like performance
21:31:43 <ktne> and i was wondering how that could be done
21:32:24 <Ilari> ktne: Well, usually esoteric languages don't care about performance...
21:32:26 <ktne> i was wondering if a Seal method on objects, this would block all further structure changes, if that would be fine
21:32:46 <ktne> that way the structure could be guaranteed and optimizations done
21:34:35 <ktne> well my language is not that esoteric
21:34:45 <ktne> other than i plan each statement to be in a custom micro-language
21:35:02 <ktne> one would be a raw lisp form-like
21:35:09 <ktne> other formats could be made available
21:36:44 <ktne> { statement;statement;statement}
21:37:04 <ktne> each statement could be in a different micro language, such as SQL-like, LISP-like, etc
21:37:36 <ktne> there would be a number of such microlanguages, optimized for common usages
21:37:50 <ktne> like reges text processing and such
21:41:19 -!- BeholdMyGlory has quit ("bye").
21:41:57 <Ilari> ktne: Regexes with nondeterminate backreference operator (match anything that subexpression could match)? That can be defined to work in case where those backrefs refer to subexpression those are in... :->
21:43:25 <Ilari> ktne: With that sort of extension, stuff like E-mail address syntax becomes expressable.
21:45:25 <Ilari> ktne: Example: '(|\(<1>\)|<1><1>)'. There is no equivalent regular expression with only standard operators (Kleene closure, alternatives and concatenation)...
21:45:58 <ktne> well i was thinking about customizable regex character classes
21:46:24 <ktne> for example you could have class 'c' that would match against any object that implements let's say interface Car
21:46:36 <ktne> then you could match all Car objects in a collection
21:47:47 <ktne> therefore text matching would be just a subset of all possible uses, the cases where an object matches if it's a Char with a specific value
21:48:05 <ktne> i'm not sure if i put it in a clear way :)
21:48:11 <Ilari> ktne: Matching on sequence of values?
21:48:32 <ktne> matching against any stream of objects
21:48:42 <ktne> and text would be a subcase
21:49:05 <ehird> ktne: so what brings ya here
21:49:07 <ktne> for example matching against an XML parse tree
21:49:39 <Ilari> ktne: Don't you need something more powerful than regexps there?
21:50:08 <ktne> Ilari: well, it depends on how you define your custom classes
21:50:42 <ktne> also the tree would have to be flattened in a stream first obviously, maybe using a custom tree walking algorithm
21:50:43 <Ilari> ktne: Well, with that sort of backreference operator as I shown, it should be powerful enough...
21:51:22 <ktne> well you could implement any sort of operator i guess
21:51:42 <ktne> since the whole regex engine could be programmed
21:52:04 <Ilari> The challenge is to choose operators that are powerful but don't seriously blow up the execution time in common cases...
21:52:07 <ehird> soooooooooooooooooooooooooo
21:52:09 <ehird> what brought you here
21:52:13 <ktne> ehird: but my questions are related mainly to performance :)
21:52:27 <ehird> okay. Well that's sort of esoteric
21:52:32 <ktne> how to achieve C-like performance in a language without classes
21:52:53 * ehird 's pet in-head project for a while has been to make a scheme implementation that's competitive with C
21:53:08 <ktne> but is that possible?
21:53:10 <ehird> which you could probably build a prototype OO system on top of without too much overhead
21:53:17 <ktne> at least i'm willing to accept language limitation
21:53:28 <ktne> i'm not sure if scheme has the right semantics to allow that
21:53:38 <ehird> SBCL--a common lisp compiler--is competitive with C, iirc, but of course CL is far less lenient than Scheme
21:53:44 <ehird> you can't redefine + in CL... :-)
21:53:55 <ehird> i think it boils down to having really efficient function calls
21:53:56 <ktne> ehird: no overhead means for me c++-like performance
21:54:14 <ehird> why so interested in performance, anyhoo?
21:54:16 <ktne> yes but how do you dispatch them if the object structure is dynamic
21:54:22 <ehird> wanna write an OS? :p
21:54:38 <ktne> no, i'm more interested in an alternative to matlab and mathematica
21:54:41 <ehird> also, well, with Scheme you have to dynamically look up everything
21:54:46 <ktne> because they are so incredibly slow... :(
21:54:52 <Ilari> ktne: And if you do SQL, allow possibility for parametrized queries (and make them relatively _easy_), since nonparametrized ones can easily turn into security nightmares...
21:54:54 <ehird> so having an object would be no overhead
21:54:59 <ehird> ew, don't do SQL :(
21:55:14 <ktne> ehird: i said that each statement could be in a microlanguage
21:55:32 <ehird> I don't think that would be very helpful
21:55:37 <ktne> ehird: with several microlanguages for common usages, like text procesing, collection operations (like sql), etc
21:55:47 <ktne> and a raw lisp-form one
21:55:49 <ehird> "I want to embed an entirely different language without any markets into this program" is no common thought of mine
21:55:58 <ehird> s/markets/markers/
21:56:12 <ktne> well i was thinking about some guesswork in the parser
21:56:20 <ktne> and some marker to make things sure when ambigous
21:56:46 <ktne> i was thinking about using \sql or \regex as markers
21:56:59 <ktne> sort of macro call :)
21:57:28 <ktne> but this would be just syntax sugar
21:57:41 <ehird> I rather embed other languages into the one I'm working in instead of just having them there literally.
21:57:46 <ehird> This falls down for regexs, tho.
21:57:47 <ktne> i'm designing the semantics right now, the object layout and the function call standard
21:58:06 <ehird> so how did you find this place then? :)
21:58:12 <ehird> btw our wiki is at http://esolangs.org/
21:58:18 <ehird> guess I can add that to our sprawling topic
21:58:25 <ktne> i was here a few times before :)
21:58:34 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/.
21:58:37 <ktne> i think i was designing some concatenative language back then
21:58:44 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page.
21:58:56 * ehird greps 2002-present logs for you
21:59:01 <ktne> but now i'm thinking about something more classical, something with semantics close to .NET (C-like objects, etc)
21:59:12 <ktne> mainly because such bad performance in matlab and mathematica
21:59:27 <ehird> I wanted to write a Mathematica replacement myself once.
21:59:29 <ehird> Still at the back of mind.
21:59:54 <ehird> THis was mostly driven by ais523 of this place's horror stories about it.
22:00:17 <ehird> must be recent, then
22:00:20 <ehird> (I manually downloaded those logs)
22:00:25 -!- impomatic has joined.
22:00:28 <ehird> ends at 2008-10-31
22:00:28 <ktne> what horror stories?
22:00:40 <ktne> i haven't been here since 2008-10-31
22:00:52 <ehird> ok, you haven't been here before that either, at least at ktne
22:00:56 <ktne> so maybe i'm not in the logs, aha, i'm a vampire, no mirrors :)
22:01:27 <ehird> ktne: the horror stories were mostly from when he was writing his proof of: http://www.wolframscience.com/prizes/tm23/solved.html; he wrote the programs for it in Perl but wolfram required him to rewrite them in mathematica for their egos
22:01:33 <ktne> i'm looking mainly for a replacement for matlab but with more symbolic stuff, a la mathematica
22:01:37 <ehird> stuff like its awful performance, the crazy-ass HoldFirst thing
22:01:43 <ehird> and the basic idea that it's just a pattern-matcher at heart
22:01:52 <ehird> iirc he got it to crash a lot
22:02:24 <ktne> my main issues are peformance related
22:02:29 <ehird> i tried to actually try it, but they wanted to look over my trial request manually, and they didn't send me a link. ho hum
22:02:49 <ktne> first, they are not fast when interpreting algorithms, they are fast only when doing core processing, stdlib stuff
22:02:50 <ehird> ktne: doesn't mathematica just hardcode a bunch of algos in C so that it's fast iff you're doing what wolfram does?
22:02:59 <ktne> then second issue
22:03:06 <ktne> is that they cannot handle large datasets
22:03:17 <ktne> because they want to load everything in memory
22:03:31 <ktne> i need something that can work off-disk
22:03:38 <ktne> maybe mmap the data files
22:03:42 <ehird> why does it have to be C-speed though?
22:03:45 <impomatic> Does anyone know what the smallest Brainfuck hello world is?
22:03:46 <ehird> C is pretty, well, fast.
22:03:52 <ehird> impomatic: yes, iirc egobot generated it
22:03:54 <ehird> but egobot is dead
22:03:57 <ehird> i think it may be on the wiki
22:04:44 <ktne> because i wanted to do some rather intensive pattern matching in mathematica and it was just too slow and memory-hungry compare to the C version
22:04:53 <ehird> impomatic: I could try and grep the logs for egobot's I think it was 113 or sth
22:05:07 <ehird> right, but surely it doesn't need to be _as_ fast as C?
22:05:20 <ktne> well that's one of my goals, from the start
22:05:30 <ktne> R for example is extremely slow too
22:05:38 <impomatic> Ehird: thanks, that would be a big help. Google didn't show up much
22:05:54 <impomatic> Is 113 the best? Was that generated by a GA or something?
22:06:04 <ehird> I'm not sure of the actual number, but ye
22:06:12 <ehird> a Java program, I think
22:06:19 <ktne> matlab can be fast but it requires you to vectorize your algorithms, which can be complicated sometime
22:06:19 <ehird> (egobot let you generate BF text as a command)
22:06:44 <ktne> neither mathematica or matlab have actually been designed for fast random access into arrays
22:06:59 <ktne> just try to do a FOR loop in matlab :)
22:07:00 <ehird> 15:20:20 <rice> !bf_txtgen Hello, world!
22:07:01 <ehird> 15:21:04 <EgoBot> 118 +++++++++++[>++++++>++++>+++++++++>+++<<<<-]>++++++.>>++.+++++++..+++.<.>>-.<++++++++.--------.+++.------.--------.>+. [839]
22:07:08 <ehird> rice is me by the way
22:07:10 <ehird> that's from jan 2008
22:07:13 <ehird> so probably the most refined so far
22:08:18 <Ilari> And there is annoying thing in matlab that doing per-element lookup on vector can transpose the result...
22:08:48 <ehird> everything will be perfect when we have processors that run Haskell natively.
22:08:57 <ktne> so basically i want something really fast, but with an interactive repl and interactive graphics
22:09:15 <ktne> but i want to stay away from class based oop for personal taste
22:09:21 <ehird> ktne: do you want a pony too? :p
22:09:27 <ehird> why not just stay away from oop, anyhoo
22:09:31 -!- Corun has quit ("Leaving").
22:09:50 <ktne> ehird: well i really want oop :)
22:09:57 <ktne> maybe something that mirrors the file system
22:10:02 <ktne> so you could store values in the FS
22:10:24 <ehird> I think you want PHP, they chose \ as their namespace separator because they can't write a parser and because it was the windows dir separator (seriously)
22:10:26 <ktne> persistence is another goal of mine
22:10:51 <ehird> serializable continuations are awesome but you also have to serialize sockets and crap to do that properly
22:11:07 <ktne> well i'm not that interested into serializing externalities
22:11:18 <ktne> only the internal state
22:11:30 <ehird> ktne: there's an efficient way to do garbage collection that leaves you with efficient function calls and also efficient continuations
22:11:31 <ehird> http://home.pipeline.com/~hbaker1/CheneyMTA.html
22:11:46 <ehird> might be worth checking out
22:11:53 <ehird> "Appel's method avoids making a large number of small trampoline bounces by occasionally jumping off the Empire State Building. "
22:14:15 <ehird> ktne: i assume, by the way, that you're compiling
22:14:22 <ehird> because interpreting at C speed is, um... impossible.
22:14:29 <ktne> i'm thinking about using llvm
22:14:52 <ehird> llvm unfortunately is very imperative
22:15:18 <ktne> i can't see any other option
22:15:27 <ehird> compile to machine code?
22:15:29 <ktne> i don't feel like wanting to implement a JIT :)
22:15:48 <ehird> if you really need C speed... )
22:15:56 <ktne> llvm generates C speed
22:16:09 <ktne> i'm mostly afraid of optimizations
22:16:20 <ehird> it generates C speed if your language is mostly imperative, I would say
22:16:28 <ktne> implementing proper optimizations is very time consuming which is why i don't want to compile to machine code myself
22:16:42 <ktne> well i guess my language is meant to be mostly imperative
22:16:45 <ehird> well heck, if you want C speed you'd better be ready to spend a lotta time on it ;)
22:16:51 <ktne> maybe single assignment
22:17:16 <ehird> i think haskell is nearing C-speed
22:17:21 <ehird> that's pretty mathematical :P
22:17:31 <ktne> i don't really like pure functional stuff
22:17:47 <ktne> mainly because of resource impredictability issues
22:17:48 <Deewiant> haskell's compiler is also black magic
22:18:06 <ktne> resource usage has be be fairly easy to estimate
22:18:08 <ehird> Deewiant: I don't think ghc is _that_ obscure...
22:18:19 <ehird> ktne: i think some of the peeps in #haskell have done work on that
22:18:32 <ehird> might wanna ask them
22:18:37 <ktne> well also pure functional is not that suitable for matlab-like stuff
22:18:55 <ktne> and i'm not willing to spend years on the compilation stuff :)
22:19:08 <ktne> i have to have this done in months :) llvm with a frontend on top :)
22:19:37 <ehird> if you have to have c speed really quickly, use c? :P
22:19:40 <ktne> well i have to use it for some real stuff
22:19:46 <ktne> because C is not interactive, nor ddynamic
22:19:54 <ktne> i want interactive graphs and stuff
22:20:07 <Deewiant> good luck with C speed for that ;-)
22:20:54 <ktne> well i was thinking about using some google jvm-like techniques
22:21:10 <ktne> jscript vm i mean
22:21:22 <ktne> but jscript is limited from the start due to semantic issues
22:21:23 <ehird> i think your three goals - interactive, c-speed, and not long to develop - are contradictory.
22:21:56 <ktne> there is no such language so far
22:22:36 <ktne> it doesn't feel that hard to do, i just think nobody tried
22:22:44 <Deewiant> the first two are contradictory I'd say — it's like having a language which compiles to optimized C but with zero compilation time :-)
22:22:55 <ehird> and the first two contradict the last
22:23:02 <ktne> for example most scripting languages don't have C-like types which makes them slow from the start
22:23:23 <ktne> Deewiant: i'm not that interested in zero compilation time, more in fast execution
22:23:36 <ehird> ... and interactiveness.
22:23:40 <Deewiant> ktne: just talking about the semantics of 'C speed' and 'interactive' put together
22:24:07 <Deewiant> i.e. if you want interactive + C speed you need zero time spent to generate the C-speed code :-)
22:24:20 <Deewiant> unless you can generate code which is faster than C, which is unlikely
22:24:27 <ktne> well C spends a lot of time in compilation stage too :)
22:24:34 <ehird> and C is not interactive
22:24:38 <ktne> compilation time is not an issue for me
22:24:48 <ktne> only execution speed is an issue
22:24:49 <Deewiant> if you want it to be interactive, it is
22:24:49 <ehird> you want interactivity
22:24:58 <ehird> interactive time = compilation time + runtime
22:25:18 <ktne> i don't see how compiling one line of code at a time can be that slow
22:25:29 <ktne> since that's what i mean by interactivity, a repl
22:25:42 <Deewiant> it's not that slow, but it won't be C speed
22:25:45 <ktne> that's all compilation that needs to be fast
22:25:51 <ktne> compiling a file can be slower
22:26:01 <ehird> it's REPL is basically C speed
22:26:02 <Deewiant> we're just arguing semantics :-P
22:26:05 <ktne> well i assume that each line takes a long time toe xecute
22:26:30 <ktne> that's why repl compilation time is not an issue, as long as there is no visible lag per command, i'm ok with it
22:26:36 <ehird> "no visible lag per command"
22:27:18 <Deewiant> 'no visible lag' + 'C speed' don't mix unless you add a qualifier like 'close to' to the latter :-)
22:27:18 <ktne> ok, let's not digress
22:27:52 <ktne> i mean no visible lang from when you type ENTER and up to when it starts executing the command
22:28:07 <ktne> even if compiling just one line of code takes 0.25sec, that's still acceptable
22:28:13 <ehird> 0.25sec is, um, visible lag.
22:28:20 <ehird> 0.25sec is HUGELY visible
22:28:25 <Deewiant> 0.1 is approximately when it starts to get visible
22:28:38 <Deewiant> depends on the user's speed obviously
22:28:41 <ktne> i assume llvm compiles quite fast
22:28:59 <ktne> compiling one function is not that much
22:29:11 <ktne> my main issue is execution time
22:29:18 <Deewiant> depends on what you're doing, too, of course
22:29:27 <ktne> what kind of semantic restrictions do i have to add in order to get good performance from a dynamic language
22:29:31 <ktne> that's my question
22:29:39 <ktne> anything but classes, i can't stand classes
22:29:47 <Deewiant> losing dynamic types helps ;-)
22:30:10 -!- nice has joined.
22:30:10 <Deewiant> assuming that's what you meant by 'dynamic'
22:30:10 <ktne> how can you have interactivity without dynamic types?
22:30:16 <ehird> everything is a tradeoff, purity vs efficiency.
22:30:30 <ktne> i'm not interested in language purity at all
22:30:30 <ehird> haskell even behaves dynamic
22:30:32 <ehird> since it's inferred
22:30:34 <Deewiant> ktne: why would interactivity require dynamic types?
22:30:35 <ktne> i don't care if it looks like perl :)
22:30:41 <ehird> ktne: you misunderstand purity.
22:30:51 <ehird> you're saying, oh I need mallable prototype objects
22:30:53 <ktne> Deewiant: because i want to be able to add methods at runtime
22:30:59 <ehird> and that's taking purity over efficiency
22:31:09 <Deewiant> that does sort of require dynamic types, yes :-)
22:31:16 <ktne> i was thinking about adding something liek a Seal method to objects
22:31:31 <ehird> can you do object.Seal.Club
22:31:33 <ktne> that would prevent any further modification of object structure
22:31:46 <ktne> how useful would that be?
22:31:55 <ktne> if it's not sealed then it would execute slower
22:32:14 <ehird> sooo now you can't add methods at runtime
22:32:16 <ehird> so what is the point
22:32:25 <impomatic> My first attempt to write a brainfuck hello world by hand - 122 instructions :-(
22:32:26 <ktne> but then it would be "un-sealed"
22:32:33 <ktne> and execution would be slower
22:32:36 <ktne> see what i mean?
22:32:54 <ktne> i'm willing to accept this as a sacrifice :)
22:32:58 <Asztal> take a look at recent javascript engines
22:33:23 <ktne> Asztal: the problem with jscript is that you have to check to see if the object structure has been modified after each function call
22:33:29 <ehird> ktne: dropping objects helps a lot.
22:33:39 <ehird> you can still add methods at runtime
22:33:41 <ehird> by just defining a function
22:33:51 <ehird> and there's no overhead to the actual "object"
22:34:43 <ktne> that would still have the same issue
22:34:53 <ktne> because the object structure could change
22:35:07 <ktne> (data structure)
22:35:17 <ehird> instead of changing it
22:35:29 <ktne> what would happen to old objects?
22:35:39 <ktne> or maybe i could redefine then copy the old object in the new one?
22:35:47 <ehird> ktne: yeah, something like that
22:35:50 <ktne> that would also be more semantically pure
22:36:02 <ehird> ktne: immutable objects also helps
22:36:10 <ehird> but that's going into functional purity land
22:36:31 <ehird> Prelude> let a $$ b = a+(b/2.0)
22:36:43 <ehird> bam, I just defined a method on (Fractional a) => a -> a -> a :-P
22:36:48 <ktne> well immutable objects would be ok too
22:37:02 <ktne> but i need to be able to apply immutability to any object at any point
22:37:14 <ehird> i meant make all "objects" immutable
22:37:20 <ktne> no, i can't do that
22:37:26 <ktne> that would make many algorithms too slow
22:37:40 <ehird> you can optimize it very well
22:37:59 <ehird> make copied objects reference their copier, use mutation if there's only one reference around
22:38:06 <ehird> see: GHC haskell compiler
22:38:14 <ktne> i can't afford optimisations other than llvm
22:38:40 <ehird> You can afford GHC :-)
22:38:43 <ktne> i can't really reimplement GHC :)
22:38:55 <ktne> can it be embedded?
22:39:03 <ktne> to compile snippets of code to machine code
22:39:08 <ktne> within the same process
22:39:19 <ehird> like I just showed you
22:39:20 <ehird> Prelude> let a $$ b = a+(b/2.0)
22:39:25 <ehird> that was in a REPL
22:39:29 <ktne> but still, i'm not sure how could you translate an imperative program to ghc
22:39:30 -!- MigoMipo has left (?).
22:39:36 <ehird> to haskell, you mean
22:39:41 <ehird> well, it is a restructuring, of course
22:39:56 <ehird> IMO the result is a better program, but there you go
22:40:16 <ehird> there's plenty of real-world haskell libraries, btw:
22:40:17 <ehird> http://hackage.haskell.org/packages/archive/pkg-list.html
22:40:25 <ktne> my issue is the language :)
22:40:34 <ktne> i just don't like ghc :) or haskell :)
22:40:42 <ktne> in general i don't like functional stuff
22:40:59 <ktne> because i need to run common algorithms
22:41:00 <Deewiant> haskell is the best imperative language
22:41:12 <ehird> ktne: common algorithms fit functionality well
22:41:24 <ehird> i just feel that most of the optimizations you do just bring you closer to haskell
22:41:26 <ktne> ehird: common as in: expressed in standard C form
22:41:43 <ehird> if you can read C and you can read Haskell ... you can translate between the two
22:41:51 <ehird> there's also libraries for stuff like that
22:42:10 <ktne> i don't really want to do that :)
22:42:21 <ktne> i don't want ghc as a dependency :)
22:42:29 <ktne> i won't touch it with a pole :)
22:42:53 <ktne> i need a classical environment that can be used by people familiar with matlab
22:43:00 <ehird> then you have to go slower
22:43:01 <ehird> it's all tradeoffs
22:43:04 <ktne> as a faster matlab replacement
22:43:15 <ehird> you can have your cake and eat it, but it might not have cherries on top :-)
22:43:56 <ktne> the reason why i don't want to rely on ghc is because of the black magic that happens behind
22:44:21 <ktne> at least with llvm i have a good idea of all optimizations that happen and how the program is transformed by those optimizations
22:44:35 <ehird> ghc has documentation
22:44:43 <ktne> also how could i debug that code?
22:45:01 <ehird> by... debugging it?
22:45:03 <ktne> because you can't debug it if it's converted to haskell
22:45:18 <ktne> i mean debugging the interactive repl code
22:45:20 <ehird> i'm not saying convert the program to haskell . . .
22:45:37 <ktne> how could you otherwise use ghc as a compiled?
22:45:52 <ehird> by feeding it haskell?
22:46:08 <ktne> then i have to convert my program to haskell, right?
22:46:11 <ktne> hi bsmntbombgirl
22:46:21 <ehird> bsmntbombgirl: a bit broken atm, I can fix it.
22:46:28 <ehird> bsmntbombgirl: I think I'll sue you for the misleading name
22:46:35 <ehird> ktne: or you could write your program in haskell, y'know
22:46:45 <ktne> not my program
22:46:49 <bsmntbombgirl> ehird: that shit needs to be put in source control
22:46:52 <ktne> the program you run in the repl
22:47:10 <ehird> ktne: what i'm saying is: Haskell already does all your requirements :-)
22:47:19 <ehird> bsmntbombgirl: it needs a rewrite tbh
22:47:19 <ktne> it's not orthodox enough
22:47:25 <ehird> ktne: why is this a problem?
22:47:33 <ktne> because it has to run standard code
22:47:35 <ktne> imperative stuff
22:47:51 <ktne> because i find it nearly impossible to code functional :)
22:48:04 <ehird> bsmntbombgirl: i thought that, it's a bit of a pain tbh
22:48:50 -!- CakeProphet has quit ("lol").
22:48:54 <ehird> because the RFC is stupid, and networking code handling a huge amount of people is stupid
22:49:43 <bsmntbombgirl> i just wrote a rather nice (imo) abstraction over the network part
22:50:18 <ehird> bsmntbombgirl: bsmnt_bot's charm is that it sucks
22:50:56 <ehird> it doesn't do anything and you can mess it up with the python command, but it's fun to have it around anyway :P
22:51:34 -!- oklopol has joined.
22:52:46 -!- puzzlet_ has joined.
22:53:34 -!- puzzlet has quit (Remote closed the connection).
22:55:32 -!- jix has joined.
23:01:20 <ktne> ehird: ghc appears to have quite poor performance compared to C
23:01:30 -!- Corun has joined.
23:01:35 <ehird> it's not perfect, but it can be made faster with some optimization hints
23:01:50 <ehird> and the speed is still very reasonable by default, for most tasks
23:02:22 <ktne> it's not really what i want
23:02:28 <ktne> i can't stand haskell :-/
23:02:32 <Deewiant> if GHC is poor compared to C then good luck getting the kind of speed you want :-P
23:02:48 <ktne> Deewiant: llvm is pretty fast
23:02:58 <Deewiant> ktne: depends on the kind of code you give it
23:03:00 <ehird> haskell is great, I think what you're saying is ... I haven't really used haskell much, but it sounds scary :-)
23:03:06 <ktne> Deewiant: classical imperative code
23:03:21 <Deewiant> well yeah, that's what the LLVM IR is
23:03:27 <Deewiant> more important is what the code does :-P
23:03:47 <ktne> mostly array and graph manipulations
23:04:09 <ehird> that does not sound very imperative to me
23:04:33 <ehird> imperative code is just manually optimized functional code. kind of like writing asm instead of C. you rarely do better. meh.
23:04:43 <ehird> except you often do better :P
23:04:54 <ktne> i can't think in a pure functional fashion
23:05:02 <ktne> so i don't want a pure functional language
23:05:04 <ehird> you just haven't tried
23:05:29 <ehird> convincing arguments
23:05:38 <ktne> ok, let's suppose you want to implement a longest common subsequence algorithm in haskell, how that would look like?
23:06:04 <ehird> ktne: pretty simple
23:06:09 <ehird> http://www.rosettacode.org/wiki/Longest_Common_Subsequence#Haskell
23:06:39 <ehird> trivial translation of http://en.wikipedia.org/wiki/Longest_common_subsequence#LCS_function_defined
23:08:05 <ktne> how many years of haskell experience do i need to implement the memoization example?
23:08:06 -!- nice has quit (Read error: 104 (Connection reset by peer)).
23:08:26 <ehird> bsmntbombgirl: sure, it's a naive implementation
23:08:32 <ehird> those are generally slow
23:08:39 <ktne> ehird: i'm looking at the memoization example
23:08:43 <ehird> ktne: that haskell code is easy to understand once you have a grasp of Haskell
23:08:44 <ktne> not at the simple recursive one
23:08:51 <ehird> so, like I said.. 0
23:09:03 <ktne> 0 if using integer divide :)
23:09:16 <ehird> ok, what I mean is < 1
23:09:20 <Deewiant> you didn't specify the type of your answer so it defaulted to integer :-P
23:09:29 <Deewiant> s/your answer/the answer you wanted/
23:10:24 <ktne> that code is horrible :/
23:10:39 <ehird> ktne: ITYM "I don't understand that code"
23:10:41 <ehird> bsmntbombgirl: i see
23:11:32 <psygnisf_> the nonmemoize haskell code is beautiful
23:11:40 <ehird> so is the memoized :P
23:11:48 <psygnisf_> i tried reading the definition of LCS and its painful to read
23:11:52 <psygnisf_> the haskell code makes it all clear
23:12:06 <ktne> how can i test that code?
23:12:13 <ktne> without installing ghc
23:12:32 <ehird> how can you run code without installing an implementation
23:12:40 <ktne> is it possible in ghc to redefine object?
23:12:49 <ktne> i mean, redefine functions
23:13:53 <ktne> let's suppose i want to count how many times a substring appears in a larger string
23:13:57 <ktne> how would that look in haskell?
23:14:11 <ehird> are you getting me to write your program for you? :D
23:14:20 <ktne> i can't write them myself :)
23:14:47 <ktne> i just want to see how it looks like
23:15:30 <ehird> http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html
23:15:34 <ehird> there's probably a function in there to do it :P
23:15:40 <ktne> that's not what i need
23:15:46 <ktne> i need to implement all those algorithms myself
23:16:00 <ehird> the library writers are much better at it than you
23:16:02 <ktne> because it's a tool for computing stuff
23:16:09 <ehird> why do you have to write your own
23:16:19 <ktne> because isn't that the purpose of the tool?\
23:16:27 <ktne> to allow people to implement algorithms
23:16:46 <ktne> i need a matlab replacement
23:16:51 <ehird> generally people don't write all the algorithms they use in their program
23:16:59 <ktne> i can't depend on libraries for that
23:17:19 <ehird> that library is in core GHC
23:17:23 <ehird> if you have GHC, you have that library
23:17:30 <ktne> because i need to implement that many more algorithms
23:17:35 <ktne> that are mostly non-standard
23:18:16 <ktne> so, any idea how to speed a jscript-like language? :-D
23:18:33 <ktne> first, add proper C integer types and proper C arrays
23:18:35 <ehird> yes, apply all the transformations to it to make it more static
23:19:03 <impomatic> New brainfuck Hello World = 115. That's 3 instructions shorter
23:19:20 <oklopol> where's egobot when you need one
23:19:32 <ehird> oklopol: i already gave him that
23:19:45 <ehird> but impomatic's beaten that
23:20:07 <oklopol> ehird: ah cool; seems i didn't read the logs then.
23:21:01 <impomatic> I was hoping to reach 88 so my interpretter and Hello World fit in 100 instructions, but I don't think there's any chance
23:21:10 <impomatic> +++++++++++[>+++++++>+++++++++>++++>+++>++++++++<<<<<-]>-----.>++.+++++++..+++.>.>-.>-.<<<.+++.------.--------.>>+.
23:21:16 <ehird> impomatic: you have a 22 char bf interp?
23:21:28 <oklopol> but you probably know that too
23:21:40 <impomatic> No, 12 instruction interpretter :-)
23:21:57 <ehird> ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
23:22:26 <ehird> impomatic: show this interp! :)
23:22:54 <oklopol> 12 instructions beats cise by quite a lot
23:22:55 <impomatic> And it's not slow. When it starts execution, it converts all [ and ] to relative jumps
23:23:17 <oklopol> impomatic: can you show it?
23:23:20 <ehird> shoooooooooooooooooow itttttttttttttt
23:23:24 <impomatic> The interpretter is more of a compiler, and it's in redcode
23:25:35 <ehird> damn 12 instructions
23:25:37 <ehird> that is impressive
23:26:25 <impomatic> Not so impressive: http://pastebin.ca/1317388
23:27:01 <impomatic> When the redcode is compiled, it uses macros to compile brainfuck to redcode
23:27:27 <ehird> still pretty awesome
23:27:29 <impomatic> There are 12 instructions to fix the [ and ] jump addresses
23:27:36 <ehird> where are the macros
23:28:12 <ehird> man, that's awesome
23:28:24 <ehird> impomatic: how much would it take to add a parser?
23:29:22 <impomatic> Not much, but first I need to recompile the redcode interpretter. Haven't got a C compiler on this Windoze machine
23:30:03 <ehird> i gotta write my own RISC, beating 12 instructions will be hard
23:30:16 <impomatic> I will add a parser to read in Brainfuck from a file.
23:30:16 <impomatic> And possibly add a table based optimizer
23:30:32 <impomatic> Often 2 brainfuck instructions could be reduced to 1 redcode instruction
23:30:35 <ehird> http://esolangs.org/wiki/Yael 15 instructions
23:30:43 <ehird> but only 256 bytes of addressable memory...
23:30:53 <ehird> so code+data has to be <256 bytes :(
23:31:23 <ehird> well, it also has 8 registers
23:31:40 <ehird> but you can't put code in registers, ofc
23:31:48 -!- yuri815 has joined.
23:33:28 <oklopol> ehird: you should add a context switch operator, so you could have a tape of 256 cell memories
23:33:39 <ehird> but it's basically vinalized
23:33:46 <ehird> i think it's prety nice
23:33:55 <ehird> I mean, that cat program is pretty small
23:34:01 <oklopol> it's a local maximum, definitely.
23:34:14 <ehird> whaddya talking about :P
23:34:25 <oklopol> small fixes won't make it purer.
23:34:45 <oklopol> and by pure i mean... i don't know. pretty
23:35:28 <ehird> unfortunately, code isn't always a round number of bytes
23:35:34 <ehird> e.g. cat is 8 bytes + 1 bit
23:35:40 <ehird> so you just need to pad it out with 0s
23:35:46 <ehird> 9 byte cat program
23:35:58 <ehird> 6 instructions, 9 bytes
23:36:20 <ehird> 00000000 00110100 00001000 01111110 01010110 10011000 11000000 00001111 10000000
23:37:13 * ehird writes yael interp 'cuz why not
23:40:03 <impomatic> The Hello World from Wikipedia outputs a different string. No comma, but a newline
23:45:38 <ehird> oklopol: problem with implementing yael: you have to split bytse apart :(
23:45:44 <ehird> because shit can go across byte lines and stuff
23:46:07 <oklopol> ehird: yeah. are you surprised? :P
23:46:10 -!- jix has quit ("...").
23:46:45 <ehird> oklopol: what is hello world in cise
23:46:47 -!- yuri815 has quit.
23:47:04 <oklopol> it's not actually hard though, it's just slower
23:47:59 <oklopol> i have no idea how to output stuff :P
23:48:11 <oklopol> i usually don't care much for that practical nonsense
23:48:41 <oklopol> no... i think printing hello world is H... :P
23:48:51 <ehird> ok what about printing hello world sans cheatin
23:49:00 <oklopol> iirc i decided Q and H should be in the instr set for luls
23:49:28 <oklopol> it would just be "Hello world", plus 1 or 2 characters of function before it if i add a print command
23:50:20 <oklopol> it prints the stack after running the program?
23:50:26 <ehird> yeah, pops and prints
23:50:31 <ehird> and puts input first on stack before running
23:52:25 <oklopol> cise could well work like that too, have input as the program's param, apply the program to it, print result
23:52:49 <oklopol> but, well, i'm more interested in the more interesting aspects.
23:53:39 <ehird> what can make an assembly language really concise is good comparison jumps, I think
23:53:43 <ehird> like C's switch(){}
23:55:06 <oklopol> so how about designing such a basic instruction set you're writing in computation itself?
23:55:55 <oklopol> ehird: well, on second thought, that made absolutely no sense.
23:56:05 <oklopol> but still, it's worth considering.
23:56:20 <ehird> that's basically a OISC
23:56:27 <ehird> "what operation embodies the fundamental operation of computing?"
23:59:04 <oklopol> that's not nearly as fundamental as i had in mind
23:59:29 <oklopol> i'm talking so low-level you may not even be able to implement it in this universe.
23:59:38 -!- Corun has quit ("Leaving").
23:59:38 <oklopol> there's simply too much computation going on no matter what you do