<< 08-06-2014 >>

00:06:25*Demos_ joined #nimrod
00:06:52*Demos quit (Ping timeout: 245 seconds)
00:09:51*vendethiel quit (Quit: q+)
00:11:43flaviuRust has a great name :(
00:12:31flaviuThe 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:48springbokThe 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:10flaviuWhere can we contact Knuth then?
00:20:35flaviuLol, send him a physical letter
00:21:39springbokStaford, one would assume...
00:21:50springboks/Staford/Stanford/
00:21:59flaviuYes, but he has a secratery
00:22:26flaviuAnd what mail doesn't get past his secretary, he only reads once every few months.
00:27:28dom96Well at least our name has more than one letter :P
00:27:33dom96'night
01:06:47*shevy quit (Ping timeout: 276 seconds)
01:14:19flaviuI 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:39flaviuHmm, vm is significantly less horrible to read than I remember it being. Maybe I'm turning into Araq :O
02:44:49Varriountflaviu: Well, don't forget to comment and document.
02:45:17flaviuVarriount: I'll be sure to do that, but I realized that some information is missing
02:45:27Varriountflaviu: Oh?
02:45:34flaviuI'm also not sure that Araq'll be a fan of my ACII art
02:45:43flaviuYes, the current registers
02:51:17*q66 quit (Quit: Leaving)
02:59:34fowlinteresting that i can do `using x; echo(+2)` :D
02:59:47fowler var x = 1; using x; echo(+2)
03:02:30*Varriount still doesn't approve of the 'using' statement
03:02:48fowli dont like it either
03:02:55fowli think it should behave like c#'s IDisposable
03:03:03Varriount?
03:03:36fowlwould be a typeclass that ensures some way to manually destroy something at the end of a scope
03:03:51VarriountAh
03:04:00fowl(and it would open a new scope)
03:04:09VarriountAnyway, have you seen flaviu's proposal for scoped import statements?
03:04:16fowlyea
03:04:16Varriountflaviu: ^
03:04:27Varriountfowl: What do you think of it?
03:05:03flaviufowl: finally?
03:05:18flaviuIts a standalone stament
03:05:32flaviuhttp://build.nimrod-lang.org/docs/manual.html#except-and-finally-statements
03:05:59fowlVarriount, i hate it, because flaviu just linked me to the manual and i hate all his ideas now
03:06:06Varriount:O
03:06:33flaviuHaha, although my scoped import wouldn't help you in this case
03:06:59fowlflaviu, IDisposable would require you to implement close(t) or destroy(t)
03:07:25Varriountfowl: Macrosssss
03:07:37flaviuI know, but the finally statement might be a workaround in the meantime
03:07:48fowlthus, you dont have to write finally: obj.dispose, just using x = 42:
03:08:05VarriountAnyway, really, what do you think about flaviu's scoped imports idea?
03:08:06fowlVarriount, but using is already taken, so i need a new name :<
03:08:10flaviuAre finalizers unacceptable in this case?
03:08:41flaviuEven a template would work for your usecase
03:08:57Varriountfowl: You could *overload* using. After all, it's just an AST node.
03:09:41fowlisnt it a keyword
03:10:07Varriountfowl: So? A macro gets the entire AST
03:10:13flaviufowl: Yes, but so is `and`
03:10:36Varriountflaviu: For what it's worth, I think your scoped imports idea is the most feasible solution to name collision problems
03:11:14VarriountAt least, logically feasible. I can only imagine how it would be implemented.
03:11:57fowlVarriount, it doesnt work
03:12:53flaviufowl: How about usng?
03:12:57*def-_ joined #nimrod
03:13:07VarriountIs 'with' taken?
03:13:08flaviuAlthough I personally don't really like that name
03:13:32flaviuVarriount: Yes
03:15:36fowlwould you guys use a COBOL syntax for nimrod? :D
03:15:44VarriountNo.
03:16:20*def- quit (Ping timeout: 252 seconds)
03:16:25fowlVarriount, re scoped import, sounds useful
03:16:44Varriountflaviu: What is 'with' used for again? It's probably something obvious, I just can't remember.
03:17:40fowl`with`,`where`,`who` and `what` are reserved
03:17:50flaviuwho?
03:17:56fowljk about the last two
03:18:48flaviuVarriount: Scanned the manual, with doesn't seem to be used
03:20:06flaviu"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:06flaviu¯\_(ツ)_/¯
03:20:28flaviuI assume that `with` is included with `without`there
03:20:35Varriountfowl: What about 'use'?
03:21:29flaviuI 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:46fowlheh
03:37:48fowl`abuse`
03:39:07fowlmaybe i should implement semistatic templates for maybe[t] so i can inline explicit things
03:39:42Varriountfowl: Can you get zahary to finish them? He's as bad as Araq for documenting things.
03:40:02fowlsemitstatic is in the manual
03:40:55VarriountThat doesn't mean that it's the most stable feature.
03:41:47fowlthat 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:59Demos_can we get static first....
03:58:15Varriount^ My point
04:05:11Demos_scoped imports would be super rad
04:05:46Demos_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:58VarriountDemos_: The question is what needs to be done to implement them.
04:06:27Demos_yeah
04:07:07Demos_first step is looking at how the parser deals with import.
04:07:39VarriountOh yeah, I forgot, there's a summer of code thing going on, done by a university/college
04:08:46fowlit works for me
04:08:57Varriountfowl: What works for you?
04:10:10fowlhttps://gist.github.com/fowlmouth/28cf465fb62bc407c364
04:10:15fowlstatic[t]
04:10:20Varriountdom96, 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:50Varriountfowl: Remeber that thing I said about compilers and corner cases?
04:11:12fowli cant read your thoughts Varriount, i can only skim them
04:11:39Varriountfowl: https://github.com/Araq/Nimrod/search?q=static&ref=cmdform&type=Issues
04:12:24VarriountBetter url: https://github.com/Araq/Nimrod/search?q=static&ref=cmdform&state=open&type=Issues
04:12:33fowlthe static type parameter is different than template's static
04:13:38fowl"static" is used 3 ways, lol
04:13:52*bjz joined #nimrod
04:20:51VarriountDemos_: 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:46Demos_fowl: static[T] "works" but overload resolution is screwed up, expect universe bending bugs
04:22:09Demos_Varriount: sweet, I think I may take it up.
04:22:31VarriountDemos_: Again, it's a preliminary guess.
04:22:57Demos_yeah, well it would give me a reason to read the parser, I have really only delved into sigmatch
04:23:01VarriountIt looks like the top level scope isn't unique in and of itself in anyway, it's just handled differently.
04:23:41VarriountThe 'unused symbol' checking mechanism will also have to be modified.
04:25:38Demos_Varriount: unless the unused symbol stuff just gets info from the module data structure
04:25:54VarriountimportTable*: PScope # scope for all imported symbols
04:27:10Demos_what about seperate compilation....
04:27:39VarriountHm?
04:27:52Demos_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:16VarriountDemos_: 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:07fowlboom cuh https://gist.github.com/fowlmouth/8cc9ee26bcf509b5fea5
05:34:19*zahary joined #nimrod
05:41:51fowlit 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:10fowlok it works
06:28:13fowl:>
07:34:56*Simn joined #nimrod
07:36:33AraqVarriount 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:13Araqrename 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:36fowlhttps://gist.github.com/fowlmouth/8cc9ee26bcf509b5fea5#file-gistfile1-nim-L145 good night :)
09:38:51Araq"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:00EXetoCstrong 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:59Varriount|MobileAraq: 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:40AraqVarriount: 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:51flaviu1Araq: 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:09EXetoCgreat
15:16:17*comex quit (*.net *.split)
15:16:34*comex joined #nimrod
15:18:11Araqflaviu1: no, I don't know every single library there is for nimrod :-)
15:18:31flaviu1Fair enough, but that one is very high quality
15:18:38Araqin fact, I know very little about what's out there
15:21:12Araqflaviu1: proc local imports emphasize the wrong attitude to develop software
15:22:14Araqit's like crack for people who love the private vs protected vs package visibility of C#
15:22:16*hoverbear joined #nimrod
15:23:11Araqthese people however tend to be the kind of people that get nothing done ... :P
15:25:38flaviu1I don't know, I managed to get things done. You really end up just using boolean conditions, public or private
15:26:52flaviu1Is there a way to lisprepr a PNode in the compiler?
15:27:18Araqthere is only debug and renderTree
16:00:43*Trustable joined #nimrod
16:07:42flaviu1What timezone is Varriount in?
16:15:50Araqhi Trustable welcome
16:16:10flaviu1Varriount: I'm not sure what to document since the error is self explanatory, or where to document it.
16:16:36TrustableHi
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:57EXetoCif we do get rid of the prefixes, will we get another single-statement version of PFoo(...)?
16:58:24AraqI plan to support (ref Foo)(...)
17:00:09EXetoCI tried (ref Foo(...)) before, but your syntax seems to work
17:08:16EXetoCand once again I'm able to omit fields, but I think that was reported
17:11:15EXetoCcan'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:45fowlflaviu1, have you seen this https://gist.github.com/fowlmouth/8cc9ee26bcf509b5fea5#file-gistfile1-nim-L145
18:09:27flaviu1Wow, awesome!
18:09:47AraqEXetoC: omitting fields was always possible and should be possible
18:09:59Araqwhat you mean are not nil fields, these need to be set
18:13:07flaviu1fowl: I wonder what the reception would if you posted it to reddit :P
18:14:40fowlflaviu1, it needs work, it would probably not work if the module you import imports other modules from the repo
18:18:03EXetoCAraq: I was mistaken then, but I think it seems like a good idea to enforce that
18:18:13EXetoCand then you can omit some things by providing ctor procs
18:18:32Araqmeh, I don't like it
18:19:29EXetoCfair enough
18:21:30flaviu1Araq: Comment on https://github.com/Araq/Nimrod/pull/1253 if get time
18:43:36Varriountflaviu1: I'm in the Eastern Time zone (It's 2:43pm here)
18:43:57Araqflaviu1: why would I be interested in register contents?
18:44:25flaviu1Maybe a register is of the wrong type?
18:44:34flaviu1I guess I can just output the register type
18:48:07Araqwell I don't want this patch.
18:48:46flaviu1Fair enough, I'll put the diff in a gist then since its useful for debugging.
18:48:59Araqfor whom? not me ...
18:49:32Araq9 out of 10 VM bugs are VM code generation issues
18:50:06AraqI output what the codegen produced
18:53:07fowlwhere 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:26Demosfowl: that is /really/ cool
19:32:33Demosyou should write a blog post about it
19:44:55flaviu1Araq: Zah actually deleted that accidentally while refactoring, but it didn't show up until I rebuilt the docs
19:57:59Araqflaviu1: ok, add it back please
19:58:10flaviu1done
20:00:27NimBotAraq/Nimrod devel 3db3c0e flaviut [+0 ±1 -0]: Generalize accent parsing
20:00:27NimBotAraq/Nimrod devel 7b1b3cb flaviut [+0 ±1 -0]: More descriptive error message in semtypes enum
20:00:27NimBotAraq/Nimrod devel 20cb567 flaviut [+0 ±2 -0]: Fix accents in enums
20:00:27NimBotAraq/Nimrod devel 7a9bcf4 flaviut [+0 ±1 -0]: Clean up code
20:00:27NimBot5 more commits.
20:05:51*Jehan_ joined #nimrod
20:15:52*brson joined #nimrod
20:16:08fowlDemos, i dont write gud
20:17:27Demosit can be more or less all code, this is a good example of something that almost no other languages can do
20:24:45fowlid rather write a blog post generator than generate one myself
20:24:50fowl:<
20:52:13Araqflaviu1: your patch breaks the tester on windows and these:
20:52:25Araqtemplate/ttempl3.nim (reSuccess -> reNimrodcCrash)
20:52:26Araqtemplate/ttempl5.nim (reSuccess -> reNimrodcCrash)
20:52:28Araqsystem/toString.nim (reSuccess -> reNimrodcCrash)
20:57:42*Johz joined #nimrod
20:57:46EXetoCfowl: don't wanna generate a generator?
21:02:42*brson quit (Ping timeout: 245 seconds)
21:18:53flaviu1Sorry, I see how to fix it though
21:30:14fowlid 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:48EXetoCfowl: what about a generator generator generator?
22:26:55*Matthias247 quit (Read error: Connection reset by peer)
22:35:44fowli'm gonna generate that
22:35:58flaviu1You 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:57Mat3hello
23:21:36EXetoCyo
23:22:16Mat3hi EXetoC
23:37:17*Mat3 left #nimrod (#nimrod)
23:46:06flaviu1Travis 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)