←2008-08-10 2008-08-11 2008-08-12→ ↑2008 ↑all
00:13:27 * dogface settles
00:14:17 <dogface> What's a shiftwidth?
00:15:01 <dogface> Why does it indent by 2 in one place and 4 in another?
00:15:29 <olsner> dogface: rounding error, it's really indented by 3.14 in every step :P
00:16:31 <dogface> Indenting by 2 in one place and 4 in another seems a weird way to do it, as there aren't many ways to round 3.14 and get 2.
00:16:55 <tusho> dogface: shiftwidth = how much you indent each time
00:17:00 <tusho> shiftwidth*0,shiftwidth*1,etc
00:17:05 <tusho> so you indent 3 spaces, then 6 etc
00:17:07 <tusho> if shiftwidth=pi
00:17:53 <dogface> 3.14, 6.28, 9.42, 12.56, 15.70, 18.84, 21.98, 25.12, etc.
00:17:59 <tusho> dogface: exactly
00:18:05 <tusho> obviously, you have to round it to actually be able to indent :P
00:18:24 <dogface> Round those and you get 3, 6, 9, 13, 16, 19, 22, 25, etc. The differences are 3, 3, 3, 4, 3, 3, 3, 4 there.
00:18:30 <dogface> I see no 2.
00:18:36 <tusho> dogface: I agree.
00:18:43 <tusho> I was just answering 'what's a shiftwidth'
00:19:15 * dogface suddenly creates a string of length 22 with 7 periods roughly evenly-spaced
00:20:51 <dogface> Hmm, I'm sure there was a nice Euclidean-algorithm type way of doing that.
00:25:06 <dogface> Okay, so 7/22 is 1/4 + 1/3 + 1/3 + 1/3 + 1/3 + 1/3 + 1/3 (for unconventional definitions of +), 1/4 is 1/3 + 0/1, 1/3 is 1/2 + 0/1, and 1/2 is 1/1 + 0/1.
00:25:34 <dogface> Ello.
00:25:35 <tusho> hi
00:25:43 <oklopol> dogface: drawing bresenham lines?
00:25:50 <dogface> oklopol: possibly. I don't know what those are.
00:26:02 <oklopol> well drawing a line on a discrete grid
00:26:27 <dogface> Quite likely, in fact. If the Bresenham line-drawing algorithm is related to the Euclidean algorithm in any way, gimme. :-)
00:26:46 <oklopol> i have no idea what's happening here, what's the euclidean algorithm?
00:27:01 <dogface> So, I guess " . . . . . . . ." is quite satisfactory, really.
00:27:12 <dogface> Satisfactory but boring.
00:27:27 <oklopol> i see that as " . . . . . . ."
00:27:28 * dogface yawns dramatically
00:27:42 <oklopol> although with one more .
00:27:53 <dogface> "...|..|..|..|..|..|..|"
00:28:08 * dogface does the square root of 2 instead
00:28:28 <dogface> ...its reciprocal, rather.
00:28:44 <oklopol> reciprocal?
00:28:51 <dogface> The reciprocal of the square root of 2.
00:29:24 <oklopol> rightirght
00:29:53 -!- tusho has quit ("Leaving...").
00:30:25 <dogface> Sgeo: I'm making a string out of . and | where the length is about sqrt(2) times the number of |
00:30:30 <dogface> Sounds fun, I'm sure.
00:31:13 <oklopol> is this for your thue project
00:31:21 <dogface> Not at all... yes.
00:31:37 <oklopol> let me rephrase
00:31:38 <oklopol> is this for your thue project
00:31:39 <oklopol> ?
00:31:54 <dogface> In theory, yes.
00:31:58 <oklopol> okay
00:32:33 <dogface> Squaring fractions in my head could get difficult.
00:32:37 * dogface shrugs alarmedly
00:33:04 <oklopol> why would it get difficult?
00:33:13 <oklopol> you don't even have to gcd em
00:33:28 <dogface> oklopol: they could get big after a little while.
00:33:37 <dogface> adu: why am I making those strings?
00:34:12 <adu> is it for divisibility purposes?
00:34:18 <adu> like international paper sizes?
00:34:50 <dogface> For fun.
00:35:12 <dogface> Strings where the characters are as evenly spaced as possible are aesthetically pleasing, you know.
00:35:19 <dogface> Great Gadsby, I've got it! Maybe.
00:35:44 <adu> if you want to do something for fun you should design an OS
00:36:00 <dogface> Too difficult.
00:36:17 <dogface> If it has more a than b, get rid of all the a and it should still be evenly spaced.
00:36:55 <Sgeo> No new Freefall yet
00:37:48 <adu> i think if i were to write an OS it would be like BRiX
00:39:12 -!- dogface_ has joined.
00:39:28 <dogface_> An OS would be too difficult. :-P
00:41:30 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | !garble Yay! It works!.
00:45:23 <adu> dogface: or a super-optimizing 2,5-Turing compiler?
00:45:34 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
00:46:46 <adu> one of these has got to be easy
00:49:26 <dogface_> I'll work on optimizing.
00:49:32 -!- olsner has quit ("Leaving").
00:50:02 <dogface_> Everyone Knows that compiling interpretation is the ultimate form of artificial intelligence.
00:54:55 -!- dogface has quit (Read error: 110 (Connection timed out)).
00:59:39 <dogface_> Yep.
01:35:18 -!- oerjan has joined.
01:35:48 <oerjan> !garble Yay! It doesn't work!
01:35:56 <oerjan> bah, humbug
01:55:07 <dogface_> Buh, hambag.
01:55:16 <dogface_> How fun.
01:55:45 <oerjan> boh, hwmbwg
02:00:51 <oerjan> http://www.inthekitchen.co.nz/tips/html/Ham.htm
02:02:21 <oerjan> no hits for hwm-bwg :(
02:49:15 <dogface_> Dwd yww knww thwt w ws w vwwwl tww?
02:49:36 <dogface_> Wnd "tww" ws prwnwwncwd thw swmw wwy ws "too", wvwn.
02:52:37 <oerjan> qwwtw sw
02:53:05 <oerjan> thwsw frwwkw wwlsh!
02:53:17 <puzzlet> wwll yww stwp thwt
02:53:30 <oerjan> mwybw
03:06:53 <oklopol> lwl
03:30:09 -!- Sgeo has quit (Remote closed the connection).
03:46:21 -!- Sgeo has joined.
03:50:32 -!- Sgeo has quit (Remote closed the connection).
04:35:22 -!- dogface_ has quit (Read error: 110 (Connection timed out)).
05:02:31 -!- oerjan has quit ("leaving").
06:03:44 -!- GreaseMonkey has joined.
06:36:33 -!- Dewi has left (?).
06:36:48 -!- Dewi has joined.
06:37:01 -!- Dewi has quit ("leaving").
06:40:10 -!- kar8nga has joined.
06:41:30 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | i've never heard of optimizing a language in that same language..
06:45:57 -!- poiuy_qwert has joined.
06:51:57 <psygnisfive> oklopol! :o
07:48:27 -!- kar8nga has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:10 -!- olsner has joined.
08:28:33 -!- KingOfKarlsruhe has joined.
08:37:38 <AnMaster> <tusho> The Funge-98 (Pressey, 1998) standard got se1
08:37:39 <AnMaster> <tusho> -> has se <-- can't find that with search
08:38:02 <AnMaster> <tusho> This document will be released under either CC-by-sa2 or GFDL when it is finished. As it is not <-- C. Pressy suggested one of those two, I would need to ask him for other ones
08:46:22 -!- kar8nga has joined.
08:58:27 -!- olsner has quit ("Leaving").
09:05:02 -!- poiuy_qwert has quit.
09:19:20 -!- asiekierka has joined.
09:20:21 -!- Corun has quit ("This computer has gone to sleep").
09:20:30 <asiekierka> can i do an optbot
09:20:30 <optbot> asiekierka: is !
09:20:40 <asiekierka> is? you mean, yes?
09:20:41 <asiekierka> Okay!
09:20:44 <asiekierka> uh...
09:20:52 <asiekierka> but im scared about doing it, optoot
09:20:55 <asiekierka> but im scared about doing it, optbot*
09:20:56 <optbot> asiekierka: hm?
09:21:13 <asiekierka> Yeah, optbot, totally scared. i can't do an optbot since someone will punch me. IN THE FACE.
09:21:13 <optbot> asiekierka: One thing I was planning to do differently was to use the lower 2 bits of each RGB, to give 6 bits to work with. This way it's harder to see the program, but it's still faintly there
09:21:23 <asiekierka> A good idea, optbot.
09:21:23 <optbot> asiekierka: my decision is that the world is already good enough without a 1-symbol language
09:21:43 <asiekierka> Don't agree. We need a 1-symbol language. But the only way to have it is unary, and unary is bad.
09:21:50 <asiekierka> So, optbot, what are you doing?
09:21:50 <optbot> asiekierka: i've tried to keep as close to the spirit as possible.
09:21:55 <asiekierka> Yayz, optbot
09:21:55 <optbot> asiekierka: # ## # # ## # # #####
09:22:03 <asiekierka> Uh... What was that, optbot?
09:22:04 <optbot> asiekierka: I'm still not sure what that does.
09:22:22 <asiekierka> Oh, ok, optbot. What else can you tell me?
09:22:23 <optbot> asiekierka: write a parser for it and i'll learn it fully :)
09:22:29 <asiekierka> For what, optbot
09:22:29 <optbot> asiekierka: if I ever want to kill someone off, I'll send them this computer as a gift
09:22:48 <asiekierka> Oh wait, optbot. I got it, also, don't change the topic, please.
09:22:48 <optbot> asiekierka: where [] is a negative list
09:22:53 <asiekierka> Maybe, optbot.
09:22:53 <optbot> asiekierka: I find pointers in C rather simple most time, unless you get something mad like: char **** blah[][] (or something like that, saw it once, horrible)
09:23:11 <asiekierka> Uh.... what? i dont get it, optbot
09:23:11 <optbot> asiekierka: Whiner.
09:23:22 <asiekierka> Lol. Optbot, you are a whiner too.
09:23:22 <optbot> asiekierka: then it'll probably get rather esoteric
09:23:29 <asiekierka> Possibly, optbot.
09:23:29 <optbot> asiekierka: ;)
09:23:35 <asiekierka> Yay an emoticon, optbot
09:23:36 <optbot> asiekierka: 3
09:23:44 <asiekierka> optbot: 3? What the 3 means?
09:23:44 <optbot> asiekierka: also you can use /dev/udp for a udp connection.
09:23:49 <asiekierka> optbot: Uh... okay
09:23:49 <optbot> asiekierka: ah
09:23:57 <asiekierka> optbot: uh ah, uh ah, boom de yaya
09:23:57 <optbot> asiekierka: oklofok, concentrate.
09:24:05 <asiekierka> optbot: Wait, what?
09:24:06 <optbot> asiekierka: okoping
09:24:13 <asiekierka> optbot: ?!?
09:24:13 <optbot> asiekierka: you need to bind a key to that to be able to use it without typing the whole thing
09:24:19 <asiekierka> optbot: Agreed
09:24:19 <optbot> asiekierka: Razor-X does.
09:24:25 <asiekierka> optbot: Does what? Agree?
09:24:26 <optbot> asiekierka: of course, you can't display it or send it to irc...
09:24:31 <asiekierka> optbot: :(
09:24:31 <optbot> asiekierka: there are reactive haskell gui libraries
09:24:35 <asiekierka> optbot: ok...
09:24:35 <optbot> asiekierka: at least you'd shut up
09:24:45 <asiekierka> Okay. With that, i agree. Centrainly.
09:27:54 -!- lament has joined.
09:32:26 <asiekierka> I just made a little esolang
09:32:34 <asiekierka> It's BF with 4 commands added
09:32:43 <asiekierka> First is @, a starting point defined (is it a command? Hardly)
09:33:08 <asiekierka> Second and third are / and \, mirrors (When you hit a mirror, you bounce off, and the mirror rotates)
09:33:23 <asiekierka> Fourth is D, a deflector (reverses program flow, like, if you were going down, you now go up
09:34:50 <asiekierka> \ \/\/\/ /
09:34:51 <asiekierka> ++++++
09:34:51 <asiekierka> x/ ++++++
09:34:51 <asiekierka> ++++++
09:34:51 <asiekierka> @-\/\/\D
09:34:53 <asiekierka> Oh wait
09:34:57 <asiekierka> it missed a line
09:35:00 <asiekierka> i will just nopaste it
09:35:51 <asiekierka> or not
09:42:04 -!- Judofyr has joined.
10:36:33 -!- lament has quit (Read error: 110 (Connection timed out)).
10:43:14 <asiekierka> optbot: hi!
10:43:14 <optbot> asiekierka: long time ago i coded in pascal ;p
10:43:18 <asiekierka> optbot: I did too
10:43:18 <optbot> asiekierka: !help
10:43:25 <asiekierka> optbot: What do you need?
10:43:25 <optbot> asiekierka: heh... I'm nowhere near familiar enough with C to attempt transforming a language into it.
10:43:39 <asiekierka> optbot: Oh... i see. Sorry, can't help ya with it.
10:43:39 <optbot> asiekierka: mayb.
10:43:45 <asiekierka> optbot: Agreed, maybe i can
10:43:45 <optbot> asiekierka: I wrote one with single stepping in C and got bored :)
10:44:13 <asiekierka> optbot: Oh, so you can!
10:44:13 <optbot> asiekierka: Penis.
10:44:20 <asiekierka> Optbot: :(
10:44:20 <optbot> asiekierka: or bsmntbombdood fire up bsmnt_bot with bf, please
10:44:25 <asiekierka> Optbot: ???
10:44:26 <optbot> asiekierka: exactly
10:44:52 -!- GreaseMonkey has quit ("You're still in denial. It's easier to lie by saying that I'm lying than to face truth.").
10:51:58 -!- kar8nga has quit ("Leaving.").
11:48:48 -!- tusho has joined.
11:50:50 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)).
11:52:18 -!- asiekierka has joined.
11:52:20 <asiekierka> :/
11:52:21 <asiekierka> Hi
11:53:35 <tusho> hi asiekierka
11:54:02 <tusho> asie is your nick pronounced "I see key err ka"
11:54:03 <asiekierka> I had a quite intelligent chat with optbot
11:54:03 <optbot> asiekierka: Is it because you can has cheezburger that you came to me?
11:54:13 <tusho> heh
11:54:30 <asiekierka> Well, not
11:54:33 <asiekierka> Ashiekierkae
11:54:36 <tusho> asiekierka: don't be shocked - he's actually this guy I trapped in my basement
11:54:44 <tusho> like random lines could be that lucid :P
11:55:11 <asiekierka> so how can he answer in 2 miliseconds
11:55:31 <tusho> asiekierka: sold his soul to the devil
11:55:33 <tusho> 00:38:02 <AnMaster> <tusho> This document will be released under either CC-by-sa2 or GFDL when it is finished. As it is not <-- C. Pressy suggested one of those two, I would need to ask him for other ones
11:55:40 <tusho> i don't see why chris pressey determines what licenses you can use
11:55:48 <asiekierka> I wonder...
11:56:04 <asiekierka> ...is making a portable Brainf**k interpreter and editor feasible?
11:56:14 <tusho> AnMaster: change 'standard got se'
11:56:14 <tusho> to
11:56:16 <tusho> 'has se'
11:56:23 <tusho> asiekierka: Very feasable, very uninteresting.
11:56:33 <asiekierka> I will possibly use it
11:56:35 <asiekierka> xD
11:56:37 <asiekierka> Why?
11:56:48 <asiekierka> Imagine if I'm learning in school about esolangs
11:56:49 <asiekierka> or somewhere
11:56:50 <tusho> because it's just an interpreter and an editor put together
11:56:53 <tusho> oh, I see, portable
11:56:55 <asiekierka> Yeah
11:56:57 <asiekierka> Yes
11:56:58 <asiekierka> portable.
11:56:59 <tusho> uh, just use notepad
11:57:06 <tusho> and compile an .exe or whatever of a BF interp
11:57:09 <tusho> and put it on a floppy
11:57:10 <asiekierka> i mean
11:57:11 <asiekierka> portable
11:57:16 <asiekierka> as in, a portable device
11:57:20 <asiekierka> I don't want to drag a laptop with me
11:57:27 <AnMaster> tusho, what section, a search doesn't show any "got" in the document
11:57:29 <tusho> asiekierka: oh, I thought you meant on school computers
11:57:41 <asiekierka> A portable device with a NATIVE BF cpu
11:57:43 <asiekierka> :)
11:58:03 <asiekierka> :)
11:58:06 <tusho> 50 pages
11:58:20 <AnMaster> tusho, what section is this got in?
11:58:27 <asiekierka> I will probably add 8 megabytes or so of flash memory
11:58:30 <asiekierka> 1MB/slot
11:58:42 <asiekierka> Also, 30000 slots
11:58:49 <asiekierka> You will be able to toggle whether 8- or 16-bit
11:58:50 <AnMaster> 50 pages? 65 here... if you check page numbers in the document (last page) it says 59
11:59:13 <asiekierka> 30000 memory slots
11:59:15 <AnMaster> tusho, and well 7 july is a bit old
11:59:17 <tusho> AnMaster: page ii
11:59:17 <asiekierka> 1MB/slot for BF programs
11:59:21 <asiekierka> 30000 for uh
11:59:24 <asiekierka> the memory
11:59:25 <tusho> The Funge-98 (Pressey, 1998) standard got several unclear corner cases1 and is also missing
11:59:25 <tusho> definitions for non-binar y funges (like ternar y ones). The Funge-98 standard is also written in
11:59:25 <tusho> an essay style rather than like a standard document. This makes the standard vague on several
11:59:25 <tusho> occasions and t
11:59:43 <AnMaster> tusho, draft 1.3?
12:00:16 <asiekierka> So i will need 64kb of RAM, a BF cpu, 8MB flash memory (7 slots+firmware), a... 256x192 or 320x200 screen that's small but readable, and maybe i'll add a serial I/O and functions to support it
12:00:21 <asiekierka> Or nope
12:00:21 <asiekierka> USB.
12:00:26 <AnMaster> because the single got there was I fixed some time ago
12:00:30 <asiekierka> And file reading functions
12:00:31 <AnMaster> when ais pointed it out
12:00:32 <tusho> No idea An.
12:00:34 <tusho> *An
12:00:35 <tusho> er
12:00:37 <tusho> AnMaster
12:00:37 <AnMaster> tusho, on first page
12:00:43 <tusho> AnMaster: well, link me to an updated version
12:00:46 <AnMaster> http://rage.kuonet.org/~anmaster/funge-108/
12:00:55 <AnMaster> is always the last draft
12:01:10 <asiekierka> File reading will be possible through ,. while USB will use a direct connection
12:01:15 <tusho> AnMaster: self modifying -> self-modifying
12:01:21 <tusho> same page as the god was
12:01:33 <AnMaster> thanks
12:01:34 <tusho> it's usefulness -> its usefulness
12:01:35 <AnMaster> fixed locally
12:01:45 <asiekierka> As in, : will write the current cell's value to the PC, and ; will input a value from the PC
12:01:58 <AnMaster> tusho, how does it's and its differ exactly
12:02:03 <tusho> AnMaster: it's -> it is
12:02:09 <tusho> "it is usefulness"
12:02:24 <AnMaster> hmm, tusho's but its?
12:02:28 <tusho> AnMaster: yes.
12:02:29 <AnMaster> then that make no sense :P
12:02:35 <tusho> *then that makes no sense
12:02:39 <AnMaster> tusho, illogical, but ok
12:02:39 <tusho> also, English makes no sense
12:02:41 <tusho> deal with it
12:02:43 <tusho> :)
12:02:51 <tusho> AnMaster:
12:02:52 <tusho> Funge-108 is based on Funge-98 (Pressey, 1998) which is currently the official standard for
12:02:52 <tusho> Funges. Funge-98 has evolved from Funge-97, which was a generalisation of Befunge-97, which
12:02:52 <tusho> was an improvement over Befunge-96, which was an update of the original Befunge-93 (Pressey,
12:02:52 <tusho> 1993) language definition.
12:02:59 <tusho> 'Funge-98 evolved from'
12:03:04 <tusho> would be more natural
12:03:30 <asiekierka> also, i may make a support for a PS/2 keyboard slot
12:04:01 <tusho> also AnMaster CC-by-nc-sa would be even worse as it'd greatly hamper writing a commercial befunge interp AnMaster
12:04:03 <tusho> i believe
12:04:16 <AnMaster> tusho, I believe that part was copied from Funge-98 standard
12:04:19 <tusho> ah, OK
12:04:28 <tusho> well, AnMaster
12:04:30 <tusho> 'has' is present tense
12:04:38 <tusho> it's stating what this, funge-98, has evolved from
12:04:44 <tusho> but you should refer to it in past tense
12:04:47 <tusho> as it's already happened
12:04:49 <AnMaster> well yes
12:04:51 <AnMaster> fixed
12:05:08 <AnMaster> tusho, remember I started out with Funge-98, then reformatted and rewrote parts
12:05:15 <tusho> urd
12:05:16 <tusho> *yes
12:05:32 <AnMaster> urd, nice typo hehe
12:05:53 <AnMaster> tusho, btw I wrote a funge-like stack in erlang
12:05:57 <tusho> AnMaster:
12:05:58 <tusho> "In two dimensions, we have the following terminology: "
12:05:59 <tusho> ->
12:06:09 <AnMaster> tusho, yes, copied from Funge-98 again
12:06:16 <tusho> "The following terminology is used for two-dimensional funges:"
12:06:21 <AnMaster> good thanks
12:06:21 <tusho> or something
12:06:27 <AnMaster> I wanted to get rid of "we" everywhere
12:06:33 <AnMaster> didn't manage yet in all places
12:06:59 <tusho> [[Should we replace the word finger print in Funge-108 to cause less confusion? A finger print may
12:06:59 <tusho> in Funge-98 either refer to the extension or the string that is used to load that extension. ]]
12:07:04 <tusho> fingerprint is the actual fingerprint
12:07:08 <tusho> the string to load it is now the fingerprint's URI :P
12:07:18 <tusho> so instead of ( taking a fingerprint, it takes a fingerprint's URI
12:07:22 <tusho> if you wanted terminology for that :p
12:07:32 <AnMaster> tusho, I need to refer to the old style 4 letter stuff
12:07:35 <AnMaster> in some places
12:07:43 <AnMaster> that was what it was about
12:07:43 <tusho> AnMaster: legacy fingerprint
12:07:45 <tusho> well
12:07:47 <tusho> no
12:07:50 <tusho> AnMaster: legacy fingerprint identifier
12:07:56 <AnMaster> ah makes sense
12:08:28 <AnMaster> "In Funge-98 the unique ID mentioned above was a 4 letter string, which we refer to as legacy fingerprint identifier."
12:08:29 <AnMaster> then
12:08:55 <tusho> AnMaster: 4 character string
12:09:00 <tusho> well
12:09:01 <tusho> AnMaster: no
12:09:02 <AnMaster> right
12:09:03 <tusho> 4 byte string
12:09:07 <tusho> character = unicode
12:09:16 <AnMaster> tusho, it could be more in 98
12:09:17 <AnMaster> or less
12:09:19 <AnMaster> technically
12:09:31 <tusho> AnMaster: so ... "was an arbitary string"?
12:09:32 <AnMaster> if you had a 64-bit funge you could do 8 chars
12:09:38 <AnMaster> but no more
12:09:39 <tusho> ah.
12:09:40 <tusho> okay then
12:09:49 <tusho> AnMaster: well, it's not characters
12:09:52 <tusho> it's a variable number of bytes
12:09:53 <AnMaster> tusho, however all fingerprints I know of are 4 bytes
12:10:03 <tusho> AnMaster: find some way to refer to that :P
12:10:10 <tusho> (variable for interp)
12:10:36 <AnMaster> "In Funge-98 the unique ID mentioned above was a number, often represented as a 4 byte string, which we refer to as legacy fingerprint identifier."
12:10:40 <AnMaster> maybe like that?
12:10:52 <AnMaster> because technically, all it is is a number
12:11:05 <AnMaster> and FPSP or whatever is then bit shifted
12:11:06 <tusho> well, ok
12:11:09 <AnMaster> to fit into that number
12:11:17 <AnMaster> if you see what I mean
12:11:33 <AnMaster> each letter is simply bit shifted
12:11:40 <tusho> Clbuttic.
12:11:47 <AnMaster> tusho, eh?
12:11:50 <AnMaster> is this related to funge?
12:11:56 <tusho> AnMaster: no.
12:12:41 <AnMaster> wtf is "consbreastution"
12:12:51 <tusho> AnMaster: Swear filtering gone wrong
12:12:56 <tusho> (Classic -> Clbuttic)
12:12:58 <tusho> (cl - ass - ic)
12:13:05 <tusho> cons - tit - ution - consbreatution
12:13:23 <AnMaster> oh my
12:16:08 <AnMaster> tusho, http://rafb.net/p/u1LNAE18.html
12:16:11 <AnMaster> what do you think?
12:16:26 <tusho> AnMaster: looks pretty idiomatic to me
12:16:33 <AnMaster> tusho, meaning?
12:16:39 <tusho> AnMaster: good
12:16:42 <AnMaster> thanks
12:16:42 <tusho> though, I think you acn do
12:16:46 <tusho> [H1,H2|T]
12:16:51 <tusho> you can do that in prolog at least
12:16:52 <tusho> I blieve
12:16:54 <AnMaster> tusho, hmm. will try
12:16:54 <tusho> *believe
12:17:12 <AnMaster> ./fstack.erl:36: syntax error before: ']'
12:17:12 <AnMaster> ./fstack.erl:3: function swap/1 undefined
12:17:12 <AnMaster> nop
12:17:37 <tusho> AnMaster: hm
12:17:45 <tusho> AnMaster: try
12:17:49 <tusho> [H1|H2|T]
12:17:52 <AnMaster> tusho, I'm sure there is some way, I'm still learning the language after all
12:17:54 <tusho> i don't think you need to nest the []s
12:18:16 <AnMaster> wait what
12:18:23 <AnMaster> it works for
12:18:24 <AnMaster> dup([H|T]) ->
12:18:24 <AnMaster> [H, H|T].
12:18:30 <tusho> that's constructing
12:18:32 * AnMaster checks if he made some typo in the other
12:18:32 <tusho> not pattern matching
12:18:33 <tusho> :P
12:18:35 <AnMaster> ah true
12:18:40 <tusho> though they should be the same
12:18:42 <tusho> so maybe an erlang flaw
12:18:52 <tusho> AnMaster: anyway, does [H1|H2|T] work
12:19:11 <AnMaster> tusho, not a flaw, well yes, an unmatched ]
12:19:12 <AnMaster> ;P
12:19:20 <tusho> heh
12:19:20 <AnMaster> , works
12:19:22 <AnMaster> | doesn't
12:19:35 <tusho> btw, AnMaster
12:19:42 <tusho> i think idiomatic erlang doesn't put spaces after ,
12:19:44 <tusho> {T,H}
12:19:49 <tusho> [0,0]
12:19:51 <tusho> i don't know for certain though
12:19:53 <tusho> but I seem to recall that
12:20:04 <AnMaster> tusho, maybe, I seen both in "Programming Erlang" iirc
12:20:14 <tusho> ok
12:20:21 <AnMaster> actually, I can replace _T with _
12:20:28 <AnMaster> as I don't need to bother about the value there
12:20:32 <tusho> i've always been interested in erlang because of its insane stuff
12:20:33 <tusho> you can:
12:20:37 <AnMaster> so I can just use _ the anonymous variable
12:20:43 <tusho> - write a networked server just enough to let people connect via telnet and hang forever
12:20:44 <tusho> and then
12:20:48 <tusho> you can write the code
12:20:50 <tusho> and hot-swap it in realtime
12:20:55 <AnMaster> tusho, yes indeed
12:20:56 <tusho> without the network server shutting down
12:21:10 <tusho> and you can keep going until you have a fully working telnet game, with the original people still connected
12:21:12 <AnMaster> tusho, I plan to write a small Befunge-93 interpreter in erlang
12:21:16 <tusho> which is totally awesome
12:21:23 <AnMaster> would be great for learning sequential erlang
12:21:30 <AnMaster> not very concurrent though
12:22:23 <tusho> AnMaster: ooh, idea for a simple befunge fingerprint
12:22:23 <AnMaster> http://rafb.net/p/XmkAAv98.html
12:22:25 <AnMaster> new version
12:22:34 <tusho> 'FORK'. It has a command, split
12:22:36 <tusho> you can specify
12:22:38 <tusho> well
12:22:40 <tusho> you give it a direction
12:22:44 <tusho> (up,down,left,right)
12:22:46 <tusho> and then fork
12:22:51 <tusho> and a duplicate IP
12:22:54 <tusho> spawns from the fork location
12:22:58 <tusho> in that direction
12:23:02 <tusho> and there's another instruction
12:23:04 <tusho> D
12:23:08 <tusho> which destroys the current IP
12:23:12 <tusho> (exits the program if there's only one)
12:23:22 <tusho> maybe if two IPs hit each other they merge
12:23:23 <tusho> dunno
12:23:52 <AnMaster> um
12:24:00 <AnMaster> tusho, you know about t and @ right?
12:24:03 <AnMaster> in concurrent funge
12:24:05 <tusho> nope
12:24:06 <tusho> :D
12:24:36 <AnMaster> tusho, they are exactly that, with one difference, the ip split at t always start off in opposite direction of the original ip
12:24:47 <tusho> AnMaster: darn, I thought I was being amazing there
12:25:06 <AnMaster> tusho, it is part of standard funge, well optional extension, but not even a fingerprint
12:25:16 <AnMaster> also @ will do exactly what you said in concurrent funge
12:25:24 <AnMaster> tusho, and yes cfunge does concurrent funge
12:25:34 <tusho> AnMaster: you should write a cfunge thing that on startup launches an SDL or whatever window, and then shows you the IPs travelling around fungespace
12:25:36 * AnMaster loves the outcome of this idea of tusho
12:25:38 <tusho> (as arrows above the text)
12:25:50 <asiekierka> I want to do a PRNG in BF later
12:25:52 <AnMaster> tusho, could be done with that frontend protocol idea I had
12:25:53 <tusho> (probably with a configurable delay so you can actually see it)
12:25:58 <tusho> but that would be fun
12:25:59 <asiekierka> I must really make a BF tutorial
12:26:05 <tusho> you could make befunge works of art
12:26:05 <tusho> :P
12:26:10 <AnMaster> haha
12:26:11 <asiekierka> but i cant really teach stuff
12:26:20 <AnMaster> asiekierka, as for prng, quite simple
12:26:34 <AnMaster> you just need to nest a lot of ?
12:26:46 <AnMaster> and make sure all numbers have the same number of ? to reach them
12:26:58 <AnMaster> some sort of tree structure
12:27:14 <AnMaster> all ? on a given level need to have the same amount of valid exit directions
12:27:25 <tusho> AnMaster
12:27:27 <AnMaster> probably 3,
12:27:28 <tusho> he is talking about brainfuck
12:27:31 <AnMaster> oh
12:27:31 <AnMaster> wait
12:27:32 <AnMaster> right
12:27:35 <AnMaster> BF
12:27:37 <AnMaster> = befunge
12:27:39 <AnMaster> in my mind
12:27:40 <AnMaster> heh
12:27:42 <AnMaster> at least now atm
12:27:45 <tusho> and only your mind
12:27:45 <tusho> :P
12:27:55 <AnMaster> true
12:28:00 <AnMaster> in brainfuck
12:28:01 <AnMaster> that is harder
12:28:06 <asiekierka> Depends on which one
12:28:15 <asiekierka> Also
12:28:24 <AnMaster> tusho, does haskell have a RNG?
12:28:27 <asiekierka> i want to make a BF Function Library
12:28:28 <asiekierka> as in
12:28:31 <tusho> AnMaster: of course
12:28:33 <asiekierka> you put up your own small functions
12:28:35 <tusho> haskell is a real-world langauge
12:28:39 <tusho> there are companies using it
12:28:39 <asiekierka> and then others can use it
12:28:41 <tusho> webapps made with it...
12:28:46 <AnMaster> tusho, but that can't be very functional
12:28:48 <AnMaster> a rng
12:28:53 <AnMaster> it has external input
12:28:58 <tusho> AnMaster: it's in the IO monad
12:29:02 <tusho> well
12:29:02 <AnMaster> ah
12:29:04 <tusho> technically it's not
12:29:09 <tusho> the actual prng algo is functional
12:29:16 <tusho> but you need to initially get the glob of data within IO
12:29:24 <tusho> if you gave it a constant seed it would be purely functional
12:29:32 <AnMaster> tusho, is it a secure PRNG?
12:29:38 <tusho> AnMaster: beats me
12:29:41 <tusho> probably implementation defined
12:29:47 <AnMaster> ah well
12:30:22 <AnMaster> tusho, anyway for funge space... erlang got two forms of modifiable memory, the process dictionary, and ETS tables
12:30:31 <tusho> AnMaster: uh, dude
12:30:35 <tusho> pass around fungespace functionally
12:30:35 <AnMaster> ETS is used for the mnesia database engine so...
12:30:37 <tusho> :p
12:30:43 <tusho> it'd be slow but idiomatic
12:30:45 <AnMaster> tusho, may be too slow for mycology ;P
12:30:50 <tusho> AnMaster: you said befunge-93
12:30:50 <AnMaster> but probably ok for befunge93
12:30:57 <AnMaster> yeah
12:30:58 <tusho> besides
12:31:01 <tusho> you ran mycology on bashfunge.
12:31:14 <AnMaster> tusho, well I did, but it took a few minutes for the 93 part
12:31:15 <AnMaster> :P
12:31:52 <AnMaster> but yes tail recursive function to loop over funge space is probably best
12:32:04 <AnMaster> with a passed around state
12:32:25 <AnMaster> tusho, one issue, I could not do funge-98 in erlang, but I could do 108
12:32:33 <AnMaster> reason? all numbers are BIGNUM
12:32:43 <AnMaster> y in 98 doesn't have a way to say that in cell size
12:32:46 <AnMaster> while it does in 108
12:33:16 <AnMaster> wait... I could use binary values I think...
12:33:24 <AnMaster> like <<byte, byte, byte, byte>>
12:34:03 <AnMaster> tusho, anyway tail recursion in erlang is fast
12:34:07 <AnMaster> so not an issue really
12:34:15 <AnMaster> won't actually pass the state around then I think
12:34:24 <AnMaster> but of course new copies will be made
12:35:06 <AnMaster> tusho, anyway Befunge-93 is easy to represent, I don't need any hash even
12:35:09 <AnMaster> just 25x80
12:35:12 <tusho> [12:32:27] <AnMaster> tusho, one issue, I could not do funge-98 in erlang, but I could do 108
12:35:14 <tusho> just manually wrap em
12:35:16 <AnMaster> means an array of array
12:35:27 <AnMaster> tusho, or <<I:32>>
12:35:33 <AnMaster> to extract a 32-bit integer
12:35:37 <AnMaster> using the bit syntax
12:35:55 <oklopol> use the power of your imagination
12:36:01 <AnMaster> that is used to extract a MPEG header
12:36:03 <AnMaster> in an example
12:36:29 <oklopol> erlang?
12:36:42 <AnMaster> oklopol, yep
12:36:43 <tusho> oklopol: yes
12:36:44 <AnMaster> <<?IP_VERSION:4, HLen:4, SrvcType:8, TotLen:16,
12:36:45 <AnMaster> ID:16, Flgs:3, FragOff:13,
12:36:45 <AnMaster> TTL:8, Proto:8, HdrChkSum:16,
12:36:45 <AnMaster> SrcIP:32,
12:36:45 <AnMaster> DestIP:32, RestDgram/binary>> when HLen >= 5, 4*HLen =< DgramSize
12:36:58 <tusho> AnMaster: hmm, some weird kind fof parser DSL?
12:37:06 <AnMaster> tusho, eh?
12:37:10 <AnMaster> now you lost me
12:37:11 <tusho> AnMaster: that << >>
12:37:17 <AnMaster> <<>> == binary
12:37:18 <tusho> dsl=domain specific langauge
12:37:20 <tusho> embedded 'little language'
12:37:25 <tusho> AnMaster: it seems to be a parser thing
12:37:29 -!- oklopol has quit (Read error: 54 (Connection reset by peer)).
12:37:32 <AnMaster> a very fast array of byte array
12:37:45 -!- oklopol has joined.
12:38:03 <AnMaster> tusho, http://rafb.net/p/MkZdl121.html
12:38:15 <tusho> ok
12:38:20 <AnMaster> tusho, and the things above was simply pattern matching of binaries
12:38:25 <tusho> ah I see
12:38:27 <AnMaster> very powerful the erlang pattern matching
12:38:28 <tusho> neat
12:38:40 <tusho> haskell's pattern matching is powerful too
12:38:47 <AnMaster> tusho, on bit level? ;)
12:38:59 <tusho> yes, if you stored it as a list of bits :P
12:39:41 <tusho> yes
12:39:49 <AnMaster> also the odd &#64257; is the pastebin messing up on the unicode ligature fi
12:40:11 <oklopol> yeah we got that
12:40:30 <AnMaster> anyway very nice and powerful pattern matching
12:40:51 <AnMaster> oklopol, I'm learning erlang you see
12:41:31 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | write -> wrote.
12:41:32 <oklopol> hehe, read that as "i'm mislearning erlang"
12:41:42 * AnMaster slaps oklopol
12:41:46 <AnMaster> what did I do wrong?
12:41:54 <oklopol> you slapped me
12:41:58 <AnMaster> no
12:42:04 <AnMaster> as you said mislearn
12:42:07 <oklopol> yes you did!
12:42:14 <oklopol> 14:41… × AnMaster slaps oklopol <<< see, proof
12:42:14 <AnMaster> oklopol, I think this one is pretty idiomatic: http://rafb.net/p/XmkAAv98.html
12:42:20 <AnMaster> oklopol, yes, but....
12:42:23 <AnMaster> <oklopol> hehe, read that as "i'm mislearning erlang"
12:42:24 <AnMaster> * AnMaster slaps oklopol
12:43:48 <oklopol> looks okay
12:44:31 <AnMaster> oklopol, you know erlang?
12:46:13 <AnMaster> oklopol, if you do, I have a question for you, about how you would do one thing
12:47:10 <oklopol> i know some of it
12:47:19 <oklopol> i guess i know the basics
12:47:47 <AnMaster> oklopol, ok, would you use ETS or a passed around state if you implement Funge and need to pass around the funge space?
12:48:05 <AnMaster> it can be pretty large
12:48:19 <oklopol> i don't know what ets is
12:48:23 <oklopol> a mutable list?
12:48:34 <AnMaster> "ets and dets are two system modules that are used for efﬁcient storage
12:48:34 <AnMaster> of large numbers of Erlang terms. ETS is short for Erlang term storage,
12:48:34 <AnMaster> and DETS is short for disk ets.
12:48:34 <AnMaster> "
12:48:36 <AnMaster> yes
12:48:39 <AnMaster> a fast mutable list
12:48:46 <AnMaster> a table
12:48:50 <oklopol> well definitely that one
12:48:56 <asiekierka> i wanted to do a BF quine contest
12:49:01 <asiekierka> on which the LARGEST quine wins
12:49:01 <AnMaster> oklopol, rather than a passed around state?
12:49:09 <asiekierka> So if you have a 64MB quine, you win, lol
12:49:14 <oklopol> asiekierka: that's quite trivial
12:49:20 <AnMaster> asiekierka, it is always possible to do a larger one
12:49:24 <asiekierka> i know
12:49:28 <asiekierka> but who makes the largest
12:49:30 <asiekierka> in 6 hours
12:49:32 <oklopol> :)
12:49:32 <AnMaster> you could probably write a program to generate one of x size
12:49:48 <AnMaster> and then have it generate several GB
12:49:53 <AnMaster> anyway I'm not taking part
12:50:06 <asiekierka> well, 6 hours, also, i don't allow any programs
12:50:15 <AnMaster> how would you know?
12:50:15 <oklopol> any programs?
12:50:16 <asiekierka> except the interpreter
12:50:23 <oklopol> hmm
12:50:32 <asiekierka> except an interprete
12:50:32 <asiekierka> r
12:50:33 <oklopol> what?
12:50:36 <AnMaster> how would you know someone didn't just upload the result of a generator he/she wrote
12:51:06 <asiekierka> Also, if i found out copies of the same quine (you copied a quine 100 times in a file and it worked), you are dq'ed
12:52:08 <oklopol> asiekierka: one way to make a bf quine is to first create something like numbers 1-8 at the beginning of the memory array
12:52:15 <oklopol> using ++++++>+++> etc
12:52:43 <oklopol> then, you write a latter part, that writes out these numbers, first once again in the form +++>++++>
12:53:04 <oklopol> then in the form of bf code, with some encoding of operations like 1->+, 2->-, 3->[ etx
12:53:20 <oklopol> now, you can bloat bf code in tons of ways, automatically
12:53:26 <oklopol> + -> +--++
12:53:29 <asiekierka> or
12:53:34 <asiekierka> instead of " "
12:53:44 <asiekierka> you can do +-+-+-+-+-+-+-+-+-+-+-+-+-+-...
12:53:44 <oklopol> [...] -> [[...]] etc
12:53:51 <asiekierka> oh i see
12:54:02 <oklopol> now
12:54:13 <Tritonio_> but if you bloat the code by doing +-+-+ the quine won't be correct anymore. will it?
12:54:18 <oklopol> you can just make the first part, the generation of the raw data, to adapt to the quine
12:54:24 <oklopol> err
12:54:40 <asiekierka> Also, i wonder if a contest for a BF randon number generator will be good
12:54:42 <oklopol> to adapt to the code that writes out the raw data
12:54:49 <asiekierka> the code will need to be commented
12:55:11 <asiekierka> at least to a point where we know what does what
12:55:14 <tusho> AnMaster
12:55:15 <tusho> pass around state
12:55:23 <tusho> it's way more idiomatic, and you're just doing a toy interp besides
12:55:24 <oklopol> Tritonio_: well i'm just trying to show it's trivially reduced to the halting problem to figure out whether the program has been automatically randomized
12:55:54 <Tritonio_> ok. but is there a way to bloat a quine in a way that it still remains a quine??
12:56:06 <oklopol> Tritonio_: yes, the one i just explained
12:56:25 <Tritonio_> :-S I don't get it... (yet)
12:56:42 <oklopol> well
12:56:47 <oklopol> imagine a bf program
12:56:59 <oklopol> that is run with a memory array filled with numbers 1-8
12:57:13 <oklopol> it first iterates through all these numbers
12:57:19 <Tritonio_> it has to fill the array with these numberss right?
12:57:41 <asiekierka> also
12:57:43 <oklopol> and writes out +++> for 3 or +++++> for 5 etc
12:57:44 <AnMaster> tusho, hm
12:57:51 <asiekierka> i have something
12:57:53 <tusho> AnMaster: just do it :P
12:57:58 <asiekierka> A BF interpreter i made with a friend
12:57:58 <tusho> you need to learn thinking functionally anyway
12:58:01 <oklopol> Tritonio_: not yet, just imagine this part first.
12:58:08 <oklopol> unless you already got the whole thing
12:58:14 <Tritonio_> ok
12:58:15 <asiekierka> not only it's standalone, as in, you boot it from a floppy, it's also 100% asm and quite fast
12:58:17 <AnMaster> tusho, well doing tail recursive is pretty easy
12:58:25 <tusho> AnMaster: just do it
12:58:25 <tusho> :P
12:58:28 <tusho> befunge is trivial
12:58:30 <tusho> 936
12:58:31 <tusho> *93
12:58:36 <oklopol> anyway, after it's iterated through all the numbers, it returns to the beginning of the memory
12:58:45 <oklopol> and writes all the numbers again
12:58:47 <AnMaster> and I will need to pass around some state, like ip location, ip mode and such, anyway
12:58:50 <oklopol> this time as bf commands
12:59:07 <oklopol> so that 1 will become +, 2 becomes -, 5 becomes . etx
12:59:27 <oklopol> now, you can see once we have this program that writes the contents of the memory array out in this way
12:59:34 <AnMaster> <asiekierka> you can do +-+-+-+-+-+-+-+-+-+-+-+-+-+-...
12:59:34 <AnMaster> <oklopol> [...] -> [[...]] etc
12:59:35 <AnMaster> err
12:59:45 <AnMaster> any decent interpreter would optimize that
12:59:55 <tusho> geez
12:59:57 <tusho> context
12:59:58 * AnMaster does
13:00:13 <oklopol> now, we just need to convert it to a program creating the numbers 1-8 on the memory array representing the code
13:00:14 <AnMaster> ah true
13:00:19 <oklopol> and the quine is done
13:00:38 <asiekierka> Ok.
13:01:11 <asiekierka> http://asiekierka.boot-land.net/bfboot.zip - an untested version of a standalone bootable bf interpreter a friend made for me in like, 2007
13:01:13 <oklopol> now you can see you can just do anything that semantically keeps the bf program the same, and it will still stay a quine
13:01:16 <asiekierka> Test it's speed
13:01:40 <Tritonio_> yes but by trying to convert it to a program that writes it's code on the array is equally difficult with making a quine from the scratch. So why bother to create the part of the code that prints the memory cells like brainfuick commands?
13:02:08 <asiekierka> oh wait
13:02:08 <Tritonio_> am i missing something?
13:02:09 <oklopol> Tritonio_: what?
13:02:11 <tusho> asiekierka: is it faster than bff
13:02:22 <oklopol> well that's the easiest way to make a quine "from scratch"
13:02:25 <asiekierka> I don't know, didnt test it as you must input everything through cli for now
13:02:27 <oklopol> how would you do it then?
13:02:32 <asiekierka> But you can check the source
13:03:13 <oklopol> and oh
13:03:19 <oklopol> Tritonio_: yes, you missed something
13:03:39 <asiekierka> I think the i/o functions take 20-40 cpu cycles at most
13:03:44 <oklopol> you see, if the program to do all that writing i explained earlier were +++.+,+,+.+,, which we know it's not
13:04:14 <oklopol> then the part that writes it on the memory array would simply be +>+>+>++++++>+>+++++++>+>+++++++>+>++++++>+>+++++++>+++++++
13:04:49 <oklopol> it's simpler than making a quine, because it doesn't have to write *itself* on the array, just the program
13:04:57 <oklopol> because the program is what does the actual quining
13:06:10 <tusho> optbot,
13:06:10 <optbot> tusho: this is why we can't have nice things
13:06:13 <oklopol> this is the usual way to make a quine, you make "data", and you make "code"; code is something that takes the data, and first writes it in the form it was probably created in (here the +++>+++>++++> form), and then as representing something that could be conceived as code
13:06:13 <tusho> optbot: is it
13:06:14 <optbot> tusho: I already did 19
13:06:17 <tusho> optbot: ok
13:06:17 <optbot> tusho: hmm
13:06:25 <oklopol> now, if you encode "code" in "data", you will have a quine
13:07:01 <oklopol> and because the encoding will usually be trivial, and automatizable, you can do the data creation part automatically for any code you can think of
13:07:07 <oklopol> as long as it has the same functionality
13:07:53 <oklopol> in a language with a greater number of dimensions for the memory than 1, you can trivially wrap it in something like an interpreter for another langauge
13:07:55 <oklopol> *language
13:08:00 <oklopol> and other wicked things
13:08:21 <oklopol> (most languages have an infinite number of dimensions)
13:08:47 <AnMaster> oklopol, they do?
13:08:53 <oklopol> i think a language has infinite number of dimensions iff you can store a tree structure natively
13:09:07 <oklopol> *an infinite
13:09:10 <AnMaster> oklopol, um, makes sense
13:09:20 <oklopol> sure does
13:09:22 <AnMaster> C matches that then
13:09:43 <oklopol> did anyone who already didn't know how quines are done get my explanation there?
13:10:14 <oklopol> well yes, recursive structures means that automatically
13:10:31 <oklopol> basically just an issue with esolangs
13:13:41 <AnMaster> tusho, I think passing the funge space around will be very slow, because accessing head of list is fast, but accessing it elsewhere isn't
13:14:00 <tusho> AnMaster: it doesn't matter if its slow
13:14:07 <tusho> it's good for learning how to structure things functionally
13:14:13 <AnMaster> tusho, also you can't access by index
13:14:20 <tusho> yes you can, there's a function for it
13:14:27 <AnMaster> where?
13:14:40 <tusho> I don't know erlang, but I know it has a function for accessing an element in an index in a list
13:14:47 <tusho> because every non-esoteric language with lists has one.
13:14:47 <AnMaster> tusho, maybe using a dict, still functional
13:14:53 <AnMaster> but should work for this
13:15:07 <tusho> AnMaster: look around for the right function for al ist
13:15:11 <tusho> but yea
13:15:15 <tusho> a dict would be better
13:15:21 <AnMaster> tusho, I think a key-value dictionary is better yeah
13:15:32 * AnMaster looks up manual page for dict module
13:15:34 <oklopol> if it doesn't have it, you can write the two lines of code yourself
13:15:43 <AnMaster> \$ erl -man dict
13:16:29 <Tritonio_> oklopol, still don't get some parts... Ok first you write some bf code (call it A) that iterates all cells and prints +++> if it encounters a 3 etc. right?
13:17:06 <oklopol> yes
13:17:06 <AnMaster> http://rafb.net/p/EXin4t44.html
13:17:09 <AnMaster> does that seem sane?
13:17:38 <Tritonio_> oklopol, also after that the same code has the ability to convert them into brainfuck commands and print them as well.
13:17:40 <oklopol> anyway what you want here for idiomaticity and speed is straw
13:17:49 <oklopol> Tritonio_: yes
13:17:50 <AnMaster> in b93 only code and string mode are allowed
13:17:53 -!- Sgeo has joined.
13:18:06 <AnMaster> so I'd probably do "stringmode" and then a true/false
13:18:08 <oklopol> so we know A is a very simple bf program that takes about 15 minutes to write
13:18:47 <Tritonio_> so if it encountered 1,2,3,4 it would print: +>++>+++>++++>+-<>
13:18:54 <oklopol> yes
13:19:23 <Tritonio_> so then you have to make the last part (+-<>) been able to do what code A is able to do?
13:19:51 <Tritonio_> and that would change the left part too that creates that values on the memory
13:19:51 <oklopol> there are two things you have to write
13:19:57 <oklopol> you have to write A
13:20:07 <oklopol> as any program whatsoever that does what A is supposed to do
13:20:09 <oklopol> then
13:20:12 <oklopol> you need to write B
13:20:31 <oklopol> which is simply a conversion of A into + -> +>, - -> ++>, etc
13:20:40 <oklopol> then just run BA
13:20:52 <AnMaster> tusho, I shall call it efunge
13:20:59 <oklopol> (concatenation of B and A that is)
13:21:06 <tusho> AnMaster: why call it anything
13:21:11 -!- kar8nga has joined.
13:21:13 <tusho> just make befunge.erl on your HD
13:21:14 <AnMaster> tusho, need to have a name to run it :P
13:21:16 <tusho> and don't release it
13:21:20 <tusho> because it's not interesting :-P
13:21:22 <AnMaster> tusho, why not release it?
13:21:26 <AnMaster> oh well
13:21:26 <oklopol> B is insanely trivial to write, and can be automatized easily
13:21:30 <tusho> AnMaster: well, you could pastebin it
13:21:30 <tusho> :P
13:21:34 <tusho> but just call it befunge.erl
13:21:44 <AnMaster> tusho, multiple files
13:21:45 <oklopol> A is a program that just does some printing given data
13:21:48 <AnMaster> modules
13:21:49 <tusho> AnMaster: why
13:21:53 <AnMaster> tusho, that is the erlang way :P
13:21:55 <tusho> befunge-93 is like 30 lines of C AnMaster
13:22:00 <tusho> it doesn't need multiple modules
13:22:00 <AnMaster> I'm trying to be idiomatic!
13:22:08 <tusho> AnMaster: if you're being sarcastic then fine
13:22:17 <tusho> but idiomatic erlang does not split up a trivial thing into multiple modules
13:22:22 <tusho> and befunge-93 is the essence of trivial
13:22:31 <AnMaster> tusho, well not trivial, but stack is one module
13:22:34 <Tritonio_> oklopol, oooh ok! I got it... Thanx! :-)
13:22:34 <AnMaster> that could be reused
13:22:41 <tusho> AnMaster: erlang probably has one built in
13:22:42 <tusho> go find it
13:22:47 <AnMaster> tusho, I looked for it
13:22:57 <AnMaster> there is stack trace, but no stack as far as I can find
13:23:12 <oklopol> Tritonio_: yay! :)
13:30:00 -!- asiekierka has quit.
14:23:06 <AnMaster> yay I managed to load the funge space into a dict
14:23:11 <AnMaster> in a very functional way
14:23:12 <AnMaster> tusho, ^
14:23:19 <tusho> yay
14:23:31 <AnMaster> I think so at least
14:23:42 <AnMaster> load and dump works
14:23:46 <AnMaster> http://rafb.net/p/b7MKra33.html
14:23:57 * tusho will be very scared on the day when AnMaster starts preferring a functional language to C for a lot of tasks. :P
14:24:10 <tusho> it'd have a big effect on Hell's temperature
14:24:14 <AnMaster> actually, not perfectly
14:24:30 <tusho> AnMaster: looks pretty idiomatic
14:24:35 <AnMaster> I must have a off by one error
14:24:45 <AnMaster> or something like that
14:24:51 <AnMaster> one blank line too much
14:24:55 <AnMaster> in dump
14:25:02 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
14:26:07 <AnMaster> http://rafb.net/p/H2hZGg31.html
14:26:13 <AnMaster> tusho, and error there I think
14:26:14 <AnMaster> oh wait
14:26:23 <AnMaster> I probably put \n into funge space at load time
14:29:38 <AnMaster> yes that was the issue tusho
14:29:44 <tusho> yay
14:29:48 <tusho> now repaste and ask #erlang if it's idiomatic
14:29:48 <tusho> :P
14:29:56 <tusho> loooks it but who knows
14:30:16 <AnMaster> tusho, nah I'll idle there first
14:30:22 <AnMaster> to see what sort of channel it is
14:30:25 <AnMaster> if it is like ##c....
14:30:26 <tusho> AnMaster: i've been in there before
14:30:29 <tusho> they're very friendly
14:30:35 <AnMaster> tusho, I want to see for myself thanks
14:30:53 <tusho> also I've never seen another channel like ##c in my life
14:32:43 <AnMaster> http://rafb.net/p/ljoGPF37.html
14:32:49 <AnMaster> tusho, impressive output ^
14:32:59 <tusho> Cool.
14:33:13 <AnMaster> tusho, by the way, had I used C I would have been done already
14:33:14 <AnMaster> ;P
14:33:20 <tusho> AnMaster: That might be because you know C. :P
14:33:27 <AnMaster> true
14:35:57 <AnMaster> tusho, I still get some trailing newlines at the end hrrm
14:36:35 <AnMaster> oh well, probably a typo in dump
14:45:03 <AnMaster> main([A]) ->
14:45:03 <AnMaster> loop(#fungeState{}, [], Space).
14:45:10 <AnMaster> that will be my main function
14:46:03 <tusho> AnMaster: Sounds reasonable.
14:46:36 <AnMaster> actually make that fState, because I will need to type it a lot
14:48:37 <AnMaster> #fState{x=X, y=Y, dx=DX, dy=DY} = State,
14:48:37 <AnMaster> NewState = State#fState{ x=X+DX, y=Y+DY },
14:48:37 <AnMaster> loop(State, Stack, FungeSpace).
14:48:43 <AnMaster> should work at the end of the main loop
14:48:52 <AnMaster> or something like that
14:49:20 <AnMaster> that would have been cleaner in C, just +=
14:49:21 <AnMaster> hehe
14:49:33 <AnMaster> oh and make State NewState on last line
14:50:27 <tusho> AnMaster: also, there's probably an easier way to do it
14:50:37 <AnMaster> tusho, oh?
14:50:41 <tusho> so you can't just say "ah, I don't know Erlang all that way, but this first try evidently proves that it would be cleaner in C"
14:50:46 <tusho> *way->well
14:50:51 <AnMaster> indeed
15:22:02 <tusho> AnMaster: surely that's enough idling
15:22:04 <tusho> :P
15:22:14 <AnMaster> no
15:22:16 <AnMaster> and busy atm
15:38:22 -!- oklofok has joined.
15:38:37 -!- oklopol has quit (Read error: 113 (No route to host)).
15:38:40 -!- Deewiant has quit (Read error: 104 (Connection reset by peer)).
15:43:05 <AnMaster> 20> efunge:main(["hello.bf"]).
15:43:05 <AnMaster> Hello world!
15:43:05 <AnMaster> ** exception exit: normal
15:43:07 <AnMaster> tusho, ^
15:43:11 <AnMaster> doesn't do most stuff yet
15:43:14 <tusho> AnMaster: yay
15:43:19 <AnMaster> but enough to print a simple string
15:43:22 <tusho> pastebin it?
15:43:26 <AnMaster> 91+"!dlrow olleH">:#,_@
15:43:29 <AnMaster> is the program
15:43:31 <AnMaster> that it can run so far
15:43:35 <AnMaster> it can't run other stuff yet
15:43:44 <AnMaster> most other instructions are not yet implemented
15:45:53 -!- dogface has joined.
15:52:30 -!- Deewiant has joined.
15:52:39 -!- MikeRiley has joined.
15:52:43 <tusho> wow
15:52:47 <tusho> Deewiant and MikeRiley
15:52:48 <tusho> seconds apart
15:52:55 <tusho> on a related note, AnMaster is implementing yet another funge...
15:52:57 <tusho> but 93
15:52:59 <tusho> and in erlang
15:53:08 <MikeRiley> hi tusho
15:53:20 <Deewiant> the computer my irssi was running on was booted :-/
15:53:47 <AnMaster> yes
15:53:48 <MikeRiley> hi deewiant
15:53:51 <AnMaster> I'm learning erlang
15:53:56 <Deewiant> yo
15:53:58 <AnMaster> so I decided to make a small funge93 interpreter in it
15:54:02 <AnMaster> for learning
15:54:12 <AnMaster> most of it is done really
15:54:17 <AnMaster> just a few instructions left
15:55:06 <dogface> There's a possibility that my brother will be coming to Normish.
15:55:33 <tusho> dogface: Wrong channel.
15:55:52 <dogface> If I said it in #rootnomic, I'd be talking to myself.
15:56:03 <tusho> If you said it in ##nomic you wouldn't.
15:56:33 <dogface> True.
16:01:32 -!- MikeRiley has quit ("Leaving").
16:03:08 <AnMaster> hmm... almost got there
16:10:35 <AnMaster> blergh, seems like erlang always display a [] at input
16:15:12 <oklofok> C:void = erlang:[]
16:16:33 -!- tusho has changed nick to tusho|away.
16:18:46 -!- dogface_ has joined.
16:25:12 <AnMaster> oklofok, eh?
16:25:30 <AnMaster> oklofok, I need to get one char of input. with no prompt whatsoever
16:25:34 <AnMaster> to conform to funge spec
16:25:40 <AnMaster> how do I do that in erlang
16:26:06 <AnMaster> showing [] is not acceptable
16:31:35 -!- tusho|away has changed nick to tusho.
16:32:47 -!- kar8nga has left (?).
16:39:38 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:46:43 <AnMaster> tusho, it works now for life.bf, but is very very slow
16:48:05 -!- tusho has changed nick to tusho|away.
16:57:25 -!- Hiato has joined.
16:57:30 -!- Hiato has quit (Client Quit).
16:58:05 <AnMaster> wumpus now works
16:58:36 <dogface_> Three! Point! One! Four! One! Five! Nine! Two! Six! Five! Three! Five! Eight! Nine! Seven! Nine! Three! Two!
17:01:12 <oklofok> IT'S GREAT TO BE ALIVE!
17:01:31 <oklofok> ON IHANAA OLLA ELOSSA!
17:02:04 <oklofok> a rare example of a sentence shorter in finnish than in english
17:02:13 <oklofok> awesome
17:02:29 <Deewiant> GREAT /= IHANAA
17:02:35 <Deewiant> I'd say it's more like MAINIOTA
17:02:42 <Deewiant> so english wins
17:02:49 <Deewiant> dogface_: http://abstrusegoose.com/23
17:07:20 <fizzie> What, was Deewiant also a .fi person? I never knew! (Or if I knew, I already forgot.)
17:07:22 <oklofok> "it's wonderful to be alive"
17:07:37 <oklofok> on mainiota olla elossa sounds ridiculous :D
17:07:44 <Deewiant> fizzie: you forgot
17:08:45 <oklofok> /nick oklofik & /nick Deefiant, we should all follow fizzie's example and show our nationalities in our nicks
17:09:04 <oklofok> then perhaps /nick dogfuk?
17:09:05 <oklofok> hmm
17:09:11 <oklofok> actually you're american
17:09:14 <Deewiant> I thought fizzie was from ireland
17:09:22 <Deewiant> fizz_ie_ and all that
17:09:55 -!- tusho|away has changed nick to tusho.
17:11:14 <AnMaster> Deewiant, tusho: http://rafb.net/p/ONXHUD93.html
17:11:23 <AnMaster> still input is kind of broken
17:11:32 <AnMaster> as it outputs [] at a prompt every time
17:11:46 <AnMaster> and the exit status at the end every time
17:12:35 <AnMaster> mycorand works
17:13:15 <Deewiant> how about mycology itself
17:13:17 <oklofok> mycorand sounds awesome
17:14:05 <dogface_> I'm honored to be mistaken for a Brit. :-P
17:15:13 <AnMaster> Deewiant, that is what I posted at http://rafb.net/p/ONXHUD93.html
17:15:14 <AnMaster> ....
17:15:22 <AnMaster> it is 93 only
17:15:42 <Deewiant> ah, I would have thought that's a mycorand paste
17:15:49 <AnMaster> Deewiant, eh why?
17:16:08 <Deewiant> given that you said "mycorand works" soon after pasting it
17:16:40 -!- kar8nga has joined.
17:16:43 <AnMaster> anyway I need to figure out how to 1) run it stand alone, not inside erlang, 2) avoid prompt on input 3) get rid of the "** exception exit: normal"
17:17:23 <tusho> AnMaster: as for 1)
17:17:26 <tusho> that's not idiomatic erlang
17:17:32 <tusho> as it's not ususally used for standalone progs
17:17:35 <tusho> as opposed to servers, etc
17:17:54 <tusho> just run it from the repl, or if you must, write a shell script that feeds run(read_file(filename)) to erlang
17:17:54 <AnMaster> tusho, it is still kind of idiomatic
17:17:59 <AnMaster> ever seen wings3d?
17:18:05 <AnMaster> it is a 3D editor coded in erlang
17:18:11 <AnMaster> polygon editing
17:18:13 <AnMaster> very good
17:18:15 <tusho> yes and how do you know it's idiomatic?
17:18:15 <tusho> hmm?
17:18:24 <AnMaster> tusho, well can't be 100% sure of that
17:18:28 <tusho> exactly
17:18:41 <AnMaster> and yes shell script is what I plan to use
17:18:50 <AnMaster> that is the official way to run standalone
17:18:55 <AnMaster> that is what wings3d use too
17:18:56 <AnMaster> !
17:19:37 <tusho> AnMaster: have you done any of the concurrency or network stuff yet
17:19:43 <AnMaster> tusho, not yet no
17:19:52 <AnMaster> and probably won't today
17:20:02 <AnMaster> tusho, I did test distributed erlang though today
17:20:06 <AnMaster> between two computers
17:20:10 <AnMaster> was fun
17:20:21 <AnMaster> but I haven't actually used such stuff for something useful yet no
17:40:59 -!- ais523 has joined.
17:41:27 <ais523> hi tusho
17:41:29 <ais523> optbot!
17:41:29 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | apply is depreciated??.
17:41:38 <tusho> ais523
17:41:43 <tusho> i am behind you with a knife
17:41:47 <ais523> I doubt it
17:41:50 <tusho> you shall never beat me to greeting me again
17:41:52 <tusho> it ends ... NOW!
17:41:58 -!- tusho has changed nick to als523.
17:42:03 * als523 has quit (killed by tusho)
17:42:06 -!- als523 has changed nick to tusho.
17:43:01 <ais523> hmm... too obvious
17:43:07 <dogface_> !
17:43:48 <dogface_> (a -> m b) -> m a -> m b. a -> m a.
17:44:19 <ais523> what are the dots for?
17:44:30 <dogface_> Pretend they're semicolons or something.
17:44:30 <ais523> apart from that it looks like a typical Haskell data type
17:44:50 <dogface_> Or em-en-dashes.
17:46:07 <tusho> dogface_: flip (>>=). return.
17:48:25 <dogface_> Hmm.
17:48:55 <dogface_> (a -> m b) -> (a -> b) -> m a.
17:49:21 <dogface_> No.
17:49:41 <dogface_> m (a -> b) -> m a -> m b.
17:50:37 <dogface_> Hmm, I wonder what you do get with primitives (a -> m b) -> (a -> m a) and... something else.
17:52:33 * dogface_ looks for an else
17:53:27 <dogface_> Er, (a -> m b) -> (a -> b) -> m a and something else.
17:55:50 <dogface_> That's S, there's no K or I, B is m a -> (b -> a) -> m b, C is (a -> m b) -> b -> m a, and W is (a -> m a) -> m a.
17:56:30 <tusho> brb.
17:57:14 <dogface_> Is S, B, C and W sufficient to make K?
18:10:20 <AnMaster> ais523, hello
18:10:24 <ais523> hi AnMaster
18:10:30 <AnMaster> ais523, I wrote a Befunge 93 interpreter in erlang today
18:10:33 <AnMaster> well mostly done
18:10:37 <AnMaster> still one bug left
18:10:43 <ais523> what's the bug?
18:10:44 <AnMaster> input displays a [] prompt
18:10:50 <AnMaster> which is against the funge specs
18:10:54 <AnMaster> can't get rid of it it seems
18:11:03 <AnMaster> I'll upload the stuff shortly btw
18:11:56 -!- tusho has changed nick to tusho|away.
18:15:49 -!- Hiato has joined.
18:15:52 <AnMaster> http://bzr.kuonet.org/efunge/trunk/files
18:15:56 <AnMaster> ais523, tusho|away ^
18:15:59 <AnMaster> and maybe Deewiant ^
18:16:03 <AnMaster> still the input bug
18:16:12 * ais523 looks
18:16:34 <AnMaster> ais523, As I'm trying to learn erlang currently, I have gone for "idiomatic, and idiotic" instead of "fast"
18:16:43 <ais523> well, I don't know erlang
18:17:01 <AnMaster> ais523, so it looks like garbage to you? ;)
18:17:02 -!- Hiato has quit (Client Quit).
18:17:17 <ais523> no, most programming langs are at least slightly readable even to people who don't know them
18:17:22 <ais523> some esolangs being the exception of course
18:17:43 <AnMaster> ais523, what do you think of this erlang code then?
18:17:51 <AnMaster> hint: it is functional
18:18:00 <ais523> ah, I was wondering if it was declarative, it looks like it could be
18:18:04 <AnMaster> so I guess knowing haskell and/or LISP could help
18:18:11 <AnMaster> ais523, declarative?
18:18:15 <ais523> like Prolog
18:18:24 <AnMaster> never coded prolog
18:18:44 <AnMaster> ais523, but I think I heard erlang got some traces of prolog in it's style too
18:18:49 <ais523> it's almost an esolang, it's too practical to be an esolang but the paradigm is likely to be unlike anything you've ever seen
18:18:53 <ais523> but that erlang code certainly reminded me of it
18:19:10 <AnMaster> you mean prolog or erlang is too like an esolang?
18:19:21 <ais523> I was talking about Prolog
18:19:23 <AnMaster> ah
18:20:19 <AnMaster> ais523, fstack.erl is probably the most readable
18:22:47 <AnMaster> ais523, so what do you think of erlang so far?
18:23:07 <ais523> too busy thinking about other things to form an opinion
18:23:17 <ais523> it's Monday and I was late in as it is, and I have lots of things to do on Mondays
18:23:33 <AnMaster> ais523, oh well
18:28:41 * dogface_ searches for compilers from Unlambda
18:29:09 <ais523> dogface_: I don't think there are any, I wrote an Unlambda -> Underlambda compiler once but deleted it by mistake
18:29:49 <dogface_> The Esolang wiki links to two Unlambda interpretations; I don't know if they're compilers.
18:30:44 <dogface_> nsl.com looks like it could be some official site. "National Science Library" or something. Of course, nsl.org would look even more official, nsl.gov more official still.
18:30:50 <dogface_> Instead, it's "No Stinking Loops".
18:31:22 <dogface_> Implementation number 1 is an interpreter.
18:32:53 -!- pikhq has joined.
18:33:00 -!- poiuy_qwert has joined.
18:34:36 -!- Tritonio_ has quit (Remote closed the connection).
18:35:36 <dogface_> . F# B D . . E . . B . . . G C D . . E . . C . . .
18:35:57 <ais523> Unlambda is very hard to compile
18:36:04 <ais523> mostly because of d
18:36:06 <dogface_> (Octave break between E and F.)
18:36:11 <ais523> which doesn't correspond to anything in most functional languages
18:36:31 <dogface_> All it does is change evaluation order.
18:36:39 <ais523> yes, I know what it does
18:36:41 <dogface_> Evaluation order is already a pest, I imagine.
18:36:43 <ais523> but how do you compile it?
18:36:53 <dogface_> The same way you compile everything else about evaluation order.
18:37:24 <ais523> dogface_: if you're compiling into a strict lang then the evaluation order's the same between Unlambda and your strict functional lang, except for d
18:38:07 <dogface_> I want to compile into a purely functional language, like C bytecode or something. :-P
18:38:33 <ais523> dogface_: well ehird and I have an Underload -> C compiler, and I think an Underlambda -> C compiler might work along similar lines
18:38:37 <ais523> continuations are the problem with that, though
18:38:59 <dogface_> What is Underlambda?
18:39:01 -!- tusho|away has changed nick to tusho.
18:39:10 <tusho> back
18:39:19 <ais523> a lang I invented, which is designed to be similar to Underload but more practical
18:39:30 <ais523> and also designed so that Unlambda can be compiled into it
18:39:45 <ais523> yet that Underlambda itself can be compiled into an imperative lang
18:39:57 <dogface_> Is it an impure functional programming language with side effects, a delay combinator, and continuations?
18:40:31 <ais523> no delay combinator, and it's concatenative not functional, but otherwise you're about right
18:40:43 <ais523> I worked out how to get around the delay combinator problem
18:41:01 <ais523> unfortunately I accidentally deleted the file where I stored that information so I'll have to try to work it out again
18:41:08 <ais523> luckily though as I did it once I'll have memory to help me
18:41:18 <oklofok> ". F# B D . . E . . B . . . G C D . . E . . C . . ." does this have relevant spaces?
18:41:19 <dogface_> What is a concatenative language?
18:41:31 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | and autoconf detects whether it's available or not and selects the right version.
18:41:33 <dogface_> oklofok: the periods are rests.
18:41:37 <ais523> dogface_: first see http://esolangs.org/wiki/Underload, that's a concatenative tarpit
18:41:38 <tusho> dogface_: compose(x,y)=concat(x,y)
18:41:42 <tusho> for valid programs x and y
18:41:44 <ais523> that'll give you a good guide
18:41:45 <tusho> stack-based usually
18:42:06 <ais523> but the usual form of a concatenative language is one in which all the commands are functions from stacks to stacks
18:42:21 <ais523> and concatenating two commands in the source is equivalent to composing the functions they represent
18:42:36 <ais523> and you can put bits of program on the stack and manipulate them like data
18:42:44 <dogface_> So it just executes all commands in sequence, with no jumping allowed?
18:42:52 <tusho> err
18:42:53 <tusho> no
18:43:08 <ais523> combinators can execute commands out of sequence
18:43:13 <ais523> e.g. Underload has ^ which is eval
18:43:25 <oklofok> dogface: i'm assuming a scale of B C C# D D# E F F# G G# A A# B
18:43:30 <ais523> and although it always does things in sequence you can create a loop by calling ^ recursively
18:43:53 <dogface_> oklofok: F F# G G# A A# B C C# D D# E was what I was thinking.
18:44:02 <ais523> e.g. (:^):^ is the simplest possible infinite loop in Underload
18:44:02 * dogface_ looks at Underload
18:44:05 <oklofok> dogface: those are equal
18:44:09 <ais523> (:^) puts :^ on the stack
18:44:12 <ais523> then : makes two copies of it
18:44:16 <ais523> and ^ evaluates one of them
18:44:36 <ais523> if EgoBot were here I could show you Underload live in the channel
18:44:38 <dogface_> oklofok: I guess I was making assumptions about what you meant by scale.
18:45:16 <dogface_> On the keyboard, the notes are in the order F#, B, C, D, E.
18:45:33 <dogface_> F#, G, B, C, D, E, rather.
18:46:18 <oklofok> what is this piece?
18:46:20 <dogface_> You're not trying to play this in just intonation, are you? :-)
18:46:29 <dogface_> Something that popped into my head.
18:46:29 <tusho> ais523: egobot may not be here
18:46:31 <tusho> but optbot is
18:46:31 <optbot> tusho: i know great books, but i'm too lazy to borrow them from the library
18:46:42 <dogface_> It might be from somewhere.
18:46:53 <ais523> tusho: can optbot interpret Underload?
18:46:54 <optbot> ais523: Done :).
18:47:00 <tusho> ais523: see, he just did
18:47:04 <tusho> he even told you he did
18:47:06 <dogface_> Can optbot do anything?
18:47:06 <optbot> dogface_: You've got me hooked.
18:47:09 <ais523> optbot: (:aSS):aSS
18:47:09 <optbot> ais523: err
18:47:13 <oklofok> dogface: in just intonation?
18:47:27 <ais523> tusho: I don't think optbot can really, it's struggling even with a simple quine
18:47:27 <optbot> ais523: ah
18:47:35 <dogface_> oklofok: using whole number frequency ratios, rather than those usually found on a piano, which are irrational.
18:48:24 -!- RodgerTheGreat has joined.
18:49:08 <RodgerTheGreat> I have newfound evidence that Edsger Dijkstra was a shithead.
18:49:09 <RodgerTheGreat> http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1009.html
18:49:19 <RodgerTheGreat> in response to this:
18:49:19 <RodgerTheGreat> http://www.ecn.purdue.edu/ParaMount/papers/rubin87goto.pdf
18:50:13 <RodgerTheGreat> tl;dr: "Rubin sucks, and so do you guys. Here's some APL-looking stuff. You don't understand this, and you aren't qualified to do your jobs. kthxbai"
18:50:19 <oklofok> dogface: western chromatic, just ensured usa uses B as A##/Cb, and not as A#/Hb like finland
18:50:38 <oklofok> where H = Cb ofc
18:50:49 <tusho> RodgerTheGreat: you have tried to prove that he's a shithead very often
18:50:56 <tusho> you just make yourself look ridiculous, most of the time
18:50:59 <RodgerTheGreat> this is compelling evidence
18:51:06 <tusho> if you know anything about djikstra you would know that that is his programming langauge
18:51:12 <tusho> that he used for everything
18:51:22 <dogface_> oklofok: oh.
18:51:34 <dogface_> You have your sharps in the right places, then.
18:51:36 <tusho> furthermore, the arrogance required to propose yourself as more intelligent than djikstra should probably be causing the universe to implode by now
18:51:39 -!- Sgeo has joined.
18:53:27 <oklofok> . F# B D . . E . . B . . . G C D . . E . . C . . . <<< i dislike the second D
18:53:37 * pikhq beats tusho with a large stick
18:53:47 <tusho> pikhq: why?
18:53:59 <pikhq> Because Dijkstra is a fiendishly clever ass.
18:54:08 <pikhq> The two are probably related.
18:54:17 <dogface_> So Underload is "execute all commands in sequence, with no jumping allowed", if you keep a parenthesis number around and interpret commands differently when it's positive.
18:54:40 <dogface_> oklofok: is that the same as what I said?
18:54:51 <oklofok> err yes
18:55:40 <oklofok> anyway, as i'm probably the only one interested in what melodies pop into your head, i suggest using my standard notation :P
18:55:55 <oklofok> a-z0-9A-Z where 0 is the suggested base note
18:56:03 <oklofok> whatever the correct term is
18:56:05 <dogface_> With semitone differences?
18:56:08 <oklofok> yes
18:56:18 <dogface_> How un-diatonic. :-)
18:56:36 <oklofok> yes, it's a good system
18:56:45 * dogface_ tries sharpening and flattening the offending D
18:56:51 <oklofok> haha
18:57:20 <oklofok> i love pieces that mix minor and major in the same riff
18:57:44 <oklofok> i actually have a piano riff where left had is in minor, and right hand in major
18:57:47 <oklofok> it's awesome
18:57:51 <oklofok> *hand
18:58:05 <dogface_> Cool.
18:58:48 <dogface_> That's what you get when you use thirds all over the place, of course.
18:59:33 <dogface_> Sharpening the D makes it sound... more emotional and better, I think.
18:59:39 <dogface_> Flattening it makes it sound more dissonant.
19:03:02 <dogface_> I think I'd like to modify your notation a bit.
19:06:39 * dogface_ modifies the notation a bit
19:13:29 <dogface_> http://pastebin.ca/1166519
19:13:34 -!- sebbu2 has changed nick to sebbu.
19:14:24 <dogface_> The character alone is whatever's in the center column. The character followed by . is the leftmost thing in the row. The character followed by ^ is the rightmost thing in the row.
19:14:32 <dogface_> And it repeats every octave.
19:15:13 <dogface_> So you know what's a sharp and what's a flat.
19:15:20 <oklofok> so my system but with useless information added?
19:15:32 <dogface_> It's not useless if you're playing in a different tuning. :-P
19:15:35 <oklofok> hmm
19:15:51 <dogface_> Also, flattening G# is more common than flattening Ab, I imagine.
19:15:58 <ais523> double-flats exist
19:16:04 <dogface_> True.
19:16:05 <ais523> there's even special notation for double-sharps
19:16:13 <oklofok> there are no sharps
19:16:15 <dogface_> It's a cute little notation.
19:16:23 <oklofok> there are frequencies, and there is a chromatic scale
19:17:17 <dogface_> In something like 19-tone equal temperament, G# and Ab are different notes. In just intonation, they're probably still different notes.
19:17:30 <ais523> they are different in just
19:17:42 <ais523> I actually wrote a program to play just scales and equitempered scales one after another
19:17:46 <AnMaster> ais523, would tail recursive functions cause issues for ick?
19:17:46 <ais523> they both sounded correct
19:17:49 <ais523> despite sounding different
19:17:56 <ais523> AnMaster: how are you doing the tail recursion?
19:17:56 <oklofok> G# = Ab = 440*(2^11/12).
19:17:57 <ais523> I doubt it
19:18:00 <AnMaster> ais523, not in cfunge
19:18:02 <dogface_> Everything sounds correct. :-P
19:18:04 <AnMaster> ais523, just wondering, in general
19:18:06 <oklofok> give or take some integer multiple of 2
19:18:15 <ais523> AnMaster: well, what is tail recursion? It's doing goto rather than a procedure call
19:18:19 <ais523> and ick doesn't care about gotos
19:18:35 <AnMaster> ais523, hm true, what about non-tail recursion then?
19:18:40 <ais523> again no problem
19:18:51 <ais523> as long as the functions return in the reverse of the order they were called in
19:18:54 <ais523> which is usual in recursion
19:19:09 <ais523> or at least, I mean a function stops running after it returns
19:19:14 <AnMaster> ais523, what if there is a computed COME FROM in such a function?
19:19:19 <AnMaster> so it jumps out of the middle of one
19:19:55 <ais523> AnMaster: I wrote a long essay of what you could and couldn't do in such cases, line label in the middle of a recursive function is fine as long as it's declared with ICK_EC_FUNC_START
19:19:55 <AnMaster> I mean, a computed come from pointed at such a function
19:20:05 <AnMaster> ais523, ah hm
19:20:08 <ais523> which means you can't pass it any arguments
19:20:18 <ais523> except via global variables
19:20:26 <AnMaster> I see
19:20:46 <AnMaster> which make recursion rather pointless
19:21:02 <ais523> not really, you can do something like just use globals as a parameter-passing method
19:21:28 <AnMaster> ais523, does COME FROM and line labels have to be at the top level of such a function?
19:21:41 <ais523> e.g. int a,b; void recursivefunc(void) {int alocal=a, blocal=b; /* do stuff */; a=alocal+1; b=blocal*2; recursivefunc();}
19:21:45 <ais523> AnMaster: no, they can be anywhere
19:21:50 <ais523> well, anywhere a line label is legal
19:21:50 <AnMaster> or can they be nested deep into, say duff's device
19:21:55 <ais523> so duff's device is fine
19:22:03 <ais523> they do have to be as commands not as expressions though
19:22:04 <AnMaster> hm
19:22:11 <ais523> like return does
19:22:29 <AnMaster> as for globals and recursiveness... there is an issue
19:22:47 <AnMaster> you don't get a stack
19:22:56 <ais523> yes you do, look at my example above
19:23:02 <AnMaster> so you will overwrite the arguments of the previous call, right?
19:23:10 <AnMaster> hm...
19:23:14 <AnMaster> ah ok
19:23:17 <ais523> AnMaster: no, because you store the arguments on the stack, that's what alocal and blocal are for
19:23:33 <ais523> you just use the globals to do parameter-passing by hand
19:23:43 <ais523> otoh there are other problems with auto variables and INTERCAL control statements
19:23:45 <AnMaster> ais523, still such locals will be messed up by your setjmp/longjmp stuff right?
19:24:01 <ais523> AnMaster: they are to some extent, it depends on what you do
19:24:09 <ais523> jumping out of functions is fine, it's jumping into them that's the problem
19:24:17 <AnMaster> yeah...
19:24:35 <dogface_> In 19-tone equal temperament, 0 is 0 steps, 1. is 1 step, 1 is 2 steps, 2 is 3 steps, 2^ is 4 steps, 3. is also 4 steps... what fun!
19:24:46 <ais523> if you NEXT out of a function and RESUME back into it, then its auto variables are preserved if they're volatile or if they're not modified juring that time
19:24:55 <AnMaster> ais523, could you write an C-INTERCAL <-> Haskell interface? because that would be awesome, and so much break the Haskell style XD
19:24:57 <AnMaster> brb
19:25:18 <ais523> if you NEXT or COME FROM into a function, then all its auto variables are clobbered (because there's no sensible way to give them a value)
19:25:45 <tusho> [19:21:43] <ais523> e.g. int a,b; void recursivefunc(void) {int alocal=a, blocal=b; /* do stuff */; a=alocal+1; b=blocal*2; recursivefunc();}
19:25:46 <tusho> just do
19:25:52 <tusho> {top: ...; goto top}
19:25:55 <tusho> recursion is pointless
19:25:56 <tusho> :P
19:26:01 <tusho> for that case
19:26:17 <tusho> or just use a while loop
19:30:53 <oklofok> dogface: basically the notation you suggested is a complicated version of the normal C-C#-D-...-B-C scale
19:31:00 <dogface_> oklofok: precisely. :-)
19:31:24 <oklofok> given that the normal scale is absolute crap, i'd say i dislike yours quite a lot
19:38:15 <tusho> hmm
19:38:32 <tusho> I stand by my assertion that an esolang for messing about with scales and sine waves and stuff would rock.
19:38:32 <AnMaster> tusho, hey! think functional :P
19:38:42 <AnMaster> actually for some stuff I would probably prefer erlang
19:38:49 <AnMaster> but not for something like a funge interpreter
19:38:56 <tusho> agreed
19:38:57 <AnMaster> because a mutable state is what funge is *all about*
19:39:07 <tusho> a functional ircd might work, though :P
19:39:13 <AnMaster> tusho, hmmm... yeah
19:39:31 <AnMaster> there is an example of a similar thing in "Programming Erlang"
19:39:41 <AnMaster> tusho, using distributed erlang
19:39:57 <tusho> a haskell ircd might just be total win
19:40:02 <oklofok> well how about straw? :))
19:40:05 <AnMaster> tusho, what about speed?
19:40:15 <tusho> AnMaster: ircds don't have to be overly fast...
19:40:18 <AnMaster> because an ircd should be able to handle 10000 clients at a time
19:40:19 <AnMaster> or so
19:40:19 <tusho> besides, haskell is fast
19:40:28 <tusho> AnMaster: well, erlang would certainly manage that
19:40:28 <tusho> :P
19:40:32 <AnMaster> tusho, yeah
19:40:34 <tusho> haskell probably would too
19:40:38 <tusho> it's not a slow language
19:40:42 <tusho> AnMaster: erlang doesn't use OS threads
19:40:42 <AnMaster> that is like totally painful
19:40:46 <AnMaster> tusho, even so
19:40:51 <tusho> AnMaster: it uses lightweight green threads
19:40:55 <tusho> AnMaster: it would work fine
19:41:02 <tusho> AnMaster: after all, erlang is used in telephone systems
19:41:05 <AnMaster> tusho, when I think irc I think non-blocking IO
19:41:06 <tusho> that's what it was designed for
19:41:11 <tusho> AnMaster: erlang has that too
19:41:18 <AnMaster> tusho, well but still
19:41:19 <AnMaster> hm
19:41:28 <AnMaster> tusho, and epoll/kqueue
19:41:33 <AnMaster> not select or poll
19:41:39 <tusho> AnMaster: i think erlang has them
19:41:39 <tusho> shrug
19:41:42 <AnMaster> maybe
19:41:48 <tusho> erlang is often used for many-client internet stuffs.
19:41:53 <AnMaster> tusho, I do know a bit about ircd programming :)
19:41:54 <tusho> it's its niche
19:41:58 <AnMaster> at least as it is done in C
19:42:19 <AnMaster> tusho, and then there are outsiders like Wings3D in erlang
19:42:40 <AnMaster> I find wings3d easier to use than blender
19:42:45 <AnMaster> it can't do as much
19:42:47 <tusho> i must admit i don't see how a 3d modeler benefits from erlang's niche
19:42:49 <tusho> :P
19:42:49 <AnMaster> but what it does it does well
19:42:55 <AnMaster> tusho, well nor do I
19:42:59 <AnMaster> but point is, it works well
19:43:04 <AnMaster> polygon modelling
19:43:31 <AnMaster> I often make the models in wings, then put them together in blender and add nurbs objects and such
19:43:35 <AnMaster> and render with yafray
19:48:55 <AnMaster> oklofok, what is that straw you mentioned?
19:49:03 <oklofok> it's a language of mine
19:49:09 <AnMaster> tusho, so what shall I write next in erlang hm...
19:49:15 <AnMaster> oklofok, specs and examples?
19:49:37 <oklofok> specifically designed for pure functionality with in-place mutability
19:49:45 <AnMaster> ais523, you never posted those specs and examples of feather btw
19:49:46 <oklofok> in-place mutability?
19:49:48 <oklofok> lol
19:49:50 <AnMaster> ais523, care to do it now?
19:49:54 <ais523> AnMaster: no, because they were so misleadingly wrong
19:50:16 <AnMaster> ais523, well no way I can "get a feeling" for the language then
19:50:27 <oklofok> AnMaster: there exist none, but i may work on it tomorrow now that i finished my books
19:50:33 <ais523> well no, I'm trying to get a feeling for it myself
19:50:56 <AnMaster> anyway plan for tomorrow: finally track down that damn concurrency bug in cfunge
19:51:04 <AnMaster> then maybe start on some other erlang thing
19:51:30 <AnMaster> or implement some new fingerprint in cfunge
19:51:41 <oklofok> SUDDEN DISCONNECT !!
19:51:43 -!- oklofok has quit (Client Quit).
19:52:07 <AnMaster> ok... that didn't make much sense...
19:53:44 <tusho> optbot
19:53:44 <optbot> tusho: I love them.
19:54:55 <AnMaster> tusho, one thing I like with erlang is that it got stuff like static analyzers bundled with the standard distribution
19:55:10 <AnMaster> and you can get into a gui debugger easily
19:55:17 <AnMaster> im().
19:55:19 <AnMaster> in the console
19:55:26 <AnMaster> then a few more commands to select what to debug
19:55:37 <AnMaster> tusho, you ever seen motif?
19:55:46 <tusho> AnMaster: unfortunately
19:55:46 <AnMaster> the GUI toolkit
19:55:55 <AnMaster> tusho, well it seems like erlang use it :(
19:56:08 <AnMaster> or something equally uggly
19:56:11 <AnMaster> ugly*
19:56:13 <tusho> AnMaster: for what?
19:56:26 <AnMaster> tusho, for stuff like the debugger
19:56:34 <AnMaster> and dialyzer (the static analyzer)
19:56:45 <AnMaster> let me take a screenshot
19:58:09 <tusho> http://www.dangermouse.net/prose/foxc.html
20:01:12 <tusho> that's tk AnMaster
20:01:13 <AnMaster> it works well
20:01:16 <tusho> it seems
20:01:16 <AnMaster> but it is uggly
20:01:21 <AnMaster> tusho, well not sure what it is
20:01:23 <AnMaster> but it is uggly
20:01:27 <AnMaster> ugly*
20:02:02 <AnMaster> tusho, ever used wings?
20:02:19 <tusho> no
20:04:58 <AnMaster> tusho, I think this may be a custom gui system?
20:05:17 <AnMaster> the check boxes look different
20:05:19 <AnMaster> less uggly
20:05:21 <tusho> yes
20:05:22 <tusho> custom
20:05:22 <AnMaster> ugly*
20:05:28 <AnMaster> not nice but less ugly
20:05:38 <AnMaster> tusho, why do 3D programs do that blergh
20:05:43 <AnMaster> I mean, blender does it too
20:05:46 <AnMaster> custom
20:05:48 <tusho> AnMaster: they're 1337 and totally hardcore.
20:05:49 <tusho> :P
20:06:06 <AnMaster> tusho, it makes it harder to get used to!
20:06:45 <AnMaster> tusho, anyway sure the erlang debugger doesn't use motif?
20:06:46 <fizzie> It's supposed to be difficult; if it were easy, anyone could do it.
20:07:22 <tusho> AnMaster: not sure
20:07:49 <AnMaster> fizzie, well wings3d is quite easy
20:07:53 <Deewiant> optbot!
20:07:53 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | Apparently my powerful interpreters have gained notoriety :P.
20:07:55 <AnMaster> simpler than blender certainly
20:08:17 <fizzie> That much is true.
20:09:25 <fizzie> On Debian, the erlang-x11 package depends on tk. And the screenshot certainly looks tk-y.
20:10:15 <AnMaster> tusho, I believe efunge will work on Windows btw ;P
20:10:21 <AnMaster> tusho, iirc that is what you always wanted
20:10:24 <tusho> eh
20:10:25 <tusho> *hee
20:10:32 <AnMaster> *heh
20:10:32 <AnMaster> ?
20:11:08 <fizzie> (But the Tk X11 look-and-feel is modeled after Motif.)
20:16:25 -!- Hiato has joined.
20:18:48 <AnMaster> tusho, is it "idiomatic" or "ideomatic"?
20:18:59 <ais523> AnMaster: idiomatic
20:19:05 <ais523> although I'm not tusho
20:19:09 <dogface_> I'm having fantasies of someone yelling "FYORR!" fortissimo at G above middle C.
20:19:35 -!- Sgeo has quit (Connection timed out).
20:23:19 <AnMaster> dogface, eh?
20:23:33 <AnMaster> in case anyone want to try
20:24:27 <dogface_> Specifically, the G above middle C at the end of the line "where the lights are bright as the stars" in "Put On Your Sunday Clothes".
20:25:01 <AnMaster> dogface, what song is that?
20:25:46 <AnMaster> I never heard of it
20:25:53 <dogface_> Well, it was the one at the beginning of WALL-E.
20:26:00 <AnMaster> WALL-E?
20:26:07 <dogface_> Originally from Hello, Dolly!.
20:26:16 <AnMaster> don't know about that either
20:26:43 <dogface_> Just the beginning, with the two guys.
20:28:33 <AnMaster> oh my really old style
20:28:36 <AnMaster> when is it from?
20:28:50 <AnMaster> musical, feels like as old as that one "Singing in the rain"
20:29:54 <AnMaster> dogface, anyway I don't have the ability to hear exactly what tone someone is singing
20:30:14 <AnMaster> (that doesn't mean I can't play a bit of piano though
20:32:18 <pikhq> I suspect not everyone here has heard of "Hello, Dolly!".
20:33:31 -!- tusho has changed nick to tusho|away.
20:34:22 <AnMaster> indeed
20:38:19 -!- MikeRiley has joined.
20:39:54 <AnMaster> tusho|away, you linked "http://www.dangermouse.net/prose/foxc.html"
20:39:57 <AnMaster> what the heck is that
20:52:37 -!- Corun has joined.
20:55:52 -!- olsner has joined.
21:37:40 -!- MikeRiley has quit ("Leaving").
21:37:40 -!- Corun has quit ("This computer has gone to sleep").
21:38:03 -!- rodgort has joined.
21:39:06 <dogface_> You know, calling me (ello, rodgort) dogface rather than dogface_ pings the wrong client.
21:49:07 <ais523> hi optbot
21:49:08 <optbot> ais523: actually he could use tusho
21:49:12 -!- Mony has joined.
21:49:13 <ais523> optbot?
21:49:14 <optbot> ais523: yay!
21:49:21 <ais523> optbot: you aren't making much sense
21:49:21 <optbot> ais523: no it wasn't
21:49:25 <ais523> ...
21:49:56 <Mony> hi
21:50:02 <ais523> hi Mony
21:51:11 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
21:58:22 -!- kar8nga has quit (Read error: 145 (Connection timed out)).
22:00:38 <AnMaster> night all
22:00:42 <ais523> night
22:00:57 <AnMaster> dogface, it is just about tab completion
22:01:05 <AnMaster> dogface is close enough
22:01:09 * AnMaster shrugs
22:01:10 <AnMaster> night
22:03:25 -!- tusho|away has changed nick to tusho.
22:09:51 -!- oklopol has joined.
22:15:58 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
22:27:03 -!- ais523 has quit (Remote closed the connection).
22:27:19 -!- ais523 has joined.
22:30:43 <tusho> optbot: hi
22:30:43 <optbot> tusho: They were supposed to eventually crash it :P
22:31:08 <ais523> optbot always gets me when someone activates it out of thin air, I wonder what on earth the subject of the conversation is now
22:31:09 <optbot> ais523: with 1 bit sign, 100 bit exponent and 200bit value
22:31:22 <ais523> optbot!
22:31:22 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | !fybs ?.
22:31:24 <ais523> optbot!
22:31:25 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | Wassup Slereah (If that was aimed at me :) ).
22:31:27 <ais523> optbot!
22:31:27 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | the random -> 000...0 thing.
22:31:33 <ais523> ok, I'll leave it as it is now
22:31:36 <ais523> that's a good topic
22:33:16 <Mony> optbot.... really ? OO
22:33:16 <optbot> Mony: (I only have 807 comment karma too. People just can't accept someone who's INFALLABLY RIGHT)
22:33:24 <Mony> whaou
22:33:43 <ais523> is that French for "wow"?
22:34:04 <Mony> yeah
22:35:19 -!- RedDak has joined.
22:51:48 <pikhq> I'm surprised it doesn't have more consonants.
22:58:00 <tusho> whawowuw
23:12:40 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1\$.2'~'"':1/.1\$.2'~#0"\$#65535'"\$"'"'&.1\$.2'~'#0\$#65535'"\$#0'~#32767\$#1"").
23:21:53 <pikhq> No, no, no.
23:22:23 <pikhq> l'whaouxe.
23:22:24 <pikhq> :p
23:23:16 <tusho> :D
23:26:43 <pikhq> Okay, so it's not like I can criticise French for having terribly obtuse spelling...
23:27:00 <tusho> pikhq: hehehe
23:28:39 <pikhq> Given that English is orders of magnitude worse, courtesy of its status as a (calling all linguists: the following classification is a *joke*) Romantic Germanic Celtic language, with hints of all other language families thrown in for good measure.
23:38:15 <tusho> Romantic Germanic Celtic Icic
23:48:35 <pikhq> Icic?
23:48:45 <tusho> pikhq: Yes.
23:48:47 <tusho> Icic.
23:49:42 <oklopol> ```icic
23:50:15 <pikhq> ?
23:50:32 * pikhq thinks you're full of it. Or full of unlambda.
23:50:33 -!- sebbu has quit ("Quitte").
23:51:02 <oklopol> i'm full of meatballs
23:51:16 <tusho> pikhq: Define it.
23:52:34 <pikhq> I can't...
23:52:44 <pikhq> In case you hadn't noticed, I was *asking* for a definition.