| 00:06:25 | * | Demos_ joined #nimrod |
| 00:06:52 | * | Demos quit (Ping timeout: 245 seconds) |
| 00:09:51 | * | vendethiel quit (Quit: q+) |
| 00:11:43 | flaviu | Rust has a great name :( |
| 00:12:31 | flaviu | The libraries can be called anything vaguely industrual, there aren't many easy names to go with Nimrod |
| 00:16:26 | * | Varriount|Mobile quit (Remote host closed the connection) |
| 00:16:41 | * | Varriount|Mobile joined #nimrod |
| 00:18:48 | springbok | The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language. - Donald Knuth |
| 00:19:10 | flaviu | Where can we contact Knuth then? |
| 00:20:35 | flaviu | Lol, send him a physical letter |
| 00:21:39 | springbok | Staford, one would assume... |
| 00:21:50 | springbok | s/Staford/Stanford/ |
| 00:21:59 | flaviu | Yes, but he has a secratery |
| 00:22:26 | flaviu | And what mail doesn't get past his secretary, he only reads once every few months. |
| 00:27:28 | dom96 | Well at least our name has more than one letter :P |
| 00:27:33 | dom96 | 'night |
| 01:06:47 | * | shevy quit (Ping timeout: 276 seconds) |
| 01:14:19 | flaviu | I don't think there are any cases where two levels of indentation can happen at once, right? |
| 01:24:47 | * | Varriount|Mobile quit (Read error: Connection reset by peer) |
| 01:27:35 | * | bjz quit (Ping timeout: 276 seconds) |
| 01:39:48 | * | bjz joined #nimrod |
| 01:53:39 | flaviu | Hmm, vm is significantly less horrible to read than I remember it being. Maybe I'm turning into Araq :O |
| 02:44:49 | Varriount | flaviu: Well, don't forget to comment and document. |
| 02:45:17 | flaviu | Varriount: I'll be sure to do that, but I realized that some information is missing |
| 02:45:27 | Varriount | flaviu: Oh? |
| 02:45:34 | flaviu | I'm also not sure that Araq'll be a fan of my ACII art |
| 02:45:43 | flaviu | Yes, the current registers |
| 02:51:17 | * | q66 quit (Quit: Leaving) |
| 02:59:34 | fowl | interesting that i can do `using x; echo(+2)` :D |
| 02:59:47 | fowl | er var x = 1; using x; echo(+2) |
| 03:02:30 | * | Varriount still doesn't approve of the 'using' statement |
| 03:02:48 | fowl | i dont like it either |
| 03:02:55 | fowl | i think it should behave like c#'s IDisposable |
| 03:03:03 | Varriount | ? |
| 03:03:36 | fowl | would be a typeclass that ensures some way to manually destroy something at the end of a scope |
| 03:03:51 | Varriount | Ah |
| 03:04:00 | fowl | (and it would open a new scope) |
| 03:04:09 | Varriount | Anyway, have you seen flaviu's proposal for scoped import statements? |
| 03:04:16 | fowl | yea |
| 03:04:16 | Varriount | flaviu: ^ |
| 03:04:27 | Varriount | fowl: What do you think of it? |
| 03:05:03 | flaviu | fowl: finally? |
| 03:05:18 | flaviu | Its a standalone stament |
| 03:05:32 | flaviu | http://build.nimrod-lang.org/docs/manual.html#except-and-finally-statements |
| 03:05:59 | fowl | Varriount, i hate it, because flaviu just linked me to the manual and i hate all his ideas now |
| 03:06:06 | Varriount | :O |
| 03:06:33 | flaviu | Haha, although my scoped import wouldn't help you in this case |
| 03:06:59 | fowl | flaviu, IDisposable would require you to implement close(t) or destroy(t) |
| 03:07:25 | Varriount | fowl: Macrosssss |
| 03:07:37 | flaviu | I know, but the finally statement might be a workaround in the meantime |
| 03:07:48 | fowl | thus, you dont have to write finally: obj.dispose, just using x = 42: |
| 03:08:05 | Varriount | Anyway, really, what do you think about flaviu's scoped imports idea? |
| 03:08:06 | fowl | Varriount, but using is already taken, so i need a new name :< |
| 03:08:10 | flaviu | Are finalizers unacceptable in this case? |
| 03:08:41 | flaviu | Even a template would work for your usecase |
| 03:08:57 | Varriount | fowl: You could *overload* using. After all, it's just an AST node. |
| 03:09:41 | fowl | isnt it a keyword |
| 03:10:07 | Varriount | fowl: So? A macro gets the entire AST |
| 03:10:13 | flaviu | fowl: Yes, but so is `and` |
| 03:10:36 | Varriount | flaviu: For what it's worth, I think your scoped imports idea is the most feasible solution to name collision problems |
| 03:11:14 | Varriount | At least, logically feasible. I can only imagine how it would be implemented. |
| 03:11:57 | fowl | Varriount, it doesnt work |
| 03:12:53 | flaviu | fowl: How about usng? |
| 03:12:57 | * | def-_ joined #nimrod |
| 03:13:07 | Varriount | Is 'with' taken? |
| 03:13:08 | flaviu | Although I personally don't really like that name |
| 03:13:32 | flaviu | Varriount: Yes |
| 03:15:36 | fowl | would you guys use a COBOL syntax for nimrod? :D |
| 03:15:44 | Varriount | No. |
| 03:16:20 | * | def- quit (Ping timeout: 252 seconds) |
| 03:16:25 | fowl | Varriount, re scoped import, sounds useful |
| 03:16:44 | Varriount | flaviu: What is 'with' used for again? It's probably something obvious, I just can't remember. |
| 03:17:40 | fowl | `with`,`where`,`who` and `what` are reserved |
| 03:17:50 | flaviu | who? |
| 03:17:56 | fowl | jk about the last two |
| 03:18:48 | flaviu | Varriount: Scanned the manual, with doesn't seem to be used |
| 03:20:06 | flaviu | "Araq: we can get rid of 'atomic' and 'lambda', but 'out' and 'without' are too useful and will be used eventually as keywords" |
| 03:20:06 | flaviu | ¯\_(ツ)_/¯ |
| 03:20:28 | flaviu | I assume that `with` is included with `without`there |
| 03:20:35 | Varriount | fowl: What about 'use'? |
| 03:21:29 | flaviu | I actually wanted scoped imports to create s-expressions, but now I realize that a macro might be better for that. |
| 03:30:32 | * | flaviu quit (Ping timeout: 240 seconds) |
| 03:32:48 | * | reactormonk_ joined #nimrod |
| 03:37:46 | fowl | heh |
| 03:37:48 | fowl | `abuse` |
| 03:39:07 | fowl | maybe i should implement semistatic templates for maybe[t] so i can inline explicit things |
| 03:39:42 | Varriount | fowl: Can you get zahary to finish them? He's as bad as Araq for documenting things. |
| 03:40:02 | fowl | semitstatic is in the manual |
| 03:40:55 | Varriount | That doesn't mean that it's the most stable feature. |
| 03:41:47 | fowl | that doesnt mean i can't try |
| 03:50:38 | * | saml_ quit (Quit: Leaving) |
| 03:53:55 | * | flaviu1 joined #nimrod |
| 03:55:47 | * | bjz quit (Ping timeout: 276 seconds) |
| 03:57:59 | Demos_ | can we get static first.... |
| 03:58:15 | Varriount | ^ My point |
| 04:05:11 | Demos_ | scoped imports would be super rad |
| 04:05:46 | Demos_ | although I would understand an argument from the "lets not start screwing with the module system since it is a rabbit hole" department |
| 04:05:58 | Varriount | Demos_: The question is what needs to be done to implement them. |
| 04:06:27 | Demos_ | yeah |
| 04:07:07 | Demos_ | first step is looking at how the parser deals with import. |
| 04:07:39 | Varriount | Oh yeah, I forgot, there's a summer of code thing going on, done by a university/college |
| 04:08:46 | fowl | it works for me |
| 04:08:57 | Varriount | fowl: What works for you? |
| 04:10:10 | fowl | https://gist.github.com/fowlmouth/28cf465fb62bc407c364 |
| 04:10:15 | fowl | static[t] |
| 04:10:20 | Varriount | dom96, Araq: Here's a second chance for a summer of code type thing: http://osswatch.jiscinvolve.org/wp/2014/05/23/vals-semester-of-code-foss-projects-wanted/ |
| 04:10:50 | Varriount | fowl: Remeber that thing I said about compilers and corner cases? |
| 04:11:12 | fowl | i cant read your thoughts Varriount, i can only skim them |
| 04:11:39 | Varriount | fowl: https://github.com/Araq/Nimrod/search?q=static&ref=cmdform&type=Issues |
| 04:12:24 | Varriount | Better url: https://github.com/Araq/Nimrod/search?q=static&ref=cmdform&state=open&type=Issues |
| 04:12:33 | fowl | the static type parameter is different than template's static |
| 04:13:38 | fowl | "static" is used 3 ways, lol |
| 04:13:52 | * | bjz joined #nimrod |
| 04:20:51 | Varriount | Demos_: A preliminary look at the compiler code leads me to believe that scoped imports might be implementable by someone other than Araq or Zahary |
| 04:21:46 | Demos_ | fowl: static[T] "works" but overload resolution is screwed up, expect universe bending bugs |
| 04:22:09 | Demos_ | Varriount: sweet, I think I may take it up. |
| 04:22:31 | Varriount | Demos_: Again, it's a preliminary guess. |
| 04:22:57 | Demos_ | yeah, well it would give me a reason to read the parser, I have really only delved into sigmatch |
| 04:23:01 | Varriount | It looks like the top level scope isn't unique in and of itself in anyway, it's just handled differently. |
| 04:23:41 | Varriount | The 'unused symbol' checking mechanism will also have to be modified. |
| 04:25:38 | Demos_ | Varriount: unless the unused symbol stuff just gets info from the module data structure |
| 04:25:54 | Varriount | importTable*: PScope # scope for all imported symbols |
| 04:27:10 | Demos_ | what about seperate compilation.... |
| 04:27:39 | Varriount | Hm? |
| 04:27:52 | Demos_ | I mean it would not break it (well it is already broken but lets pretend :D) but it would not make it faster unless we thought about function level compilation |
| 04:30:16 | Varriount | Demos_: You'd have to ask Araq, I've very little knowledge about the import cache mechanisms |
| 04:31:55 | * | Varriount|Mobile joined #nimrod |
| 04:32:06 | * | Varriount|Mobile quit (Remote host closed the connection) |
| 04:32:22 | * | Varriount|Mobile joined #nimrod |
| 04:32:22 | * | Varriount-Mobile joined #nimrod |
| 04:33:09 | * | Varriount|Mobile quit (Client Quit) |
| 04:33:09 | * | Varriount-Mobile quit (Client Quit) |
| 04:33:32 | * | Varriount|Mobile joined #nimrod |
| 04:41:16 | * | shodan45 quit (Quit: Konversation terminated!) |
| 04:52:39 | * | Jesin quit (Quit: Leaving) |
| 04:57:59 | * | flaviu1 quit (Ping timeout: 240 seconds) |
| 05:27:11 | * | _archer____ joined #nimrod |
| 05:33:52 | * | zahary quit (Quit: Leaving.) |
| 05:34:07 | fowl | boom cuh https://gist.github.com/fowlmouth/8cc9ee26bcf509b5fea5 |
| 05:34:19 | * | zahary joined #nimrod |
| 05:41:51 | fowl | it doesnt actually work yet, i need to make it handle /user/repo/dir/modulename and `as` |
| 05:43:40 | * | _archer____ quit () |
| 05:43:50 | * | blank_na_ joined #nimrod |
| 05:44:32 | * | blank_na_ quit (Client Quit) |
| 05:44:39 | * | Demos_ quit (Read error: Connection reset by peer) |
| 05:44:43 | * | _blank_ joined #nimrod |
| 06:00:04 | * | _blank_ quit () |
| 06:22:11 | * | hoverbear quit () |
| 06:27:10 | fowl | ok it works |
| 06:28:13 | fowl | :> |
| 07:34:56 | * | Simn joined #nimrod |
| 07:36:33 | Araq | Varriount an additional pass over every defined type might be more expensive that you think and passes over types suck; you need some cycle check to do it properly, what's wrong with using the existing mechanism anway? |
| 07:38:13 | Araq | rename it to computeSizeAndPerformChecks and call it a day |
| 07:45:59 | * | bjz_ joined #nimrod |
| 07:48:32 | * | bjz quit (Ping timeout: 245 seconds) |
| 07:59:54 | * | ehaliewicz quit (Read error: Connection reset by peer) |
| 08:16:35 | * | vendethiel joined #nimrod |
| 09:06:53 | * | io2 joined #nimrod |
| 09:12:36 | fowl | https://gist.github.com/fowlmouth/8cc9ee26bcf509b5fea5#file-gistfile1-nim-L145 good night :) |
| 09:38:51 | Araq | "This module is dedicated to Marijuana. I love you." ... er ... |
| 09:42:56 | * | BitPuffin quit (Ping timeout: 260 seconds) |
| 09:46:49 | * | kunev joined #nimrod |
| 09:51:00 | EXetoC | strong feelings |
| 09:54:28 | * | vendethiel quit (Quit: q+) |
| 10:08:54 | * | vendethiel joined #nimrod |
| 10:11:13 | * | ndrei quit (Remote host closed the connection) |
| 11:31:45 | * | brihat left #nimrod (#nimrod) |
| 12:01:45 | * | kunev quit (Quit: leaving) |
| 12:11:14 | * | q66 joined #nimrod |
| 12:11:14 | * | q66 quit (Changing host) |
| 12:11:14 | * | q66 joined #nimrod |
| 12:17:05 | * | untitaker quit (Ping timeout: 252 seconds) |
| 12:22:42 | * | untitaker joined #nimrod |
| 12:24:46 | * | Matthias247 joined #nimrod |
| 12:54:24 | * | darkf quit (Quit: Leaving) |
| 12:55:38 | * | Varriount|Mobile quit (Remote host closed the connection) |
| 12:55:55 | * | Varriount|Mobile joined #nimrod |
| 13:25:07 | * | vendethiel quit (Quit: q+) |
| 13:33:47 | * | ehaliewicz joined #nimrod |
| 13:47:59 | Varriount|Mobile | Araq: How would flaviu's scoped imports idea be implemented? |
| 13:52:17 | * | vendethiel joined #nimrod |
| 13:52:25 | * | vendethiel quit (Client Quit) |
| 13:55:13 | * | Varriount-Mobile joined #nimrod |
| 13:58:56 | * | Varriount|Mobile quit (Ping timeout: 240 seconds) |
| 14:09:30 | * | Varriount-Mobile quit (Ping timeout: 240 seconds) |
| 14:35:40 | Araq | Varriount: I don't know and I don't like the feature either |
| 14:38:20 | * | ehaliewicz quit (Remote host closed the connection) |
| 14:38:35 | * | ehaliewicz joined #nimrod |
| 14:43:22 | * | bjz_ quit (Read error: Connection reset by peer) |
| 14:44:09 | * | flaviu1 joined #nimrod |
| 14:44:31 | * | bjz joined #nimrod |
| 15:01:51 | flaviu1 | Araq: Have you seen this library: https://bitbucket.org/lyro/strfmt/src/76664ccd9422e42e112d6139c18bde2aecf6d3cb/strfmt.nim?at=default ? |
| 15:05:30 | * | vendethiel joined #nimrod |
| 15:06:51 | * | ehaliewicz quit (Ping timeout: 252 seconds) |
| 15:07:09 | EXetoC | great |
| 15:16:17 | * | comex quit (*.net *.split) |
| 15:16:34 | * | comex joined #nimrod |
| 15:18:11 | Araq | flaviu1: no, I don't know every single library there is for nimrod :-) |
| 15:18:31 | flaviu1 | Fair enough, but that one is very high quality |
| 15:18:38 | Araq | in fact, I know very little about what's out there |
| 15:21:12 | Araq | flaviu1: proc local imports emphasize the wrong attitude to develop software |
| 15:22:14 | Araq | it's like crack for people who love the private vs protected vs package visibility of C# |
| 15:22:16 | * | hoverbear joined #nimrod |
| 15:23:11 | Araq | these people however tend to be the kind of people that get nothing done ... :P |
| 15:25:38 | flaviu1 | I don't know, I managed to get things done. You really end up just using boolean conditions, public or private |
| 15:26:52 | flaviu1 | Is there a way to lisprepr a PNode in the compiler? |
| 15:27:18 | Araq | there is only debug and renderTree |
| 16:00:43 | * | Trustable joined #nimrod |
| 16:07:42 | flaviu1 | What timezone is Varriount in? |
| 16:15:50 | Araq | hi Trustable welcome |
| 16:16:10 | flaviu1 | Varriount: I'm not sure what to document since the error is self explanatory, or where to document it. |
| 16:16:36 | Trustable | Hi |
| 16:28:32 | * | flaviu1 quit (Ping timeout: 265 seconds) |
| 16:42:08 | * | bjz quit (Ping timeout: 240 seconds) |
| 16:47:54 | * | kunev joined #nimrod |
| 16:57:57 | EXetoC | if we do get rid of the prefixes, will we get another single-statement version of PFoo(...)? |
| 16:58:24 | Araq | I plan to support (ref Foo)(...) |
| 17:00:09 | EXetoC | I tried (ref Foo(...)) before, but your syntax seems to work |
| 17:08:16 | EXetoC | and once again I'm able to omit fields, but I think that was reported |
| 17:11:15 | EXetoC | can't find it. perhaps you just said it was a known issue |
| 17:32:06 | * | flaviu1 joined #nimrod |
| 17:55:11 | * | BitPuffin joined #nimrod |
| 18:06:45 | fowl | flaviu1, have you seen this https://gist.github.com/fowlmouth/8cc9ee26bcf509b5fea5#file-gistfile1-nim-L145 |
| 18:09:27 | flaviu1 | Wow, awesome! |
| 18:09:47 | Araq | EXetoC: omitting fields was always possible and should be possible |
| 18:09:59 | Araq | what you mean are not nil fields, these need to be set |
| 18:13:07 | flaviu1 | fowl: I wonder what the reception would if you posted it to reddit :P |
| 18:14:40 | fowl | flaviu1, it needs work, it would probably not work if the module you import imports other modules from the repo |
| 18:18:03 | EXetoC | Araq: I was mistaken then, but I think it seems like a good idea to enforce that |
| 18:18:13 | EXetoC | and then you can omit some things by providing ctor procs |
| 18:18:32 | Araq | meh, I don't like it |
| 18:19:29 | EXetoC | fair enough |
| 18:21:30 | flaviu1 | Araq: Comment on https://github.com/Araq/Nimrod/pull/1253 if get time |
| 18:43:36 | Varriount | flaviu1: I'm in the Eastern Time zone (It's 2:43pm here) |
| 18:43:57 | Araq | flaviu1: why would I be interested in register contents? |
| 18:44:25 | flaviu1 | Maybe a register is of the wrong type? |
| 18:44:34 | flaviu1 | I guess I can just output the register type |
| 18:48:07 | Araq | well I don't want this patch. |
| 18:48:46 | flaviu1 | Fair enough, I'll put the diff in a gist then since its useful for debugging. |
| 18:48:59 | Araq | for whom? not me ... |
| 18:49:32 | Araq | 9 out of 10 VM bugs are VM code generation issues |
| 18:50:06 | Araq | I output what the codegen produced |
| 18:53:07 | fowl | where is that benchmark for table-based exceptions v setjmp/longjmp v manually checking return values? |
| 19:07:29 | * | kunev quit (Quit: leaving) |
| 19:17:44 | * | vendethiel quit (Ping timeout: 240 seconds) |
| 19:19:15 | * | Demos joined #nimrod |
| 19:25:32 | * | vendethiel joined #nimrod |
| 19:31:12 | * | Trustable quit (Quit: Leaving) |
| 19:32:26 | Demos | fowl: that is /really/ cool |
| 19:32:33 | Demos | you should write a blog post about it |
| 19:44:55 | flaviu1 | Araq: Zah actually deleted that accidentally while refactoring, but it didn't show up until I rebuilt the docs |
| 19:57:59 | Araq | flaviu1: ok, add it back please |
| 19:58:10 | flaviu1 | done |
| 20:00:27 | NimBot | Araq/Nimrod devel 3db3c0e flaviut [+0 ±1 -0]: Generalize accent parsing |
| 20:00:27 | NimBot | Araq/Nimrod devel 7b1b3cb flaviut [+0 ±1 -0]: More descriptive error message in semtypes enum |
| 20:00:27 | NimBot | Araq/Nimrod devel 20cb567 flaviut [+0 ±2 -0]: Fix accents in enums |
| 20:00:27 | NimBot | Araq/Nimrod devel 7a9bcf4 flaviut [+0 ±1 -0]: Clean up code |
| 20:00:27 | NimBot | 5 more commits. |
| 20:05:51 | * | Jehan_ joined #nimrod |
| 20:15:52 | * | brson joined #nimrod |
| 20:16:08 | fowl | Demos, i dont write gud |
| 20:17:27 | Demos | it can be more or less all code, this is a good example of something that almost no other languages can do |
| 20:24:45 | fowl | id rather write a blog post generator than generate one myself |
| 20:24:50 | fowl | :< |
| 20:52:13 | Araq | flaviu1: your patch breaks the tester on windows and these: |
| 20:52:25 | Araq | template/ttempl3.nim (reSuccess -> reNimrodcCrash) |
| 20:52:26 | Araq | template/ttempl5.nim (reSuccess -> reNimrodcCrash) |
| 20:52:28 | Araq | system/toString.nim (reSuccess -> reNimrodcCrash) |
| 20:57:42 | * | Johz joined #nimrod |
| 20:57:46 | EXetoC | fowl: don't wanna generate a generator? |
| 21:02:42 | * | brson quit (Ping timeout: 245 seconds) |
| 21:18:53 | flaviu1 | Sorry, I see how to fix it though |
| 21:30:14 | fowl | id rather generate a generator generator than generate a generator |
| 21:36:38 | * | Johz quit (Ping timeout: 240 seconds) |
| 21:37:25 | * | Jesin joined #nimrod |
| 21:46:48 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |
| 22:04:57 | * | Jehan_ quit (Quit: Leaving) |
| 22:07:17 | * | _blank_ joined #nimrod |
| 22:09:00 | * | _blank_ quit (Client Quit) |
| 22:16:48 | EXetoC | fowl: what about a generator generator generator? |
| 22:26:55 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 22:35:44 | fowl | i'm gonna generate that |
| 22:35:58 | flaviu1 | You better have a factory to do that with |
| 22:42:51 | * | brson joined #nimrod |
| 23:12:35 | * | vendethiel quit (Quit: q+) |
| 23:13:27 | * | darkf joined #nimrod |
| 23:20:36 | * | Mat3 joined #nimrod |
| 23:20:57 | Mat3 | hello |
| 23:21:36 | EXetoC | yo |
| 23:22:16 | Mat3 | hi EXetoC |
| 23:37:17 | * | Mat3 left #nimrod (#nimrod) |
| 23:46:06 | flaviu1 | Travis CI supports osx and linux, and also does PR builds. Only x64 unfortunately, and it doesn't support windows yet |
| 23:50:16 | * | Anna_Jokela joined #nimrod |
| 23:50:31 | * | Simn quit (Quit: Leaving) |