00:00:44 -!- coppro has joined. 00:14:36 -!- poiuy_qwert has quit (Quit: Leaving). 00:20:55 -!- poiuy_qwert has joined. 00:24:56 -!- augur has joined. 00:35:03 What's great about Python 00:35:03 is the documentation, and the ease of programming. 00:35:26 the features are lacking, however. And there's some odd things it doesn't do that could be better. 00:35:46 Jython and IronPython are better for portability. 00:36:00 basically Java bytecode and .NET 00:40:38 !python 00:40:40 ,python 00:40:54 you know... there should almost be a bot to handle bots. 00:41:34 just MSG them with the username and the command. 00:42:11 and it would give them unique names and help keep track of the symbols they use and all that. 00:42:33 or just unify it. 00:43:09 and assign bots individual commands. :) 00:43:15 so we could just quickly write a command bot. 00:44:29 -!- jabb has quit (Quit: Page closed). 00:45:29 -!- MizardX- has joined. 00:45:32 -!- MizardX has quit (Read error: Connection reset by peer). 00:45:56 -!- MizardX- has changed nick to MizardX. 00:49:14 hmmm... anybody want to make a gamebot? 00:49:25 put each on a seperate channel. 00:49:54 awesome, I'm going to Montreal! 00:50:00 ...sweet. 00:50:10 * CakeProphet is "based" in Georgia. :) 00:50:37 -!- coppro has quit (Remote host closed the connection). 00:51:02 -!- Oranjer has left (?). 00:51:04 -!- coppro has joined. 00:51:22 I was thinking it would actually be easier just to make the bot a self-hosting chat-room for all parties involved. 00:51:35 with commands. 00:51:38 for talking. 00:51:51 you could even set up a text-based adventure engine. 00:52:03 * CakeProphet doesn't know how this esoteric... but he feels like programming something. 00:52:17 could easily make some interpreters for it too. 00:55:27 !haskell let test = 2 00:55:34 !haskell print test 00:55:54 to make it esoteric, just prove it is/isn't Turing-Complete 00:56:04 ...aha 00:56:09 a turing complete IRC bot. 00:56:17 scripting interface? :) 00:56:30 /esoteric/ IRC bot scripting interface? 00:56:37 sounds good to me. 00:59:29 hmmm... how about it controls the state of two infinite arrays and a automata cell-grid with two ends. 01:00:27 the arrays point contain natural numbers pointing to a coordinate on the cell, in either polar or cartesian coordinates. 01:00:38 but it's not as impressive as AnMaster (CFunge) and Deewiant (CCBI) 01:00:40 hm? 01:00:46 * AnMaster reads up 01:02:06 * CakeProphet has a wide variety of impressive accomplishments. .... 01:02:58 oh btw I realised I could use my Lego IR remote as a computer remote if I wanted to 01:03:22 after all I have can get the messages with the lego usb IR tower thingy 01:03:27 that's awesome. 01:03:36 I might make one out of an Arduino 01:03:45 that I have lying around. 01:03:48 CakeProphet, but fairly useless since I can't think of anything to control on the PC 01:03:49 currently doing nothing. 01:03:56 I'm within reach of it all the time anyway 01:04:01 and I use it for the lego thing 01:04:08 AnMaster: speaker volume from far away for a bedroom desktop or what have you. 01:04:19 CakeProphet, bedroom != computer room 01:04:22 ah. 01:04:22 bedroom is very small 01:04:23 also 01:04:28 I use headphones when listening 01:04:33 same here... but it's also my computer room. 01:04:36 and my desk chair is *very* comfy 01:04:50 I need a comfy chair 01:04:54 I sit on my bed. :) 01:05:08 it has 4 levers and one wheel thingy 01:05:10 wait 01:05:16 5 wheel thingies 01:05:19 forgot those for the arm rests 01:05:32 so yeah I wonder how polar coordinates would effect programming logic 01:05:45 the first one is to set friction in the tilting 01:05:53 the other are various armrest settings 01:06:04 idea: add motors then use the remote for that 01:06:05 XD 01:06:14 nah I don't want to void warranty 01:06:30 if the two arrays are the polar coordinates... what would the automata represent? 01:07:53 you know, just to learn Ruby 01:07:59 I might write my bot in Ruby. 01:08:02 that might be esoteric. 01:08:09 :3 01:08:19 hm 01:08:56 dynamic languages are good for bots because they're quick to write. 01:09:06 CakeProphet, yeah like bash 01:09:54 CakeProphet, in case you are now all confused about that comment, I wrote: https://launchpad.net/envbot 01:11:24 nice. 01:11:28 I don't know bash very well at all. 01:11:42 I might use Perl instead... good idea or bad? 01:11:50 * CakeProphet should learn Perl... no way to do it just by reading. 01:21:48 ..idea. 01:22:13 a virtual OS so that we can hack it and make esoteric system designs. 01:22:24 shell UI 01:26:11 -!- Rugxulo has joined. 01:34:14 what's a virtual os? 01:34:48 VM OS essentially. 01:34:59 you host it on a virtual machine 01:35:50 so for a custom cpu? 01:36:09 No 01:36:14 well... a virtual cpu 01:36:36 the virtual OS can be run on any physical machine that can host the software. 01:37:03 why not use x86, then it can be run native 01:37:15 or virtual 01:37:23 -!- Oranjer has joined. 01:37:28 that significantly increases the amount of work you have to do supporting drivers. 01:38:11 depends on if you use the bios 01:39:10 you know tcl is a pretty good scripting language. 01:39:11 the only reason I bring this up is that it is extremely satisfying to put in a floppy or cd and boot your os without having to run it on a virtual machine 01:39:24 I think I'd prefer it over bash as a system-wide scripting language. 01:39:37 calamari: I lack the experience unfortunately. 01:39:42 but would love to learn it. 01:40:24 well assuming that your os isn't trying to do anything groundbreaking with hardware (text displays, etc) it's not too bad really 01:40:57 ...it would be. 01:40:57 -!- augur has quit (Ping timeout: 264 seconds). 01:41:02 I'd want text display. 01:41:07 nothing more than that reall. 01:41:07 y 01:41:10 sorry that was badly written 01:41:15 oooh 01:41:16 I see. 01:41:21 text displays were in the feasible list. 01:41:27 I meant that with the bios you don't have advanced features 01:41:38 but it's easier to program? 01:41:43 is it portable? 01:42:10 it'll run under qemu, if that's what you are asking 01:42:25 and many many real machines with a pc bios 01:43:00 I've written BOS, a BF-based "os" 01:43:16 used assembly language and fit it into a single 512-byte floppy sector 01:43:48 ....sweet 01:44:02 I'd be willing to work on an OS project, just to get the hang of it. 01:44:05 before I designed my own. 01:44:28 well that is again why I brought this up 01:45:06 in the past I've discovered that my OS designs lack from any real experience with hardware. 01:45:16 in college I took an os course, and we used a proprietary virtual machine to write our os.. at the end of the semester we had something basically to throw away and never use again 01:45:17 * CakeProphet started on scripting languages like Python, and then worked down. 01:45:40 couldn't boot it.. couldn't run any programs on it 01:45:45 ...damn. 01:45:49 extremely unsatisfying 01:45:53 yeah. 01:46:15 when I get more disk space I'd love to have a dual-boot OS of my own or partial creation. :D 01:46:34 or a live CD / floppy 01:46:47 -!- coppro has quit (Remote host closed the connection). 01:46:52 there have been many false starts at ESO (the esoteric operating system) 01:47:03 never got past very basic design though 01:47:06 -!- Halph has joined. 01:47:19 -!- Halph has changed nick to coppro. 01:47:34 that dates back to the mailing list days 01:49:16 You probably need to start basic 01:49:18 -!- ski has quit (Remote host closed the connection). 01:49:19 and then add the esoteric in 01:49:22 -!- ski has joined. 01:49:27 and not try to add the esoteric into the early design. 01:49:51 that's exactly right 01:50:08 and probably why the projects always failed 01:51:04 that's what tends to happen with most OS brainstorms I've ever had 01:51:40 I'd actually like to learn assembly programming. 01:52:16 board.flatassembler.net 01:52:22 dive right in 01:52:39 if that doesn't help, nothing will 01:54:24 -!- ski has quit (Ping timeout: 264 seconds). 01:55:29 * CakeProphet bookmarks. 01:55:54 -!- ski has joined. 01:55:56 calamari: so do you want to put some work into designing a basic OS and I could do some gruntwork? 01:56:34 http://www.dex4u.com/ 01:56:54 http://www.menuetos.net/ 01:57:04 -!- augur has joined. 01:57:20 http://sites.google.com/site/octaviovegafernandez/octaos/ 01:57:30 all written in FASM 01:58:07 (hmmm, download seems down on latter, but I know it's on www.sac.sk , so it's no biggie) 02:00:09 I'd probably use nasm 02:00:55 FASM needs no linker, self-hosting, multiple OS format support, etc. 02:01:00 -!- ski has quit (Ping timeout: 264 seconds). 02:01:16 -!- ski has joined. 02:01:34 oh it's open source too.. okay cool 02:04:54 yup, plus faster than NASM 02:08:51 I used nasm for mine, so a linker isn't really required 02:09:17 (just fyi) 02:12:45 so I've got to go soon 02:12:56 but does anyone want to team up on a prototype OS? 02:13:30 I intend to contribute no design decisions until I gather more experience... so that should make things faster. 02:14:42 sure but I don't know how much help I'd be if you are trying to make it elegant 02:14:55 elegant? Is that possible? 02:15:01 maybe later on. 02:15:23 the core guys should just be simple and fast. 02:15:26 *guts 02:15:30 well all I'm saying is that my design decisions wouldn't necessarily be any better than yours and they could be worse 02:16:14 ask on FASM's forum, lots of hackers there 02:16:16 the class I took wasn't realistic in any way 02:16:56 I could definitely make something that boots 02:17:30 calamari: no they'd be better because I know absolutely nothing about assembler or how OSes are programmed. 02:17:41 all I have is a basic understanding of hardware... nothing in detail. 02:19:06 one thing about hard drives.. the bios won't be able to use the whole thing, and as far as real drivers I am no help 02:19:47 but it'll definitely be fine for smallish drives and partitions 02:20:09 that's fine. 02:20:29 is there any way it can be designs so that drivers can be done after the fact? 02:20:39 or does that require a completely different design? 02:20:40 I've also never learned much about protected mode programming, so it'd be running in real mode 02:20:53 * Rugxulo suggests unreal instead 02:20:54 although I have some books and would be willing to experiment 02:21:13 er, on second thought, if you want to use emulators, don't do that ;-) 02:21:23 lol yeah 02:21:46 if I remember what unreal mode is, you are peeking into extended memory from real mode, right? 02:22:07 by exploiting that ffff:ffff is larger than 640k 02:22:09 basically switch to pmode, set the selectors to 4G, switch back, voila, all RAM is available 02:22:17 ah 02:22:31 who knows, qemu might handle it 02:22:41 FASM itself (DOS version) can run in either unreal or under DPMI 02:22:55 no, I think most emulators don't handle it correctly, hence why he eventually added DPMI 02:23:22 well I have a book that explains how to switch into protected mode, I just never needed it 02:23:40 it'd be fun to learn it 02:23:49 doubt it :-/ 02:24:16 it's quite annoying (not that I really have messed with it) 02:25:29 -!- JodaZ_ has joined. 02:25:55 -!- augur has quit (Ping timeout: 245 seconds). 02:25:57 -!- JodaZ has quit (Ping timeout: 258 seconds). 02:26:29 come on youre an esoteric language fan.. annoying is good 02:27:05 only in moderation ;-) 02:27:31 if tanenbaums minix book weren't so expensive, I'd love to get a copy of that 02:27:38 -!- CakeProphet has quit (Ping timeout: 240 seconds). 02:27:39 ^ul ((ANNOYING IS GOOD)S:^):^ 02:27:39 ANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNOYING IS GOODANNO ...too much output! 02:28:38 -!- CakeProphet has joined. 02:28:49 also, testing. 02:28:57 hm... 02:29:00 back.. 02:30:08 cool price has gone down! 02:31:28 bbl, food ... 02:31:31 -!- SevenInchBread has joined. 02:31:36 bubbly food 02:32:38 ...bleh 02:33:22 -!- CakeProphet has quit (Ping timeout: 248 seconds). 02:35:49 -!- CakeProphet has joined. 02:35:52 -!- CakeProphet has quit (Changing host). 02:35:52 -!- CakeProphet has joined. 02:36:00 ...wireless. 02:36:19 no longer hanging by a thread 02:37:14 -!- SevenInchBread has quit (Ping timeout: 260 seconds). 02:40:51 -!- SevenInchBread has joined. 02:40:57 -!- CakeProphet has quit (Ping timeout: 264 seconds). 02:43:06 -!- Rugxulo has left (?). 02:45:50 -!- SevenInchBread has quit (Ping timeout: 276 seconds). 03:03:21 -!- CakeProphet has joined. 03:15:48 -!- Adrian^L_ has joined. 03:28:23 hm synchronicity 03:48:05 -!- Gregor has joined. 04:07:04 Gregor: you ever messed with writing linux filesystem drivers (non-fuse)? 04:07:25 Only FUSE :P 04:07:55 I wish fuse were more solid 04:08:18 crashes constantly.. can't rely on it for a rootfs 04:12:41 I've used it for a root FS. 04:13:07 Gregor: so is that why HackEgo keeps crashing all the time? *ducks* 04:13:10 you didn't get a bunch of endpoint disconnected crap 04:13:30 oerjan: I really wish I KNEW why it keeps crashing X_X 04:13:36 `echo test 04:13:46 calamari: I didn't use it super-extensively, but no. 04:13:48 test 04:13:51 that's cool 04:13:52 oh and egobot is not here 04:14:06 -!- HackEgo has quit (Remote host closed the connection). 04:14:09 -!- HackEgo has joined. 04:14:11 -!- EgoBot has joined. 04:14:20 I guess I suck then.. what else is new? :) 04:14:37 calamari: I had this crazy dynamic unionfs that would union together directory structures based on environment variables in the process reading the FS. 04:15:15 It was stable but crazy-slow. 04:15:15 `addquote we'd care about a turing-complete pencil 04:15:18 178| we'd care about a turing-complete pencil 04:15:24 I think it'd be cool to provide a virtual fat32 filesystem on the fly 04:15:38 I would be absolutely shocked if that hasn't already been done. 04:15:57 Ohwait ... what do you mean by "virtual" in this context :P 04:15:58 that way android can have his lame fat32 and I can have a better fs underneath 04:16:26 Oh, you want to virtualize the limitations of FAT32 essentially? 04:17:17 well my microsd cards keep failing 04:17:57 and of course every time it fails I lose the whole damn thing.. so I was thinking I could have a more robust filesystem underneath 04:18:21 so I guess it's really two filesystems I'd need to design 04:18:48 you could use ext2 and install the filesystem in Windows 04:18:56 the fake fat32 one, and another one with redundant metadata 04:19:47 coppro: ? 04:20:11 although I have to say scandisk didn't do that bad a job on this last crash 04:20:12 Windows does have installable file systems, contrary to popular belief 04:20:25 windows isn't even a factor here 04:20:28 oh 04:20:35 why do you need FAT32 then? 04:20:46 because android apps assume fat32 04:20:56 huh 04:21:23 is that in the spec? 04:21:58 not sure, but even when you put in an sdcard if it's not fat32 it tells you it needs to format it 04:22:08 yurk 04:22:18 maybe it'd be easier just to fix android 04:23:46 I think it'd be cool for a filesystem to expose its metadata to the filesystem too.. and all metadata should be ascii 04:25:56 actually.. this has been done a long time ago, in the opposite direction 04:26:23 yeah, fixing Android seems easier; is your phone locked so that you can't change the installed version? 04:26:24 you could layer a posix-compatible filesystem on top of fat 04:26:32 nope I'm good that way 04:26:54 oh what was it called.. totally obsolete tho, I think it was last in 2.4 04:27:23 umsdos 04:27:48 That should be reimplemented in FUSE. 04:27:52 You could make it more general even. 04:28:04 Just "assume 8.3 and nothing else, give me a real FS" 04:28:40 yeah so I'm really doing the reverse of umsdos 04:29:08 from a filesystem perspective 04:33:49 -!- augur has joined. 04:45:55 -!- augur has quit (Ping timeout: 245 seconds). 04:54:54 -!- oerjan has quit (Quit: Good night). 05:07:44 -!- augur has joined. 05:09:20 hello all 05:17:21 -!- lament has joined. 05:32:21 -!- lament has quit (Ping timeout: 260 seconds). 05:49:29 -!- Vegabondmx has quit (Quit: Vegabondmx). 05:55:19 -!- SevenInchBread has joined. 05:56:17 -!- CakeProphet has quit (Ping timeout: 276 seconds). 06:06:16 hi augur 06:06:32 hey you 06:06:34 sup 06:12:48 not much 06:15:43 -!- calamari has quit (Quit: Leaving). 06:19:01 -!- lament has joined. 06:38:00 -!- augur has quit (Ping timeout: 245 seconds). 06:48:26 -!- relet has quit (Quit: Leaving.). 06:58:13 -!- FireFly has joined. 06:59:45 -!- augur has joined. 07:01:49 -!- tombom has joined. 07:08:29 -!- relet has joined. 07:09:27 -!- Oranjer has left (?). 07:11:14 -!- MigoMipo has joined. 07:16:57 -!- lament has quit (Ping timeout: 264 seconds). 07:36:21 -!- augur has quit (Remote host closed the connection). 07:36:36 -!- augur has joined. 07:40:05 -!- augur has quit (Remote host closed the connection). 07:46:11 -!- Rugxulo has joined. 07:51:36 -!- tombom has quit (Quit: Leaving). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:19:16 -!- Sgeo_ has joined. 08:20:59 -!- Sgeo has quit (Ping timeout: 265 seconds). 08:23:46 -!- augur has joined. 08:27:37 -!- coppro has quit (Read error: Connection reset by peer). 08:30:14 -!- MizardX- has joined. 08:34:30 -!- MizardX has quit (Ping timeout: 276 seconds). 08:34:41 -!- MizardX- has changed nick to MizardX. 08:37:06 -!- lament has joined. 08:58:22 -!- FireFly has quit (Quit: swatted to death). 08:58:22 -!- MigoMipo has quit (Read error: Connection reset by peer). 08:59:42 -!- augur has quit (Remote host closed the connection). 08:59:53 -!- augur has joined. 09:09:22 -!- Rugxulo has left (?). 09:20:38 -!- lament has quit (Ping timeout: 240 seconds). 09:32:30 -!- mycrofti1 has changed nick to mycroftiv. 10:20:12 -!- Gracenotes has quit (Ping timeout: 264 seconds). 10:40:36 -!- SevenInchBread has changed nick to CakeProphet. 10:40:41 -!- CakeProphet has quit (Changing host). 10:40:41 -!- CakeProphet has joined. 10:54:45 whos got a hankerin' to do a little logic puzzle 10:55:09 -!- augur has quit (Remote host closed the connection). 10:55:21 -!- augur has joined. 10:57:13 augur: it depends on your definition of little 10:57:39 its not a huge problem, per se, nor does it require an actual solution 10:57:44 but 10:58:01 its logicocomputational 10:58:47 suppose you have some list 10:58:55 [x,y,z,...] 10:59:27 and you have some expression which is, in some unknown way, evaluated using that list 10:59:39 the expression is like so: 11:00:48 f(ord(g)), where f and g are unary functions that return booleans (e.g. "prime", "even", "red", whatever) 11:01:20 and ord is a higher order function that tells you some ordinality. e.g. "first", "second", etc. 11:01:38 so for instance maybe the list is [0,1,2,3,4,...] and the expression is prime(first(odd)) 11:01:50 that is, "the first number that is odd is prime" 11:02:02 which in this case is not true, because 1 is odd but not prime 11:02:19 ok 11:03:15 now suppose we have some other ordinal, first2 11:04:24 such that f(first2(g)) means that the 5th element of the list is the first element for which both f _and_ g are true 11:04:32 or maybe its the 10th element 11:04:51 or whatever. we might add in a second parameter for first2, to allow this. e.g. f(first2(5, g)) 11:05:27 what do first and first2 have to be defined as for this to work? 11:06:01 now maybe function application works differently than normal. i leave it up to you to decide the details of the programming language/formal system. meaning you can define some crazy formal system that makes use of crazy crazy ideas. i dont care. 11:06:10 but how could you get this to work. 11:07:13 no way, the result of first2 is independent of f 11:07:45 well, like i said, you can use any sort of magic to make this work 11:07:55 so it doesnt *have* to be independent of f 11:08:12 if you can explain what the rule is for how the non-independence works 11:08:50 for instance (this might not work, i dont know) 11:09:01 if f (and g) are continuized functions 11:09:10 first2(5, g) might be the continuation of f 11:09:34 so f(first2(5, g)) is evaluated as first2(5,g)(\x -> ...) 11:09:53 because f passes into its continuation some uncontinuized version of f 11:09:55 or something 11:09:58 who knows 11:10:57 ok, i think i understood the problem, but i don't think i can find a solution 11:11:07 surely, not before my lunch break 11:11:33 :0 11:11:34 :) 11:11:53 to make it even harder, and thus more interesting 11:13:13 can you define a single function first3 in such a way that it can infact behave in _both_ ways? that is to say, so that there is an ambiguity between whether it evaluates like first or first2 11:13:36 the ambiguity arising from the underlying formalism, that is 12:45:15 -!- Gregor has quit (Ping timeout: 252 seconds). 13:27:17 -!- FireFly has joined. 13:28:15 -!- asiekierka has joined. 13:28:16 hi 13:28:29 ugh, i need to make something for my Computers teacher 13:28:37 anything related to computers really 13:28:38 and i only have 2 days 13:28:47 either related to computers or for computers 13:28:49 something awesome. 13:46:13 -!- Vegabondmx has joined. 13:55:31 -!- KingOfKarlsruhe has joined. 14:29:14 -!- asiekierka has quit (Ping timeout: 272 seconds). 14:30:44 -!- Vegabondmx_ has joined. 14:31:18 -!- Vegabondmx has quit (Read error: Connection reset by peer). 14:31:19 -!- Vegabondmx_ has changed nick to Vegabondmx. 14:34:34 -!- BeholdMyGlory has joined. 14:45:31 -!- cpressey has joined. 14:46:35 -!- oerjan has joined. 14:47:38 What ho, oerjan! 14:48:59 yo cpressey 14:52:21 -!- relet has quit (Quit: Leaving.). 14:53:39 cpressey, hi! 14:53:45 was a while ago 14:53:56 cpressey, anything happening with befunge-111? 14:54:28 * oerjan predicts a sudden number increment 14:56:22 XD 14:59:19 from some software changelog: "Bugs fixed in this release: [...] - Unsolicted crash"[sic] 14:59:31 yeah, aren't all crashes? 14:59:59 Well, some stuff I have written is intentionally rigged to crash in some cases... 15:00:42 Ilari, oh? 15:00:43 AnMaster: Not really (anything happening with Befunge-111). Maybe you're right, a simple addendum to "clarify" the 98 spec would be better. Easier, at least, and accomplish about the same thing. 15:01:04 heh 15:02:06 When program is so toast that continuing would be worse than crashing, its better for it to crash. 15:03:46 Indeed, "crash" is an interesting concept to meditate upon. 15:07:22 -!- KingOfKarlsruhe has quit (Remote host closed the connection). 15:07:26 to crash, or not to crash, that's #"ยค11353NO CARRIER 15:18:38 AnMaster, oerjan, hey :D 15:19:01 'lo 15:19:19 hey guys. 15:38:17 -!- relet has joined. 15:54:06 -!- oerjan has quit (Quit: Later). 16:20:39 -!- cal153 has joined. 16:31:27 -!- cal153 has quit. 16:35:59 -!- lament has joined. 16:52:14 -!- fizzie` has changed nick to fizzie. 16:52:29 -!- lament has quit (Ping timeout: 240 seconds). 16:58:16 -!- cal153 has joined. 17:06:03 -!- cal153 has quit (Ping timeout: 276 seconds). 17:13:45 -!- tombom has joined. 17:16:43 -!- Gracenotes has joined. 17:33:05 -!- jabb has joined. 17:34:01 -!- cal153 has joined. 17:39:51 -!- augur has quit (Read error: Connection reset by peer). 17:40:14 -!- augur has joined. 18:00:44 -!- kar8nga has joined. 18:19:19 -!- augur has quit (Remote host closed the connection). 18:35:28 -!- MizardX- has joined. 18:36:40 -!- MizardX has quit (Read error: Connection reset by peer). 18:36:56 -!- MizardX- has changed nick to MizardX. 18:37:33 -!- iamcal has joined. 18:38:39 -!- Luyt_ has left (?). 18:38:48 -!- cal153 has quit (Ping timeout: 264 seconds). 18:50:51 -!- Phantom_Hoover has joined. 19:05:42 -!- Mathnerd314 has joined. 19:08:55 -!- CakeProphet has quit (Ping timeout: 245 seconds). 19:12:25 -!- CakeProphet has joined. 19:17:34 -!- kar8nga has quit. 19:18:14 -!- kar8nga has joined. 19:39:36 -!- CakeProphet has quit (Ping timeout: 265 seconds). 19:56:22 -!- CakeProphet has joined. 20:03:25 aww yeah. 20:09:10 -!- MizardX has quit (Read error: Connection reset by peer). 20:09:18 -!- MizardX has joined. 20:09:21 -!- MizardX has quit (Changing host). 20:09:22 -!- MizardX has joined. 21:25:10 -!- dbc has quit (Quit: Seeeeeya). 21:51:29 -!- MosaSaur has joined. 21:52:47 do what thou wilst 21:55:03 I wilst. 21:56:07 it's the law 22:00:03 I'm designing an imperative string-rewriting language. 22:00:05 I know right? 22:03:55 can it handle quote errors 22:04:21 I don't know yet. Should it? 22:04:56 what will it be used for? 22:05:34 Probably the same thing all my languages are used for. Whatever that is. 22:06:18 then it probably should, just to be safe 22:11:20 Well, it handles them in the sense that, if you insert two or more instances of the same kind of quote in the string, the behavior of reading or writing what's in between those quotes is undefined. 22:12:01 Which is the best sense of "handle", IMO. 22:13:58 not exactly an L-system then 22:15:09 maaan 22:15:12 why isn't alise here 22:16:57 No, not another L-system. I try to invent new things. 22:19:02 More specifically, I try to invent languages that sound impossible, or at least highly unlikely. Kind of like MC Escher illustrations, I guess. 22:19:19 Thus, imperative string-rewriting. 22:19:20 cheater99, he's in the loony bin. 22:22:01 so L-systems are a subset of imperative string rewriting, but you want another subset 22:22:37 Well, I have yet to see an L-system that I would describe as "imperative". 22:22:46 Have you? 22:24:18 -!- dbc has joined. 22:24:20 -!- dbc has left (?). 22:26:06 it's a kind of state machine 22:26:36 So is graph reduction. Therefore Haskell is imperative! 22:27:05 i know where she is 22:27:10 i'm asking why 22:29:21 cheater99: At the core, I think it's because she's intelligent. 22:34:53 I suppose lisp is better for creating languages 22:36:25 -!- Phantom_Hoover has quit (Quit: Leaving). 22:44:45 -!- augur has joined. 22:45:09 -!- Oranjer has joined. 22:52:09 -!- MosaSaur has quit (Ping timeout: 240 seconds). 22:52:20 -!- MosaSaur1 has joined. 22:53:22 -!- augur has quit (Ping timeout: 260 seconds). 22:58:14 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:02:41 -!- oerjan has joined. 23:06:20 -!- Oranjer has left (?). 23:06:45 -!- MosaSaur1 has left (?). 23:18:27 ok 23:18:28 guys 23:18:30 serious question 23:18:36 yes 23:18:42 writing things 23:18:43 i currently don't know what an AST really is 23:18:46 in several lines 23:18:48 _is_ bad 23:18:52 (on irc) 23:19:09 abstract syntax tree? 23:19:17 how difficult would it be for me to learn what an AST is and write something that manipulates a cobol AST? 23:19:20 yes 23:19:38 i used an acronym to separate out the people who don't know what it stands for, you passed the test oerjan - welcome to the next level 23:19:50 cheater99: Did you ever diagram sentences in grade school? 23:20:02 yes 23:20:09 ok i understand *that* much 23:20:11 but not much more. 23:20:31 I don't think there is much more. Not very much, anyway. 23:20:34 i also understand it has to do with those funny expression syntax formats like what i get in, say, the python manual. 23:20:43 it's a tree that contains the structured data of parsed code (or other language) 23:20:51 cheater99: backus/naur form? 23:20:58 what form? 23:21:02 BNF 23:22:03 that's most likely what that python manual uses, or some variant 23:22:11 i mean something like this 23:22:14 if_stmt ::= "if" expression ":" suite 23:22:14 ( "elif" expression ":" suite )* 23:22:14 ["else" ":" suite] 23:22:18 sry4fld 23:22:26 Yeah, that's an extended version of BNF. 23:22:27 it was invented for Algol, i think, and has been used for lots of languages since 23:22:41 ok 23:22:50 the plan is to convert COBOL to PHP 23:23:26 cheater99: btw COBOL was invented _before_ BNF, i think, so it might actually be awkward to parse that way 23:23:28 it's like changing from one very bad thing to another, i know 23:23:33 Learning to read BNF is useful, but not quite the same as building/using an AST, although it's not hard to relate them 23:23:33 but 23:23:46 i know how to read those things (BNF) 23:24:11 however there are newer standards for COBOL, so i wouldn't be surprised if they've made a BNF for it later 23:24:14 i got hardcore with DTD's at some point, they're basically a masochistic version of tht 23:24:22 *that 23:24:24 (assuming it fits into BNF at all) 23:24:38 so there's this lex-pass thing for haskell 23:24:49 it allows manipulating PHP on ast level 23:25:04 An English description of an AST that goes with the BNF you posted might look like: An IfNode contains an ExprNode called "then_cond" and SuiteNode called "then_suite" and a list of ExprNodes called "elifs" and ... 23:25:08 cheater99: yeah XML is like a language half-way turned into AST at the outset 23:25:09 would it make sense to extract ast from cobol, and try to convert it to the php ast? 23:25:28 cheater99: probably 23:25:46 probably maybe? 23:25:47 So really, it's just a data structure that you define how you want, as long as it can store your parsed program in a way that makes sense for what you want to do with it. 23:25:52 or probably yes? 23:25:58 however it's not given that the ast's of cobol and php will match nicely 23:26:20 doesn't cobol translate to C directly 23:26:21 or something 23:26:31 and php is just a wrapper around C 23:26:37 Eww... http://www.cs.vu.nl/grammarware/browsable/cobol/ 23:26:52 i hadn't written 1 line of cobol in my life 23:26:53 cheater99: um C is much newer than COBOL. there is probably a compiler from COBOL to C though 23:27:14 oerjan, i know, but i still heard that cobol can translate to c fairly easily 23:27:15 (well somewhat newer, at least) 23:27:38 -!- tombom has quit (Quit: Leaving). 23:28:16 cheater99: that may be, if cobol doesn't use any new-fangled stuff that C wasn't designed to have (and given the relative ages, it probably doesn't) 23:29:16 i would be surprised 23:30:43 cheater99: php being a wrapper around C doesn't mean C translates easily to PHP though 23:30:53 more like the opposite, if any 23:31:08 of course not 23:31:24 but i wouldn't expect cobol to do much more than the subset of c that php can perform 23:31:32 however i guess php (which i don't really know) has a C-descendant syntax 23:31:33 it's just a shitty little lang 23:31:36 -!- FireFly has quit (Quit: swatted to death). 23:32:05 let's see how 99 looks in cobol 23:32:28 jesus http://99-bottles-of-beer.net/language-cobol-908.html 23:32:38 cheater99: COBOL is pretty big on describing data formats, iirc (and that's one of the few things i know about COBOL) 23:33:04 I leave you with someone else's opinion on the matter: http://sneakydave.com/wp/2009/08/12/php-itself-isnt-that-much-different-than-cobol/ 23:33:09 Good evening. 23:33:11 -!- cpressey has quit (Quit: Leaving.). 23:33:40 ahahah 23:33:42 that was perfect 23:33:52 oerjan, mhm 23:34:05 oerjan, then it's like php. php is also pretty big on data formats. 23:34:37 ok 23:35:17 it's possible COBOL is big on describing _ancient_ formats, though 23:35:17 but not like 23:35:21 c style data formats 23:35:30 more like, class-based data formats 23:35:44 almost sorta like 'shitty version of java' data formats 23:36:50 oh well good luck 23:37:02 so how difficult is it to learn that ast stuff 23:37:09 what do i need to know? 23:37:43 er 23:38:46 expand that thought 23:39:15 i don't know exactly how _i_ learned it, so... 23:39:19 sort of osmosis 23:39:28 pah 23:39:43 there should be tutorials for that crap on the net 23:39:44 :p 23:40:07 well an example of an interpreter implemented using it might be nice... 23:40:21 100% 23:40:36 hm i guess this AST stuff must be among the things mentioned in that famous "how to make compilers" book that i've never read 23:41:14 (dragon book) 23:41:19 dragon book? 23:41:46 http://en.wikipedia.org/wiki/Dragon_Book_(computer_science) 23:44:26 AST's would be the intermediate step between the "Syntax analysis" and "Syntax-directed translation" steps in that list 23:45:07 well ASTs would probably useful for everything after as well 23:47:12 thank u 23:47:15 yes 23:47:16 does the AST hold data 23:47:20 like say string literals? 23:47:31 or is it just pure, data-less syntax structure? 23:47:52 it definitely holds all the data you need for representing the code 23:48:10 ok 23:48:15 so it contains the literals etc 23:48:21 yeah 23:48:26 cool 23:50:07 that's pretty cool. i'm gonna go take a shower now. 23:50:08 thanks for walking me through that oerjan <3 23:50:08 btw, do you use vi? 23:50:08 i'm asking because i found out you can easily put esc on the caps lock key in gnome 23:50:09 which is a pleasant surprise 23:50:23 i use (g)vim yes 23:50:35 never bothered to remap any keys though 23:51:37 cheater99: SICP (which i've also not read, but it's available online) might also be good i guess. 23:52:31 SICP? 23:52:40 oerjan, remap the caps lock 23:52:46 it'll totally change everything for you 23:52:49 http://en.wikipedia.org/wiki/Wizard_book 23:52:52 caps lock is perfect 23:53:19 did you know esc was where tab is now on the space cadet keyboard (for which vi was developed)? 23:53:30 er 23:53:41 esc was on the space cadet keyboard where tab is now on normal keyboards 23:53:48 but tab is still useful, and caps is even more useful 23:53:50 one of the reasons why lisp/scheme is so powerful is that its syntax is so simple that it almost _is_ its own AST. 23:53:54 the place caps is now used to be ctrl, i think 23:54:27 i have no idea what it means to be your own ast 23:54:58 cheater99: in scheme, the program is represented as a tree of nested lists 23:56:06 (define (fac n) (if (eqv n 1) 1 (* n (fac (- n 1))))), or something like that 23:56:18 (for making a factorial function) 23:56:43 and that nested list essentially _is_ the AST of the function definition 23:57:31 the lisp/scheme macro systems therefore can work directly on the AST, rewriting stuff in a structured manner. 23:59:36 -!- leBMD has joined.