00:21:10 Does Haskell have a way to name parts of patterns? 00:21:24 @ 00:22:30 thanks 00:23:22 no prob 00:27:50 fax: of course BF is possible in Haskell 00:28:20 also, AnMaster vs. alise is bad enough, I don't really like disputes/ignore-battles between #esoteric regulars 00:28:34 they started it 00:29:31 why can't we all just get along :'( 00:29:37 because this is the Internet 00:29:47 no YOU are the internet 00:30:32 * fax was getting along fine until people started being uppity /ignore users 00:32:35 no actually i think they *first* got annoyed, *then* started to threaten with ignore! 00:32:41 * oklopol shuts up now 00:33:00 so how's this democracy i've been hearing about 00:33:06 does it work? 00:34:49 oklopol: depends on what you want it to achieve 00:35:37 next topic: "Quadrescence: I did not follow, I came here because of someone else's recommendation" <<< who? 00:35:57 ais523: say i'm trying to take over the world 00:36:04 but without hurting anyone 00:36:14 hmm, I don't think democracy is a good tool for that 00:36:20 but then, I can't think of anything else that would work well either 00:36:54 what if i killed everyone so democracy would actually just be me in a voting booth 00:37:14 oklopol: then it's no different from any other form of government, just with more paperwork 00:37:26 hmm right, i guess 00:38:55 oklopol: I won't disclose 00:39:13 i'll do anything 00:39:17 and i mean anything 00:40:19 this is a pretty great channel, i can do anything i want and no one gets mad 00:40:23 like watch this 00:40:23 o 00:40:24 o 00:40:24 o 00:40:24 o 00:40:24 o 00:40:24 o 00:40:25 o 00:40:25 o 00:40:26 o 00:40:26 o 00:40:27 o 00:40:29 oko 00:40:32 ^ that's like 3 o's right there 00:40:38 o' 00:40:41 and that's more than 3 o's 00:40:42 s form a ring 00:40:57 \o_ 00:41:02 aw :( 00:41:10 i want my bot 00:41:12 o oko okoko okokoko okokokoko 00:41:18 okokokokokokokokokoko 00:41:20 okokokokokokokokokoko 00:41:22 okokokokokokokokokokoko 00:41:24 okokokokokokokokokokokokoko 00:41:26 okokokokokookokokokokoko 00:41:29 oklokonuabfon 00:41:30 http://www.youtube.com/watch?v=WOdN-d-JogQ 00:43:23 -!- FireFly has quit (Quit: Leaving). 00:44:02 the math is too advanced for me 00:45:20 we made an and port from these tiny sticks once with a friend 00:45:44 we were gonna make a xor but that would've taken too long the way we were doing it 00:45:55 that's pretty neat 00:46:50 tiny sticks?? 00:47:38 also, don't you mean "gate", rather than "port"? 00:47:50 and how do you pronounce "xor" for it to start with a consonant?# 00:49:29 oh lol yeah 00:49:51 DAMN BUFFERING 00:49:59 "ksoar" 00:51:16 i think it's a finnishm 00:51:17 -!- cheater3 has joined. 00:51:39 just like i sometimes say "irk" for IRC instead of "i are sea" 00:52:20 * Sgeo wants a language where he can use D'ni numerals for integer constants. 00:52:31 what are D'ni numerals 00:52:40 -!- cheater2 has quit (Read error: No route to host). 00:53:16 Numerals used by the [ficticious] D'ni civilization 00:53:23 http://en.wikipedia.org/wiki/File:D'ni_numerals.svg 00:53:50 lovely 00:54:03 I played that game 00:54:04 Riven 00:54:18 * Sgeo has started playing Uru Live 00:54:27 is that the MMO version? 00:54:30 Yes 00:54:47 that struck me as kind of weird... the whole point of the game was the lack of anyone else imo 00:54:53 what's it liKE/ 00:54:56 I mean does it work? 00:56:42 Not really as multiplayer as I was hoping for. At least the initial ages are playable alone, but you can invite others with you 00:56:59 I _think_, at least for the Prime Ages, that others can't actually interact with the environment 00:57:08 There are social areas, the hoods 00:57:12 And the City is rather social 00:57:22 There are some Ages that require several people 00:57:25 interesting 00:57:28 I think one Age requires 8 00:57:56 I like teh sound of that 00:59:11 so who loves bowling here 00:59:28 i should stop talking for today 01:00:59 lol 01:03:18 night! -> 01:09:45 I've bowled in Cybertown 01:09:48 Oh, night 01:14:30 hmm, I've thought up a really interesting way to think of Haskelly IO 01:14:50 Oh? 01:14:59 basically, you return an infinitely big lookup table listing what outputs should go with all possible inputs, allowing for interspersings of them 01:15:13 and because it's a lazy lang, only the parts of the lookup table that are actually used are calculated 01:15:26 I've always thought of it as returning a series of IO instructions and associated functions to evaluate 01:15:33 that's what your IO () "value" actually is 01:15:43 and using monads just helps you generate it in a sane way 01:15:52 ais523: That is an entirely valid means of looking at it. 01:16:06 yep, although probably not the most practically useful one 01:16:40 essentially, I think of it returning an imperative program 01:17:08 Interpretations of it beyond something like "being a C function that evaluates to a value" are generally not all that useful. :P 01:17:48 what ais523 is (one of) the basis' for a formal treatment of IO 01:18:12 fax: wait, I'm a basis for a formal treatment of IO? 01:19:21 hmm, you could even make a formal treatment of unsafePerformIO that way 01:19:28 unless you wanted to avoid going mad 01:19:32 -!- oerjan has joined. 01:19:36 http://www.haskell.org/haskellwiki/IO_Semantics 01:19:41 roughly 01:19:44 Oh dear God. A formal treatment of unsafePerformIO. 01:19:46 o.O 01:21:17 ugh, oerjan joined just before you said that 01:21:25 and is now presumably hoping he misread it 01:21:48 -!- augur has joined. 01:21:55 how do i misread an URL? 01:22:20 oerjan: "A formal treatment of unsafePerformIO." 01:22:36 *WHOOSH* 01:23:04 (well, half a whoosh anyway) 01:24:41 well there's no unsafePerformIO in that link that I can see. 01:25:15 -!- cheater4 has joined. 01:26:39 -!- sebbu2 has joined. 01:26:44 oerjan: You missed context. 01:27:15 oerjan: "you could even make a formal treatment of unsafePerformIO that way" 01:27:22 well how can i misread properly without ignoring context? i'll look at it again when i get to that point in the logs. 01:28:10 -!- cheater3 has quit (Read error: No route to host). 01:28:39 i recall they've made a formal treatment of exceptions, which is nondeterministic. 01:28:52 (the kind you can only catch in IO) 01:31:19 fax: you obviously know nothing about Haskell, so stop making these kinds of assertions 01:31:29 you mean he knows just enough to be obnoxious 01:31:48 -!- fungot has quit (Ping timeout: 260 seconds). 01:31:48 -!- Gregor has quit (Ping timeout: 260 seconds). 01:31:49 -!- sebbu has quit (Ping timeout: 260 seconds). 01:33:30 -!- Gregor has joined. 01:34:51 fax: Congrats at being a troll, man. 01:35:00 fax: I'm going to replace you with a small monad. :P 01:35:28 ? 01:35:29 a small monad that lives under a bridge and pesters goats 01:35:50 (the last sentence is stupid humor that only sounds intelligent because of the word monad) 01:36:06 * fax doesn't equate 'big words' with intelligence 01:36:21 I hate anti-intellectualism :( 01:39:37 -!- augur has quit (Ping timeout: 245 seconds). 01:44:54 * Sgeo is seriously going to cry 01:45:18 why/ 01:45:19 ? 01:45:39 is it because I was nasty to you?? that was just a reflex 01:46:31 no, someone sent him a truck full of onions 01:46:58 that must be very sad 01:47:04 What the flying fucking fuck is going on here? http://pastie.org/883967 01:48:18 well << is clearly brainfuck, but i don't understand the point of all those repeated std::cerr comments. 01:48:19 :/ 01:48:23 Sgeo I tried to compile it 01:48:33 It's more of a small segment of code 01:48:38 yeah I realize that NOW 01:48:42 but :( 01:49:07 int location = 0; 01:49:07 int length = 4; 01:49:07 int items[] = {5,7,8,9,6,5,4,3}; 01:49:08 does the trick 01:49:28 std::cerr << "items[" << i << "] = " << items[i + 1] << std::endl; 01:49:30 this line is interesting 01:49:42 oerjan: lol 01:49:53 Quite interesting. 01:49:53 It's just reflecting exactly what's supposed to happen on the previous line 01:51:38 fax, if you find the bug, do let me know 01:51:58 Sgeo: not sure what the bug IS 01:52:03 * oerjan admits that looks strange 01:52:05 Sgeo: "i + i" 01:52:10 "i + i" != "i + 1" 01:52:17 :D 01:52:27 ....Thank uoui 01:52:27 oh it's this: 01:52:28 items[3] = 5 01:52:28 *you 01:52:28 items[3] == 7 01:52:39 you'd expect it to say items[3] == 5 ? 01:52:47 Sgeo: Now, get a better terminal font for Chrissake. 01:53:00 Sgeo?????? 01:53:01 Using Visual Studio 01:53:01 int items[] = {5,7,8,9,6,5,4,3}; 01:53:05 I'm using an immutable array 01:53:09 so I shouldn't be allowed to modify it 01:53:18 why doesn't C++ tell me I'm doing something bad 01:53:18 fax: That's quite mutable. 01:53:22 really!! 01:53:27 I just assumed it would be like C :/ 01:53:34 That's also mutable in C. 01:53:42 o_o 01:53:55 I have been using malloc all this time.. 01:54:29 You are not declaring an int * with the address being the immutable constant {5,7,8,9,6,5,4,3}. 01:54:49 You are declaring a mutable array on the stack, initialised to {5,7,8,9,6,5,4,3}. 01:55:00 -!- Tritonio_GR has quit (Quit: Leaving.). 01:55:09 thanks 01:55:25 "const int items[] = ..." is immutable, though. 01:55:39 Sgeo this *is* weird! 01:55:57 fax, pikhq solved it 01:56:03 It's no longer a mystery 01:56:08 it is to me :D 01:56:13 -!- augur has joined. 01:56:17 fax: i+i != i+1 01:56:36 aaaaah! 01:56:50 I wanted to figure it out :( 01:57:26 BTW, you can tell the immutability of a variable with its type. const indicates immutability. 01:57:42 Mixing const with & hurts my head 01:57:52 I think I'll just huggle C# 01:57:59 It is... A little confusing with pointers, yes. 01:58:06 That's the syntax's fault. 01:58:22 A lot of C++ problems are the syntax's fault 01:58:36 Are there any that aren't? 01:58:45 A lot of C++ problems are starting with C's problems and adding more. 01:59:52 A lot of C++ problems are not really problems 02:00:11 adu: Garbage collection. The lack of this is a problem in C++. 02:01:00 disagree 02:02:02 You also think that leeches are a cure-all, and that feudalism is a great solution to the problem of how to govern people efficiently. 02:02:25 both are incorrect 02:02:29 Why not optional garbage collection? 02:02:49 Sgeo: Because C++'s semantics demand garbage collection. 02:03:04 Standardization in that area is going slowly 02:03:21 There's no way to avoid C++, is there? 02:03:29 Is it safe to say most programs are written in C++? 02:03:31 Sure there is. Use C. 02:03:33 lack of garbage collection is important for some aspects of C++, yes, I like that 02:03:35 No. 02:03:39 By no means are most programs written in C++. 02:03:52 What's the most commonly used language? 02:04:04 Frankly, I wouldn't be surprised if it's still C. 02:04:06 The committee is properly allowing GC implementations in C++0x 02:04:08 still C 02:04:17 Probably still C. If not, something like Java. 02:04:25 C is top, Java and C++ are next, I forget what order 02:04:39 Then comes BrainFuck 02:04:44 Sounds about right. 02:04:50 Gregor: Hah. 02:04:50 Then Python. 02:04:51 pikhq: what about shared_ptr? 02:04:52 Then Forth. 02:04:56 shared_ptr? 02:05:31 shared_ptr<> is the closest thing to GC in C++ 02:05:58 adu: First: reference counting is obnoxious. Second: leaks memory quite well if you have a cyclic reference. Ever. Third: C++ templates are fail. 02:06:22 Fourth: Contrary to popular misconception, reference counting is almost always slower than a half-decent GC. 02:06:36 pikhq: the idea of templates, imho, is not fail 02:06:37 Python uses reference counting, iirc :/ 02:06:40 Ah, yes. Reference counting is quite slow. 02:06:50 What does Ruby use? 02:06:52 Sgeo: Plus GC, because reference counting is useless :) 02:06:57 Sgeo: Presumably a proper GC. 02:07:00 adu: Note that I said C++ templates. The idea is just polymorphism. 02:07:22 And polymorphism is embraced in pretty much everything. 02:07:25 I've said it before and I'll say it again: Any language with a type system is far too low-level for me. 02:07:37 ... that's a joke 02:07:43 Gregor: Dynamic types are still types you know. 02:08:04 pikhq: Depending on who you talk to, prototypes are not types :P 02:08:05 Hm, C-- doesn't have much of a type system 02:08:19 Gregor: It's still types. 02:08:26 Although I guess, what is it, things like word8 are still types? 02:08:32 Or am I misremembering C--? 02:08:37 Sgeo: Yeah, those are still types. Technically. 02:09:50 * adu <3 polymorphism 02:10:04 actualy i hate polymorphism 02:10:10 i just like parameters 02:10:25 adu: You just haven't seen much good polymorphism. :P 02:10:36 and I don't think "parametric polymorphism" is actually polymorphism 02:10:38 Is C#'s polymorphism considered good or bad? 02:10:57 interface-based polymorphism :/ 02:11:06 If parametric polymorphism is not actually polymorphism, then polymorphism cannot exist in a statically typed language. 02:11:13 Sgeo: It's... Eh. 02:11:21 Sgeo: Haskell does it pretty much right. 02:11:29 * adu <3 Haskell 02:11:47 Haven't had much of an opportunity to play with Haskell. 02:12:19 It's the most high-level language you have likely seen yet. 02:12:32 (there exist higher-level, but they're not exactly... Common.) 02:12:55 High level == passing around functions as though they were candy? 02:13:10 Among other things. 02:13:13 * Sgeo eats a map 02:13:15 Also, yes. They are candy. 02:13:23 AMAZING CANDY. 02:13:55 I think segregation of IO and non-IO logic is rather interesting. 02:14:30 I think it's just natural. 02:14:39 Is there anything Haskell is bad at? Would it be sinful for me to make a game that tracked the states of players in Haskell? 02:15:05 Haskell is terrible at real-time stuff. 02:15:29 Though it is wonderful for programmatic generation of real-time code. 02:16:22 What about the lack of OO? 02:17:00 Sgeo: the problem is not that Haskell has no OO, the problem is that it has 3 kinds of OO 02:17:12 OO is overrated. 02:17:24 Though technically you can do it just fine in Haskell. 02:17:27 Sgeo: record-based OO, typeclass-based OO, and module-based OO 02:17:56 so the problem is that people can't figure out which one is most OO-like 02:17:58 Typeclasses are not OO at all. Records are not OO at all. Neither are modules. 02:18:26 pikhq: they are all OO minus some features 02:18:43 01:14 < pikhq> Haskell is terrible at real-time stuff. 02:18:46 Typeclasses are more like Go's interfaces-thing. Records are... structs. Modules are *a freaking collection of definitions*. 02:18:58 that might be true but people are basing hard realtime languages (loosely) on haskell 02:19:14 btw, Haskell doesn't call them "records" it calls them "algebraic datatypes" 02:19:16 fax: They are using Haskell for programmatic generation of hard realtime code. 02:19:22 ??? 02:19:37 adu: haskell does have records 02:19:48 just really shit ones... 02:20:01 fax: You can write a Haskell program that outputs hard realtime C using some library that I don't recall. 02:20:06 adu: Learn Haskell por favor. 02:20:14 * fax wonders how the heck they got such an advanced type system but didn't bother with modules or rows.... 02:20:26 pikhq: I've been programming in Haskell for 10 years 02:20:34 I'm not sure how Haskell records apply when using types that are functions with >0 arguments 02:20:40 adu: Fine, fine. Learn about OO programming. :P 02:20:54 i've been programming in Python for 15 years 02:21:01 It's about as object-oriented as C. (in that you can hack it together with structs/ADTs, if you feel like it.) 02:21:36 So, no one's going to spontaneuously explain it to me? 02:22:08 Sgeo: I'm not sure what you're saying. 02:22:23 Sgeo: spontaneuously explain what? 02:22:43 data SomeType = SomeType { someconstructor :: a -> [a]} 02:22:45 For instance 02:22:57 erm, maybe constructor is the wrong word 02:23:07 oh, yes, well in Haskell functions are values/objects just like anything else 02:23:22 How and why would I use something like that? 02:23:38 for example, database drivers 02:24:14 you might have a Database type that has query, open, and close methods 02:24:54 you can encode those methods in separate modules, like System.DB.MySQL or System.DB.Postgres, (which is silly) or you can encode them as members of the Database type 02:24:56 like you did 02:27:58 data Database = DB { connectionData :: DBData, query :: Database -> String -> IO String} 02:28:04 or something like that 02:29:14 And then instances [sorry for the use of that term] of DB represent different drivers? 02:29:22 One for MySQL, etc? 02:29:51 yes, "query" could have different implementations for each instance 02:30:37 What the heck is going on at the esoforum... is that spam or just someone misguided about what the forum is about? 02:30:41 query MySQL theDB somestring 02:30:44 the other way, System.DB.MySQL.query and System.DB.Postgres.query are both fixed implementations, and you could have to pick one and not change it 02:30:47 Seems pretty cumbersome :/ 02:31:52 oh it _is_ spam, at least the last one 02:32:12 google provides again 02:32:32 Hm? 02:32:41 Which one's spam? 02:32:46 Sgeo: no, if (theDB :: Database), then you would call it as (query theDB string) 02:32:46 http://esoteric.voxelperfect.net/forum/kareha.pl/1269355073/l50 02:32:55 i haven't checked all of them 02:33:15 or ((query theDB theDB string) actually, now that i think about it 02:33:19 but there were a whole bunch of messages today that are clearly programming related but not on topic 02:34:29 * Sgeo needs to figure out how to teach himself to segregate IO in code he writes 02:35:05 -!- Oranjer has left (?). 02:35:17 segregate? 02:35:54 IO code in one area, non-IO code called by the IO code 02:36:05 [At least, that's my understanding] 02:36:18 Sgeo: after checking, _everything_ from today is spam 02:36:31 2 Name: Ørjan : 2009-12-24 07:18 ID:l+2d4UoE [Del] For any fractran program, let p be any prime not used in the program. If your starting value is divisible by p, then the program has no way of removing it. So it cannot be done, alas. 02:36:39 how does oerjan just know all this stuff/!?!?!? 02:36:50 it's so frustrating, I want to know these things 02:36:52 :D 02:37:18 hm actually that's quite obvious but I probably wouldn't have thought of it 02:37:23 fax: i have a phd (well, technically dsc) in mathematics 02:37:24 s/obvious/easy to verify/ 02:37:37 oerjan: did you do ;D fractran? 02:37:51 i did do number theory 02:38:01 also, look at Bag. i never implemented it, alas. 02:38:05 oerjan oerjan 02:38:13 what's your favorite number :D 02:38:19 16 02:38:46 (on the spot) 02:38:47 "the esoteric language mailing list" o_O 02:39:09 oerjan I might write a program that turns propositions into diophantines 02:39:12 fax: it's been essentially dead for years 02:39:26 like it reduces proving X into proving some diophantine D(...) = 0 02:39:40 you can basically encode all of mathematics into it... 02:39:55 and I suppose if we translate true theorems through this we can prove lots of things are zero too 02:40:27 fax: Hilbert's 10th problem 02:40:30 yes! 02:40:41 do you think it's a fun idea 02:41:08 oerjan im still proud of my J fractran interpreter 02:41:19 I don't realyl deserve to be, the only reason it's so nice is because J rules 02:41:36 well it's solved, i don't know much about the details except that it requires proving you can encode a fast-growing function (like exponential) as a crucial step 02:41:52 oerjan: this is the chapter I am on :D 02:41:58 I have a book about this 02:42:50 (*{~1 i.~[@(=<.)@:*) 02:43:28 the critics said: # (cur) (prev) 15:27, 12 October 2009 Sligocki (talk | contribs) (9,526 bytes) (That algorithm is neither clear nor helpful and clearly does not store the whole program.) (undo) 02:44:01 fax: about hilbert's 10th problem? 02:44:12 about the J intepreter for fractran 02:44:18 esolang kept it though! http://esolangs.org/wiki/Fractran 02:44:36 hm i think i noticed you mentioned before 02:44:41 -!- Geekthras has joined. 02:44:42 fax: we're an inclusive bunch 02:44:54 I'm not very keen on wikipedia, but wikis are great 02:45:00 What did oerjan prove about Fractran? 02:45:01 somehow i doubt anyone is actually cleaning up spam in the forum 02:45:12 Sgeo: the quote above 02:45:37 http://esoteric.voxelperfect.net/forum/kareha.pl/1261626260/l50 02:45:39 What's "it" 02:45:44 * pikhq seems to recall seeing Geekthras somewhere 02:45:47 yeah same 02:45:50 Oh 02:45:52 Sgeo too. #xkcd? 02:46:05 * Sgeo is in #xkcd 02:46:37 Apparently, Geekthras is covered in bees. 02:46:48 `echo "Geekthras is covered in bees." 02:47:02 Hackego apparently disagrees. 02:47:15 * fax should learn J again (I forgot it) 02:47:17 Gregor: Where'd the Egoest of the Bots go? 02:47:37 fax: funny you should mention that, I just started to pick it up again 02:47:44 Y:D 02:47:52 er 02:47:55 s/again// 02:48:55 pikhq: HELL 02:49:30 Should I assume that Fractran isn't TC? 02:49:38 Sgeo uh no 02:49:42 why would you ? 02:49:52 I mean in general why would you assume anything isn't TC? 02:49:52 Guess I shall have to kill myself, topple the king of that infernal place, and come back. I shall then open one of my 6 mouths and sing the song that ends the earth. 02:49:54 oerjan said something about something it couldn't do 02:50:02 (thx Penny Arcade) 02:50:03 what is fractan? 02:50:14 i've been telling you, someone's been killing off our bots 02:50:15 http://esolangs.org/wiki/Fractran 02:50:19 oh sorry I misunderstood that Sgeo 02:50:26 I thought you were saying something a bit different 02:50:28 myndzi's still around. 02:50:28 \ 02:50:31 they seem to have completed their evil deed 02:50:32 \o/ 02:50:32 | 02:50:33 /< 02:50:39 \o/ 02:50:39 | 02:50:39 >\ 02:50:42 OH 02:50:46 so thats how it works 02:50:54 \o/ 02:50:54 | 02:50:54 >\ 02:50:57 Yuh. 02:51:00 COOOL. 02:51:10 * _\____o* SPLAT 02:51:15 \m/ 02:51:16 oh my god. 02:51:21 the interpreter is in J. 02:51:24 wow 02:51:24 The power of a-guy-running-a-bot-on-his-IRC-client. 02:51:29 Geekthras I wrote that ;D 02:51:33 What happened to the \m/ thing? 02:51:33 nice 02:51:37 (long enough ago that I haev no clue ....) 02:51:40 how does it work 02:51:42 /m\ 02:51:45 Sgeo: Did it wrong. 02:51:50 \m/ \m/ 02:51:50 `\o/´ 02:51:50 | 02:51:50 /'¯|_) 02:51:50 (_| 02:51:53 Oh 02:51:57 \a/ 02:51:59 \x/ 02:52:00 \f/ 02:52:02 \n/ 02:52:04 ;( 02:52:09 fax: FAILURE 02:52:13 Sgeo: there are limitations to what a fractran program can have as initial/final result if you don't do your encoding properly. that has no bearing to whether it is TC since you can always encode a problem in a different way 02:52:18 -!- fax has quit (Quit: shame). 02:52:35 Ah 02:52:37 ALSO: a,b,c;main(z,i)char**i;{h:a=!a,b=!b;g:(b-1)[1[i]]>b[i[1]]?a^=a,c=(b-1)[1[i]],1[i][b-1]=i[1][b],b[i[1]]=c,b=&b[(void*)1]:(b=&b[(void*)1]),!b[i[1]]?:({goto g;}),a?:({goto h;}),b=!b;j:putchar(b[1[i]])[(void*)(b=&b[(void*)1])],1[i][b]?({goto j;}):putchar('\n');} 02:52:51 waaaaa 02:52:58 yeah I can't decipher that J program 02:53:07 don't remember what enough of the verbs are 02:53:18 Any comments on Fractran++? 02:53:37 Sgeo: Insufficiently object-oriented, I bet. 02:53:44 Gregor: which J problem? 02:53:45 *program 02:53:54 Geekthras: there are probably lots of non-J interpreters of fractran around, it's a pretty old concept. 02:54:20 I said something about ... a J program? 02:54:42 Geekthras: Congrats on throwing off tab-completion. 02:54:50 Sgeo's not used to more than one G- here. :P 02:55:02 rofl 02:55:08 not sure how you completed s from c 02:55:21 Sgeo: the thing i proved in that post is essentially like how you cannot get a turing machine to handle a tape not in its alphabet 02:55:31 Ah 02:55:51 (also, that was a thinko, not a typo. I use a client with sane (bash-style) completion) 02:58:07 coppro: That's a thinko. 02:58:17 My tab-completes don't do commas. 02:58:29 uh, what? 02:58:32 (so I type the full name.) 02:58:37 don't do commas? 02:58:52 I only tab-complete if I want "foo: ". 02:59:13 \o_ _o/ _o_ \o_ \o/ 02:59:13 | | | | | 02:59:13 /| /| /< /< /| 02:59:18 coppro: For instance, I tab-completed for "coppro: ", but not the following coppro. 02:59:28 ah 02:59:35 why not? 02:59:41 I'm confused 02:59:42 * Sgeo should probably actually test pikhq's fix 03:01:42 Hallefrickenluhha 03:02:12 I _think_ my program works 03:02:34 I don't think I've EVER written an actual unit test for real use 03:02:52 I wrote tests for individual parts of PSOX, but that's pretty much it 03:03:03 All my testing, all my life, has been manual 03:03:54 * Sgeo needs to fix this somehow 03:12:12 huh 03:12:35 I thought that if you defined a monad p, then p 1 2 3 would give you p 1, p 2, p 3... 03:12:48 O_o 03:13:07 please rephrase that so it makes sense :D 03:13:15 it... does? 03:13:17 talking in J? 03:13:30 um what does J have to do with monads? 03:13:42 they are one of its two verb types? 03:13:43 Why is J considered so cool? 03:13:44 oerjan: "monadic function", I think? 03:13:49 ah. 03:14:01 Sgeo: I think it's neat 03:14:03 * oerjan is a haskellite 03:14:09 I mean, essentially, it means you can define a verb and it will act "the right way" when given lists instead of a normal argument, right? 03:14:15 And that's pretty much it? 03:14:19 that's next on my list 03:14:32 that's what I thought 03:14:47 Geekthras, do not turn to me for help understanding J 03:15:03 Geekthras: We're used to data Monad a where return :: (Monad m) => a -> m a;(>>=) :: (Monad m) => m a -> (a -> m b) -> m b 03:15:15 yeah okay 03:15:22 Erm. That's not quite the definition. XD 03:15:23 * Sgeo looks at the vocab 03:15:31 Oh yeah, Boxes. Used for both display and logic! 03:15:50 I thought hte fact that I was talking about J just now would make my query make more sense 03:16:01 pikhq: class 03:16:24 class Monad m where return :: a -> m a;(>>=) :: m a -> (a -> m b) -> m b -- That's the one. 03:17:09 Geekthras: it would if i knew J had anything it called monads 03:17:43 yeah 03:18:13 Haskell's pretty big in this channel 03:21:57 -!- HackEgo has joined. 03:21:58 -!- EgoBot has joined. 03:22:14 Ego! Bot! 03:22:30 hmmm 03:22:32 Would it be possible to write a game in J? 03:22:49 If Perl is line noise, what's J? 03:23:12 more confusing line noise 03:23:15 Line noise with different entropy characteristics. 03:31:58 What can J do easily that Haskell doesn't do so easily? 03:47:24 -!- oerjan has quit (Quit: leaving). 03:50:23 -!- EgoBot has quit (Ping timeout: 260 seconds). 03:50:23 -!- HackEgo has quit (Ping timeout: 260 seconds). 03:51:48 you know what's funny? 03:52:07 I was just wondering today what use uncurry was, and I just found one 03:52:25 According to J, 0 ^ 0 = 1 03:52:28 coppro, hm? 03:53:18 uncurry and curry are useful for Arrows. 03:54:29 Sgeo: I think that's common 03:54:37 isn't that what python says too? 03:54:54 0^0 is common 03:54:57 =1 03:54:57 heh, some project euler problems are kind of dumb in J 03:55:16 millionth lexigraphical permutation of the digits 1-9 03:55:22 *0-9 03:55:45 lexicographical 03:55:53 >.< 03:55:54 * Sgeo wonders if there are any web frameworks for Haskell 03:56:06 Sgeo: obviously there is 03:56:06 * Sgeo also wonders if there are web frameworks for J 03:56:09 but no one cares 03:56:17 and no one would write a web framework in J 03:56:23 unless they were messing around 03:56:28 someone's done an irc evalbot for J 03:56:47 Is it written IN J? 03:56:57 pikhq: I don't get arrows yet, but I think I see why 03:57:05 J isn't used to write that kind of stiff 03:57:08 uff* 03:57:18 "By using HAppS's state management, you are committing yourself to keeping your entire state in memory at all times, rather than disk -- YOUR STATE MUST ALWAYS FIT IN MEMORY" 03:57:24 Sgeo: I highly doubt it 03:57:44 '/msg buubot call jsess j fret' 03:59:14 I realized that by web framework you didn't mean the dumb thing I was thinking 03:59:15 durr 03:59:17 -!- Asztal has quit (Ping timeout: 265 seconds). 04:00:27 -!- augur has quit (Ping timeout: 245 seconds). 04:01:23 -!- coppro has quit (Quit: I am leaving. You are about to explode.). 04:06:28 -!- augur has joined. 04:07:42 Whee, I'm not focusing on my homework! 04:07:44 :( 04:10:00 alise: When you're back. EhirdOS should totally use U+2028 LINE SEPERATOR as the newline, and U+2029 PARAGRAPH SEPERATOR for seperating paragraphs. 04:15:38 -!- augur has quit (Read error: Connection reset by peer). 04:16:01 -!- augur has joined. 04:19:17 pikhq, has alise been reading logs? 04:25:11 Yes, he log-reads. 04:25:30 Every time he returns he spews out a massive chunk of replies for an hour. 04:28:31 * Sgeo should become a log reader 04:28:51 Although now that I don't turn my computer off, it would be somewhat tricky to figure out where to start reading form 04:28:53 *from 04:29:42 * Sgeo thinks about how this assignment would be done in Haskell 04:48:19 * Sgeo reluctantly opens Firefox 04:48:51 what assignment 04:49:30 Sorted List implementations using Abstract Data Types. The driver remains the same. One implementation uses an array, the other a linked list 04:49:49 hoom 04:51:11 Due to the mutating stuff, it would probably be written in the ST monad 05:00:33 -!- augur_ has joined. 05:02:34 -!- augur has quit (Ping timeout: 248 seconds). 05:41:31 Or, presumably, in Haskell-style, "mutators" would return a new list 05:43:02 Sgeo: You sound like you have no idea what you're talking about. 05:43:19 Quadrescence, hm? 05:43:24 idk 05:43:46 There is no state. There is only lambda. 05:44:41 Church looked out, and saw the great void. And he said let there be lambda. And there was lambda. And it was good. 05:46:27 lol 06:05:40 -!- oerjan has joined. 06:18:47 -!- augur_ has quit (Ping timeout: 245 seconds). 06:19:49 -!- jcp has quit (Quit: I will do anything (almost) for a new router.). 06:42:01 -!- augur has joined. 06:52:38 -!- oerjan has quit (Quit: leaving). 07:06:11 argle bargle 07:17:47 so who's here 07:17:48 anyone? 07:20:04 augur: Got any new esolang ideas recently? :-> 07:20:48 actually yes 07:26:07 but it was accompanied by a challenge that i wanted to put to the channel 07:26:20 so im not going to tell you about the esolang itself. 07:32:37 Ilari: im contemplating basically designing a little programming language, and then somehow providing a visualization of this, either in raw code form, a stack trace, or god knows what, and seeing who can then deduce the nature of the language from just the visualization 07:34:20 -!- nooga_ has quit (Quit: Lost terminal). 07:44:34 -!- calamari has joined. 07:58:02 -!- tombom has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:26:30 -!- calamari has quit (Quit: Leaving). 08:34:41 -!- adu has quit (Quit: adu). 08:50:20 -!- tombom has quit (Quit: Leaving). 08:53:40 -!- oerjan has joined. 08:58:01 -!- kar8nga has joined. 08:59:20 -!- oerjan has quit (Quit: leaving). 10:34:12 -!- lereah_ has joined. 11:28:21 -!- Tritonio_GR has joined. 12:00:40 -!- kar8nga has quit (Read error: Connection reset by peer). 15:07:54 -!- Tritonio_GR has quit (Ping timeout: 248 seconds). 15:08:04 -!- Tritonio_GR has joined. 15:09:18 -!- Tritonio_GR has quit (Read error: Connection reset by peer). 15:10:34 -!- oerjan has joined. 15:12:01 -!- Tritonio_GR has joined. 15:33:44 -!- Tritonio_GR1 has joined. 15:37:14 -!- Tritonio_GR has quit (Ping timeout: 248 seconds). 15:55:39 -!- cheater3 has joined. 15:55:49 -!- cheater4 has quit (Read error: Connection reset by peer). 16:25:45 -!- cheater3 has quit (Ping timeout: 252 seconds). 16:26:40 -!- Tritonio_GR1 has quit (Read error: Connection reset by peer). 16:30:18 -!- Asztal has joined. 16:44:18 -!- charlls has joined. 16:47:01 -!- FireFly has joined. 17:08:16 -!- cheater2 has joined. 17:11:59 -!- MizardX has joined. 17:17:04 -!- oerjan has quit (Quit: leaving). 17:18:42 -!- Deewiant has quit (Remote host closed the connection). 17:27:44 -!- BeholdMyGlory has joined. 17:34:41 -!- lereah_ has quit (Remote host closed the connection). 17:49:54 -!- MizardX- has joined. 17:52:12 -!- MizardX has quit (Ping timeout: 276 seconds). 17:52:23 -!- MizardX- has changed nick to MizardX. 17:52:34 -!- augur has quit (Ping timeout: 240 seconds). 17:55:29 -!- Deewiant has joined. 18:18:56 -!- tombom has joined. 18:23:52 -!- augur has joined. 18:31:57 -!- uorygl has quit (Read error: Connection reset by peer). 18:32:17 -!- uorygl has joined. 18:33:34 -!- augur has quit (Ping timeout: 240 seconds). 18:35:16 -!- augur has joined. 18:38:20 -!- charlesq__ has joined. 18:38:28 -!- charlesq__ has quit (Read error: Connection reset by peer). 18:39:12 -!- charlls has quit (Read error: Connection reset by peer). 18:48:39 -!- ais523 has quit (Remote host closed the connection). 19:00:09 -!- kar8nga has joined. 19:13:28 -!- augur has quit (Read error: Connection reset by peer). 19:13:56 -!- augur has joined. 19:21:07 -!- oerjan has joined. 19:21:43 -!- oerjan has quit (Client Quit). 19:53:45 -!- hiato has joined. 19:54:46 -!- sebbu has joined. 19:55:57 -!- sebbu2 has quit (Ping timeout: 276 seconds). 20:07:31 -!- jcp has joined. 20:17:10 http://i.imgur.com/iQQPg.png 20:21:05 out of interest, who wrote http://esoteric.voxelperfect.net/wiki/Computational_class ? 20:23:07 Deewiant, found any bugs in cfunge or efunge yet? 20:24:59 Haven't done anything that'd have any chance of finding them since the bounds stuff 20:30:40 complexity theory is closer to computability theory than algorithm analysis 20:31:37 or maybe a true computabilitist considers everything that cares about the amount of steps in computation the same sort of performance bullshit 20:31:55 19:56 * Sgeo also wonders if there are web frameworks for J <-- I just found out that yes, yes there are 20:32:09 the cs department at trinity used it for their site 20:32:18 I have no idea why 20:38:49 -!- pikhq has quit (Read error: Connection reset by peer). 20:48:38 -!- kar8nga has quit (Remote host closed the connection). 20:52:40 -!- Oranjer has joined. 20:55:20 -!- mibygl has joined. 20:55:30 -!- pikhq has joined. 21:02:56 -!- augur has quit (Ping timeout: 252 seconds). 21:10:49 -!- hiato has quit (Quit: underflow). 21:11:47 Maybe surfing the web via browser at a remote computer isn't the best idea 21:12:26 But on the other hand, when I have to leave, I don't just lose all the pages I'm on 21:28:28 -!- clog has joined. 21:28:28 -!- clog has joined. 21:36:44 -!- Tritonio_GR has joined. 21:43:19 -!- augur has joined. 21:46:24 Is there any reason to not think of Erlang as a sort of functional scripting language? 21:46:28 -!- Tritonio_GR has quit (Read error: Connection reset by peer). 21:49:44 -!- Tritonio_GR has joined. 21:51:24 define 'functional scripting language" 21:51:35 Sgeo: It's not at all intended for typical "scripting" purposes? 21:51:40 define 'define' 21:53:07 -!- Tritonio_GR has quit (Read error: Connection reset by peer). 21:53:56 lament: define '/ 21:54:52 pikhq: i can't, i don't know what define means 21:55:41 -!- Tritonio_GR has joined. 21:57:32 Sgeo, well for a start erlang makes a poor scripting language. Erlang is much better suited to long running programs 21:57:35 servers and such 21:58:17 for example the runtime takes almost a second to exit, and about 1/3 of a second or so to start up 21:58:52 (this hasn't been considered a problem since long running applications is what it really is intended for) 21:59:04 thus no one bothered to fix it 22:00:37 and well there are lots of process supervision stuff built in. Oh and hot code reloading. Oh and support for distributed nodes and what not. Not features of your typical "scripting" language. 22:01:29 I think I made an assumption because it seemed functional, without static types 22:02:06 why would dynamic typing imply scripting language? 22:02:36 What the hell is a scripting language, anyways? 22:03:00 actionscript, javascript 22:03:03 scriptscript 22:03:13 pikhq, maybe one where you don't compile the code at all? Not even to bytecode. Well the interpreter could possibly do it, but the developer doesn't have to do so manually 22:03:26 that would place stuff like python and perl into that category 22:03:40 -!- mibygl has quit (Ping timeout: 252 seconds). 22:03:56 but python is compiled into .exe's, huh... 22:04:10 python compiled into exe? 22:04:29 i think it's more like the python lib combined with some bytecode 22:04:37 I'd imagine that py2exe or whatever includes the interpreter + the code 22:04:44 Otherwise, eval() wouldn't work 22:04:46 AnMaster: Python is compiled into bytecode as a rule. 22:05:15 pikhq, yes but see what I said 22:05:22 pikhq, which was "but the developer doesn't have to do so manually" 22:05:27 The bytecode is stored on disk and executed... 22:05:40 pikhq, sure, but python compiles it automatically for you 22:05:45 as in you run python foo.py 22:05:47 Not the bytecode for the top-level module 22:05:54 and afterwards you might end up with foo.pyc or whatever 22:06:02 Okay then. By that notion, C can be a scripting language. 22:06:07 Sgeo, ah that explains why it didn't do it consistently for me 22:06:18 pikhq, not at all, because there you need to manually invoke gcc or whatever first 22:06:23 before you can run your program 22:06:25 Not necessarily. 22:06:31 There exist C interpreters. 22:06:35 pikhq, oh? 22:06:39 such as? 22:06:41 The Tiny C Compiler, for instance. 22:06:46 ah right 22:07:03 anyway this is really implementation rather than language specific 22:07:13 you could make a python version where you had to compile the files first 22:07:30 Defining "scripting language" in terms of implementation details suggests that "scripting language" is a freaking meaningless term. 22:07:38 pikhq, indeed 22:07:49 Which of course it is. 22:07:52 yes 22:08:13 what about "language primarily embedded into another program, used to control it" 22:08:26 that would make javascript for example a scripting language 22:08:32 same for lua in many cases 22:08:34 Though, if I were to define it, I would define it as "a language primarily for the automation of the execution of other programs, or a language embedded into a program to control it." 22:08:44 though I have used embedded python 22:08:56 Which would leave shell script and embedded languages being called scripting languages. 22:09:05 Wasn't there some browser that was supposed to run "Python applets" or some such 22:09:11 Almost typoed and said "apples" 22:09:12 pikhq, but not python 22:09:19 well 22:09:28 I have used python in that way as I said 22:09:31 AnMaster: Except when embedded into a language. 22:09:33 it just isn't very common 22:09:41 Yeah. 22:09:49 pikhq, actually embedded into an mmorpg server in that case 22:09:55 " AnMaster: Except when embedded into a language." was a typo I assume? 22:10:34 I wonder where this would place nasal 22:10:45 * AnMaster wonders if anyone here even heard of that 22:10:49 Thinko. 22:11:46 Maybe I'll be able to focus on homework once I get home 22:11:52 well nasal is probably a scripting language. But perhaps we should say insufficient data instead. Considering I ever heard of ONE project using it 22:12:00 it's quite neat though 22:12:24 Linky? 22:12:35 and the implementation is rather fast, it has to be when you are doing "real time" scripting 22:12:39 Sgeo, hm *looks* 22:12:59 http://www.plausible.org/nasal/ 22:13:08 used for flightgear. Never seen it used elsewhere 22:13:35 kind of multi-paradigm. Supports prototype style objects iirc 22:13:47 and some functional-ish stuff 22:13:49 flightgear, as in a project, or as in real airplane control software/ 22:14:02 Sgeo, flightgear is an open source flightsim 22:14:06 Ah 22:14:39 Sgeo, notice "flight sim". That means if you just want to fly around and shoot it isn't for you. I don't think guns are implemented at all really. 22:14:49 it is wonderful for actual flightsim though :P 22:15:08 * Sgeo 's played with MS Flight Simulator before 22:15:50 btw: http://www.flightgear.org/ 22:16:19 I think the graphics improved recently. So much my computer is having problems with it 22:18:49 Except for foreach/forindex, seems like an elegant language so far 22:18:56 Not done reading the tutorial source, though 22:19:38 Sgeo, the docs aren't really all that good. I mostly learnt it from working on old code in flightgear. 22:20:26 Sgeo, what is wrong with foreach/forindex btw? 22:20:54 Why not use a function that, say, returns the indexes of a vector, instead of a separate syntactical forindex/ 22:21:14 Sgeo, don't know. Never saw it as a problem though 22:21:41 * Sgeo has a Data Structures exam (in C++) in 40min 22:22:20 Yes, ANGEL, I know I'm using an unsupported browser! You don't have to tell me twice! 22:22:21 -!- Tritonio_GR has quit (Read error: Connection reset by peer). 22:22:33 ANGEL? 22:22:42 anyway shouldn't be too hard? 22:22:45 wait 22:22:46 C++ 22:22:52 poor you 22:22:58 Yes 22:23:08 anyway what is ANGEL 22:23:21 Sgeo, also what level is that course at? University? 22:23:52 Other classmate, upon seeing something: "Wait, how does that make sense" Me: "It's C++. C++ sometimes doesn't make sense" [note: that's the general gist of conversation sometimes. No literal quotes are implied 22:24:11 It's a 3xx level course at perhaps not the best college 22:24:19 It's not a community college though 22:24:33 what on earth is a "community college"? 22:25:00 and I thought a college was a sub-unit of a university? 22:25:18 AnMaster: US terminology confuses many outside of the US. 22:25:44 well yes. 22:26:03 anyway any school system in another country is bound to confuse 22:26:11 because they are basically different in every country 22:26:21 A community college is a community-funded institute of higher education that offers two-year degrees, as well as individual classes for a lower cost than at most 4-year schools. 22:27:28 err 22:27:32 "community-funded"? 22:27:36 you mean the state owns it? 22:27:47 err make that federal or something 22:27:52 you and your strange system 22:28:10 I think all but three universities in Sweden are state owned btw. 22:28:16 Read that somewhere recently 22:28:46 No, it's funded out of city taxes. 22:29:05 huh 22:29:05 And cost not-much. 22:29:14 so low quality? 22:29:30 Yeah. Note the "2-year degrees" bit. 22:29:38 next you are going to say students have to pay to study at universities normally 22:29:39 -_- 22:29:45 We do. 22:29:46 or something equally stupid 22:29:48 wtf 22:30:05 $20,000 yearly bills are not uncommon. 22:30:28 Um, I think my dad generally pays around $2000/$3000 a semester 22:30:35 wth 22:30:46 semester? 22:30:52 as in, holidays? 22:31:04 As in, look it up 22:31:15 well 22:31:17 semester ~= half a year. September-December, January-summer 22:31:19 sv:semester = en:holiday 22:31:24 so I guess that confused me 22:31:38 well, usually about very long holidays 22:31:42 such as summer break 22:31:57 not as in xmas break or such 22:32:12 Semesters are the time between semesters 22:32:17 hah 22:32:55 [Note: Apparently the above is not true. Semesters are divided by xmas break and a bit] 22:33:08 [So don't take my joke too too seriously] 22:36:03 -!- kar8nga has joined. 23:12:39 -!- tombom_ has joined. 23:13:54 -!- tombom__ has joined. 23:16:30 -!- tombom has quit (Ping timeout: 268 seconds). 23:16:32 -!- kar8nga has quit (Remote host closed the connection). 23:16:53 -!- kar8nga has joined. 23:17:09 -!- tombom_ has quit (Ping timeout: 252 seconds). 23:29:12 -!- tombom__ has quit (Quit: Leaving). 23:48:14 -!- BeholdMyGlory has quit (Remote host closed the connection).