00:07:15 | * | shodan45 quit (Quit: Konversation terminated!) |
00:21:06 | * | fowl quit (Read error: Connection reset by peer) |
00:24:52 | * | filwit quit (Quit: Leaving) |
00:26:49 | * | mak3 joined #nimrod |
00:39:18 | * | fowl joined #nimrod |
00:58:11 | * | fowl quit (*.net *.split) |
00:58:11 | * | BitPuffin quit (*.net *.split) |
00:58:11 | * | vidot_j quit (*.net *.split) |
00:58:12 | * | VarriountPhone quit (*.net *.split) |
00:58:12 | * | musicalchair quit (*.net *.split) |
00:58:12 | * | mal`` quit (*.net *.split) |
00:58:13 | * | Zor quit (*.net *.split) |
00:58:19 | * | Zor joined #nimrod |
00:58:44 | * | musicalchair joined #nimrod |
00:58:55 | * | BitPuffin joined #nimrod |
00:59:00 | * | fowl joined #nimrod |
00:59:08 | * | vidot_j joined #nimrod |
00:59:24 | * | fowl quit (Changing host) |
00:59:24 | * | fowl joined #nimrod |
01:02:06 | * | mak3 quit (Ping timeout: 245 seconds) |
01:02:18 | * | mal`` joined #nimrod |
01:17:32 | * | Demos joined #nimrod |
01:37:18 | * | DAddYE quit (Remote host closed the connection) |
01:37:54 | * | DAddYE joined #nimrod |
01:42:27 | * | DAddYE quit (Ping timeout: 260 seconds) |
01:54:53 | * | BitPuffin quit (Ping timeout: 268 seconds) |
02:13:36 | * | Ricky_Ricardo joined #nimrod |
02:15:06 | * | MFlamer quit (Ping timeout: 246 seconds) |
02:15:12 | * | vidot_j quit (Remote host closed the connection) |
02:16:55 | * | vidot_j joined #nimrod |
02:21:15 | * | vidot_j quit (Remote host closed the connection) |
02:36:10 | * | DAddYE joined #nimrod |
02:36:35 | * | mflamer joined #nimrod |
02:38:19 | * | filwit joined #nimrod |
02:48:22 | * | dyu joined #nimrod |
02:52:58 | * | DAddYE quit (Remote host closed the connection) |
03:17:16 | * | xenagi quit (Quit: Leaving) |
03:28:21 | * | OrionPK quit (Quit: Leaving) |
03:29:44 | * | xenagi joined #nimrod |
03:45:48 | * | mflamer quit (Ping timeout: 240 seconds) |
03:53:33 | * | mflamer joined #nimrod |
03:54:07 | * | DAddYE joined #nimrod |
03:56:46 | * | mak3 joined #nimrod |
04:00:27 | * | DAddYE quit (Ping timeout: 246 seconds) |
04:01:09 | * | mak3 quit (Ping timeout: 246 seconds) |
04:28:10 | * | filwit quit (Quit: Leaving) |
04:28:59 | * | fowl quit (Quit: Leaving) |
04:31:59 | * | brson quit (Ping timeout: 272 seconds) |
04:39:09 | * | xenagi quit (Ping timeout: 252 seconds) |
04:51:35 | * | xenagi joined #nimrod |
04:56:53 | * | mflamer_ joined #nimrod |
04:57:09 | * | mflamer quit (Ping timeout: 246 seconds) |
04:57:36 | * | DAddYE joined #nimrod |
05:04:26 | * | DAddYE quit (Ping timeout: 264 seconds) |
05:31:17 | * | dyu quit (Disconnected by services) |
05:32:05 | * | dyu_ joined #nimrod |
05:58:39 | * | DAddYE joined #nimrod |
06:01:34 | * | xenagi quit (Quit: Leaving) |
06:11:46 | * | isenmann joined #nimrod |
06:12:41 | * | DAddYE quit (Remote host closed the connection) |
06:13:06 | * | mflamer_ quit (Ping timeout: 246 seconds) |
06:13:17 | * | DAddYE joined #nimrod |
06:15:05 | * | mflamer joined #nimrod |
06:17:41 | * | DAddYE quit (Ping timeout: 245 seconds) |
06:21:08 | * | mflamer quit (Ping timeout: 240 seconds) |
06:23:00 | * | Demos quit (Quit: Textual IRC Client: www.textualapp.com) |
06:49:53 | * | DAddYE joined #nimrod |
06:55:49 | * | NewGuy joined #nimrod |
06:58:59 | * | Associat0r joined #nimrod |
06:59:02 | * | Associat0r quit (Changing host) |
06:59:03 | * | Associat0r joined #nimrod |
07:00:03 | NewGuy | Hello Associat0r. |
07:00:39 | * | dyu_ quit (Quit: Leaving) |
07:10:34 | * | mak3 joined #nimrod |
07:14:48 | * | mak3 quit (Ping timeout: 240 seconds) |
07:23:14 | * | gour joined #nimrod |
07:38:49 | * | Jackneill joined #nimrod |
08:44:39 | * | NewGuy quit (Quit: Page closed) |
09:07:36 | * | DAddYE_ joined #nimrod |
09:09:48 | * | DAddYE quit (Ping timeout: 240 seconds) |
09:12:20 | * | DAddYE_ quit (Ping timeout: 260 seconds) |
09:33:33 | * | zahary____ quit (Quit: ~ Trillian Astra - www.trillian.im ~) |
09:36:49 | * | CarpNet joined #nimrod |
09:47:43 | * | Araq_ joined #nimrod |
09:58:59 | * | Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]) |
10:34:19 | * | Associat0r quit (Quit: Associat0r) |
10:41:36 | * | Boscop quit (Read error: Connection reset by peer) |
10:41:59 | * | Boscop joined #nimrod |
10:41:59 | * | Boscop quit (Changing host) |
10:41:59 | * | Boscop joined #nimrod |
10:45:20 | * | BitPuffin joined #nimrod |
10:46:49 | * | BitPuffin quit (Client Quit) |
11:02:23 | * | BitPuffin joined #nimrod |
11:16:14 | * | Webskipper joined #nimrod |
11:16:19 | Webskipper | hi |
11:17:13 | BitPuffin | hey Webskipper welcome! |
11:17:17 | BitPuffin | are you new here? |
11:17:24 | Webskipper | yes :D |
11:17:28 | BitPuffin | cool! |
11:17:40 | Webskipper | a user in python gave me a hint to nimrod |
11:17:52 | BitPuffin | dom96: this talk was pretty great http://youtu.be/P6UKhR0T6cs |
11:17:59 | BitPuffin | Webskipper: awesome :D |
11:18:15 | Webskipper | and today i searched for the name: nomad, nomid ........... nimrod *argh* |
11:18:24 | BitPuffin | hehe |
11:18:31 | BitPuffin | well you found it at last :P |
11:19:15 | Webskipper | I suggest to rename the language, google finds a lot of different stuff |
11:19:44 | Webskipper | but ok, with python it was the same I guess |
11:20:30 | Webskipper | Is id software using nimrod or why you linked the video ? |
11:20:54 | BitPuffin | Webskipper: nah they aren't using nimrod (even though they should :P). I just linked it because it was a good talk |
11:21:16 | Webskipper | ah ok. |
11:21:52 | BitPuffin | Webskipper: well as nimrod grows more popular it should show up higher in searches. And with google profiling you they might know that you are a programmer so when searching for nimrod maybe it will pick a more programmy suggestion |
11:22:00 | BitPuffin | but maybe Araq should look in to SEO |
11:22:59 | Webskipper | Yea my idea was to use language that is more static (and faster) than python but with comparable comfort writing code (for me its near pseudo code) |
11:23:22 | Webskipper | so nimrod compiler seems to compile nimrod code to C code ? |
11:24:44 | BitPuffin | Webskipper: by default yes, but it can also compile to C++, objective C, javascript and probably something else too |
11:27:26 | Webskipper | BitPuffin: fine. I just wondered, do we really need the ':' in statements like "var x, y: int". In procedure heads I saw this declaration style too. |
11:28:24 | BitPuffin | Webskipper: no you don't need them always you use that for declaring what kind of type something should be, but it can be inferred |
11:28:38 | BitPuffin | Webskipper: so var a = 42 or var b = "foo" works just as well |
11:28:59 | Webskipper | BitPuffin: yeah, I want to use types but I hate these ':' (saw it in other languages too). |
11:29:13 | Webskipper | BitPuffin: in my view spaces are enough, what you think ? |
11:29:51 | Webskipper | BitPuffin: suggest "var int x = 2" |
11:29:59 | BitPuffin | Webskipper: you're gonna have to ask Araq why there isn't just spaces |
11:33:37 | Webskipper | BitPuffin: ok. I see there are a lot of types. Is it possible to use "int x = 2" directly ? (a list on documenation with built in keywords would be fine) |
11:34:07 | BitPuffin | Webskipper: no don't think so |
11:34:26 | BitPuffin | Webskipper: but doing var x = 1 and var x: int = 1 is identical |
11:34:31 | BitPuffin | it will still be of type int |
11:35:42 | EXetoC | "var x, y int". I'm not sure if it'd be as readable after getting used to it. the : certainly doesn't add much noise |
11:35:45 | Webskipper | BitPuffin, internal yes. But its different to read for the programmer. |
11:36:09 | BitPuffin | Webskipper: slightly, but nimrod programmers knows about this |
11:36:40 | Webskipper | EXetoC: I respect your view, in my its better to use spaces only |
11:37:28 | * | faassen joined #nimrod |
11:37:43 | BitPuffin | Webskipper: I think it depends. I mean writing sentences with only spaces makes things less readable. And I would suggest that in some cases the same thing applies to programming languages |
11:38:29 | rndbit | spaces do not have impact on readability. 1 tab, 4 spaces - all the same. |
11:38:35 | BitPuffin | Webskipper: it also works the other way, writing. sentences; like - this. Does, not! make? things, more - readable: at (all) |
11:38:51 | Webskipper | BitPuffin: Ok, I have it an contrary oponion about it. Its would be easier for Java / C so programmers too (in my view). |
11:39:05 | BitPuffin | rndbit: well we are not discussing the indentation :) |
11:39:16 | rndbit | oh, sorry then :D |
11:39:45 | BitPuffin | Webskipper: well I was a Java/D/C programmer and didn't find it to be too hard to adjust to |
11:40:05 | Webskipper | BitPuffin: yeah, of course not hard. But not perfect :D |
11:40:38 | EXetoC | rndbit: that's just a convention. most editors allows the tab width to be changed |
11:41:00 | rndbit | yeah, but any reasonable programmer knows using anything but 4 spaces for tab width makes life hard.. |
11:41:29 | rndbit | and regarding adjusting to syntax - i think computers should adjust to people, not the other way around. that includes programming languages |
11:41:46 | rndbit | afterall is it not that computers and programming languages are made to serve people? not the other way around.. |
11:41:47 | Webskipper | yeah |
11:42:05 | Webskipper | 100% agree |
11:42:20 | Webskipper | thats because I like python |
11:42:28 | BitPuffin | Webskipper: of course I had also used ruby and python and javascript so I was possibly a bit more immune |
11:42:38 | BitPuffin | Webskipper: also a little bit of rust which also has the : syntax |
11:42:59 | rndbit | yeah i too love python. mostly for code readability |
11:43:12 | rndbit | javascript gets ugly very fast.. |
11:43:12 | Webskipper | BitPuffin: I am not sure but I believe Scale uses : too |
11:43:16 | Webskipper | Scala |
11:43:23 | EXetoC | brackets would also be easier for java and C programmers. fortunately we aren't taking the Rust route |
11:43:49 | BitPuffin | EXetoC: excellent point my man |
11:43:51 | rndbit | brackets are redundant legacy. programmers indent their code anyway so why not just exploit that |
11:44:03 | Webskipper | EXetoC: I don't agree. I am Java and C programmer and brackets are for computers not for humans. |
11:44:26 | Webskipper | DontRepeatYourself |
11:44:40 | BitPuffin | what does DRY have to do with it? |
11:44:51 | Webskipper | Brackets ? |
11:44:54 | Webskipper | A lot of? |
11:45:06 | BitPuffin | well that's not really repetition |
11:45:17 | BitPuffin | then writing procs would be against DRY |
11:45:30 | BitPuffin | because you'd write the proc keyword more than once |
11:45:39 | Webskipper | ah cmon |
11:45:42 | Webskipper | thats not the same |
11:45:47 | BitPuffin | I think it is |
11:45:49 | BitPuffin | :D |
11:45:50 | Webskipper | lol no :D |
11:46:08 | BitPuffin | yeah I do? |
11:46:11 | Webskipper | big fat proc with many loops if else and so on |
11:46:19 | Webskipper | 1000 brackets one proc statement |
11:47:16 | BitPuffin | I think you have misunderstood DRY. It's more about not writing the same kind of statements over and over again |
11:47:17 | Webskipper | thats why I don't like ruby too. Its like a kiddie language. BEGIN END BEGIN END BEGIN END, hallejulia |
11:48:02 | BitPuffin | sure, but that is not related to DRY |
11:48:03 | Webskipper | k than its keep its simple :D |
11:48:04 | Webskipper | harhar |
11:48:20 | Webskipper | kissss |
11:48:43 | rndbit | i think problem with some languages is that they change too much stuff just in the name of changing things. some of well established stuff works really great, not all needs changing... in ruby change mania seems like got out of hand |
11:48:45 | EXetoC | where do we stop? at "var x, y int" or "var x y int"? |
11:49:54 | BitPuffin | EXetoC: should we also remove the ;? proc(a; b, c int; d string) ? |
11:50:06 | BitPuffin | what should we do instead |
11:50:08 | BitPuffin | two spaces? |
11:50:08 | Webskipper | yeah but the type should be after var: "var int x" |
11:50:20 | CarpNet | http://en.wikipedia.org/wiki/Whitespace_(programming_language) |
11:50:20 | BitPuffin | proc(a b, c int d string) ? |
11:50:33 | Webskipper | proc(int a b c, string d) |
11:50:42 | Webskipper | first the type !? |
11:50:49 | Webskipper | name <type> |
11:50:51 | Webskipper | dont like that |
11:50:54 | Webskipper | <type> name |
11:51:02 | Webskipper | what you think? |
11:51:12 | BitPuffin | I don't think it matters all too much |
11:51:39 | BitPuffin | I kind of like the name: type because it puts clear focus on what is the type and what is the name |
11:51:43 | Webskipper | If you have to programm 8h every day... |
11:52:09 | rndbit | i dont get why people dislike proc(int a, string b), its explicit, no redundant var keyword, readable, no weird symbols like ;.. |
11:52:15 | EXetoC | then you get used to it. the both are pretty much equal for me now |
11:52:30 | BitPuffin | EXetoC: same here |
11:52:36 | Webskipper | you dont need : everyone knows about types. In addition we have somtheing like "type of" for highter data types |
11:52:38 | CarpNet | yeah syntax is really just subjective anyway, i use languages for their features |
11:52:56 | Webskipper | rndbit: I agree |
11:53:18 | rndbit | syntax is not subjective. there is syntax that is readable easier, and syntax that is readable harder. they both may work same way but in the end i think readability is of highest priority |
11:53:25 | rndbit | so how can it be subjective.. |
11:53:28 | * | Associat0r joined #nimrod |
11:53:41 | BitPuffin | well maybe : isn't as good while typing, but I think it becomes more structured when reading while not getting overboard |
11:54:02 | Webskipper | rndbit: for software development processes in the business thats an important arguement too. |
11:54:33 | Webskipper | rndbit: Java EE standard but of course there is a lot of ugly java code out there |
11:54:48 | rndbit | for business maintainability is very important. and ease of maintainability directly depends on code readability |
11:55:10 | EXetoC | it is subjective |
11:55:13 | rndbit | python solves that part of problem rather good by twisting programmer's arm in writing nice code but at the same time not limiting him |
11:55:26 | BitPuffin | EXetoC: yes, what is considered readable is very subjective |
11:55:37 | Webskipper | naah :D |
11:55:39 | EXetoC | people parse code in different ways. there isn't much more to it |
11:56:01 | EXetoC | the best you can do is conduct studies and then find the best middle ground |
11:56:01 | rndbit | academics should come up with some tests and evaluate readability of programming languages |
11:56:12 | rndbit | which one can be read fastest and which one slowest |
11:56:18 | rndbit | would be interesting to see results ^_^ |
11:56:25 | Webskipper | I am sure there are academic projects about it. Its part of "software techniques" |
11:56:49 | BitPuffin | I think indentation makes things more clear about what is part of what |
11:57:00 | BitPuffin | but I am not so sure about space between type and name |
11:57:32 | BitPuffin | separating them somehow makes a clear distinction of what is what |
11:57:56 | EXetoC | that's almost a universal thing though. I wonder if anyone prefers code that is completely flat |
11:57:56 | Webskipper | BTW: https://www.plat-forms.org/ |
11:58:02 | Webskipper | FU Berlin, Germany |
11:58:16 | BitPuffin | instead of remembering which thing is on which part of the space you just know that the name: is the name and what comes after : is the type |
11:58:40 | BitPuffin | EXetoC: I know, I was making a point |
11:59:13 | Webskipper | BitPuffin: but everybody knows int, long, string |
11:59:32 | rndbit | problem i see with proc(a; b, c int; d string) that its not intuitive at all. even if i did program pascal in school a little i have no clue what exactly it all means. i can just guess. proc(int a, string b) is pretty clear though. just types and variable names, no voodoo. intuitive is good. |
11:59:37 | BitPuffin | I mean that indentation has structural meaning, space between type and name does not, it's just an arbitrary order |
11:59:51 | BitPuffin | Webskipper: not beginners |
12:00:01 | BitPuffin | and your eyes :P |
12:00:07 | Webskipper | nimrod is not for beginners ^^ |
12:00:14 | BitPuffin | no I know :P |
12:01:02 | BitPuffin | rndbit: well there is arbitrary order vodoo going on |
12:03:08 | Webskipper | The problem with python is: C extensions, C extensions, C extensions. You need it for fast code and real threading. PyPy is fine but not the best in lot of cases. |
12:03:53 | BitPuffin | the problem with nimrod is library support, and that one we can solve together pretty easily |
12:03:58 | Webskipper | In addition you can use Cython. But everywhere I have to use "cdef". cdef here, cdef there. |
12:04:12 | * | dyu joined #nimrod |
12:04:23 | * | BitPuffin out |
12:04:33 | Webskipper | BitPuffin: what u mean exactly with library support ? |
12:04:47 | BitPuffin | Webskipper: I mean libraries for nimrod |
12:04:56 | EXetoC | proc f[T](a: T, b, c: int, d: string). that's slightly better |
12:04:58 | Webskipper | sure.... and.... |
12:05:20 | Webskipper | you mean the the compatibility with changes to syntax ? |
12:05:32 | BitPuffin | Webskipper: huh? |
12:05:34 | BitPuffin | no |
12:05:37 | EXetoC | it's a tradeoff. most people don't need to care about speed though |
12:05:59 | Webskipper | what about nimrod libraries ? |
12:06:36 | EXetoC | that's what he meant: nimrod libraries; the fact that there aren't very many at this point |
12:06:40 | BitPuffin | Webskipper: no you said what the problem with python was, and I said what I think is the problem with nimrod |
12:06:58 | Webskipper | ah ok |
12:07:05 | BitPuffin | what I don't think is the problem with nimrod is the syntax |
12:07:27 | BitPuffin | EXetoC: proc foo(a, b): auto is also quit a bit nicer :D |
12:07:32 | BitPuffin | quite* |
12:07:44 | * | gour nods |
12:07:52 | Webskipper | wth is auto ? |
12:07:57 | EXetoC | that's not even equivalent, but ok :p |
12:08:16 | BitPuffin | EXetoC: no but it makes errthing explicitly generic :P |
12:08:27 | BitPuffin | but maybe not as clear about what will work |
12:08:29 | EXetoC | Webskipper: "auto* = expr" (from system.nim) |
12:08:46 | BitPuffin | implicitly* |
12:08:49 | EXetoC | expr stands for expression |
12:11:22 | CarpNet | on the topic of nimrod libraries, what's the deal with making additions to existing ones? i had a couple of things i wanted to add to strutils inspired by python and my current needs in a project |
12:11:25 | Webskipper | And what about spaces in front of ':' ? key : value is better than key: value or key :value or key:value. We need dictatorship. |
12:11:34 | CarpNet | namely partition and the addition of maxsplit to split |
12:12:18 | gour | CarpNet: C++ bindings? |
12:12:41 | CarpNet | written from scratch in nimrod |
12:12:46 | CarpNet | very simple |
12:13:06 | EXetoC | I doubt something like strutils would be considered complete at this point, so feel free to submit pull requests |
12:13:15 | Webskipper | I guess "x : int" is allowed like "x: int" ? |
12:13:40 | EXetoC | yes |
12:13:44 | CarpNet | ok cool, i'll submit a pull request |
12:18:41 | * | dyu quit (Disconnected by services) |
12:19:13 | * | dyu_ joined #nimrod |
12:21:49 | * | q66_ joined #nimrod |
12:25:26 | * | q66 quit (Ping timeout: 245 seconds) |
12:35:30 | * | mak3 joined #nimrod |
12:39:43 | * | mak3 quit (Ping timeout: 245 seconds) |
12:41:09 | * | dyu_ quit (Ping timeout: 268 seconds) |
12:42:05 | * | freezerburnv joined #nimrod |
12:43:49 | * | Associ8or joined #nimrod |
12:43:49 | * | Associ8or quit (Changing host) |
12:43:49 | * | Associ8or joined #nimrod |
12:45:54 | * | Associat0r quit (Ping timeout: 252 seconds) |
12:54:03 | * | dyu_ joined #nimrod |
12:58:59 | freezerburnv | Morning all |
12:59:43 | EXetoC | evening |
13:00:45 | EXetoC | Do you think my Nimrod competitor should compile to Nimrod? |
13:06:23 | * | q66_ is now known as q66 |
13:07:26 | * | mak3 joined #nimrod |
13:11:41 | * | mak3 quit (Ping timeout: 245 seconds) |
13:34:18 | * | Associat0r joined #nimrod |
13:34:18 | * | Associat0r quit (Changing host) |
13:34:18 | * | Associat0r joined #nimrod |
13:35:57 | * | Associ8or quit (Ping timeout: 252 seconds) |
13:36:16 | * | OrionPK joined #nimrod |
13:58:28 | * | guaqua` joined #nimrod |
14:00:14 | * | guaqua quit (Ping timeout: 246 seconds) |
14:03:39 | * | guaqua` quit (Remote host closed the connection) |
14:08:20 | * | Ricky_Ricardo quit (Quit: laptop[lid].close) |
14:10:33 | * | Ricky_Ricardo joined #nimrod |
14:10:34 | * | Ricky_Ricardo quit (Client Quit) |
14:11:06 | * | mak3 joined #nimrod |
14:11:42 | BitPuffin | dom96: they didn't read the email :( let's take it to their subreddit! |
14:11:49 | BitPuffin | EXetoC: you are writing a nimrod competitor? |
14:30:59 | * | mak3 left #nimrod ("WeeChat 0.4.2") |
14:37:22 | * | ack006 joined #nimrod |
14:40:23 | * | XAMPP quit (Read error: Connection reset by peer) |
14:40:51 | * | XAMPP joined #nimrod |
14:42:05 | * | ack006 quit (Client Quit) |
14:42:41 | * | ack006 joined #nimrod |
14:43:28 | Webskipper | what a nimrod competitor ? |
14:51:39 | * | mflamer joined #nimrod |
14:51:54 | mflamer | Good morning |
14:53:10 | mflamer | Is it possible to lookup a symbol in a macro? Or, is all macro processing done before symbol lookup |
14:58:17 | mflamer | You on Araq? |
15:05:10 | shevy | hmm he hasn't typed much in a long while |
15:10:08 | mflamer | ok, must be busy. Thanks |
15:10:35 | mflamer | You know anything about macros? |
15:15:12 | * | ack006 quit (Quit: Leaving) |
15:24:08 | * | mflamer quit (Ping timeout: 240 seconds) |
15:32:35 | * | Webskipper quit (Ping timeout: 268 seconds) |
15:34:56 | * | gour quit (Disconnected by services) |
15:35:01 | * | gour_ joined #nimrod |
15:42:45 | * | gour_ is now known as gour |
16:04:42 | EXetoC | BitPuffin: of course |
16:08:11 | * | Webskipper joined #nimrod |
16:11:05 | * | fowl joined #nimrod |
16:29:56 | * | MFlamer joined #nimrod |
16:38:23 | BitPuffin | EXetoC: why? |
16:42:40 | * | filwit joined #nimrod |
16:42:52 | BitPuffin | EXetoC: fix nimrod bugs instead :P |
16:44:05 | MFlamer | EXetoC: What is the motivation for another language? |
16:57:13 | * | shodan45 joined #nimrod |
17:04:34 | filwit | hey dom96, you ever get my message this morning? |
17:04:41 | dom96 | filwit: yes |
17:04:54 | filwit | dom96: okay cool, just checking |
17:05:30 | filwit | dom96: no big deal or anything, just thought it should be changed :) |
17:06:28 | * | dom96 just PM'd you |
17:11:01 | shodan45 | is anyone working on tutorial #2? |
17:11:29 | EXetoC | MFlamer: just learning really |
17:12:50 | dyu_ | btw, rust is abandoning segmented stacks ... in a way, its farther away from go, closer to nimrod |
17:13:05 | * | dyu_ OT |
17:19:41 | * | vidot_j joined #nimrod |
17:21:32 | * | vidot_j quit (Remote host closed the connection) |
17:21:48 | Araq | dyu_: interesting but not unexpectedly |
17:22:40 | * | vidot_j joined #nimrod |
17:23:41 | Araq | hi Webskipper welcome |
17:24:24 | Araq | MFlamer: there is macros.bindSym |
17:25:19 | dyu_ | Araq: the primary reason is stack trashing -> https://docs.google.com/document/d/1wAaf1rYoM4S4gtnPh0zOlGzWtrZFQ5suE8qr2sD8uWQ/pub (golang) |
17:25:44 | dyu_ | and then also FFI (which requires fixed stack segments) |
17:28:35 | filwit | wb, vidot_j |
17:29:24 | dyu_ | filwit: btw, are you really OCD? |
17:29:40 | filwit | dyu_: no |
17:29:51 | dyu_ | oh ok, nvm, I thought i read it somewhere in the logs |
17:29:53 | * | vidot_j quit (Remote host closed the connection) |
17:30:02 | filwit | dyu_: possibly minorly, but not a clinical condition or anything |
17:30:25 | filwit | dyu_: i joke about being OCD cause i nitpick details (i'm an artist, sue me) |
17:30:27 | dyu_ | how do you know that you have it though :-) |
17:30:34 | dyu_ | ah yep |
17:30:47 | dyu_ | you do nitpick a lot, I noticed that |
17:31:01 | filwit | lol, hmm.. well i used to have a friend.. she HAD to check under her bed 7 times when leaving her room |
17:31:06 | filwit | she had real OCD |
17:31:09 | dyu_ | hehe |
17:31:36 | MFlamer | Araq: I tried bindSym but it seems to want a constant for the sym identifier. I want to lookup the value of a var from outside of a macro, while in a macro |
17:31:55 | MFlamer | but maybe that makes no sense. |
17:32:56 | fowl | MFlamer, only compiletime vars and constants can be known at compile time |
17:33:15 | dyu_ | filwit: what was she afraid of under her bed? |
17:33:31 | dyu_ | or was it just for the sake of checking |
17:33:39 | filwit | no she was 18 |
17:33:51 | dyu_ | fear has no age limit |
17:33:52 | filwit | it was an "extreme habbit" |
17:33:53 | dyu_ | hehe |
17:33:59 | filwit | idk |
17:34:07 | filwit | but she had clinical OCD |
17:34:18 | filwit | and she had other things she "had" to do too |
17:34:26 | filwit | can't remember everything exactly |
17:34:45 | filwit | i know a lot of OCD people wash their hands lik 20 times a day and stuff |
17:35:18 | dyu_ | yea, that usually is the prime example of OCD |
17:35:32 | filwit | you have it? |
17:35:36 | dyu_ | nope |
17:35:55 | filwit | curious to know why you where asking if i had it :) |
17:36:05 | MFlamer | how about compiletime global vars? Is there such a thing? |
17:36:07 | dyu_ | i read it in the logs |
17:36:15 | filwit | okay, i see |
17:36:33 | dyu_ | you could probably say i've an OCD on hn... can't seem to not visit that site lol |
17:37:01 | dyu_ | correct word: addiction |
17:37:32 | filwit | MFlamer: const? unless you mean modifiable compile-time global vars |
17:37:42 | filwit | dyu_: never heard of 'hn' |
17:37:47 | dyu_ | hackernews |
17:37:50 | filwit | ahh |
17:38:31 | MFlamer | yes modifiable at compile time, so macros can talk to each other |
17:38:50 | EXetoC | MFlamer: I don't know if this is relevant, but you don't have access to the AST outside of the call site, and by design |
17:38:56 | dyu_ | hours/momentum/focus - hn takes it away :-/ |
17:39:17 | MFlamer | hm...... |
17:39:35 | filwit | EXetoC: technically that's not true, considering term-rewriting macros right? haven't looked into entirely yet |
17:40:05 | fowl | MFlamer, i dunno, test it out |
17:40:08 | * | Webskipper quit (Ping timeout: 240 seconds) |
17:40:13 | filwit | dyu_: lol, yeah i waist a lot of time on the interwebs too |
17:41:11 | dyu_ | well we're tech ppl, I guess its only natural what new tech is available (that we can use!) |
17:41:14 | EXetoC | that's slightly different though, but that seems to be the case |
17:41:14 | * | DAddYE joined #nimrod |
17:41:26 | Araq | EXetoC: that is correct |
17:41:40 | dyu_ | I wouldn't know nimrod if it weren't for hn |
17:41:42 | EXetoC | that might be the last resort for situations like these then, for better or for worse |
17:42:07 | * | Webskipper joined #nimrod |
17:42:13 | MFlamer | Araq: what is correct? |
17:43:04 | * | Webskipper left #nimrod (#nimrod) |
17:43:10 | EXetoC | maybe I can take that approach for my invariant construct |
17:44:05 | MFlamer | EXetoC: waht is your invariant construct? |
17:45:27 | EXetoC | contracts for objects (pre/post conditions) |
17:45:36 | Araq | assert? |
17:46:08 | filwit | assert does not get inherited |
17:46:34 | Araq | you can't simply inherit invariants anyway |
17:46:38 | Araq | that's naive |
17:48:06 | filwit | Nimrod's generics are better anyways |
17:48:34 | filwit | user-defined type classes or whatever they're called |
17:48:47 | EXetoC | possibly, if no run-time polymorphism is needed |
17:48:57 | EXetoC | oh |
17:51:38 | EXetoC | Araq: yes but automatically inserted when a certain pragma is used, though I'm not sure how feasible it'd be to insert post-conditions before each return statement |
17:52:50 | Araq | MFlamer: that the you can't go up in the AST is by design |
17:53:19 | Araq | filwit is also correct in that TR macros can capture a larger part of the AST |
17:53:52 | Araq | and MFlamer you can indeed store ASTs in .compileTime variables |
17:54:07 | Araq | but that's only a last resort |
17:54:35 | * | brson joined #nimrod |
17:55:01 | MFlamer | Araq: Ok thanks, thats important. I was hoping to experiment with some "bolt on" type systrem extensions as libraries using macros. Still not sure if its possible |
17:56:08 | filwit | MFlamer: i believe Araq just it's possible with {.compileTime.}. I'm writing a test to try it. |
17:56:17 | filwit | just said** |
17:56:39 | MFlamer | I tried and it didnt work, but maybe I did it wrong |
17:56:59 | MFlamer | var comp: int {.compileTime.} |
17:57:09 | fowl | pragma goes on the name |
17:57:14 | fowl | comp {.pragma.} |
17:57:25 | MFlamer | yep |
17:57:26 | filwit | var comp {.compileTime.}: int |
17:57:30 | MFlamer | got it |
18:01:25 | EXetoC | I'm guessing that pragmas are evaluated in series, such that having the invariant pragma at the end would be fairly fail-safe, in terms of intended functionality |
18:05:30 | * | dyu_ quit (Quit: night!) |
18:05:38 | Araq | EXetoC: my plans are proc foo(a: int): int {.in: a.isPrime, out: result > 34.} |
18:06:17 | Araq | but it would prove 'in/out' conditions at compile time |
18:06:44 | Araq | unlike a glorified assert |
18:08:24 | EXetoC | always? that's useful |
18:08:37 | EXetoC | seems like a nice approach |
18:08:40 | filwit | how can you prove anything about 'a' at compile time? what if it's a user input? |
18:09:05 | filwit | (besides compile time stuff).. or is this not contracts? |
18:09:50 | filwit | (not that you should have a 'in' contract on a user-input variable..) |
18:10:04 | Araq | filwit: you can prove many things but you can also give up easily ;-) |
18:10:24 | Araq | proc foo(a: int) {.in: a > 0.} |
18:10:34 | Araq | const x = 34 |
18:10:37 | Araq | foo x # valid |
18:10:49 | Araq | var y = parseInt(readline()) |
18:10:54 | Araq | foo y # invalid |
18:11:05 | Araq | if y > 0: foo y # valid |
18:11:26 | filwit | if is a runtime check |
18:11:49 | Araq | in other words the compiler makes you insert an 'if' that ensures the precondition |
18:12:09 | filwit | ahh, okay, so it will does runtime checks |
18:12:16 | Araq | no |
18:12:26 | Araq | it makes YOU perform the runtime check |
18:12:44 | filwit | ah, right right, missed the comments |
18:12:50 | filwit | i see... |
18:13:14 | filwit | that's an interesting approach. |
18:13:37 | Araq | that's how verifying software works |
18:14:04 | filwit | sounds like a lot of semantic analysis though |
18:14:21 | filwit | but if it catches at compile-time, that's nice |
18:14:31 | Araq | we already have the inference engine for it |
18:14:41 | Araq | it's still quite some work of course |
18:26:24 | * | ponce__ joined #nimrod |
18:26:44 | * | ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
18:27:36 | BitPuffin | oh Araq IS alive! good |
18:27:38 | EXetoC | better generics, contracts and possible whitespace-related changes = omgpwniez |
18:27:46 | EXetoC | BitPuffin: so what games do you have in mind? |
18:28:16 | EXetoC | I played 0ad with dom and it was alright. tron was a bit too simplistic though |
18:28:37 | EXetoC | maybe we should make like a tron game but with 3d mechanics some time |
18:28:46 | BitPuffin | EXetoC: Hmm, if we want FPS we could go warsow and xonotic |
18:30:07 | EXetoC | xonotic is nice. there's too much of instagib and jumping though :E |
18:30:21 | BitPuffin | EXetoC: I like warsow |
18:30:29 | BitPuffin | it's got really awesome pacing once you learn it |
18:30:31 | filwit | i play counter-strike every once in awhile |
18:31:00 | filwit | i know dom96 likes urban terror |
18:31:13 | BitPuffin | urban terror is nice yeah |
18:31:27 | dom96 | You guys wanna make a game? |
18:31:37 | EXetoC | filwit: are you any good? I started playing cs in 2000/2001 and I still suck :-) |
18:31:39 | filwit | i have to finish my editor first |
18:32:24 | filwit | EXetoC: lol, it's funny, my favorite game back in the day was CS.. now i get to play it on Linux. I'm okay |
18:33:02 | EXetoC | same. I miss windows even less now |
18:33:30 | EXetoC | I would like to give dayz a go however |
18:33:55 | filwit | hmm, yeah i saw that on Steam |
18:34:22 | filwit | i stopped buy games.. i realized i was just buying humble bundles and never playing anything.. |
18:34:35 | BitPuffin | dom96: what did you have in mind? |
18:35:01 | filwit | i don't play games too much, so when i do there's really only a couple i like to play: CS, Skyrim... |
18:35:32 | filwit | dom96: we should make a game, but i'm more focused on making the game editor right now : |
18:35:35 | * | CarpNet quit (Quit: Leaving) |
18:44:45 | BitPuffin | dom96: doing something together would be a good thing for our CV's because it would show that we can not only make games, but also collaborate on game projects |
18:44:55 | BitPuffin | with other human beings |
18:46:50 | * | Endy joined #nimrod |
18:50:21 | * | gour quit (Read error: Connection reset by peer) |
18:58:54 | * | Varriount quit (Ping timeout: 246 seconds) |
19:07:06 | dom96 | BitPuffin: We should do that. |
19:07:37 | BitPuffin | dom96: and "license" it under CC0 :P |
19:07:38 | dom96 | And in fact, that is the reason why I want Nimrod to grow: so that I can work with other people on cool projects :) |
19:08:16 | Araq | dom96: the real reason of course is to get paid for it :P |
19:08:41 | BitPuffin | Araq is the nimrod pimp |
19:08:57 | BitPuffin | nimrod dealer |
19:09:08 | BitPuffin | first version is free |
19:09:33 | EXetoC | free version for only $5 |
19:09:49 | BitPuffin | EXetoC: but then it's not free, gosh you are so stupid!! |
19:10:39 | reactormonk | BitPuffin, echo("hello world") is free, integers are $1, floats are $1, each module $.5 |
19:10:58 | BitPuffin | reactormonk: micro transaction programming language |
19:11:07 | BitPuffin | Free 2 Code |
19:12:11 | BitPuffin | dom96: anyways what would you wanna make? |
19:12:41 | * | Demos joined #nimrod |
19:14:18 | fowl | ugh sdl2 gfx is so bunk |
19:15:10 | * | Varriount joined #nimrod |
19:15:17 | EXetoC | ? |
19:15:26 | * | orbitz quit (Ping timeout: 245 seconds) |
19:15:36 | BitPuffin | fowl: s/gfx/*/ |
19:16:17 | * | orbitz joined #nimrod |
19:16:24 | dom96 | BitPuffin: no idea lol |
19:16:32 | EXetoC | bf4 clone? |
19:17:13 | dom96 | COD clone |
19:17:19 | * | fredmorcos joined #nimrod |
19:17:34 | BitPuffin | open source cod that doesn't suck? |
19:17:36 | BitPuffin | lol |
19:17:46 | BitPuffin | definitely would make us hireable |
19:17:47 | fowl | alaskan cod..yuym |
19:17:59 | BitPuffin | fowl: hahahaha |
19:18:03 | BitPuffin | best quote ever |
19:18:42 | BitPuffin | oscra |
19:18:47 | BitPuffin | open source cod really awesome |
19:18:50 | BitPuffin | lol |
19:18:57 | BitPuffin | no but serrajosli gäjs |
19:18:58 | OrionPK | i would start with a tetris clone :P |
19:19:09 | OrionPK | work your way up to a basic minecraft clone |
19:19:23 | fowl | lets set up pointers for no reason http://sourceforge.net/p/sdl2gfx/code/HEAD/tree/trunk/SDL2_gfxPrimitives.c#l2628 |
19:19:57 | BitPuffin | fowl: switch to allegro5 already jeeze |
19:20:19 | EXetoC | the assert fails. is this wrong? template optMul{`*`(a, b)}(a, b: int{lit}): int = 42; assert(2 * 7 == 42); |
19:20:26 | fowl | then in polygon() we'll take the retarded array of x points and array of y points and make an array of (X,Y) points (because it would be too much hassle to just accept this from the beginning) http://sourceforge.net/p/sdl2gfx/code/HEAD/tree/trunk/SDL2_gfxPrimitives.c#l2566 |
19:20:40 | BitPuffin | dom96: how about a decentralized procedurally generated multiplayer cod |
19:20:43 | fowl | BitPuffin, you're gross |
19:20:50 | * | [1]Endy joined #nimrod |
19:20:51 | BitPuffin | dom96: so it is infinitely sized |
19:21:30 | BitPuffin | :D |
19:22:01 | * | zahary joined #nimrod |
19:22:03 | BitPuffin | fowl: why |
19:22:05 | BitPuffin | hey zahary |
19:22:25 | zahary | hi |
19:22:29 | BitPuffin | what's up |
19:22:37 | fowl | BitPuffin, allegro is yuck |
19:22:47 | zahary | not much |
19:22:47 | EXetoC | no realistic ideas? ok, what about something *sort of* like dwarf fortress, but with decent graphics |
19:22:48 | BitPuffin | fowl: it's awesome |
19:23:07 | fowl | this -> http://play.treasurearena.com/ in nimrod |
19:23:21 | Araq | EXetoC: it's wrong in that TR macros interact with constant folding |
19:23:47 | Araq | and the compiler is free to perform constant folding before TR transformations |
19:23:48 | * | Endy quit (Ping timeout: 240 seconds) |
19:23:48 | * | [1]Endy is now known as Endy |
19:24:01 | EXetoC | ok |
19:24:35 | Araq | hi zahary people are waiting on your type classes |
19:24:39 | BitPuffin | EXetoC: I think my idea is realistic. We wouldn't need to spend much time world creation, we would have root servers that you initially connect to and announce themselves to the rest of the cluster via that and communicate with the nearest nodes :P |
19:24:52 | MFlamer | yes! we are waiting |
19:25:15 | BitPuffin | zahary: are ints (for example) passed to generics supposed to work now? because i got an error when refactoring linagl |
19:25:20 | BitPuffin | and yes we are waiting :P |
19:25:27 | MFlamer | In the most respectful way......hurry up |
19:25:48 | BitPuffin | and then add ADTs or whatever they are called :P |
19:26:13 | BitPuffin | EXetoC: no but okay I am cray cray |
19:26:15 | zahary | I know, I feel a little embarrassed about this delay too |
19:26:16 | MFlamer | Or, help me figure out how to get it right. Sum types I mean |
19:26:36 | BitPuffin | EXetoC: would be cool though |
19:26:55 | fowl | MFlamer, exampel? |
19:26:57 | BitPuffin | what about COD where you don't have guns |
19:27:00 | BitPuffin | only hugs |
19:27:23 | fowl | first person yoshi's island game |
19:27:29 | MFlamer | fowl: example of Sum types? |
19:27:35 | fowl | yea |
19:27:36 | BitPuffin | http://www.newgrounds.com/portal/view/596816 |
19:27:39 | zahary | BitPuffin, expr[int] params are supposed to work, yes - can you send my your code? |
19:28:43 | EXetoC | BitPuffin: well, you'd have to take care of the advanced stuff obviously! |
19:28:46 | MFlamer | fowl: http://en.wikipedia.org/wiki/Algebraic_data_type thats a pretty good intro |
19:29:05 | dom96 | BitPuffin: EXetoC: Nethack set in space. |
19:29:22 | BitPuffin | zahary: well I undoed the refactoring, but I can quickly add it again if you like |
19:29:38 | fowl | lets make a mario clone except you play as the angry sun and mario is controlled by AI |
19:29:52 | BitPuffin | let's not listen to fowl |
19:30:12 | fowl | lets make a game where BitPuffin is on the screen and your job is to insult him |
19:30:19 | BitPuffin | fowl: :D |
19:30:37 | zahary | BitPuffin. a single proc/type that illustrates the problem would be enough |
19:30:44 | BitPuffin | zahary: okay sure |
19:32:45 | BitPuffin | zahary: type TVector[T, D] = array[0..D-1, T] |
19:33:04 | fowl | remake that michael jackson game where you throw glitter on kids and go HEE-HEEE |
19:33:14 | filwit | LOL |
19:33:23 | BitPuffin | https://gist.github.com/BitPuffin/d47962b2ccf79e262f62 |
19:33:53 | filwit | and lol fowl, just read logs, nice bug catch |
19:34:07 | filwit | with the SDL_gfx i mean |
19:34:07 | fowl | which |
19:34:12 | Araq | MFlamer: Nimrod's case objects are close enough to ADTs |
19:34:24 | zahary | BitPuffin: the problem is that in this declaration, the compiler really expects 'D' to be a type, not a value |
19:34:24 | zahary | you have to use type TVector[T, D: expr[int]] to get what you want |
19:34:25 | MFlamer | zahary: will our type classes handle abstraction over generics (higher kinds) like this " proc foo[T,S,U](x: T[S], f: proc(y: S): U): T[U] = f(x) "? |
19:34:42 | fowl | filwit, its no bug just asinine programming, they are going through dumb lengths to keep API compatibility with the first sdl_gfx |
19:34:58 | filwit | fowl: ahhh, i see |
19:35:10 | zahary | TVector[T; D: expr[int]] to be prices (notice the semicolon) |
19:35:16 | filwit | fowl: you could just.. not.. wrap that lib, lol |
19:35:25 | EXetoC | even though they went through all that trouble to create a new version? oh well |
19:35:36 | filwit | fowl: i mean, are you planning on wrapping SLD2_opengl? |
19:35:39 | fowl | filwit, im going to rewrite it |
19:35:51 | fowl | whats that? |
19:36:10 | filwit | one sec, let me double-check something |
19:36:18 | BitPuffin | zahary: ahhhh |
19:36:20 | BitPuffin | zahary: cool |
19:36:22 | zahary | MFlamer: can you clarify what you mean? The proc signature that you wrote should work, yes |
19:36:25 | filwit | fowl: http://www.libsdl.org/tmp/SDL/include/SDL_opengl.h |
19:36:37 | filwit | fowl: i mean.. it's basically just gl.h |
19:36:51 | BitPuffin | zahary: i'll try it. I guess : expr[TInteger] won't work atm :P |
19:36:59 | fowl | filwit, no but the drawing primitives in the gfx library are useful |
19:37:37 | filwit | fowl: okay, cool. i'm just saying i don't need it or anything (nor do i need SDL_opengl) |
19:37:39 | * | faassen left #nimrod (#nimrod) |
19:38:15 | fowl | using opengl is not special in sdl2 like it was in sdl1 |
19:38:57 | filwit | fowl: well i still have to create a window with the OpenGL flag and grad the context |
19:39:18 | filwit | fowl: i've never used SDL1 really |
19:39:59 | filwit | fowl: and, besides glancing at the code from time to time, this is the first time i've tried using SDL2 |
19:40:42 | filwit | got to go, bbl |
19:40:43 | * | dom96 quit (Quit: Bye.) |
19:40:54 | fowl | cya |
19:41:15 | * | dom96 joined #nimrod |
19:41:16 | Araq | zahary, MFlamer S[T] where both S and T are generic has never been implemented |
19:41:38 | zahary | ah, MFlamer, your question is about something like "template templates" in C++? I don't plan to have a special syntax for them and I think your example should work |
19:42:43 | * | OrionPK quit (Quit: Page closed) |
19:42:48 | MFlamer | zahary: its also called type constructor polymorhism and is a feature they added to Scala as discussed in this paper http://adriaanm.github.io/files/higher.pdf |
19:43:03 | BitPuffin | TVector*[T; D: expr[int]] = array[0..D-1, T] ## T = Type, D = dimension |
19:43:08 | BitPuffin | zahary: that line is still erroring |
19:45:24 | BitPuffin | zahary: error: http://ix.io/8UZ |
19:46:10 | BitPuffin | dom96: hai hai |
19:47:40 | MFlamer | Araq: If you think the object variants are close enough to ADT's then I'll move on. I've been obsessed with them for days and have hundreds of lines of code and several different strategies for implementation, none of which was quite right. But, it's been fun! |
19:48:15 | Araq | MFlamer: your resources are better spent elsewhere. how about fixing some "easy" compiler bugs instead? |
19:48:38 | BitPuffin | yeah |
19:48:48 | BitPuffin | compiler bugs are among the most important things right now |
19:48:58 | BitPuffin | such features can be added in a 1.x release of nimrod |
19:49:31 | Araq | I would do it but it turns out tests/run/tmacros1.nim is a bitch to get to work with the new VM ... *sigh* |
19:49:53 | MFlamer | ok, fair enough. time to get serious. |
19:51:24 | BitPuffin | dom96: okay two new suggestions |
19:51:44 | BitPuffin | dom96: some kind of coop survival thingy game |
19:51:57 | fowl | NAZI GIRLSCOUTS |
19:52:02 | fowl | er |
19:52:02 | BitPuffin | dom96: or some kind of multiplayer stealthy thing, e.g sniper stuffz |
19:52:08 | fowl | ZOMBIE GIRLSCOUTS |
19:52:11 | fowl | ^ |
19:52:25 | BitPuffin | v_v |
19:52:36 | dom96 | BitPuffin: Bacteria simulator. |
19:52:48 | BitPuffin | dom96: gross |
19:52:51 | fowl | build-a-bear simulator |
19:52:55 | BitPuffin | hahaha |
19:53:01 | BitPuffin | yogi bear simulator |
19:53:16 | BitPuffin | euro truck simulator |
19:53:28 | dom96 | I always wanted some sort of game where you were a bacteria |
19:53:35 | BitPuffin | hang on http://www.eurotrucksimulator2.com/ |
19:53:37 | dom96 | and your objective was to kill the organism you're in |
19:53:52 | fowl | you'd have to emulate a whole organism |
19:53:52 | dom96 | simulating a human circulatory system could be fun :P |
19:54:12 | dom96 | I'm sure we could cut corners somewhere. |
19:54:50 | fowl | video game version of the movie South Central or Friday |
19:55:02 | fowl | (with simulated racism) |
19:55:15 | BitPuffin | dom96: sure, but maybe we should stay somewhere in the lines of what's popular. Something that maybe shows larger studios that nimrod is a suitable C++ |
19:55:39 | dom96 | BitPuffin: But that's no fun :( |
19:55:51 | fowl | maybe start with some small things, pong, tetris, pacman |
19:55:51 | BitPuffin | dom96: no I know :( |
19:55:55 | BitPuffin | dom96: but it can be |
19:56:02 | BitPuffin | dom96: I mean it doesn't have to be a COD clone or whatever |
19:56:10 | NimBot | Araq/Nimrod master acafb4e Zahary Karadjov [+0 ±1 -0]: failing test for static params |
19:56:13 | BitPuffin | just something that isn't entirely alien to them |
19:56:16 | dom96 | Maybe we should remake a game we all enjoy? |
19:56:25 | fowl | postal 2?! |
19:56:29 | * | Amrykid quit (Quit: Goodbye!) |
19:56:29 | dom96 | fowl: HAHA |
19:56:30 | BitPuffin | postal 2 would be fun |
19:56:31 | dom96 | fowl: YES |
19:56:42 | BitPuffin | I haven't played it yet actually |
19:56:45 | * | Amrykid joined #nimrod |
19:56:45 | BitPuffin | but I own it on GOG |
19:57:06 | dom96 | Is postal 3 out yet? |
19:57:26 | BitPuffin | apparently? |
19:57:45 | dom96 | whaatt, I missed the release. |
19:57:51 | fowl | yeah it sucked |
19:58:22 | BitPuffin | https://www.youtube.com/watch?v=BbAYDMlG8hQ&list=PL89CD7176ABF24F9C |
19:58:40 | dom96 | I believe I played Postal 2 when I was 7 years old :P |
19:59:02 | BitPuffin | so let's make postal |
19:59:16 | dom96 | A game like Postal is so much work though. |
19:59:37 | BitPuffin | zahary: any ideas? |
20:00:13 | dom96 | Something like Notch's 0x10c would be cool |
20:00:41 | BitPuffin | dom96: procedurally generated postal 2? |
20:00:43 | BitPuffin | lol |
20:00:53 | dom96 | I'm telling you. Sci-fi nethack :P |
20:01:03 | * | Demos quit (Ping timeout: 260 seconds) |
20:01:07 | BitPuffin | sci fi postal |
20:01:40 | zahary | BitPuffin: obviously, there is a bug, but I'll have to look into it later |
20:01:52 | dom96 | if we were to make a clone I would rather clone GTA |
20:01:59 | fowl | i always wanted to write a really offensive RPG.. |
20:01:59 | dom96 | Because driving games are cool |
20:02:12 | BitPuffin | dom96: because that's a much smaller project than postal.. |
20:02:20 | fowl | offensive as in reflects american life |
20:02:27 | fowl | with some folksy racism |
20:02:27 | dom96 | A GTA1 clone would be fairly simple |
20:02:44 | BitPuffin | dom96: but not particularily impressive |
20:03:40 | dom96 | well I have very little experience making games so anything involving 3D screams "HOLY SHIT THIS WILL TAKE US 5+ YEARS" |
20:04:14 | BitPuffin | dom96: I don't think so |
20:04:32 | fowl | game where you are the police and you have to put down protests and free-thinkers |
20:04:40 | fowl | (RTS) |
20:04:59 | BitPuffin | well maybe I should just focus on my personal game project and talk a lot about how it is written in nimrod :P |
20:05:15 | fowl | BitPuffin, im afraid of 3d too. one dimension too many |
20:05:21 | BitPuffin | dom96: I think something that's multiplayer in some way serves an open source project well |
20:05:26 | BitPuffin | fowl: pff |
20:05:27 | BitPuffin | newb :D |
20:05:37 | dom96 | BitPuffin: or we should just make up a list of ideas, assign a number to each and then use random.org to pick one :P |
20:06:00 | fowl | sorry but i dont go to college so im like "what the fucks a matrix? what the fucks a transformation?" |
20:06:20 | dom96 | well, i'm in HS so... same :P |
20:06:38 | BitPuffin | meh, then we'd end up with something that not everyone agrees on and not everyone would want to spend time on |
20:06:44 | BitPuffin | well I learned a lot of that in HS |
20:06:47 | dom96 | BitPuffin: Yeah :( |
20:06:49 | BitPuffin | and I'm not gonna further my study |
20:06:55 | BitPuffin | so excuses = nil |
20:07:14 | dom96 | Well, I was busy working on Aporia/Babel/Nimbuild and Nimrod to learn about 3D :P |
20:07:29 | BitPuffin | dom96: yeah that is fair enough |
20:07:35 | MFlamer | well, it's a perfect excuse to learn some linalg! |
20:07:36 | BitPuffin | doesn't mean you can't learn it now :P |
20:08:14 | dom96 | BitPuffin: It does. There are so many things that I need to do :( |
20:08:21 | dom96 | And school doesn't help. |
20:08:26 | MFlamer | Much more interesting to learn when you have a context like graphics instead of some booring class |
20:08:29 | dom96 | Girls don't help either :P |
20:08:46 | fowl | whats a Girls? |
20:09:04 | dom96 | The females of our species. |
20:09:10 | dom96 | :P |
20:09:28 | BitPuffin | MFlamer: yeah for sure. That's the reason why gamemath.com book was really enjoyable |
20:09:32 | fowl | oh i saw one of those on tv |
20:09:38 | * | freezerburnv quit (Quit: freezerburnv) |
20:12:50 | Araq | dom96: are you working on that 'diff' feature? |
20:13:17 | dom96 | BitPuffin: See what I mean? :P |
20:13:23 | EXetoC | BitPuffin: funny stuff at the top when JS is disabled |
20:13:27 | dom96 | Araq: Have you fixed the corruption yet? |
20:14:18 | Araq | no ... |
20:14:38 | BitPuffin | EXetoC: ? |
20:14:49 | dom96 | hrmmmm. Humble WB Games bundle, tempting. |
20:14:50 | EXetoC | on the page. spam about loans |
20:14:58 | Araq | what if the fix causes new regressions? how will I know without the 'diff' feature? |
20:15:15 | Araq | :P |
20:15:19 | dom96 | Araq: By comparing the test results manually. |
20:15:28 | Araq | that's crazy talk |
20:15:30 | EXetoC | <a title="Insight Into The Payday Loan Process" href="">http://paydayloans10mrvr.com/payday-loan/insight-into-the-payday-loan-process"> lul |
20:15:44 | BitPuffin | dom96: humble wannabe games? |
20:15:54 | EXetoC | warner bros |
20:15:58 | dom96 | BitPuffin: Warner Br-- ^ |
20:16:45 | dom96 | BitPuffin: Think Batman. |
20:17:16 | BitPuffin | I saw it |
20:17:18 | BitPuffin | I bought it |
20:17:21 | BitPuffin | well buying |
20:17:24 | EXetoC | oh I was right |
20:18:11 | Araq | uh oh batman reminds of this: http://www.youtube.com/watch?v=QELRiIeJY1U |
20:18:33 | * | [1]Endy joined #nimrod |
20:19:00 | EXetoC | lol |
20:19:12 | BitPuffin | haha |
20:19:46 | BitPuffin | anyways guys as far as a game projects goes, I am much more comfortable with 3d than 2d |
20:21:21 | dom96 | Let's just make a Minecraft clone and be done with it. |
20:22:30 | dom96 | That would test Nimrod's GC well I think. |
20:22:53 | * | Endy quit (Ping timeout: 272 seconds) |
20:22:53 | * | [1]Endy is now known as Endy |
20:25:01 | BitPuffin | Maybe, but there are more memory intensive styles of games as far as I am concerned |
20:25:14 | BitPuffin | and there are plenty open source minecraft clones |
20:25:36 | dom96 | So what color should we change nimrod to? |
20:25:40 | dom96 | https://github.com/github/linguist/issues/610#issuecomment-27747809 |
20:26:39 | BitPuffin | dom96: was that a joke? |
20:27:08 | dom96 | BitPuffin: no? What makes you think that? |
20:27:36 | BitPuffin | dom96: it sounds like a bikeshed issue |
20:27:36 | * | Jackneill quit (Remote host closed the connection) |
20:27:55 | * | [1]Endy joined #nimrod |
20:27:56 | * | Demos joined #nimrod |
20:28:33 | dom96 | What's the point of these if some languages have the same colours? |
20:29:25 | BitPuffin | dom96: farts |
20:30:16 | dom96 | People will see that colour and probably think "ugh, it's written in LiveScript" when it's in fact written in Nimrod. |
20:30:42 | BitPuffin | dom96: fair point definitely sir |
20:31:07 | * | Endy quit (Ping timeout: 272 seconds) |
20:31:08 | * | [1]Endy is now known as Endy |
20:32:04 | BitPuffin | as soon as zahary fixes this bug I can refactor some more of linagl and add some more matrix procs like rotate, lookAt and also implement the swizzling. Then I will release version 0.2 |
20:32:15 | BitPuffin | and we'll have a fairly usable linear algebra lib |
20:32:21 | BitPuffin | 0.3 will be quaternions |
20:32:44 | MFlamer | cool |
20:32:53 | BitPuffin | 0.4 will be primitives like lines, rays, circles, spheres etc |
20:33:23 | MFlamer | csg....nurbs...B-Rep |
20:33:34 | BitPuffin | not in 0.4 |
20:33:41 | MFlamer | just kidding |
20:33:44 | BitPuffin | but yeah I will add some curve stuff too |
20:33:46 | MFlamer | some day |
20:33:55 | BitPuffin | maybe in 0.5 or 0.6 |
20:33:59 | BitPuffin | something like that |
20:34:49 | Demos | Oo swizzleing |
20:35:02 | Demos | doing that in a nice way would be so cool |
20:35:09 | BitPuffin | Demos: it's already in there |
20:35:23 | Demos | glm's method of doing swizzleing is pretty nasty |
20:35:24 | BitPuffin | Demos: but I'm gonna add the syntax supported with zahary's delegator pragma |
20:35:41 | BitPuffin | so instead of v{"xyzzyzyzy"} you'll be able to do v.xyzzyzyzy |
20:35:45 | Demos | welll swizzleing is easy to "do" I mean the foo.xxyy type deal |
20:35:46 | Demos | yeah |
20:36:03 | BitPuffin | Demos: the first syntax is already in there |
20:37:14 | Demos | the first syntax is not great |
20:37:37 | Demos | anyway get back to me when you are as fast as Eigen :Z |
20:38:07 | Demos | Ima implement a BRDF without thinking about it and see what happens, weeeee |
20:38:39 | BitPuffin | Demos: yes but you can also do v.swizzle("xyzzyzyzy") if you prefer that |
20:39:08 | * | Endy quit (Ping timeout: 240 seconds) |
20:39:18 | BitPuffin | but yeah v.xyzzyzyzy will be implemented very soon and might end up being the only syntax because of the way Araq will yell at me if I don't remove the other one |
20:39:41 | BitPuffin | I'm just wondering if someone is already using linagl for vectors and I'm removing something and breaking their code |
20:40:11 | Araq | BitPuffin: actually I'd prefer v{"xyz"} over v.xyz ;-) |
20:40:20 | BitPuffin | Araq: oh really? why? |
20:40:33 | Araq | but I don't mind v.xyz either |
20:40:54 | Demos | this is such a good oppertunity to show off nimrod's metaprogramming features |
20:41:08 | BitPuffin | Araq: well I guess I'll remove only the swizzle proc then or rather replace it with the . syntaxk |
20:41:28 | BitPuffin | Araq: or actually maybe just have . |
20:41:37 | BitPuffin | because I'm trying to at least stay somewhat close to glsl |
20:41:43 | Araq | I think v{"xyz"} looks cool and I fear v.xyz might bite us |
20:41:45 | BitPuffin | even if you are doing your best to prevent that :P |
20:41:50 | Araq | but we'll see |
20:42:15 | BitPuffin | Araq: it looks pretty decent yeah, but not as nice to type |
20:42:26 | BitPuffin | and .xyz is glsl style |
20:42:50 | BitPuffin | Araq: if it bites us we'll fix it |
20:43:00 | BitPuffin | or zahary will at least :P |
20:43:02 | Araq | v@xyz is another option |
20:43:12 | BitPuffin | barf |
20:43:25 | Demos | honestly v.xyz is glsl and hlsl style, I say we go with that |
20:43:38 | Araq | Demos: ok |
20:44:07 | BitPuffin | BitPuffin | and .xyz is glsl styl |
20:44:09 | fowl | how do you accomplish that |
20:44:13 | BitPuffin | Araq: I don't get an ok? :( |
20:44:18 | BitPuffin | fowl: use the delegator pragma |
20:44:19 | Araq | BitPuffin: ok |
20:44:23 | BitPuffin | Araq: yay |
20:44:25 | fowl | is that new? |
20:44:25 | BitPuffin | ! |
20:44:29 | BitPuffin | fowl: yes |
20:45:16 | BitPuffin | random note yacy sounds like a cool idea but the search results are the worst I have seen ever |
20:46:24 | BitPuffin | Araq: when nimrod becomes 1.0, will the development become more branched so that bugfixes will be backported to older supported versions etc? |
20:46:40 | BitPuffin | or will you just keep it rolling forward hoping that nothing ever breaks |
20:47:05 | Araq | branches are the way to go and we should really use them more already |
20:47:14 | BitPuffin | Araq: yeah that's the way I feel too |
20:47:37 | BitPuffin | anyways I feel like trying to fix a bug today |
20:47:39 | BitPuffin | if I have time |
20:47:42 | BitPuffin | still haven't eaten |
20:47:46 | BitPuffin | it's almost 22:00 |
20:47:48 | BitPuffin | lol |
20:48:01 | BitPuffin | and the dog needs a night walk |
20:48:23 | Araq | every fix should go to a 'dev' branch and only if it passes the test suite should go into 'master' |
20:48:49 | Araq | but then github doesn't support that easily I think |
20:49:51 | BitPuffin | Araq: isn't there like travis.ci or something for that purpose, can't remember what that was for |
20:50:29 | BitPuffin | MFlamer: are you fixing any bug? I just wanna make sure we aren't working on the same one |
20:50:57 | fowl | BitPuffin, travis is for running tests on every commit, yes |
20:51:19 | BitPuffin | fowl: then there we go! |
20:51:24 | Araq | BitPuffin: we have nimbuild for that |
20:51:49 | BitPuffin | Araq: true |
20:51:51 | Araq | but when I write 'commit -am "fixes #23" ' github notices and closes the bug |
20:52:08 | Araq | maybe it doesn that only when I'm on master |
20:52:16 | Araq | *does |
20:52:31 | BitPuffin | Araq: try it |
20:52:47 | BitPuffin | Araq: open a fake bug and commit fixes #FAKEBUGNUM to another branch |
20:52:53 | fowl | doesnt close it, it just references the issue |
20:53:01 | MFlamer | I fixed a couple of my own but dont have any open now |
20:53:23 | MFlamer | Just tell me which one you are working on and I'll pick another |
20:54:54 | MFlamer | #605 was one Araq told me to fix a while ago, so I'll fix it next |
20:55:59 | MFlamer | I'd like #618 to be working, so maybe I'll take that next |
20:56:15 | MFlamer | after 605 I mean |
20:57:09 | BitPuffin | MFlamer: I think I'm targeting #618 |
20:57:44 | MFlamer | kill it! |
20:57:46 | BitPuffin | MFlamer: by the way why are you writing a matrix library, I already have one :D |
20:58:02 | MFlamer | I'm not. |
20:58:18 | MFlamer | what makes you think that? |
20:59:01 | BitPuffin | MFlamer: your bug report contains TMatrix |
20:59:33 | MFlamer | I may have thought about it at first, untill I realized you were working on one. |
20:59:46 | * | fredmorcos quit (Quit: Leaving) |
21:01:19 | MFlamer | But, if you do start to add more geometric stuff like curves and surfaces, I may ask to contribute. I do have a bit of interest and experience there |
21:02:08 | MFlamer | Actually, that code in the bug report is straight out of the manual. |
21:02:28 | Araq | that's called "regression" |
21:03:08 | BitPuffin | MFlamer: we'll see. |
21:03:12 | BitPuffin | MFlamer: I will add it though :P |
21:04:50 | BitPuffin | ONE DAYY |
21:07:36 | BitPuffin | maybe the relevant module is seminst |
21:07:38 | BitPuffin | or semtypes |
21:07:40 | BitPuffin | or types |
21:07:59 | Araq | or worse: sigmatch |
21:08:10 | BitPuffin | oh shit |
21:08:20 | BitPuffin | I'll start with the ones I mentioned :P |
21:11:25 | BitPuffin | Araq: actually sigmatch might even sound like the most likely one |
21:12:31 | BitPuffin | hmm or not |
21:12:31 | BitPuffin | since it is about calls to procs |
21:19:10 | * | Demos quit (Ping timeout: 245 seconds) |
21:21:26 | BitPuffin | Araq: I guess a good place to start would be to compile nimrod with embedded debugger eh? |
21:21:53 | Araq | do that and you're in a world of pain |
21:22:04 | BitPuffin | oh :( |
21:22:11 | BitPuffin | well what about using gdb? |
21:22:25 | Araq | gdb works nicely. I almost never use it |
21:22:55 | Araq | there is 'debug' for introspection of the most important data structures |
21:22:59 | BitPuffin | no of course. You can already visualize the full path the code takes in your head because you know the compiler so well I assume |
21:23:06 | Araq | and there is renderTree |
21:23:31 | Araq | and strategic output placement beats random gdb'ing |
21:25:11 | * | filwit quit (Quit: Leaving) |
21:25:27 | BitPuffin | Araq: debug and renderTree is procs in the compiler? |
21:25:49 | Araq | yes |
21:26:01 | BitPuffin | ah I guess I'll find them somewhere |
21:26:12 | Araq | also you should start with reading ast.nim I guess |
21:26:19 | BitPuffin | oh okay |
21:26:51 | BitPuffin | only 1500 loc :P should be quick! :D |
21:28:19 | BitPuffin | it's a very well documented module at least by first glance |
21:28:24 | BitPuffin | so that's nice |
21:32:50 | Araq | the compiler uses the same AST structure that is exposed for macros, so macro writers become compiler devs automatically ... |
21:33:09 | Araq | for some reason that part of my big plan never worked out though ... :D |
21:33:32 | EXetoC | no? |
21:33:46 | BitPuffin | wtf there is a 128 bit floating point type? |
21:34:05 | BitPuffin | Araq: It's coming :D |
21:34:06 | EXetoC | awesome |
21:34:12 | EXetoC | lack of precision? what's that? |
21:35:38 | BitPuffin | http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer |
21:36:23 | * | OrionPK joined #nimrod |
21:38:29 | * | gour joined #nimrod |
21:39:37 | dom96 | Araq: Have you ever read the UNIX_HATERS Handbook? :P |
21:39:51 | Araq | dom96: no. I wrote it. |
21:39:56 | dom96 | hah |
21:40:48 | * | gradha joined #nimrod |
21:42:37 | EXetoC | Without ever reading it? Rookie mistake |
21:49:30 | * | fredmorcos joined #nimrod |
21:51:19 | BitPuffin | weird, how come there is only nkPar and no nkParExpr |
21:51:42 | gradha | Other than nimforum with jester and aporia, any other big LOC nimrod software out there? |
21:52:25 | BitPuffin | gradha: yeah, nimrod |
21:52:34 | fowl | boom |
21:52:51 | fowl | whats the command line to check LOC |
21:53:02 | Araq | fowl: the compiler tells you |
21:53:26 | MFlamer | gdb is good to get a call stack though. I have found that helpfull |
21:53:37 | Araq | well ok, it counts the stdlib too |
21:54:14 | gradha | nimforum goes up to 30511 LOC |
21:59:56 | fowl | keineschweine gets hung up on endians |
21:59:58 | BitPuffin | hmm paralell for statement :o |
22:06:37 | BitPuffin | using statement? I don't see that in the manual? |
22:06:50 | Araq | it's new |
22:06:53 | BitPuffin | cool! |
22:07:04 | BitPuffin | what's it for? |
22:07:06 | BitPuffin | namespaces? |
22:07:08 | BitPuffin | lol |
22:07:27 | Araq | Delphi/D-like "with" statement |
22:08:18 | fowl | whats that |
22:09:14 | BitPuffin | using a: echo; incr ? |
22:10:12 | OrionPK | example? |
22:10:59 | BitPuffin | It's in the github version of the manual |
22:11:02 | BitPuffin | look it up kids |
22:11:36 | BitPuffin | it's totaly a thing |
22:11:38 | fowl | i bet im older than u |
22:11:41 | fowl | and i know im lazier |
22:11:45 | BitPuffin | fowl: I am 19 |
22:11:52 | fowl | ok kid |
22:11:59 | BitPuffin | do I have to do ERRTHING |
22:12:17 | BitPuffin | https://github.com/Araq/Nimrod/blob/master/doc/manual.txt#L2196 |
22:12:22 | BitPuffin | there you go kids |
22:12:28 | fowl | thanks dad |
22:12:34 | BitPuffin | papa puffin gotcha covered |
22:12:53 | OrionPK | fowl, can you be over 20? |
22:13:02 | fowl | i can |
22:13:38 | fowl | how do you clear the using thing |
22:13:54 | BitPuffin | if fowl > 20: barrackObamaSelfishEditionPrint() |
22:13:58 | OrionPK | araq you implemented javascript with statement? |
22:14:01 | OrionPK | :P |
22:14:13 | EXetoC | fowl: block? |
22:14:32 | BitPuffin | manual probably lacks the indentation |
22:14:37 | OrionPK | (widely reviled by the entire programming world) |
22:14:58 | OrionPK | using statement: should open up a block imo |
22:15:02 | Araq | I didn't to anything, zahary wants the feature and added it |
22:15:05 | fowl | agree |
22:15:15 | Araq | and 'using' shouldn't open a block |
22:15:15 | fowl | with orion |
22:15:27 | Araq | proc p = |
22:15:30 | Araq | using foo |
22:15:38 | Araq | bli bla, blub |
22:15:47 | OrionPK | well, i dont really like it much at all.. but using() and with() open up blocks in other languages |
22:15:49 | Araq | # scope ends here, so 'using' ends |
22:16:05 | OrionPK | I wont be using it heh |
22:16:08 | fowl | ^ |
22:16:20 | fowl | that means u cant call a function that doesnt take foo as the first param? |
22:16:29 | Araq | 'var' and 'let' don't open a block either |
22:16:37 | fowl | or does it try to call a normal function first then fall back to foo.f() |
22:16:58 | Araq | fowl: I think that's the case but I didn't look at the impl/spec |
22:17:51 | OrionPK | well, at least the option to auto open a block would be nice |
22:18:06 | Araq | I think it puts nimrod's disambiguation rules to the breaking point |
22:18:26 | Araq | but we'll see, it's highly experimental |
22:18:29 | dom96 | I must say I agree. I think 'using' should act like 'block' |
22:18:32 | OrionPK | (i dont think it's useful/necessary) |
22:18:49 | BitPuffin | eh? mutable T? ? |
22:19:19 | fowl | yea things should be immutable by default except the special mutable[T] |
22:19:39 | BitPuffin | fowl: not talking about should things here, I am reading the compiler code |
22:19:45 | BitPuffin | there is nkMutable |
22:19:58 | BitPuffin | nkMutableTy, # ``mutable T`` |
22:20:09 | OrionPK | using statement: http://yuiblog.com/blog/2006/04/11/with-statement-considered-harmful/ |
22:20:33 | Araq | BitPuffin: the compiler contains unfinished features :P |
22:20:40 | BitPuffin | zahary: dodge the pitchforks sir |
22:20:53 | BitPuffin | Araq: ah :D but how is that any different than var? |
22:21:36 | Araq | BitPuffin: 'var' is a hidden pointer, mutable is a mode for ptr/ref |
22:22:05 | BitPuffin | Araq: hm, interesting |
22:22:57 | BitPuffin | Araq: so ptr/ref is immutable by default? |
22:23:17 | * | brson quit (Ping timeout: 268 seconds) |
22:23:26 | BitPuffin | in the sense that you can't change the address they are pointing to? or what does it imply |
22:23:49 | Araq | BitPuffin: the thing ptr/ref point to would be immutable |
22:24:20 | zahary | the goal of the using statement is to add support for DSLs that have hidden "context" parameter |
22:24:20 | zahary | package "nimrod": |
22:24:20 | zahary | category "compilers" |
22:24:20 | zahary | homepage "nimrod-code.org" |
22:24:20 | zahary | .. and OOP libraries that behave like more traditional OOP languages |
22:25:55 | BitPuffin | Araq: ah, but is not at the moment? |
22:26:37 | Araq | BitPuffin: no and it won't |
22:27:19 | BitPuffin | Araq: okay, so that should be cleaned up then I assume |
22:28:46 | * | BitPuffin wonders what this ROD file he hears so much about is |
22:29:11 | dom96 | zahary: I'm not sure I get it, how is 'using' used in that example? |
22:29:53 | BitPuffin | Araq: is volatile also some old thing? |
22:30:00 | zahary | 'package' is a template that does something like this: |
22:30:00 | zahary | template package(body: stmt) = using MyCoolPackageDSL; body; |
22:30:56 | gradha | BitPuffin: I think rod files are compiler generated to cache compilation or something |
22:31:12 | dom96 | zahary: I don't think it would hurt to turn that into: using MyCoolPackageDSL: body. Perhaps it would even be a big benefit for people who want to use it outside of DSLs. |
22:31:54 | BitPuffin | gradha: I was assuming it was something like that |
22:32:00 | gradha | BitPuffin: seek the "Compilation cache" section in the nimrodc document |
22:32:50 | BitPuffin | ah windows line endings.. |
22:33:02 | zahary | using looks a bit like `bind` and `mixin`. there isn't much value in introducing blocks that are not related to control flow |
22:34:17 | Araq | I agree with zahary. blocks are for control flow, not scoping |
22:34:27 | zahary | and the more realistic example is actually: |
22:34:35 | Araq | and it's easy enough to do: |
22:34:37 | Araq | block: |
22:34:40 | Araq | using foo |
22:34:42 | Araq | ... |
22:35:36 | BitPuffin | true |
22:35:38 | Araq | you don't ML-styled: let x = foo() in |
22:35:54 | Araq | bar(x) |
22:35:56 | Araq | end |
22:36:00 | Araq | do you? :P |
22:36:51 | BitPuffin | hey what's wrong with ml |
22:37:00 | gradha | and what's wrong with going to bars? |
22:37:21 | BitPuffin | exactly |
22:37:44 | EXetoC | no milk |
22:38:35 | OrionPK | whats wrong with optional block after using? |
22:38:37 | BitPuffin | no music?? |
22:39:08 | BitPuffin | just anger!! |
22:39:15 | * | zahary quit (Ping timeout: 260 seconds) |
22:39:35 | * | brson joined #nimrod |
22:39:40 | BitPuffin | zahary rage timedout |
22:39:48 | EXetoC | OrionPK: what's wrong with block? |
22:40:51 | EXetoC | I might've misread. anyway, nevermind |
22:41:06 | * | zahary joined #nimrod |
22:41:12 | dom96 | Why not allow both 'using' styles? :P |
22:42:10 | zahary | there was power outage, the logs are real-time I guess? |
22:42:31 | Araq | yes but you only missed unfunny jokes |
22:42:53 | * | OrionPK quit (Ping timeout: 250 seconds) |
22:42:53 | * | BitPuffin feels targeted |
22:45:31 | Araq | bbl |
22:46:04 | EXetoC | BitPuffin: warsow 1v1 first to 564 |
22:46:54 | dom96 | EXetoC: Warsow 2v1 |
22:47:05 | EXetoC | ok |
22:47:06 | fowl | block using foo: |
22:47:09 | fowl | #.. |
22:47:12 | fowl | :p |
22:48:36 | BitPuffin | EXetoC: sorry I'm reading ast.nim |
22:48:43 | BitPuffin | which is so much more fun >_< |
22:48:51 | dom96 | This has been irritating me for a while, why can't I specify the type of the exception caught with except statements? |
22:50:08 | * | Associat0r quit (Quit: Associat0r) |
22:56:47 | * | fredmorcos quit (Quit: Leaving) |
22:58:05 | shevy | you are not worthy! |
22:58:28 | * | freezerburnv joined #nimrod |
23:03:45 | * | freezerburnv quit (Quit: freezerburnv) |
23:04:49 | gradha | good night |
23:04:56 | * | gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=n7pXRdkdJxI again) |
23:09:02 | * | freezerburnv joined #nimrod |
23:14:05 | * | OrionPK joined #nimrod |
23:19:15 | * | gour left #nimrod ("WeeChat 0.4.1") |
23:19:32 | * | OrionPK quit (Read error: Connection reset by peer) |
23:20:04 | * | OrionPK joined #nimrod |
23:25:43 | Araq | dom96: no idea what you mean |
23:26:15 | dom96 | s/statements/stand-alone statements/ |
23:26:20 | dom96 | http://build.nimrod-code.org/docs/manual.html#except-and-finally-statements |
23:28:16 | * | shodan45 quit (Quit: Konversation terminated!) |
23:28:22 | Araq | that only exists to be wrapped in some template anyway |
23:29:51 | Araq | but surely we could allow types here; I guess zahary did it for reasons of implementation simplicity |
23:57:59 | * | Amrykid quit (Changing host) |
23:57:59 | * | Amrykid joined #nimrod |