<<23-09-2012>>

00:10:08*XAMPP_ joined #nimrod
00:11:34*XAMPP quit (Ping timeout: 246 seconds)
00:19:39*XAMPP_ quit (Quit: Leaving)
00:20:19*XAMPP joined #nimrod
00:28:32*Trixar_za is now known as Trix[a]r_za
01:51:19*q66 quit (Quit: Quit)
04:47:43*XAMPP quit (Ping timeout: 246 seconds)
05:18:30*silven quit (Ping timeout: 268 seconds)
05:20:03*silven joined #nimrod
06:53:25*comex quit (Read error: Operation timed out)
06:56:07*comex joined #nimrod
09:09:20*zahary joined #nimrod
09:20:08*zahary quit (Quit: Leaving.)
09:20:35*zahary joined #nimrod
10:08:06*Trix[a]r_za is now known as Trixar_za
10:12:28*q66 joined #nimrod
10:20:18*Boscop quit (Disconnected by services)
10:20:20*Boscop joined #nimrod
12:51:51*apriori_ joined #nimrod
13:21:24*Araq is now known as Araq_win
13:22:46Araq_wintoday is release day :-)
13:24:05*dom96 jumps up and down in excitement
13:25:11Araq_winand afterwards we'll move to a branch based model so that people get bugfixes without code breakage
13:26:41apriori_Araq_win: could you elaborate on that
13:26:44apriori_?
13:27:07apriori_you will have 1) stable branch, compatible bugfixes only and 2) breaking next release?
13:27:16Araq_winyes exactly
13:27:22apriori_okay
13:27:41Araq_winwe always tell people to use the github version as the latest stable release is always too old
13:27:44apriori_question is.. will you backport patches?
13:27:52apriori_this is often quite some extra work
13:27:57Araq_winI will backport patches, yes
13:28:03apriori_okay
13:28:23Araq_winit's almost always very easy for me to decide whether it will break code or not
13:28:24dom96Well looks like I will have to add branch support to nimbuild ASAP
13:28:59Araq_winwell it would be nice if nimbuild would at least compile with 0.9.0 :P
13:29:00apriori_Araq_win: with a tigther test suite you can pretty much automate that
13:29:14Araq_winour test suite is not bad
13:29:42Araq_winwe have over 500 tests some of which are quite stressing
13:29:47apriori_didn't really check.. but it was obvious that it didnt catch all (hell, which testsuite does?)
13:30:17apriori_500... well, that's really much
13:30:34Araq_winwell *cough* the tester used to skip a large fraction of the tests and nobody noticed :D
13:30:44Araq_winbut I fixed that
13:31:43apriori_hehe
13:32:14apriori_so one would need a tester for the tester.. for the tester of the tester of the tester :P
13:32:22Araq_winyeah well
13:32:37Araq_winbetter output of the test results would have helped too
13:32:50Araq_winlike absolute numbers instead of %
13:32:54apriori_yeah
13:33:20apriori_bwt, Araq_win, out of curiosity.. may I ask where you work at?
13:33:36Araq_winnah, it's a secret
13:33:41apriori_ok :)
13:42:38Araq_winbut yeah given the amount of features and their interactions, we have not nearly enough tests
13:43:15Araq_winin fact, I only need to look at the compiler's source code to construct an example program that triggers some bug
13:44:07Araq_winbut *shrug* we can't do better with the resources we got
13:44:23apriori_yeah, that's always the problem
13:44:52apriori_not nearly enough people work on the compiler itself
13:46:52Araq_wintrue but constantly changing specs don't help ;-)
13:48:42apriori_yup, indeed
14:04:41dom96zahary: I hear you use Mac OS X. One of my friends tried running https://github.com/dom96/multipaint but got an abnormal termination, any chance you could investigate?
14:08:15apriori_ Araq_win, btw, wouldn it be better if you linearize history using rebase in the nimrod repo, master?
14:08:57Araq_winI don't care ;-)
14:09:00apriori_:P
14:09:29apriori_well, I think, I gonna write a git bisect script now...
14:09:45apriori_since I dont know what change caused my code to no longer compile
14:10:08apriori_some changes with templates, proc = templateInvocation.. the template doesnt see the variable result anymore
14:11:20Araq_winhrm, try {.immediate, dirty.} for the template
14:11:25apriori_I did
14:11:41apriori_hrm
14:12:11apriori_well, anyway.. not wanting to waste your time, Araq_win, I gonne find the commit that caused it
14:12:26Araq_winalright thanks
14:13:22Araq_winbrb
14:20:07dom96hrm.
14:20:22dom96Araq_win: re.`=~` is broken
14:20:48dom96or is it hrm
14:24:54dom96it seems that 'definedInScope(matches)' returns true if there is a field by the name of 'matches'
14:26:35*Araq_win is now known as Araq
14:27:40Araqhrm, is easy to fix
14:28:06dom96good
14:29:45Araqwell ugh, not really
14:29:54dom96lol
14:31:59Araqhrm it should work already
14:32:05*zahary quit (Quit: Leaving.)
14:32:30*zahary joined #nimrod
14:33:55Araqdom96: pegs module has the same =~ and it works
14:34:17dom96Maybe I'm doing something silly then?
14:34:40Araqwhat are you compiling?
14:34:44dom96jester
14:34:59Araqfile, line?
14:35:41dom96jester.nim 232
14:37:21zaharydom96, I tried running multipaint and it fails on the very first newScreenSurface call. my SDL is 1.2.15
14:37:29dom96zahary: yeah
14:37:44dom96zahary: That's exactly what happened for my friend.
14:39:48dom96Any ideas why it happens?
14:41:22zaharynot really. I tried running a SDL sample and it seems to work (there was some visual glitches, but I guess that's another problem)
14:42:11Araqdom96: lookup rules within generics got stricter
14:42:15zaharywell, there is SDL_Init in the sample
14:42:22zaharywhy are you skipping this?
14:42:44Araqand =~ is not invoked in the generic, so it claims 'matches' is not declared
14:43:08dom96zahary: I use 'init(INIT_EVERYTHING)'
14:44:02dom96zahary: Is that the problem?
14:44:06zaharyaha, my bad - missed that
14:45:09dom96Araq: ok. So... can you fix it?
14:45:26Araqwell I'm not sure how
14:45:55Araqyou found another design problem with my new stricter lookup rules in generics ...
14:47:00Araqmaybe I should make the error a warning ...
14:47:19Araqbut then you have no means to shut it up
14:47:35Araqthe planned 'mixin' feature will fix it
14:47:49Araqbut that's been delayed until 0.9.0 is finally out
14:48:52Araqyou can hack around it though:
14:49:13Araqtemplate setMatches(req: expr) = req.matches = matches
14:49:20AraqsetMatches(req)
14:51:57dom96alright
14:56:12apriori_Araq: am I right assuming that the bootstrapping part, using build.sh never changes?
14:56:17apriori_only the koch rebuild phase?
15:03:18Araqit does change
15:03:39Araqfor instance if the compiler gets another module then build.sh will reflect that
15:04:03apriori_ok
15:06:00Araqbtw dom96, your global 'j' variable is really evil :P
15:06:17dom96I know.
15:06:22Araqshould have named it 'gj' at least
15:06:30dom96really?
15:06:36dom96Why?
15:07:18Araqbecause loop vars are often named 'j'
15:07:42Araqand a 'g' prefix for a global var is common in nimrod
15:08:06dom96Well it's not exported so it should be fine, no?
15:08:21Araqyeah
15:08:58Araqexcept that your templates bind it and so clients might see it due to compiler bugs :P
15:09:21Araqwell I don't think the compiler has such a bug
15:10:29dom96lol
15:23:33*zahary1 joined #nimrod
15:24:46*zahary quit (Read error: Operation timed out)
15:40:31*Trixar_za is now known as Trix[a]r_za
15:43:25*Trix[a]r_za is now known as Trixar_za
15:58:36fowldom96: how do i run this
15:58:45dom96fowl: multipaint?
15:58:46fowlit looks like its half ruby half nimrod
15:58:59fowlyea
15:59:04dom96My friend made the server so I'm not sure how to run that :P
15:59:23dom96but hrm, maybe he has a server still running
15:59:25*dom96 asks
16:01:42dom96fowl: ./multipaint gewt.net
16:06:33AraqI have to go, see you later
16:09:39dom96fowl: Well? :P
16:14:31apriori_hrm, how could rev 056a16547d1d50c65c052ff5c2b6facd86531f50 possibly break templates?
16:17:51apriori_http://pastebin.com/T4eDLnGx
16:30:16apriori_yay.. git bisect fooled me ;)
16:41:08*shevy quit (Read error: Operation timed out)
16:48:44fowlsorry
16:49:17fowlmissing a font
16:49:42apriori_grr..
16:49:46apriori_I'm stupid :/
16:50:03apriori_wonder why a template doesnt find a result variable, if its supposed to implement the body of a void function
16:51:06*Araq is now known as Araq_win
16:51:12dom96fowl: It's hard coded in the source code
16:51:20dom96fowl: Change it, or move any font to that path.
16:52:06Araq_winlol, apriori
16:52:19Araq_winapriori_: a void function has no 'result' :D
16:52:49Araq_winis that the only "bug" you encountered?
16:53:05apriori_Araq_win: not quite, one moment, still investigating
16:53:13Araq_winhrm I only have a 64bit gcc installed
16:53:21Araq_winI guess that's the reason it crashes ...
16:53:41fowlError: unhandled exception: invalid float: 1.3484191968232739e+09
16:53:54dom96fowl: You need the latest from git
16:54:25fowlo
16:55:16Araq_winugh providing binaries for windows sucks
16:56:28*shevy joined #nimrod
16:57:35apriori_Araq_win: then try providing non-static binaries for linux distros :)
16:57:58fowlmy lag is pretty bad
16:58:03fowlthis is cool though
16:58:04dom96yeah
16:58:13dom96That's because my friend is erasing a lot...
16:58:20dom96Also it's pretty inefficient :P
16:58:26Araq_winapriori_: that's why I'm not even trying ;-)
16:58:33apriori_hehe, yeah
16:59:05dom96fowl: Try now
17:00:23Araq_winfowl: which GCC did you use on windows?
17:01:01fowli think the one that comes with mingw is 32bit
17:01:05*Trixar_za is now known as Trix[a]r_za
17:01:28Araq_winI got a 64bit one for testing but want to ship a 32bit build
17:03:03apriori_Araq_win: template error messages need some improvement
17:03:12apriori_like, what actual invocation triggered it
17:03:24Araq_win"instantiation from here"
17:03:29fowldom96: why do you create a huge string each loop var line: string = newString(65536) o_O
17:03:38apriori_Araq_win: apparently not available in the rev I'm on
17:03:53Araq_winapriori_: nope, it's been there since forever
17:04:03apriori_then its not working in that case or what not
17:04:09dom96fowl: Dunno.
17:04:12Araq_winthen it's in the same line ;-)
17:04:14dom96Wrote this a long time ago.
17:04:48apriori_oh hell no..
17:04:50apriori_not again..
17:05:05dom96fowl: I'm sure there is a lot of room for optimization.
17:05:18dom96Especially with the server.
17:05:26dom96And UDP isn't really good for this.
17:05:31apriori_Araq_win: funny enough.. later revs picked up an obvious error which earlier didnt
17:05:43apriori_yet another case of that stupid "void function + result body template"
17:06:01Araq_winwell yes when I change something I try to improve the situation ;-)
17:06:12apriori_hehe
17:06:18Araq_winbtw you can now do:
17:06:27Araq_winproc p: int = 23 + 45
17:06:34Araq_winno 'result = ' needed anymore
17:06:43apriori_unfortunately git bisect had serious problems with the non-linear history
17:07:13apriori_so my bisect script even fooled me into believing, any commit after the last merge commit was the root cause
17:07:17Araq_winI don't really care but I noticed that git's there are 2 ways to handle history is insane ...
17:08:05apriori_I even dont quite get it..
17:08:16Araq_winespecially since it seems to use the wrong default
17:08:27Araq_winbut then I didn't want to change the deafult
17:08:35apriori_yes, it does save your whole "decision" graph, you could say.... but only 1 way actually matters when traversing from a start to an end version
17:08:45apriori_so why isn't git bisect able to enumerate these versions?
17:09:07fowlgit is the most unusable 'software' i've ever encountered
17:09:17apriori_fowl: not really
17:09:20Araq_winI'm at constant war with version control ...
17:09:20apriori_its just a bit hard
17:09:28apriori_and svn is way too limited
17:09:40fowlin the future all my projects will be on mercurial
17:09:41Araq_windoesn't matter if svn, git or launchpad's
17:10:07Araq_winwhatever launchpad's name was
17:10:29Araq_winthe python thingie with incredibly versbose and yet not very helpful docs ;-)
17:10:30apriori_Araq_win: one question btw.. do we _really_ need forward declarations?
17:10:44dom96Araq_win: Bazaar :P
17:10:48apriori_I ask because, well.. its somehow ancient, although I get it does improve performance
17:11:02Araq_winwe really need it for templates and macros
17:11:10apriori_but for procs?
17:11:11Araq_winbut not for procs, so I'll support that
17:11:19apriori_ok
17:11:19Araq_winbut it'll be quite some work
17:11:25Araq_winand there are edge cases like:
17:11:26apriori_ok, low priority then
17:11:35Araq_winproc p(x: type(q))
17:11:40Araq_winproc q(x: type(p))
17:11:49Araq_win:P
17:12:12apriori_yeah
17:13:05Araq_winand the resulting grouping of procs ain't bad for the caches ;-)
17:13:25Araq_winbut ultimately a good optimizer should do that
17:14:33Araq_windoes the windows installer really include mingw GCC?
17:18:46apriori_do we have a pow operator?
17:19:06Araq_winthere is math.pow and ^ has been reserved for it
17:19:10apriori_ok
17:19:32apriori_that's also a good case for simple tr macro, btw.
17:20:11apriori_one could simply unroll the pow for ints..that can dramatically improve performance
17:20:24apriori_if exponent is int, I mean
17:20:39Araq_winmaybe but often the same can be accomplished with overloading based on ASTs
17:20:50Araq_winonce that is implemented, of course
17:21:01apriori_okay ;)
17:21:23apriori_I guess that overloading will be faster than the "optimize everything searching for matches via tr macros"
17:21:39Araq_winthat's the plan, yeah
17:21:53Araq_winI'll rewrite the overloading resolution to support AST matching
17:22:06apriori_wow ;)
17:22:07Araq_winand all the other features like overloading of 'var T'
17:23:13apriori_yeah
17:33:44Araq_winI decided that as long as mingw is such an annoying install, I'll ship it with nimrod
17:33:54apriori_indeed, it is
17:34:53apriori_btw, for tr macros I'd like to have {.changesSemantics.} flag.. so those can't be deactivated via flag
17:35:34Araq_win-.-
17:35:37apriori_:P
17:35:38Araq_winwe'll see about that
17:35:55Araq_winoptimizations are always hard to get right ... :P
17:36:01apriori_yes, sure..
17:36:09apriori_but I think there is a distinction needed
17:36:36Araq_winuse overloading based on ASTs for changing semantics
17:36:46apriori_those which only optimaze dont change semantics.. and should be deactivatable (e.g. because every optimisation makes some assumption, e.g. about hardware)
17:37:05apriori_well, yeah.. later ;)
17:38:12Araq_winwell I don't think TR macros are stable already either
17:38:22Araq_winso "later" may apply to them too
17:38:52Araq_windoesn't matter though, I'll spam reddit with Nimrod's awesome TR macro features
17:38:58apriori_:P
17:39:11Araq_winafter all, that's what D does too ... :P
17:39:15apriori_do that.. you deserve respect for that
17:39:32apriori_damn
17:39:37apriori_didnt file the bug I found in them yet :P
17:41:45Araq_winspamming reddit about half implemented feature which mostly works by wishful thinking
17:43:11apriori_well, I can't overly blame them...
17:43:19Araq_winI call it "D-like marketing" :P
17:43:27apriori_unfortunately you need some hype to be successful with a new language
17:44:02apriori_Araq_win: http://pastebin.com/KjjBbNQK
17:44:03fowli think it would be more effective to list nimrod on those wikipedia pages where different languages are compared/listed by feature
17:44:06apriori_anything wrong with that?
17:44:29fowlnobody thinks of reddit as a respectable source for programming news anyways
17:44:50apriori_it should rewrite, shouldn't it?
17:45:44Araq_winyep
17:45:55Araq_winstrange bug
17:46:14apriori_k, ignore.. i Just file it
17:46:20apriori_so it wont get lost
17:46:20Araq_winthanks
17:46:36Araq_winbut hrm
17:46:46Araq_winI think 'int' can never alias 'int' ... :P
17:47:01Araq_winthe analysis is type based, so hrm
17:47:36Araq_winit's pushed by copy on the stack after all
17:48:06apriori_Araq_win: some when using expr instead of int in the macro
17:49:04apriori_*same
17:49:17apriori_but as said.. sry to bother you.. ignore it ;)
17:49:28apriori_if its invalid, one can close it later
17:49:36Araq_winit doesn't matter if it's "expr" in the template or "int"
17:49:45Araq_wintestVar is of type 'int' ...
17:49:52apriori_yeah, I know
17:50:10apriori_but how is aliasing defined here then?
17:50:31Araq_winand before you ask, it'll likely do the same for "string" as I wrote the analysis with a very narrow use case in mind
17:51:04Araq_winwhich however does what you really need, I hope
17:51:14Araq_winand yeah it needs to be specified properly
17:51:28apriori_okay
18:13:42*XAMPP joined #nimrod
18:22:43Araq_winhrm mingw is 70MB now ...
18:25:46Araq_wingcc: error: CreateProcess: No such file or directory
18:25:49Araq_win-.-
18:34:21*Araq_win wonders how much work it would be to merge minw's installer with nimrod's
19:11:32apriori_any reason why that shouldnt work?: http://pastebin.com/C7pcadSm
19:11:40apriori_I mean only the case, nothing else
19:13:59*Araq_win is now known as Araq
19:14:43Araqyes, the compiler is correct
19:14:49apriori_ah
19:15:02Araqwithin a macro's body 'i' has the type PNimNode
19:15:06apriori_well, it wasnt obvious to me, that in the macro i is a pnimnode
19:15:16apriori_yeah, so I guess using intVal is the way
19:15:30Araqyeah and I guess the docs do not mention it
19:15:34Araqit's rather new ...
19:15:42apriori_no problem
19:16:36apriori_same goes for expr etc.. I wondere how to convert those to PNimnode.. but they already are of that type :)
19:16:38apriori_*wondered
19:18:14fowlo cool you did the docgen thing
19:18:23fowlthanks Araq
19:19:16Araqnp, was easy ;-)
19:33:49apriori_and yet another issue :(: http://pastebin.com/ET9X8ZNb
19:33:58apriori_why should "intVal" be a field?
19:39:09Araqthat's not the problem
19:39:19Araqthe problem is that 'times' is not a literal
19:39:24apriori_yeah
19:40:03Araqwell it used to internalError or crash, so it's an improvement :P
19:41:04apriori_so how could I get the value behind that symbol?
19:41:39Araqdunno I guess the API is missing
19:42:23Araqbut your example can't work
19:42:47Araq'exponent' has no literal that could be looked up
19:42:58apriori_so only literals are allowed?
19:43:03Araqyes
19:43:05apriori_ok, then I definetly need tr macros
19:43:08Araqyes
19:43:16apriori_okay then
19:43:43apriori_hrm
19:44:06apriori_question is.. whether a tr macro would be able to catch non-literal, compile-time constant vars..
19:44:18apriori_well. I gonna see how far I get ..
19:44:37Araqapriori_: yes it should
19:44:45AraqI implemented that
19:44:48apriori_k
19:44:55apriori_then let me stress test that ;)
19:45:08Araqbtw store these tests somewhere
19:45:17apriori_yeah, I will
19:45:22AraqI'd like to add them to the test suite
19:45:28apriori_yeah, why not
20:06:42dom96huh, that's weird.
20:06:50dom96Why is Github behind?
20:07:09AraqI only did 'push --tags'
20:07:34Araqmaybe I need to do 'push master origin' for github?
20:08:02Araqremind me to make a backup of the website the next time btw
20:08:15AraqI'm updating without any backups ...
20:09:10dom96Araq: Yeah, do push master origin too
20:10:01dom96lol.
20:10:16dom96That's a bug in NimBot ;)
20:10:30Araqnah it's a feature
20:11:10Araqso does nimbuild compile again?
20:12:14dom96...no
20:12:35dom96sorry
20:12:39dom96I don't have time.
20:12:43Araqnp
20:13:18Araqwe need the tester to test jester and nimbuild and all the other stuff that's out there
20:13:46Araqit should have a list of URLs to checkout and try to compile
20:14:36dom96If only github fixed linguist we could just pull out a list of Nimrod repos on github and voila.
20:19:57apriori_Araq: and more bugs with tr macro :).. compiler rejecting some keywords as constraints
20:20:01apriori_e.g. const or proc
20:20:11Araquse `proc`
20:20:20Araqno bug :P
20:20:33apriori_ok, what about const?
20:20:41Araq`const`?
20:20:46apriori_invalid expression
20:20:54apriori_oh well
20:20:56apriori_wait sec
20:22:28Araqbrb have to build and upload the windows installer
20:22:40apriori_k
20:22:45Araqsomebody please test the .zip
20:22:48apriori_good luck :P
20:23:16*dom96 should create a AUR package for 0.9.0 ;)
20:23:28apriori_that shouldnt take long
20:23:34dom96yeah
20:37:30*Araq is now known as Araq_win
20:38:03Araq_winso anybody please tell me the damn .zip still works
20:39:02*dom96 will test it for you now
20:39:22Araq_winand fix it if it doesn't because its your fault anyway :P
20:39:37dom96huh?
20:39:38*Araq_win never touches niminst anymore
20:39:51Araq_winposix shell scripts are fragile
20:39:56dom96I see :P
20:44:19apriori_what limitations do tr macros have? because doesn't seem to allow returning anything (via return)
20:46:00dom96Araq_win: It works.
20:49:39*Araq_win is now known as Araq
20:50:11Araqyay :D
20:50:13Araquploading the windows installer
20:50:46Araqand you set the topic already
20:50:50Araqexcellent
20:51:08dom96:)
20:55:28Araqand done
21:02:24dom96Soooo many changes :)
21:02:33AraqI made a summary :P
21:12:18apriori_asking again.. tr macros dont allow the "return" statement?
21:12:46apriori_I need that of course to tests for a more detailed constraint and emit an expr depending on that
21:12:52Araqthey do, but matching against it is tricky
21:13:02Araqbetter match against 'result = expr'
21:13:05apriori_nhah, I meant something like this:
21:13:54apriori_http://pastebin.com/BW8cuj5V
21:16:13Araqyou can't 'return 0' here
21:16:26Araqyou need to construct an int literal with a 0
21:17:31apriori_and what about line 28, with the error?
21:17:42Araqthe compiler is correct
21:17:55apriori_I dont always the compiler isnt correct ;)
21:17:58apriori_it just shows I don
21:18:09apriori_I don't get how tr macros are supposed to work there
21:18:17apriori_examples only include "direct" rewrites..
21:18:39Araqwell if you need procedural rewriting, use a macro, not a template
21:19:01Araqproblem is that the template needs to produce an 'expr'
21:19:10apriori_when using that I had "could not evaluate" or something
21:19:16apriori_wait a sec
21:19:24Araqno need
21:19:30Araqyou can't evaluate 'cast'
21:19:42Araquse 'toInt(ceiled)' instead
21:19:44apriori_actually it only complained about `*`
21:19:45apriori_ok
21:20:19Araqb: expr{lit|`const`} # --> expr{lit} should do
21:20:25apriori_http://pastebin.com/j9yG3GYb
21:20:27zahary1apriori_, I don't why keeps forgetting to mention it, but you can get the equivalent of int{const} by using expr{int} with the current compiler
21:20:57apriori_ah, ok
21:21:00Araqnot in a TR macro
21:21:02zahary1it's likely to become int{lit} in the future
21:21:20Araqexpr{int} means something different in a TR macro ...
21:21:45Araqer
21:21:46apriori_any expression that is an int.. no limitation on const or something
21:21:49apriori_or isnt it?
21:22:06Araqzahary1 could be right
21:22:18Araqwell expr{int} makes no sense really
21:22:23apriori_Araq: my attempt with lit|`const` was.. literal vs. only const variable
21:22:25Araqit's the same as 'int'
21:22:44Araqapriori_: I know but 'lit' supports named constants
21:22:48apriori_ok
21:23:22apriori_return getAst(unfoldExprOperator(a, `*`, bInt))whats wrong now about:
21:23:29apriori_never really used getAst.. so there for sure is something wrong
21:23:34zahary1personally, I find static the least confusing variant. int{static}
21:24:12Araqbut 'static' means enforced CTE
21:24:31Araqthere is a subtle difference between 'const' and 'static' ...
21:24:40zahary1wouldn
21:25:05zahary1woudn't int{lit} try to evaluate implicitly? (line expr{int} now)
21:25:08zahary1like *
21:25:42Araqyeah but you can have:
21:26:01Araq (echo "x"; 13)
21:26:16Araqexpr{static} --> executes 'echo' at compile time
21:26:24Araqexpr{lit} --> shouldn't match
21:26:52Araqit's not implemented properly yet however
21:27:16Araqon the other hand, I don't know if we really need it
21:28:07zahary1aha, if there are 3-levels (side effects, implicit CTFE, literals), then maybe const is the most appropriate for middle one
21:30:22*zahary1 is now known as zahary
21:30:49AraqI like 'lit' ;-)
21:31:39apriori_I think there would others also confusing lit with literal only :)
21:31:47apriori_but well. if it gets documented, its just fine
21:32:09apriori_actually.. given the tiny pitfalls I ran in, I could also just improve the docs on that.
21:32:52Araqhell ya
21:35:18AraqI don't think there is something confusing about it
21:35:33*Trix[a]r_za is now known as Trixar_za
21:35:40Araqit's growing into a DWIM (do what I mean) feature
21:35:56zaharybtw, is there a TR constraint that requires analysis that's performed after DirectOp? why aren't we adding the same support in sigmatch already?
21:36:35Araqbecause I wanted to get 0.9.0 out finally?
21:36:58Araqand I want to do it properly
21:37:03Araqand rewrite sigmatch
21:37:57zaharyI want to change the way overloads are scored, but what's else is there to rewrite?
21:38:10AraqsemOpAux needs to become lazy
21:38:36Araqand I want the code to do: * construct the list of overloads
21:38:48Araq* match all possible procs in parallel
21:39:03Araq* perform a better check for ambiguous calls
21:39:17AraqC++-like where the most specific overload gets chosen
21:39:56Araq"in parallel" does not mean threading here
21:40:09zaharyI see, don't forget about the return type overloading btw - it's interleaved with the mechanics there
21:40:50Araqhrm
21:40:59Araqalright
21:41:12Araqplus the 'auto' return type I guess
21:41:23zaharyyep
21:41:37Araqand it will do less copyTree calls ;-)
21:43:08zaharylet me tell you what I want to change about the scoring - I want to add a set of matched type classes (or more generally "perks/traits"). if the set of some candidate is strictly a superset of some other, it gets picked
21:43:25AraqC++ style?
21:43:43Araqer, you mean subset, right?
21:44:10zaharyyou pick the superset - the one that have everything like the other plus something else
21:44:37Araqbut seq[seq[T]] matches better than seq[T] for seq[seq[T]]
21:45:22Araqanyway, feel free to implement the new sigmatch, but before that we need branch support for nimbuild
21:45:35AraqI will work on the effects system instead then
21:46:18zaharyyes, there are some transform that are applied to generic signatures:
21:46:19zaharyproc [T](seq[seq[T]]) becomes proc (T: seq and T.Item == seq and T.Item.Item == T) - so you get 3 "perks" here
21:47:27Araqoh and we'd like auto deref for ptr/ref
21:47:37Araqand proxy support
21:47:55Araqwill be a hell of a patch :D
21:48:24Araqdom96: can you hear us? we NEED branch support for nimbuild!
21:49:21dom96Araq: Sure, tell my teachers to stop giving me so much homework and I will have it done. :P
21:49:47Araqwell I will help you getting nimbuild to compile
21:53:59apriori_Araq: well, it seems the macro doesn't like ceil..
21:54:08apriori_I guess because its not marked as having no side effects
21:54:22Araqit's imported from math.h I guess
21:54:45Araqit can't evaluate an importc
21:54:51Araqunfortunately
21:54:55apriori_yeah, ok
21:55:59apriori_yeah, anyway.. that's definetly not the most important task right now
21:56:05apriori_continuing with matrices/vectors
21:56:28apriori_in which I still dont know.. whether I should allow strange indices for their components
21:58:25Araqthe current compiler doesn't really give you a choice, does it?
21:58:38apriori_yup, it doesn't..
21:59:07apriori_currently I transform the index range of a dim to [0..n-1] and use that as a offset into the respective index type
21:59:39Araqsounds good to me
22:00:51Trixar_zaWait
22:00:57Trixar_zaYou released 0.9.0?
22:01:15*dom96 nods
22:01:36Trixar_zaInteresting timing
22:01:36Trixar_za:P
22:01:50dom96oh?
22:02:35Trixar_zaYeah, I've stopped slacking off on my dev status on SliTaz
22:02:56Trixar_zaI was just about to write a build receipt to add nimrod :P
22:03:06Trixar_zaSo the timing couldn't have been better
22:03:11dom96:D
22:14:05dom96https://aur.archlinux.org/packages.php?ID=26701 :)
22:16:56Araqcool
22:17:20fowlreading a book on vm design
22:18:16fowlgoing to write a programming language where the instructions are input by drawing snow-capped mountains
22:20:58Araqgood night everyone
22:21:00fowlalso the bytecode will be represented as paralogical metaphors
22:21:08apriori_bye
22:21:09fowlnight
22:21:49dom96I'm going to sleep too. bye.
22:22:35apriori_same here..
22:22:37apriori_its about time
22:22:39apriori_bye
22:22:48*apriori_ quit (Quit: Konversation terminated!)
22:30:30*q66 quit (Quit: Quit)
23:18:03Trixar_zaWell, nimrod is added. Let's hope it's compiles on the build server
23:18:04Trixar_za:P
23:32:00*XAMPP quit (Quit: Leaving)
23:48:05*XAMPP joined #nimrod