00:02:48 * SimonRC goes to bed 00:18:36 -!- nazgjunk has quit ("sleep, gah"). 00:20:20 -!- sebbu2 has quit ("@+"). 00:47:20 ok 00:47:25 lemme type this up 00:49:08 DO SO 00:51:45 http://pastebin.ca/408613 00:54:40 wassat? 00:54:54 a language 00:55:09 functional object oriented and stack based 00:55:51 well... I think it's silly to say "only some people are capable of programming"... 00:57:07 it could be a. the teacher, b. the language, c. the alignment of the planets 00:58:14 and if there are certain aptitudes that make it possible to learn how to program - I certaintly have none of the stereotypical programming qualities. 00:59:26 neat, detail-oriented, good concentration, organized. ....I'm the polar opposite of that. 00:59:44 um, no. 01:04:04 http://bsmntbombdood.mooo.com/FOOS.txt 01:10:33 bsmntbombdood, your explainations fall too much into the trap of describing the implementation. 01:10:42 ...too formal 01:10:43 Those are so utterly not the qualities of a programmer. 01:10:58 I didn't think so. 01:11:17 The one quality you need to be a good programmer is the ability to grasp abstraction without losing perspective of the concrete. 01:11:30 Well, that's the one quality you need to be capable of programming at all. 01:11:46 I won't say that's all that's necessary to be a "good" programmer :P 01:19:27 so you need to be able to fly while looking at the pavement? 01:23:04 ...sounds like THE POWER TO MAKE AWESOME METAPHORS. 01:23:07 ...as I have just done. 01:23:17 * SevenInchBread is now the most coincidental emperor of hackerdom. 01:26:01 It's just too bad that you have not an effing clue what "abstraction" means. 01:27:03 pfft, oh no you didn't. 01:28:01 abstraction - the process of putting buttons on machines? 01:32:51 SevenInchBread: i have no other way of describing it... 01:33:04 abstraction? 01:33:36 so, do you think my concept is workable? 01:34:27 It works... your explainations are just confusing for someone trying to understand how it works. 01:35:25 there's an object where the builtin methods are stored 01:35:50 there's an inheritance mechanism 01:36:06 there's a code/function object 01:36:18 classes and objects are built on top of these 01:39:00 ...well, it's workable I suppose. 01:39:09 kinda smalltalkish 01:40:06 considered going prototype? 01:40:28 I still have to figure out a lot of stuff 01:40:32 a distinction between classes and objects might not be a good idea for something like this. 01:41:01 you could just have "objects that you can make copies of and add shit too" 01:41:21 there is no distinction 01:43:00 well... there are classes and objects... even if thoses classes are objects, there's still a distinction - unless I'm misunderstanding how this works. 01:43:10 you are misunderstanding 01:43:12 SmallTalk has a distinction. 01:44:05 In Smalltalk, all classes are objects - but not all objects are classes. 01:44:30 a "class" is just an object that has a method that creates another object 01:44:39 from the %inherit method 01:45:37 This is called "prototype-based object orientation" 01:45:38 FYI 01:46:29 %inherit might be a bad name 01:46:45 ah okay... yeah, then that's prototype. 01:47:27 @'foo [foo code] @object %inherit add-method done 01:47:29 ...using a slightly different way to creating new objects than most prototype languages... but the basic idea is still the same. 01:47:37 @ pushes the builtins object 01:47:52 ' sends the builtin object the ' message 01:48:52 hmmm... ah... I think I got it. 01:49:50 this puts the "quoter" object on the stack 01:50:03 that gets sent a "foo" message 01:50:19 the quoter object responds by putting the symbol foo on the stack 01:50:53 hmmm.... 01:51:01 [foo code] pushes a code object on 01:51:12 @ pushes the builtins object 01:51:34 object is sent to it, builtins object responds by pushing the base object 01:51:54 the base object is sent %inherit 01:52:13 responds by pushing an object that accepts and stores message handlers (methods) 01:52:36 * SevenInchBread waits quietly. 01:52:50 add-method is sent to that object, adding a message for the symbol "foo" handled by the code [foo code] 01:53:03 done is sent the the object, turning it into a class 01:53:14 s/the the/to the/ 01:53:58 |foo| := (object conceived |foo| := (code)) -- in Sophia 01:54:47 @'foo [foo code] @object %inherit add-method done init foo 01:55:04 would be a long winded way of executing [foo code] 01:55:47 from there that previous line you would add "foo foo" 01:56:48 ...there are semantic differences though... the () represent functions... 01:56:56 so it's lazy... 02:02:26 ideas, people! 02:45:36 -!- ShadowHntr has joined. 03:29:48 -!- Mica69 has joined. 03:30:09 -!- Mica69 has left (?). 03:45:14 hmmm... I'm making a weird Orkish concurrent language. 03:53:04 -!- wooby has joined. 05:58:08 -!- LeaLeaLea has joined. 05:58:28 Seveninchbread 05:58:46 SEVENINCHBREAD ?? 05:58:54 hdcbaifgweyfrgygf 05:58:55 heh 05:58:58 Good day, sirs. 05:59:00 -!- LeaLeaLea has quit (Client Quit). 06:20:38 -!- RodgerTheGreat has quit. 07:56:23 -!- maverickbna has joined. 07:56:44 -!- maverickbna has quit (Read error: 104 (Connection reset by peer)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:13:13 -!- ShadowHntr has quit (Read error: 110 (Connection timed out)). 08:25:32 -!- sekhmet has quit (Read error: 104 (Connection reset by peer)). 08:30:33 -!- sekhmet has joined. 08:36:44 -!- oerjan has joined. 09:44:43 ...hmmm... you know... Perl isn't all that bad. 09:44:45 It's kind of fun. 10:15:38 -!- sebbu has joined. 11:35:06 -!- jix has joined. 11:44:14 -!- Sgeo has quit (Remote closed the connection). 12:32:51 -!- oerjan has quit ("leaving"). 13:08:29 -!- sekhmet has quit (zelazny.freenode.net irc.freenode.net). 13:08:29 -!- oklopol has quit (zelazny.freenode.net irc.freenode.net). 13:08:29 -!- SimonRC has quit (zelazny.freenode.net irc.freenode.net). 13:08:38 -!- sekhmet has joined. 13:08:38 -!- oklopol has joined. 13:08:38 -!- SimonRC has joined. 13:27:39 hmf 14:44:06 -!- ivan` has joined. 14:46:39 -!- ivan` has changed nick to ludios. 15:00:25 -!- ludios has quit ("Coyote finally caught me"). 16:22:04 -!- RodgerTheGreat has joined. 16:22:59 'morning, everyone 16:23:28 -!- jix__ has joined. 16:32:54 -!- jix has quit (Read error: 110 (Connection timed out)). 16:54:14 -!- SevenInchBread has quit ("haaaaaaaaaa"). 16:58:21 -!- jix__ has changed nick to jix. 17:05:52 mrng 17:06:18 hws t gng? 17:08:25 plng btz www.bts2.nt... addktv fr sch a trvl gm 17:08:36 whooops i forgot vowels! 17:39:43 -!- SevenInchBread has joined. 17:55:05 -!- sebbu2 has joined. 18:13:31 -!- sebbu has quit (Connection timed out). 19:41:27 -!- UnrelatedToQaz has joined. 19:42:25 -!- UnrelatedToQaz has left (?). 19:57:33 ...alright. 19:58:11 I need to compile a list of all Unicode characters... and sort out the ones that are "symbolic" and those are "alphabetic". 19:58:31 ...basically, the ones that work like !@#$%^&*() and the ones that work like letters. 19:58:40 ...including all the combined forms. 20:03:40 that sounds like a rather nontrivial task 20:04:08 a list of 256X256 characters, some of which don't exits... 20:04:24 *exist 20:07:26 it indeed does. 20:27:28 -!- nazgjunk has joined. 20:28:05 -!- nazgjunk has quit (Client Quit). 20:28:23 -!- nazgjunk has joined. 20:37:44 ...believe it or not... I've not included ideas that I like from PERL into Sophia. Yes... the apocalypse is nigh. 20:38:12 SevenInchBread: actually, the unicode people have already decided for you and any library that supports unicode properly should have a function to find out. 20:39:51 -!- wooby has quit. 20:40:05 oh... well cool... 20:40:32 later I'll need a way to distinguish punctuation-type glyphs from letter-like glyphs... 20:40:38 and spaces. 20:46:23 that also exists 20:46:28 hey, feesh: http://www.nonlogic.org/dump/images/1174851872-chainbrain.png 20:46:34 finally got around to inking it 20:49:45 whoops, wrong window 20:51:43 it's an idea for a CD cover for a band a friend of mine is in called "Chainsaw Brainsaw", if anyone's wondering 20:52:33 ...typical keyboards need more unicode symbols on them... 20:52:58 we could use a lot of them in programming... there's only so many funny-looking characters you can use in ASCII before you run out. 20:54:12 I don't really want any more unicode symbols unless I get more *keys*. It's time consuming enough coding in languages with excessive punctuation like perl 20:56:23 well, that's what I meant. 20:56:27 more... keys. 20:56:59 oh. Then in that case, I wholeheartedly agree. 20:57:15 you could even digitize the whole labelling of symbols... using lights to label each key. So then you could set up your own keyboard layout. 20:57:18 plus, more keys = more interesting emoticons 20:57:39 SevenInchBread: sounds like the fabled "optimus" keyboard 20:57:49 ...plus, I want a huge organ-sized keyboard... so I look more technical. 20:58:23 I like the idea of two "tiers" of keyboards, like they show operators using in "The Matrix" 20:58:54 or... if you just had like... switched. You could switch out certain layouts. 20:58:59 these additions might make coding with a laptop suck 20:58:59 switched - switches 20:59:34 ...I wonder where you could some of these weird keyboards. 21:00:26 I have a German keyboard a friend of mine got for me when he was on vacation, but it's PS2, and I have a mac. 21:00:43 macintosh: EVERYTHING, and I mean everything is USB 21:00:45 more types of brackets would be good 21:00:58 RodgerTheGreat: monitor? :-P 21:01:21 actually, my monitor plugs into my USB port... 21:01:34 it *also* plugs into DVI and Firewire 21:01:44 There are the << and >> unicode symbols... although those kinds of brackets can be done with just double angle brackets 21:01:46 the cable coming out of this thing is a beast 21:02:00 heh 21:02:38 well... inverted question marks and exclaimation points could be used for brackets. 21:02:47 I've zip-tied together the six cables that I have to plug into my laptop to "dock" it at my desk into a huge umbilical 21:03:06 power, ethernet, mini-DVI, usb, firewire, audio 21:03:12 The proper symbols for and, or, not, xor, union, intersection, exponent, etc would be good too. 21:03:21 alas, it is time for me to go again. 21:03:24 and then USB and firewire go directly to various hubs and such 21:03:47 SimonRC: like ¬ for not and so on? 21:05:09 * SevenInchBread demands a huge multi-tiered, digitally-labeled keyboard. 21:05:13 ...with pedals. 21:05:52 ooh, that would be fun 21:06:03 -!- nazgjunk has quit ("switching to kde"). 21:06:10 pedals for alt, shift, control and so on would be fun 21:06:27 yeah, there's a whole slew of Unicode math operators that could be put on keyboards... it would take forever before you exhaussted your repetoir of single-character operators. 21:06:42 well... I'm sitting on my bed... so my feet aren't in a position for pedal-mashing. 21:07:10 * RodgerTheGreat is sitting at a desk 21:11:07 -!- nazgjunk has joined. 21:13:56 wtf... php's serialize("osososo") returns s:7:"osososo"; 21:17:57 what i'd like even more than more keys in a keyboard would be to lose the "ergonomic" fact that keys are not directly on top of each other 21:18:08 yes not diagonally positioned either 21:18:16 the are pretty randomly dispersed there... 21:18:28 but then again, if you ask me, everything sucks 21:23:45 the pattern for a keyboard actually does make a fair amount of sense considering where the joints are in your hands 21:24:48 i have different joints in my left and right hand? 21:24:58 i'm not a mutant you know 21:25:23 your hands are mirror images of one another 21:25:28 indeed 21:25:41 now why isn't the keyboard symmetric then? 21:26:45 because not having any keys vertically aligned makes it easier to create mechanical linkages that swing a type-block into position on an ink-impregnated tape, and re-learning typing sucks 21:27:01 it is just that simple 21:27:15 you can type on this keyboard, though it doesn't feel natural... but when playing the beepiano... oh the pain 21:27:55 the what? 21:27:58 i don't agree to either of those but i understand many would 21:28:17 www.vjn.fi/s/beepiano.py 21:28:26 oh, that thing 21:28:38 ya 21:29:34 * oklopol is getting pretty good at it 21:30:16 I never learned to play a normal piano, so it doesn't seem that unnatural when I use something like "Musical Typing" 21:30:34 musical typing? 21:31:06 it's what they call it when you map the keyboard to musical notes in software like Garageband or FLStudio 21:31:23 oki 21:31:57 i've only seen that done in 2 ways, one is note name -> tone, the other is the piano keyboard emulated on the keyboard 21:32:04 they are both idiotic 21:32:11 and make it impossible to enjoy playing 21:32:11 I really want to learn how to use a proper tracker application 21:32:21 in windows it's easy 21:32:27 oh 21:32:27 use? 21:32:30 then you can type musical notes in hex 21:32:34 hmm 21:33:02 beepiano uses the layout of the accordion... quite natural since it is the exact same layout 21:33:26 except of course the layout of the keyboard is, as i said, pretty random 21:33:39 the accordion of course has a more natural alignment of keys 21:34:28 plus, rather than having more keys i'd like to have a better key layout... qwerty makes no sence 21:34:41 *sense 21:35:41 i asked whether there are any better layouts than qwerty for sale in the shop where i bought my laptop... the salesman had no idea what i meant 21:35:58 I fail to see how "making sense" matters in a keyboard layout. Any layout is ultimately arbitrary, and using the keyboard is simply a factor of memorizing the finger movements for each character and groups of characters 21:36:01 when i explained he said he'd never heard there could be anything else 21:37:23 Qwerty is superior to any alternative purely because it is an accepted standard and by learning it you can type on over 99% of keyboards in existence. Using an alternative renders your typing skills useless when faced with an unknown layout or somebody else's keyboard. 21:37:38 not to mention that alternatives are usually harder to find... 21:38:17 well, once again that's something i don't care about, i'd just like to have a better keyboard :\ 21:39:07 I'm a great deal more interested in the feel of the keyboard- firmness, key travel, etc, than the letters on the keys 21:39:22 plus the human brain can adapt more than one keyboard layout easily 21:39:32 *to 21:40:10 typing on a keyboard from the 70's is awesome, because the keys are big, have cupped surfaces, and they move like half an inch 21:41:25 that's another thing i must disagree :P everybody always says "this keyboard sucks... my keyboard is soooo much better" or something... i can feel the difference of course... but you get used to a new feel in 5 secs :\ 21:41:35 *with 21:42:54 a good feel is determined by something you want to be using for 8 hours at a time, not five seconds 21:43:26 do you feel a two-by-four is as comfortable to sit on for that period as an overstuffed couch? 21:44:27 well... i sleep on 2 mattresses... but i feel just as good sleeping on the floor... maybe it's just me 21:44:45 -!- ShadowHntr has joined. 21:45:20 okay, i'll rephrase my initial opinion: i hate qwerty because i'm different. 21:45:52 ok 21:45:59 that is a significantly more valid criticism 21:46:07 :) 21:47:02 i used to sleep on the floor actually, since it's easier to get up that way, but my mother told me repeatedly i should sleep on a bed, so it's become a habit 21:47:09 but i've never seen any use for beds 21:48:26 i'll continue programming now, though php sucks real bad :< 21:48:41 I dislike sleeping on the floor less because it's hard and more because it provides inadequate lumbar support. My back always hurts afterwards 21:49:00 yeah, it does if you're not used to it 21:49:04 perhaps if it was curved properly, it'd be comfortable 21:49:25 but people who've started sleeping on the floor say they feel much better 21:50:00 and i've got to agree, since after a few nights it does feel a lot more natural 21:50:44 RodgerTheGreat was it you who said php is useful of smth? 21:50:49 i have a lot of problems :) 21:51:06 I use PHP occasionally. I might be able to help 21:51:37 my main languages are Java, PHP, and BASIC, actually (which doesn't make me too popular here sometimes. ;)) 21:51:56 I'm getting pretty handy with Javascript, though 21:52:03 hmmm.... 21:52:10 those are the 3 most hated languages probably :P 21:52:15 yeah 21:52:21 so.... here's an idea for parallel computations... like... 21:52:30 among people who haven't used them at least 21:52:31 say you have a function like.... 21:52:51 but I hate C/C++ with a unique passion, so it all fits in 21:53:23 my three least favorite languages are, in order, ruby, C, and C++ 21:53:33 func(x, y, z) := (2 + x) - (y +( z-2)) 21:53:43 javascript also... i once tried something with javascript... this guy saw me open a javascript page and literally started screaming javascript is evil 21:53:51 yeah 21:53:52 couldn't you split off a few quick threads and chomp away at this function in non-linear bits? 21:54:08 SevenInchBread: seems like that could work 21:54:11 clever 21:54:24 which is weird, since i hear it's a pretty decent language, java with classes made optional (right?) 21:54:48 even if parts at the beginning of the function are required before later parts can be computed... you can use the concept of message queues and futures to represent data dependences. 21:54:49 oklopol: the interesting thing is, most people that honestly try those languages either don't mind them or at least find some aspects they like 21:54:55 oklopol: that's pretty much it 21:55:09 SevenInchBread i think oerjan or someone told you that a few days ago 21:55:25 -snicker- must have missed it then. 21:55:43 that things in parens can be split into different threads with thread per paren basically 21:55:51 ....I'm just... now sure how the interpreter would logically split the threads... 21:55:56 aah. 21:56:02 that's how 21:56:37 though of course not literally parens, but pieces that parens and precedence separate from the whole 21:57:02 the "parens" of the parse tree. ;) 21:57:11 anyway, what was this PHP thing you were having difficulty with? 21:57:15 well... yes :P 21:57:31 RodgerTheGreat i'm trying to use serialize 21:57:39 it sucks, for one, but that's not the problem 21:57:47 so... each expression could pre-emptively evaluate to liek a future thing to the surrounding threads... which will collect computations for when its thread finishes... sounds fun. 21:57:49 since i can convert to my own good function later 21:58:09 yeah, i like the idcea 21:58:19 now when you make that explicit somehow 21:58:34 and... somehow allow the programmer to do... something with it 21:58:36 ...should incorporate it into Sophia somehow... along with the Actor model. 21:59:06 RodgerTheGreat the problem is it does not work yet... i can show you the non working part 21:59:17 message-passing makes it somewhat simple... you just use futures that collect message names. 22:00:29 oh, since we're on the topic of language semantics, this is a partially finished language specification for a creation of mine. I call it "bullet" for now, and it's intended to be an alternative for C. http://www.nonlogic.org/dump/text/1174856252.html 22:00:41 http://www.vjn.fi/pb/p626232154.txt <<< 22:00:51 It's more of a "serious" language than an esolang, but this channel seems like a good place to talk about it 22:00:54 $compiled_program is an array 22:00:59 the parsed program 22:01:00 * RodgerTheGreat reads oklopol's PHP... 22:01:10 * oklopol reads RodgerTheGreats link 22:01:21 oh, god. flat-file I/O sucks in PHP 22:01:45 I literally spent 6 hours debugging a 30 line program yesterday 22:02:38 yeah... the fact files are flat makes it suck in a lot of places 22:03:05 -!- sebbu has joined. 22:03:37 but, serialize seems to create an alphanumeric string with " and : in it (which sucks), and that should be easy to output in a flie 22:03:39 *file 22:04:23 that is quite a beautiful language i must admit 22:04:24 hm 22:04:34 really? It looks nice? 22:04:44 yeah :) 22:04:49 thanks! 22:05:08 there are still a lot of things to be done, like control structures and the like 22:05:13 somehow seems a consistent language layout on the first glance 22:05:44 do subdiv[val1:a val2:b] to [subresult:sub divresult:div] 22:05:47 explain, please 22:05:59 ah 22:06:05 i got it 22:06:06 the design philosophy is creating a language that can be compiled pretty easily and that is designed so that programming errors are either hard to make or easy for the compiler to catch 22:06:31 yeah, the to [] block specifies what variables to "unload" a function's returned values to 22:06:51 subfunctions, lambdas? 22:07:13 you mean function calls on a function's return values? 22:07:25 mm no 22:07:42 I'm not sure what you mean, then 22:08:19 i mean, def a[][def b[]returns[double:c][c=0.0];print:stdio[b[]]] 22:08:41 in case ';' can be used like that and nl's are optional 22:09:57 I'm not sure what that's useful for aside from adding some form of function scoping. newlines or : act as an expression terminator like ; does in a normal curly-bracket language 22:10:33 _list_=[1 2 3 4 5]; _doubled_=map[def[double:a]returns[double:ret][ret=a*2] _list_] 22:10:35 however, I don't see any reason that would otherwise be invalid 22:11:06 functions sans names, lambdas, exist? 22:11:27 (that's probable not a good explanation of a lambda though :)) 22:11:32 *probably 22:11:41 this isn't an object-oriented language, however, so a function can't be manipulated as a list element 22:11:41 s/explanation/definition 22:11:57 and functions must be assigned a name, so no lambdas 22:12:03 okay, pointers? 22:12:08 both of those can make compilation quite complex 22:12:34 _list_=[1 2 3 4 5]; def dbl[double:a]returns[double:ret][ret=a*2]; _doubled_=map[&dbl _list_]; 22:12:53 that is very easy to compile 22:12:58 pointers will probably exist, but I don't want to make their use a main feature of the language- they have a tendency to create unreadable code 22:13:23 well, i love list operations with lambdas :) 22:13:27 heh 22:13:34 but, indeed i don't know whether it's that readable 22:13:45 what do you think about the structure of strings and arrays? 22:13:57 i just like to do everything creatively... so... maybe i use that as an obfuscation feature more like :P 22:14:13 I think 1-indexed arrays make algorithms a lot clearer and might help avoid off-by-one errors 22:15:08 do you have def dbl[double:x]returns[double:ret][ret=2*x] main[][print:stdio dbl 5.0] ? because [] kinda seems like a list everywhere 22:15:17 ah but yeah, a value is not [value] 22:15:23 so... forget what i asked 22:16:01 hmm... well, indexing is often errorprone anyway 22:16:07 but i don't like 1-indexing 22:16:34 in most cases, a [] set indicates a series of elements or expressions of unknown length, but since this is a compiled language the "lists" cannot be manipulated at runtime 22:16:42 any particular reason? 22:16:51 actually, can't think of any 22:16:53 :) 22:16:57 maybe habit then 22:17:28 but for god's sake don't make dim smth(-3 to 50) as integer :P 22:17:42 (if that's the basic array syntax) 22:18:16 strings and arrays, hmm, i gotta read a bit 22:18:35 my main project at the moment is the creation of something that can do what structs do, and fleshing out a vague idea I had for "algorithm prefabs" that you can plug code into like parameters to save coding time 22:18:52 hmm 22:18:59 i'm a bit dense, can you elaborate? 22:19:22 you have structs in the lang? 22:19:42 not yet 22:19:58 arrays are 1-indexed. for example, an array of size 10 has cells 1 through 10. 22:19:58 cell 0 always contains the size of the array, not counting cell 0. 22:20:06 i was actually going to suggest you do that 22:20:11 if using 1-indexing 22:20:17 but I need something *like* them to discourage rampant use of pointers and to make manipulating data easier 22:20:22 yeah 22:21:14 you might do pass by pointer like most "clean" langs 22:21:22 java for one 22:21:23 possibly 22:21:46 java's "references" are a lot safer than pointers, because you can't do math on them 22:21:49 or then... you could make it default to copy... but not really copy, just ensure no mutation is done 22:22:19 somehow make pass by pointer, but make the programmer tell if he really wants to use the same object 22:22:23 -!- sebbu2 has quit (Connection timed out). 22:22:25 not object... but thing 22:22:33 I'm still thinking about it 22:22:50 pointers are very powerful and very destructive. I need to fit them carefully into the language 22:23:14 well, you want them to be verrry explicit when used if aiming for usability 22:23:52 yes 22:24:04 "\"algorithm prefabs\" that you can plug code into like parameters to save coding time" something like a macro? 22:24:12 or something completely different? 22:24:32 I don't know yet 22:24:39 it's still a subject of thought 22:24:54 btw did you see my problem in the code? unserializing doesn't work, since i don't think i mentioned what the problem is :D 22:25:28 http://www.vjn.fi/pb/p626232154.txt 22:25:33 the first echo prints Array 22:25:41 the last one does not 22:25:49 eh 22:25:52 actually 22:26:23 the last one should try to echo a data structure... i don't think that code makes sence : ) 22:26:29 I'll take another look at it in a bit- I need to grab some food 22:26:34 kay 22:29:50 okay... as i well know, fgets() does not read the whole file but until the first nl 22:30:35 that's my problem, unserialize fails because it is given a broken string to unserialize 22:31:07 but... now how do i read a whole file? 22:31:10 hmm 22:31:29 i'm using file_get_contents on the line above... i think my problem's solved :P 22:33:03 workz. 22:34:39 you could use a higher level version of a pointerisms. 22:34:58 www.bots2.net is a nice game, but something i really dislike about it is that it discourages using scripts, so i'm making my own game in which you MUST use a script 22:35:48 it's an online game where you can create a bot by submitting a piece of code that determines how your bot fights and what kind of stuff it like to use 22:36:18 well... if everything is a pointer to its data... the only other reason I could think of using pointers is to alter out-of-scope variables. 22:36:33 which you could do with a symbol construct. 22:36:38 the bots automatically fight according to the tactics you code for them, tactics including both the actual fighting situation tactics and off-fight equipment buying etc 22:37:00 symbol construct? 22:37:50 have a datatype that literally represents a variable. 22:38:00 the only thing you can do in the game is check how well your bot is doing and read details about it's fights... and if you find something you can improve, you either code a new bot or change the code for the old one 22:38:12 ah 22:38:30 so pretty much a java-style pointer only made explicit 22:38:43 OR a c++ reference 22:38:51 so... if you wanted a swap function that swaps the values of two variables... you could pass it symbols. swap(, ) --assuming <> is the syntax for denoting a symbol. 22:40:37 but... Java/C-like semantics are a little weird to me... so my ideas might not match up with the model of computation there. I mostly familiar with "scripting" languages and how they work. 22:41:18 yeah, and you might have template[];def swap[symbol[]:a symbol[]:b][ temp=a;a=b;b=temp] 22:42:21 "yeah, and you might have" might be a bit out of place, i wrote that code for too long :) 22:42:39 well, it's not that much 22:43:18 except, i use <> for use of templates and the symbol thingie quite mixedly :P 22:43:25 so... it kinda suxxored 22:45:31 so... basically my concept of a variable is something like an entry in a hash table... 22:45:45 i know 22:45:49 exept... in this case... you have a way to conceptually refer to "that name in the hash table"... so you can pass it around as data and alter it. 22:46:06 you find it obvious you can access the name of a variable, probable 22:46:09 *probably 22:46:25 i've just recently adapted to that 22:47:25 and duck typing... was very hard to understand the logic first 22:47:31 in most languages I've delt with... it's hard to directly pass an out-of-scope variable to a function for it to alter... mainly because it's not terribly useful. 22:47:46 -snicker- static typing still confounds me to this day. 22:47:54 duck typing just... makes sense to me. 22:47:56 since i did not understand why two variables with the same name should have anything in common in separate scopes 22:48:10 but, when you thing in hash tables, it does make sence 22:48:27 I have no clue how compilers represent variables... 22:48:51 and a lot of restrictions brought about by static typing make no sense to me... 22:48:54 well, assign a number for each variable 22:49:08 the name of a variable is not an essential part of it 22:49:16 well, it is in scripting langs 22:49:36 but it's certainly not in a theoretical sence 22:49:39 *sense 22:49:53 hmmm... does the number contain information about its type? 22:50:10 it might 22:50:30 to enable dynamic typing you have to 22:51:24 but, the name is just a mnemonic for the programmer, which is why there is no similarity between two 'a' variables if in different contexts 22:51:25 makes sense... the only purpose compilation serves is to make things quicker... and a common trend is that using the properties of binary to do calculations gives you tremendous speed ups. 22:52:38 well, not just compilation in it's normal meaning 22:53:12 with duck typing, the name is pretty much everything... 22:53:15 i'd not save the name of a var anywhere even if just making a parse tree 22:53:43 computations are blind to any concept of type... unless they specifically go about plundering the data structure to find its type. 22:55:10 well, duck typing can be done without names in the parsed form, you just have to ensure vars with the same name get the same index number if you represent an object as a list of it's fields 22:55:43 most of the safety static typing gives you seems.... unessecary. 22:55:53 unnecessary 22:55:57 but you're getting closer :) 22:56:10 ... 22:56:20 yeah, TYPO LOL 22:56:21 i've seen you say nessicary many times :D 22:56:30 -nod- habits. 22:56:31 nessecary is in-between 22:56:35 "unessecary" is one beautiful piece of typo 22:56:41 I've been catching myself more with that one... 22:57:09 i have caught you 2 times with nessicary, so i don't have that much proof :) 22:58:49 -!- GregorR has changed nick to _D6Gregor1RFeZi. 22:58:59 ...I have a hard time seeing myself using a static typed language soon... maybe Haskell - I like its type system. 22:59:02 ...but to reply to what you actually said, static typing is not the exact opposite of duck typing :P 22:59:22 it's... half the opposite of it. :) 22:59:23 well 22:59:30 my terminology might be wrong 22:59:34 it's often wrong :< 22:59:40 duck typing basically means dynamic typing and strong typing. 22:59:45 ah 22:59:55 so... it's half the opposite. 22:59:58 :) 23:00:09 hmm, why strong typing? 23:00:33 i'd say it's a bit different from any of those concepts 23:01:07 hmm... i'm actually not exactly sure what's what 23:01:18 curse this brain of mine 23:02:31 duck typing determines what can happen solely what something can do. 23:02:37 http://en.wikipedia.org/wiki/Duck_test 23:02:47 *on 23:04:06 well, i liked your analogy of a hash table better 23:04:34 but, i know what duck typing is, but i confused weak/strong and static/dynamic typing 23:05:02 duck typing however i think is something different 23:05:45 you can have weak typing with duck typing, and you can have strong typing with duck typing 23:05:47 I think weak typing means the type is based mostly on how its stored in the computer. So, in weak typing, an ASCII character and a short integer are effectively the same thing. 23:06:22 nah 23:06:44 or at least, something similar to that. 23:06:47 in weak typing you store the type, since the same var can carry any value 23:06:57 at different parts of the program 23:07:09 *any type of a value 23:08:27 ah... basically the type system is... heh... strong. 23:08:42 it doesn't impose artifical restrictions? 23:08:50 bah *isn't 23:09:12 hmmm, you might describe it like that 23:10:24 strong typing usually just means you type 'MY VARIABLE is an integer and it's value is 5' instead of 'MY VARIABLE has the integer value 5' 23:11:27 the difference between static and dynamic typing is generally more straightforeward. 23:13:15 yes, it's whether you resolve types at runtime or not 23:14:13 static typing disables function a {return 0 if (param==0) else return "non zero :<<"} 23:14:26 ...my biases exposure to scripting languages makes it seem weird that anything should trip an error before being ran - aside from syntax errors. :P 23:15:03 *biased 23:15:33 well... you might wanna redefine 'syntax error' in the dict in your head then :) 23:17:05 hmmm... would incompatable types constitute as a syntax error in static typing? 23:17:29 you mean can there be implicit conversions? 23:17:38 "4"+1 23:17:42 and the like 23:17:43 ? 23:17:51 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)). 23:18:25 but... no they wouldn't, i said wrong there :) 23:19:03 syntax error of course can't be anything that depends on something defined 500 lines above in the code 23:19:16 ah... alright. 23:19:32 yeah, there can be implicit conversions. 23:19:36 ...I think. 23:19:38 yes 23:20:27 string s = get_string(); int i = get_int(); print s + i; even would be perfectly legal 23:20:34 *might 23:21:02 BUT, it's known at compile-time whether an integer can be added to a string 23:24:03 Perl is pretty liberal about type conversitions... 23:24:40 but that's a result of very little operator overloading - most operators do a very specific thing. 23:26:14 all i know about perl is that it's pretty awesome :) 23:30:02 Perl is... humble. 23:30:25 It doesn't push an ideology on you. 23:31:30 from what i've heard it's a language where you can expect someone who knows it not to know the whole language, but only a subset of it 23:31:44 which is nice, because you can... suprise people :) 23:33:46 I can't think of any uniform idea that Perl has about itself... Scheme is EVERYTHING IS DATA AND ALL SHALL BE THE LIST AND ALL SHALL BE CONSISTENT, Smalltalk is EVERYTHING IS AN OBJECT AND ALL THE LANGUAGE FEATURES SHALL BE EXPRESSED ENTIRELY IN THIS WAY WITH NO EXCEPTIONS, Python is THERE IS ONLY ONE WAY TO DO THINGS AND THAT WAY SHOULD MAKE SENSE AND EVERYHING SHALL BE EASY TO READ. 23:33:49 ...lots of caps. 23:35:03 I guess Perl's unifying creed is that nothing is unified. 23:35:08 some dislike them, i don't see any need to have two different caps 23:35:14 hehe :) 23:35:30 I wish there were three cases. 23:35:39 ..and one of them was really squiggly. 23:36:08 python actually isn't exactly "one way to do things" 23:36:24 but "there is always the one obvious way to do things" 23:36:47 i make about 10 redundant lambdas per function 23:37:19 they make the code less readable, but whaddyagonnado when they feel so good :\ 23:37:35 mmmmmh i gotta make a few lambdas right now 23:38:08 although Python is my most heavily used language... I rarely agree with any of the scripture. 23:38:42 There's rarely one obvious way to do things, otherwise we'd all use the same language, and there would be no such thing as "new ideas". 23:39:03 pretty sexy, lambda a,b,c:lambda i:a(b(c(i))) 23:39:17 -nod- I like munging up Python just because I can.. 23:40:31 it's one of the few languages i can just have fun with... create random functions full of lambdas and... see them do what i meant them to do :D 23:40:50 with type safety you have to know what you're doing.... so you can decide that on the fly 23:41:19 yeah... duck typing has tons of uses in my experience. I use it all the time to play around with the basics. 23:41:58 like... overriding the basic semantics - file-like objects, iterators and the like. 23:42:33 my python version does not allow a lot of the fun stuff... i couldn't get 2.4 or 2.5 to work 23:42:50 but... maybe someone installs me linux some sunny day :) 23:43:07 hmmm... right now I need a language that's faster than Python, fun to play with, and easy to set up on Windows. 23:43:16 as I want to make some serious language implementations... 23:43:38 usually the answer is C for language implementations... but I don't really want to deal with C. 23:43:53 well, if you compile, you can use anything 23:43:59 but i suppose you won't 23:44:14 doubt it... 23:44:29 Sohpia is far too... dynamic to be static. :P 23:44:33 so... a script language running a script language... quite ridiculous 23:44:34 *ph 23:44:49 compilation does not mean static typing 23:44:56 i don't know what you meant 23:44:59 yeah... that's why I don't want a "serious" language that I plan on using to be in something like Python. 23:45:29 ah... bleh - I sort of associate compilation with static typing... heh, habits. 23:45:47 Lisp is compiled (for the most part) but is dynamic 23:45:53 Common Lisp anyways. 23:45:53 well, they have a sort of a connection 23:45:59 but 23:46:15 hmm 23:46:29 heh... I'm nowhere near familiar enough with C to attempt transforming a language into it. 23:46:31 well, you know the connection. 23:47:10 -!- Figs has joined. 23:47:11 ...or I could go with a C-read VM or something... but it just seems pointlessly convuluted. 23:47:28 Wow, this exists :P 23:47:45 GOOD DAY SIR 23:47:51 do it in python, without inner functions or lambdas, and give it to me for python -> c conversion 23:47:55 AND WELCOME TO THE LAND OF MOST CURIOUSITY. 23:48:01 i've done a lot of vb -> c at least :) 23:48:14 Hello. 23:48:18 Hello. 23:49:07 I could use a decently fast compiled language that suits my likings and write an interpreter in it... 23:49:29 maybe... Common Lisp? I plan on making use of concurrency so maybe Erlang. 23:49:47 what's going on? 23:49:59 toiling with language implementations... 23:50:13 same here 23:50:23 what type of language ;) 23:50:37 hmmm... kind of OO-ish... but not annoyingly so. 23:50:45 you go first, Figs 23:51:36 I'm working on a language that will be very easy to extend by adding, for example, new qualifiers to object types, etc. using meta programming 23:52:10 input code will be output in C++ 23:52:23 I'm working on parsers right now 23:52:34 (got bored and hit StumbleUpon and found this ;p) 23:52:39 http://esoteric.voxelperfect.net/wiki/IRP 23:52:42 :P 23:56:35 we had #irp for that for a while but it died quite quickly :D 23:56:58 ah :P 23:57:10 "With his beard in the mailbox" O_o 23:57:21 stumbleupon gives me some weird shit sometimes