--- Log opened Sat Aug 01 00:00:15 2015 |
--- Day changed Sat Aug 01 2015 |
00:00 | | Kindamoody is now known as Kindamoody[zZz] |
00:20 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
00:20 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
00:27 | | ion [Owner@Nightstar-3cu28l.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
00:29 | | Turaiel [Brandon@Nightstar-8lr.ml4.192.12.IP] has quit [Ping timeout: 121 seconds] |
00:31 | | Turaiel [Brandon@Nightstar-8lr.ml4.192.12.IP] has joined #code |
01:11 | | Derakon[AFK] is now known as Derakon |
02:02 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
02:06 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
02:22 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
02:26 | | catadroid [catalyst@Nightstar-usd.ajk.200.90.IP] has quit [Ping timeout: 121 seconds] |
02:28 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
02:35 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
02:40 | | ion [Owner@Nightstar-lvg.m8u.35.207.IP] has joined #code |
02:41 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
04:09 | | ion [Owner@Nightstar-lvg.m8u.35.207.IP] has quit [Ping timeout: 121 seconds] |
04:27 | | Xires is now known as ^Xires |
04:34 | | ^Xires is now known as Xires |
04:34 | | celticminstrel [celticminst@Nightstar-c0l57i.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
04:58 | | gizmore [kvirc@Nightstar-18qenh.dip0.t-ipconnect.de] has quit [[NS] Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/] |
05:09 | | Derakon is now known as Derakon[AFK] |
05:46 | | * Vornicus needs to learn to plan these things |
05:47 | <~Vornicus> | I keep flitting from aspect to aspect, doing a little reading and then getting distracted to do reading on another topic, without ever managing to write any damn code because I never actually retain enough |
05:48 | <~Vornicus> | And if I kept at one thing at a time maybe I'd be able to get something done |
05:50 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
05:52 | <&McMartin> | I should get back to that invite I'm supposed to be writing |
05:52 | <&McMartin> | Which is not the demo I want to write |
05:52 | <&McMartin> | But which I am at least good enough to execute on |
05:54 | | ion [Owner@Nightstar-gle1tl.vs.shawcable.net] has joined #code |
05:54 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
05:58 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
06:00 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
06:03 | | ion [Owner@Nightstar-gle1tl.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
06:03 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
06:22 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
06:27 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
06:28 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
06:32 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
06:42 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
06:57 | < Meatyhandbag> | sorry, internet keeps cutting me out |
06:57 | < Meatyhandbag> | did anyone respond? |
07:01 | <&McMartin> | Your question didn't come through, I don't believe. |
07:04 | < Meatyhandbag> | I need a new laptop to program and web surf with. any suggestions or possible used ones someone would be willing to sell? I have a 300 dollar max budget |
07:05 | <&McMartin> | 300 is going to keep you in netbook range, I suspect |
07:06 | < Meatyhandbag> | netbook? |
07:06 | <&McMartin> | It's a class of laptop |
07:06 | <&McMartin> | https://en.wikipedia.org/wiki/Netbook |
07:12 | < Meatyhandbag> | would an Intel Atom processor suffice, or is that a death sentence for work? |
07:13 | <&McMartin> | When you say "program" what are we talking here |
07:13 | < Meatyhandbag> | coding |
07:13 | <&McMartin> | Yes, thank you. Language, toolkit, etc? |
07:13 | <&McMartin> | Approximate codebase size? |
07:13 | < Meatyhandbag> | uh, I need the laptop for my classes |
07:14 | <&McMartin> | So, like, Notepad++ runs on basically everything |
07:14 | <&McMartin> | You're going to have a bad time trying to run Eclipse on a netbook. |
07:14 | <&McMartin> | Sysreqs for software development can vary by a factor of *at least* a full thousand. |
07:15 | < Meatyhandbag> | i found a good deal for a 200 dollar 2-in-1 laptop. but it has an Intel Atom processor, is that a problem? |
07:15 | <&McMartin> | Atoms are traditional for low-end laptops |
07:15 | <&McMartin> | I'm running Celerons - low-end desktop chips - when attacking Project Euler problems. |
07:16 | <&McMartin> | I would not be particularly concerned about CPU power, and much more about RAM and disk space. |
07:16 | < Meatyhandbag> | ok |
07:16 | <&McMartin> | Particularly if I'm using a giant IDE, or working on codebases that push into the hundreds of thousands of lines of code. |
07:17 | <&McMartin> | (It is enormously out of your price range, but it's worth noting that I can and have compiled million-line-of-code projects in Visual Studio on a Surface Pro. Small doesn't mean weak) |
07:17 | < Meatyhandbag> | it has 1 TB 32 GB Solid State hard drive |
07:17 | <&McMartin> | Er, is that two drives there? |
07:18 | <&McMartin> | As in a 1TB HDD and a 32GB SDD? |
07:18 | <&McMartin> | It's only 2015. 1TB is still More Than Plenty |
07:18 | < Meatyhandbag> | in the system specs, it just says Hard Drive: 1 TB 32 GB Solid State |
07:19 | <&McMartin> | That's kind of odd, overall, but I'm going to assume that's not really a problem |
07:19 | <&McMartin> | You still haven't actually said what language or tools you plan on mostly using, though |
07:19 | <&McMartin> | There are some answers to that for which the response is "you could do that on an iPad, if it weren't for the keyboard" |
07:19 | < Meatyhandbag> | c#, java, python, Unity, and maybe Papyrus? |
07:20 | <&McMartin> | Python is one of those "can do on basically anything" |
07:20 | <&McMartin> | Unity is going to be the roughest of those. I would check their specs. |
07:20 | < Meatyhandbag> | and javascript |
07:20 | <&McMartin> | I don't know Papyrus. Python and JS environments tend to be extremely lightweight |
07:20 | < Meatyhandbag> | I have a PC if I can't run Unity script on the laptop |
07:20 | <&McMartin> | C# and Java *can* be lightweight but usually aren't |
07:20 | <&McMartin> | Unity you need a tolerable GPU just to get the scene editor open |
07:21 | <&McMartin> | So that's the one I'd worry about the most there. |
07:22 | < Meatyhandbag> | I think I can ignore unity for now. I'll probably just stick to using my PC for Unity |
07:22 | <&McMartin> | Sure |
07:22 | <&McMartin> | That said, it *might* work |
07:22 | <&McMartin> | I'd expect MSVS to chug a bit but still be basically usable |
07:23 | <&McMartin> | There are lighter-weight Java IDEs than Eclipse; I've been using IntelliJ IDEA but it's on a fairly monstrous machine so I'm not sure how that works out |
07:25 | < Meatyhandbag> | so, with 2 GB DDR3 RAM and 1TB Hard Drive, should that be enough to deal with my classes? |
07:25 | | ion [Owner@Nightstar-h5r554.vs.shawcable.net] has joined #code |
07:25 | <&McMartin> | Probably. |
07:26 | <&McMartin> | 1TB HDD is far more than adequate. |
07:26 | <&McMartin> | 2GB RAM is a bit tight, but should handle homework assignments. |
07:26 | <&McMartin> | (The aforementioned Million-Line-Of-Code project I worked without constraint with 4GB, but this isn't a linear scale down to zero) |
07:29 | < Meatyhandbag> | ok, great |
07:31 | < Meatyhandbag> | thanks a lot for the help |
07:31 | <&McMartin> | Good luck |
07:32 | | macdjord|slep [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [[NS] Quit: We choose to go to the moon! We choose to go to the moon in this decade and so the other things, not because they are easy, but because they are hard!] |
07:33 | | macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has joined #code |
07:33 | | mode/#code [+o macdjord] by ChanServ |
07:53 | | macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [[NS] Quit: We choose to go to the moon! We choose to go to the moon in this decade and so the other things, not because they are easy, but because they are hard!] |
08:01 | | Kindamoody[zZz] is now known as Kindamoody |
08:05 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
08:15 | | macdjord [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has joined #code |
08:15 | | mode/#code [+o macdjord] by ChanServ |
08:41 | | Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
08:42 | | mode/#code [+o Checkmate] by ChanServ |
09:09 | | Xires is now known as ^Xires |
09:17 | | ^Xires is now known as Xires |
09:19 | | macdjord is now known as macdjord|slep |
09:24 | | Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
09:25 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has joined #code |
11:48 | <&ToxicFrog> | "1TB 32GB SSD" is probably either a 1TB rotating disk + 32GB M.2 SSD so they can classify it as an "ultrabook", or a 1TB SSHD with 32GB of persistent cache. |
11:50 | <&ToxicFrog> | 2GB is going to be pretty tight these days, especially if you want to run a web browser + anything else at all, but still workable. |
11:51 | <&ToxicFrog> | And RAM is generally the cheapest and easiest component to upgrade. |
11:52 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has quit [Ping timeout: 121 seconds] |
11:55 | | Kindamoody is now known as Kindamoody|afk |
11:57 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has joined #code |
14:15 | <&jerith> | I recently bought a new laptop because 4GB RAM wasn't enough to run a web browser and basically anything else without hitting swap. |
14:17 | <&jerith> | (The new machine also came with 4GB RAM, but it wasn't soldered to the motherboard and was therefore upgradeable.) |
14:24 | < [R]> | D: |
14:25 | < [R]> | New android doesn't support mounting? |
14:25 | < [R]> | So I have to do some hellish voodoo just to get files onto it? |
14:25 | < [R]> | TT |
14:28 | <&jerith> | [R]: I usually fire up a local webserver and get the files over HTTP. |
14:28 | <&jerith> | But also maybe look at airdroid? |
14:57 | | ion_ [Owner@Nightstar-h5r554.vs.shawcable.net] has joined #code |
15:00 | | Netsplit *.net <-> *.split quits: EvilDarkLord, @gnolam, @Tamber, 693AAACAZ, ion_, Attilla, @ToxicFrog, @Derakon[AFK], @JustBob, starkruzr, (+26 more, use /NETSPLIT to show all of them) |
15:00 | | ion [Owner@Nightstar-h5r554.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
15:00 | | Netsplit over, joins: &Reiver, @PinkFreud, @Tamber, @Orthia, &jerith, &ToxicFrog, @Alek, &jeroud, VirusJTG, &McMartin (+26 more) |
--- Log closed Sat Aug 01 15:01:57 2015 |
--- Log opened Sat Aug 01 15:02:05 2015 |
15:02 | | TheWatcher [chris@Nightstar-ksqup0.co.uk] has joined #code |
15:02 | | Irssi: #code: Total of 37 nicks [21 ops, 0 halfops, 0 voices, 16 normal] |
15:02 | | mode/#code [+o TheWatcher] by ChanServ |
15:02 | | Irssi: Join to #code was synced in 39 secs |
15:17 | | Derakon[AFK] [chriswei@Nightstar-2fe4eq.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
15:33 | | abudhabi [abudhabi@Nightstar-7nkq9k.de] has quit [Connection closed] |
15:52 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
15:52 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
16:01 | | thalass [thalass@Nightstar-m49.o7s.158.104.IP] has joined #code |
16:01 | | mode/#code [+o thalass] by ChanServ |
16:01 | | Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
16:01 | | mode/#code [+o Checkmate] by ChanServ |
16:05 | | catadroid` [catalyst@Nightstar-593.obt.213.90.IP] has joined #code |
16:05 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has quit [Connection closed] |
16:08 | | Derakon [chriswei@Nightstar-4oau6f.ca.comcast.net] has joined #code |
16:08 | | mode/#code [+ao Derakon Derakon] by ChanServ |
16:08 | | catadroid` [catalyst@Nightstar-593.obt.213.90.IP] has quit [Connection closed] |
16:08 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has joined #code |
16:13 | | celticminstrel [celticminst@Nightstar-c0l57i.dsl.bell.ca] has joined #code |
16:13 | | mode/#code [+o celticminstrel] by ChanServ |
16:19 | | abudhabi [abudhabi@Nightstar-7nkq9k.de] has joined #code |
16:21 | | mode/#code [+o ErikMesoy] by ChanServ |
17:00 | | catadroid` [catalyst@Nightstar-593.obt.213.90.IP] has joined #code |
17:00 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has quit [Connection closed] |
17:13 | | catadroid` [catalyst@Nightstar-593.obt.213.90.IP] has quit [Ping timeout: 121 seconds] |
17:13 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has joined #code |
17:18 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has quit [Ping timeout: 121 seconds] |
17:20 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has joined #code |
17:38 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
17:48 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
17:52 | | Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
18:22 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
18:22 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
18:26 | | ion_ [Owner@Nightstar-h5r554.vs.shawcable.net] has quit [Connection closed] |
18:28 | | ion [Owner@Nightstar-h5r554.vs.shawcable.net] has joined #code |
19:09 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has quit [[NS] Quit: Bye] |
19:26 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has quit [Ping timeout: 121 seconds] |
19:30 | | Meatyhandbag [sebastianfe@Nightstar-027.ukq.53.184.IP] has joined #code |
19:59 | | Kindamoody|afk is now known as Kindamoody |
19:59 | <&ToxicFrog> | http://imgur.com/eEJgepI |
20:04 | <&ToxicFrog> | It's now properly loading all of the room attributes and contents. |
20:05 | <&ToxicFrog> | No support for scripts yet, and it's not using the rooms for anything except the debug menu -- that's next. |
20:08 | <&jerith> | What is it? |
20:17 | <&Derakon> | Oh, TF, regarding how rooms are placed: my guess is it's just a "put down a room that fits, recurse" algorithm with some basic pruning so certain room types don't show up too often. |
20:17 | <&Derakon> | And if it dead-ends itself without filling in enough of the map then it starts over. |
20:17 | <&Derakon> | (Or backs out and tries again, but that can be slow) |
20:25 | | celticminstrel is now known as celmin|away |
20:30 | <&ToxicFrog> | Derakon: that was also my guess, and how I'm going to implement it, but it would be nice to know. |
20:30 | <&ToxicFrog> | jerith: tty demake of dungeons of dredmor |
20:43 | | Kindamoody is now known as Kindamoody[zZz] |
20:48 | | macdjord|slep is now known as macdjord |
20:49 | | Xires is now known as ^Xires |
20:53 | | ion [Owner@Nightstar-h5r554.vs.shawcable.net] has quit [Connection closed] |
20:57 | | ^Xires is now known as Xires |
21:02 | | ion [Owner@Nightstar-h5r554.vs.shawcable.net] has joined #code |
22:09 | <&ToxicFrog> | Ok, so, thoughts on room placement |
22:09 | <&ToxicFrog> | - place a starting room. push all of its doors into a queue. |
22:09 | <&ToxicFrog> | - while the queue is nonempty: |
22:09 | <&ToxicFrog> | - pull a door from the queue |
22:09 | <&ToxicFrog> | - randomly select a room with a compatible door that is (still) available on this floor |
22:09 | <&ToxicFrog> | - if the room fits: place it |
22:10 | <&ToxicFrog> | - if not: optionally retry with different rooms; once out of retries, increment the attempts for that door and put at the end of the queue |
22:10 | <&ToxicFrog> | - once a door has hit a certain number of attempts, replace it with wall and stop returning it to the queue |
22:10 | <&Derakon> | Why put it at the end of the queue again? |
22:11 | <&ToxicFrog> | - once the queue is empty, the level is closed; check if we filled enough space. If so, done! If not, restart. |
22:12 | <&Derakon> | Otherwise sounds good to me. |
22:12 | <&ToxicFrog> | That part may not be useful, but it seems like it might be worth experimenting with. Although the same result could probably be gotten just by increasing the number of retries before you give up on that door. |
22:12 | <&Derakon> | Yeah. |
22:12 | <&ToxicFrog> | Also, optional extension, which deviates from the way dredmor works but I think would result in nicer maps |
22:12 | <&ToxicFrog> | Just after "pull a door from the queue": |
22:12 | <&ToxicFrog> | - seek outwards from this door for a nearby matching door facing it; if one is found, connect the doors with a hallway and remove both from the queue. |
22:13 | <&Derakon> | ...yes, interconnects are good, please. |
22:14 | <&Derakon> | I'm not familiar with room sizes; how realistic is it to have rooms that precisely fit into existing gaps between two other rooms? |
22:16 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
22:16 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
22:19 | <&ToxicFrog> | Room sizes range from 5x5 to 30x20 or so, but most are irregularly shaped within their bounding box |
22:20 | <&ToxicFrog> | It is very rare for rooms to precisely abut each other. usually there's a bit of dead space between them. |
22:20 | <&Derakon> | Fairynuff. |
22:21 | <&ToxicFrog> | The map as a whole is 100x100, or 72x72 in nttg mode. |
22:22 | <&Derakon> | For a moment there I thought nttg was some tty mode~ |
22:22 | <&McMartin> | nttg is that rare beast of a setting that makes the game noticably harder and noticably less aggravating. |
22:22 | <&Derakon> | So NTTG reduces the dungeon area by about half. |
22:23 | <~Vornicus> | "nttg"? |
22:23 | <&McMartin> | No Time To Grind. |
22:23 | <&McMartin> | It makes the levels smaller |
22:23 | <&McMartin> | This makes the levels less tedious! |
22:23 | <&ToxicFrog> | As for interconnects, the dredmor map generator produces a strict tree; cycles are then added by randomly scattering pairs of teleport pads around. |
22:23 | <&McMartin> | It also is the equivalent of a much tighter Angband level timer. |
22:24 | <&ToxicFrog> | Also, XP gain is doubled. |
22:24 | <&Derakon> | ...by that do you mean "there's only so much content, better hope you find what you need by the end"? |
22:24 | <&ToxicFrog> | Loot rolls aren't, though. |
22:24 | <&McMartin> | Yes, you will generally be undergeared in NTTG. |
22:25 | <&ToxicFrog> | I actually really dislike the acyclic nature of dredmor mapgen; teleporters are not an acceptable substitute. |
22:26 | <&Derakon> | Yeah, because you can't realistically route based on them. |
22:27 | <&Derakon> | When I was working on procedural Super Metroid map generation I spent a lot of time trying to figure out how to make nice cycles. |
22:27 | <&Derakon> | Which involves trying to find locations on the map that are close linearly and far apart by pathing. |
22:32 | <&Derakon> | Mm, that is a thought: when deciding what to do with a door, you might consider scanning out for nearby doors both directly and via the existing map path, and connecting them if there's a large disparity. |
22:35 | <@ErikMesoy> | Man, I'm looking at a bunch of my old university programming courses and thinking about how much of this I did through basically the programming equivalent of dimensional analysis. |
22:35 | <&Derakon> | How do you mean? |
22:35 | <@ErikMesoy> | "I have a length and need a speed; which of these units is a time?" |
22:36 | <&Derakon> | Ahh. |
22:36 | <@ErikMesoy> | In particular the course on lexical handling, parsing, etc. I frequently had no idea what I was doing or why, but I looked at the data source I was given, the format I was to output to, and the constraints on how my function should look, and filled in from there. |
22:36 | <&ToxicFrog> | That is appealing but also requires pathfinding, so it's future work for when I start working on AI stuff. |
22:36 | <&Derakon> | A* pathfinding is super simple. |
22:37 | <&Derakon> | Potentially ill-advised for AI pathfinding, but fine for mapgen. |
22:37 | <&ToxicFrog> | I know. I've used it a lot. |
22:37 | <&ToxicFrog> | But it is not yet necessary. |
22:37 | <&Derakon> | But yeah, keeping mapgen simple is probably smart, so you can get a playable game ASAP. |
22:40 | <&ToxicFrog> | At the moment it barely has a concept of wall vs floor. Even the minimum viable map generator will drive massive changes to the world model and UI. |
22:41 | | catadroid [catalyst@Nightstar-593.obt.213.90.IP] has joined #code |
22:41 | <@ErikMesoy> | Now I'm wondering if there's some way to reverse-implement dimensional analysis as a stronger type system of sorts. |
22:42 | <&Derakon> | One of my programming assignments back in the day was to write a unit converter, which seems similar. |
22:42 | <@ErikMesoy> | If I had customized types so that it were more obvious and forced which things could/must be related to which other things in order to get certain types of results... |
22:43 | <@ErikMesoy> | something vaguely like Apps Hungarian except it throws errors rather than code smell. |
22:47 | <@ErikMesoy> | Lemme try to give a concrete example. Nothing is wrong with declaring function(int a, int b): { int c=a+b; return a} but you can see that it probably looks wrong and I might have made a typo intending to return c because this function has unused crap. |
22:47 | | celmin|away is now known as celticminstrel |
22:48 | <&Derakon> | Compilers often warn you about initialized-but-unused variables. |
22:48 | <@ErikMesoy> | Yes, which helps a bit, but doesn't quite solve what I have in mind, and I'm trying to keep this example simple. |
22:49 | <@ErikMesoy> | If I put into the type system a form of dimensional analysis checking, there would be two subclasses of Integer which play different roles, and I should declare function(component a, component b): { composite c = a+b; return c} because only a 'composite' type is returnable. Returning a 'component' is an error. |
22:50 | <@ErikMesoy> | A composite is only produced by operating on one or more components. Trying to declare a raw composite directly is also an error. |
22:50 | <&ToxicFrog> | Derakon: anyways, the real mystery of dod map generation isn't room placement. it's enemy/loot placement. |
22:51 | <&Derakon> | I really wouldn't be surprised if it just places (1dN - 1) monsters/items where N scales with the size of the room. |
22:53 | <@ErikMesoy> | I'm probably not the first to think of something like this. Any idea what the existing name for this kind of super-typechecking is? |
23:15 | | Derakon is now known as Derakon[AFK] |
23:32 | <&McMartin> | ErikMesoy: I'd just call it "type checking" |
23:33 | <&McMartin> | But using it to "do work" is called template metaprogramming in C++ for how you go about doing it - dimensional analysis is even the standard example, IIRC |
23:33 | <&McMartin> | And the things you hang on the "basic" types to do the work I would call "type annotations." |
--- Log closed Sun Aug 02 00:00:01 2015 |