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) |