00:09:38 | * | oxful_ quit (Ping timeout: 240 seconds) |
00:12:51 | * | oxful_ joined #nimrod |
00:23:23 | njoejoe | nimrod doesn't figure out int types? var a: array[0..1,int32]; a = ["str".len,"str2".len] i need to: a = [int32("str".len),int32("str2".len)] |
00:24:08 | EXetoC | only for the first element |
00:24:18 | EXetoC | or maybe that's for literals only |
00:25:08 | njoejoe | oh yea, only first needed it. still kind of annoying :-) |
00:33:52 | * | Demos quit (Read error: Connection reset by peer) |
00:34:41 | njoejoe | my code is blowing up with int32()'s. i don't understand, if i say var a:int32 why everytime that i assign an int to it do i have to coerce it. |
00:36:06 | EXetoC | int is either 32 or 64 bits, and narrowing operations cannot be implicit |
00:37:37 | njoejoe | is there a way i can tell my module that i want int to be 32 bits? because it is defaulting to 64 and i don't want that for this module. |
00:39:30 | EXetoC | no |
00:40:08 | * | Jesin joined #nimrod |
00:44:04 | EXetoC | need to care about sizes? |
00:46:44 | njoejoe | yes, everything needs to be 32bits, writing bunch of offset pointers to disk and need to be 32 bits each otherwise size of file explodes |
00:55:04 | * | q66 quit (Quit: Leaving) |
01:03:06 | fowl | use int32 then |
01:06:53 | * | Johz quit (Quit: Leaving) |
01:12:40 | * | DAddYE quit (Remote host closed the connection) |
01:16:39 | * | bjz joined #nimrod |
01:20:03 | renesac | njoejoe, you can probably write a converter that will affect only this module |
01:20:21 | renesac | for implicit conversion between int and int32 |
01:20:57 | renesac | and you can aways do "str".len.int32 instead of using parenthesis |
01:24:29 | njoejoe | i will have to look into the converter. these int32()'s are uglifying my already ugly enough code :-) |
01:28:00 | * | havenwood joined #nimrod |
01:36:36 | * | BitPuffin quit (Ping timeout: 265 seconds) |
01:45:07 | Varriount | It could be worse. It could be something like njoejoe.convertToInt32() |
01:46:09 | * | BitPuffin joined #nimrod |
01:51:27 | * | BitPuffin quit (Ping timeout: 252 seconds) |
01:51:45 | njoejoe | Varriount: yes it could be worse... http://goo.gl/rKZpIO at least i'm not calvin :-) |
01:53:37 | Varriount | njoejoe: I just wish I could come up with an Araq-friendly way to remove all the 'when useWinUnicode... else: ...' blocks |
01:54:16 | Varriount | The last time I tried, I used a macro, which made him nervous. |
01:58:46 | njoejoe | i don't know how you'd do it |
01:59:57 | Varriount | njoejoe: Well, on my first try, I made a macro which would generate the bindings based on whether the application was compiled with unicode support or not. |
02:34:37 | * | DAddYE joined #nimrod |
02:46:29 | * | Skrylar quit (Ping timeout: 264 seconds) |
02:50:28 | * | brson quit (Quit: leaving) |
03:00:06 | * | BitPuffin joined #nimrod |
03:07:46 | Varriount | Araq: Erm, do I need to bootstrap nimrod with some special flag to get the 'unchecked' pragma working? |
03:25:05 | * | havenwood quit (Write error: Connection reset by peer) |
03:27:48 | * | xenagi quit (Quit: Leaving) |
04:20:44 | * | BitPuffin quit (Quit: WeeChat 0.4.3) |
04:21:36 | * | BitPuffin joined #nimrod |
04:26:27 | Varriount | Anyone up? |
04:36:07 | * | Skrylar joined #nimrod |
04:44:15 | Varriount | Hi Skrylar |
05:00:44 | * | Jesin quit (Quit: Leaving) |
05:04:59 | * | havenwood joined #nimrod |
05:11:16 | Varriount | Hi havenwood |
05:11:31 | havenwood | Varriount: hello |
05:12:37 | * | bjz_ joined #nimrod |
05:13:57 | * | bjz quit (Ping timeout: 276 seconds) |
05:19:51 | Varriount | havenwood: I'm about to go to sleep. Araq, dom96, and some of the others should be awake in a couple hours. Ask Skrylar if you have any questions, if he's not too busy. |
05:20:35 | havenwood | Varriount: Thanks much! G'night. |
05:38:13 | uggedal | anyone know if nimrod is packaged for other systems than freebsd, openbsd and archlinux? |
05:40:41 | havenwood | uggedal: there's an OS X brew package (i only know since that's how i installed) |
05:42:10 | uggedal | havenwood: thanks |
05:43:46 | fowl | someone recently said that was old |
05:43:50 | fowl | like years old |
05:44:06 | uggedal | seems like its 0.9.2 |
05:44:18 | fowl | ok so not years old but still old |
05:44:32 | havenwood | too old? |
05:44:56 | uggedal | I packaged nimrod for http://alpinelinux.org yesterday, just wanted to see if I missed something |
05:46:02 | uggedal | http://git.alpinelinux.org/cgit/aports/tree/testing/nimrod |
05:46:39 | fowl | havenwood, yea thats old as madonnas boobs https://github.com/Araq/Nimrod#compiling |
05:47:33 | fowl | uggedal, you should add -d:useGnuReadline to koch boot (if the distro is one that comes with readline) |
05:48:57 | havenwood | fowl: thx for the headsup it was old, i never guessed. built. ;) |
05:49:16 | fowl | uggedal, did you make an issue for whatever caused needing those patches |
05:51:14 | fowl | maybe they are uclibc specific |
05:52:59 | uggedal | fowl: musl specific actually |
05:53:47 | uggedal | fowl: and bash/readline is not in the base system, but I could add a dep |
05:53:59 | uggedal | is readline used for repl? |
05:54:44 | fowl | uggedal, it let you use up/down arrows instead of getting ansi codes |
05:55:04 | fowl | i wouldnt make it a dep, maybe you can add the flag if readline is installed |
05:57:44 | uggedal | fowl: well, alpinelinux uses binary packages so readline will never be installed at build time unless we depend on it |
05:58:57 | fowl | oh |
06:02:51 | uggedal | hmm, the repl seems to have issues: http://sprunge.us/NddC |
06:03:35 | fowl | the importc errors? |
06:04:11 | uggedal | fowl: yes |
06:04:41 | fowl | nimrod got a new vm recently but lost FFI support |
06:05:27 | uggedal | and ^D in the repl prints '>>> ' repeatedly until I kill it |
06:05:50 | fowl | thats the kind of thing readline handles |
06:06:09 | uggedal | should add a dependency on it then ;) |
06:40:44 | * | isenmann quit (Ping timeout: 252 seconds) |
06:53:16 | * | isenmann joined #nimrod |
07:12:20 | * | nande quit (Read error: Connection reset by peer) |
07:12:34 | * | vendethiel quit (Ping timeout: 245 seconds) |
07:13:05 | * | vendethiel joined #nimrod |
07:13:50 | njoejoe | why do "cells" have "invalid data!" instead of [0,1]? https://gist.github.com/jots/e11ec6bfffd8a35f753b |
07:14:36 | fowl | njoejoe, repr bug |
07:14:53 | njoejoe | ah. |
07:17:59 | fowl | njoejoe, you should define $ for openarray[t] and do a PR |
07:19:36 | njoejoe | fowl: ok. will do in the morning. my brain has been fried by uint32's tonight. |
07:26:45 | fowl | uint doesnt buy you much |
07:28:07 | njoejoe | a uint and a dime will get you a cup of coffee... |
07:28:42 | njoejoe | i'm working with 32 bit pointers stored on disk and they need to be uints (i think). |
07:28:44 | fowl | after defining ? to turn T into TMaybe[T], im thinking about doing more, like +int #=> seq[int] |
07:29:48 | fowl | template `=>`* (a,b: typedesc): typedesc = TTable[a,b] |
07:29:48 | fowl | var x: string => int |
07:31:06 | njoejoe | if I knew what TMaybe[T] voodoo was i might think that was cool |
07:31:42 | * | radsoc joined #nimrod |
07:32:18 | Araq | hi radsoc welcome back |
07:32:19 | fowl | njoejoe, tmaybe[t] is a value that is either T or nothing |
07:32:49 | fowl | njoejoe, sometimes called option[t], c# has special syntax for it |
07:32:50 | radsoc | hi Araq, thanks! |
07:32:57 | Araq | fowl: cool type constructors. :-) |
07:33:40 | Araq | hi havenwood welcome |
07:33:44 | fowl | C# int? num = null; |
07:33:49 | fowl | in nimrod we can use prefix op |
07:34:08 | fowl | template `?`* (some:typedesc): typedesc = TMaybe[some] |
07:34:27 | fowl | var num: ?int |
07:34:44 | Araq | we could also have postfix ops, but people are already scared when it comes to operators ... |
07:35:25 | fowl | how could you have postfix operators and prefix operators without limitations on what the operator is |
07:35:59 | fowl | id rather have postfix notation like "degrees", "hours" |
07:37:08 | fowl | and a "per" operator :D |
07:45:52 | fowl | Araq, thats a serious question, how do you discern between operators when parsing |
07:49:55 | Araq | fowl: first shot: operator followed by , ; ) ] } is a postfix operator |
07:52:28 | fowl | aha |
07:53:38 | fowl | we could have ascii boobies contests!! ((1@)@1) |
07:55:05 | fowl | allow _ as an ident too so t(-_-t) is valid |
07:57:40 | * | DAddYE quit (Remote host closed the connection) |
07:58:08 | * | DAddYE joined #nimrod |
07:58:57 | * | kunev joined #nimrod |
08:02:35 | * | DAddYE quit (Ping timeout: 250 seconds) |
08:12:38 | uggedal | how is readline loaded when I use 'nimrod i'? |
08:13:07 | uggedal | scanelf --needed /usr/bin/nimrod does not give me libreadline.so |
08:15:37 | fowl | uggedal, its loaded at run time |
08:18:41 | fowl | the rdstdin module |
08:19:13 | uggedal | fowl: thanks, if I understand it correctly I traced it back to compiler/cgen.nim |
08:19:18 | fowl | what does your distro use? editline? |
08:20:01 | uggedal | both are available, but non of them installed by default |
08:20:08 | fowl | there is a ruby port of readline, its pretty laughable code, like a 1:1 port of c:ruby |
08:20:41 | fowl | o |
08:20:53 | uggedal | alpinelinux is basically kernel, busybox, musl libc, initscripts |
08:21:40 | * | noam_ joined #nimrod |
08:21:59 | uggedal | the problem was that our package builder uses readelf to trace shared lib dependencies unlike other distroes which have a direct dependency on a readline-dev package |
08:22:23 | radsoc | does someone know if proc chaining can work with proc using var arguments like map? I get this error at compile time: 'expression map... has no type (or is ambiguous)' see https://gist.github.com/radsoc/13c599768aee38777bf3 |
08:22:46 | uggedal | so, you define a build time dependency (readline-dev) and all used shared libs in the resulting binaries are added as dependencies |
08:24:33 | Araq | radsoc: the convention is to not allow for chaining when you have 'var' parameters |
08:24:42 | Araq | and so 'map' doesn't support it |
08:24:54 | * | noam quit (Ping timeout: 252 seconds) |
08:26:49 | Araq | uggedal: readelf to trace shared lib dependencies is fundamentally flawed thanks to 'dlsym' |
08:27:10 | Araq | which is what nimrod defaults to btw so that we don't depend on crappy "devel" packages |
08:28:37 | * | Varriount|Mobile joined #nimrod |
08:29:25 | Varriount|Mobile | Araq: I have a link you might like, which demonstrates a weak point in strongly OO languages |
08:29:28 | Varriount|Mobile | http://james-iry.blogspot.com/2013/03/king-null-stubborn.html?m=1 |
08:33:01 | radsoc | Araq, OK. I thought that using var parameters was more memory efficient when dealing with huge arrays but I may be wrong? |
08:33:19 | Araq | Varriount|Mobile: not a bad article, but OO has not much to do with it |
08:33:39 | Araq | initialization is hairy in all imperative languages |
08:34:26 | Varriount|Mobile | radsoc: Parameters in nimrod are, 85% of the time, passed as pointers under the covers |
08:35:11 | Varriount|Mobile | That's why parameters are immutable. |
08:37:22 | Araq | radsoc: 'var' parameters are more efficient if you use them to change semantics |
08:37:27 | Araq | otherwise they are not |
08:39:47 | milosn | morning :) |
08:40:34 | milosn | quick question ... i need to pass 'matches' parameter to re.find() ... how do you define openarray parameter? |
08:40:50 | milosn | looking at the tut ... not much there (as in example) |
08:41:05 | radsoc | Araq: not sure to understand 'change semantics'... each time you call map (with non var paramaters) on a array, you create a new array in memory, no? |
08:41:28 | fowl | milosn, check out the implementation of `=~` |
08:42:21 | Araq | radsoc: the non-var version of 'map' creates a copy, yes. But if you're concerned about efficiency why would you use 'map'? ;-) |
08:43:41 | fowl | milosn, you need array[9, string] or smthing like that |
08:43:56 | milosn | var matches {.inject.}: array[0..MaxSubpatterns-1, string] |
08:44:00 | milosn | hmmm |
08:44:04 | milosn | ugly :P |
08:44:35 | milosn | whats 'inject' for? |
08:44:37 | Araq | don't let the FP guys brainwash you, "map" and "fold" are slower and when decently optimized like a 'for' loop. And they don't have any interesting semantics that allow better optimizations. |
08:44:56 | Araq | *slower in Nimrod right now |
08:45:32 | Araq | milosn: for your purposes you can ignore the 'inject' |
08:46:36 | radsoc | Araq: good point! (but I really like the expressiveness of method chaining...) |
08:49:16 | Varriount|Mobile | 'The C and C++ motto is "casting away safety since 1972."' |
08:56:23 | Araq | Varriount|Mobile: and what's worse, no casts are necessary, you get unsafety for every single operation by default |
08:56:59 | Araq | except perhaps for unsigned integers which are guaranteed to wrap around |
09:06:18 | Varriount|Mobile | Araq: By the way, the new 'unchecked' pragma came in handy for me. |
09:08:27 | Varriount|Mobile | I used it to parse a variable length string. (I'm also left wondering why the Pascal strings, who have their length prefixing the data structure, aren't more common) |
09:09:04 | Araq | I recently used 'scanf' :P |
09:09:16 | Araq | and think we need something like that for nimrod |
09:09:31 | Araq | well it's only a macro away |
09:09:55 | Araq | but we need it |
09:15:12 | * | uggedal quit (Quit: leaving) |
09:16:43 | fowl | is expr[ident] still a thing |
09:18:03 | Araq | I don't think so |
09:18:28 | Araq | expr{ident} might work |
09:30:20 | * | havenwood quit (Remote host closed the connection) |
09:31:13 | Varriount|Mobile | Araq: If I may ask, what are you working on at the moment? |
09:32:33 | fowl | hm |
09:33:28 | Araq | I have a "new_spawn" branch I need to push ... |
09:33:30 | fowl | my task for when i wake up: rewrite the entitty macros to do more stuff at compile time |
09:34:50 | Araq | Varriount|Mobile: it's the "last" major thing to do for version 1.0 except for all the suff that I forgot |
09:35:19 | Varriount|Mobile | like fixing the cache mechanism? |
09:36:01 | Varriount|Mobile | (although I heard zahary broke that.) |
09:36:06 | Araq | my plan is to get 0.9.6 out with ALL the planned features and then have 2 versions of bugfixes |
09:36:23 | Araq | we'll see how that will work out ... |
09:36:47 | Araq | the symbolfiles are on hold until 1.0 is released |
09:37:01 | Araq | that's what you mean by "caching mechanism", right? |
09:37:06 | Varriount|Mobile | Yeah. |
09:38:41 | Araq | I think we never managed to release more than 2 version per year ... so version 1.0 for christmas seems unrealistic :-/ |
09:40:07 | Varriount|Mobile | Currently, I'm working on the new fsmonitor api, and researching how to expand the new asyncio api to support extensions and such |
09:42:32 | * | darkf_ joined #nimrod |
09:45:44 | * | darkf quit (Ping timeout: 265 seconds) |
09:47:38 | Araq | good, but please micklat :P |
09:48:14 | Araq | high level interop with python and ruby might be a killer feature |
09:48:49 | Varriount|Mobile | Araq: I don't see what needs to be done with micklat's package. |
09:51:03 | Araq | well does it work? |
09:51:17 | Varriount|Mobile | Yes. |
09:51:59 | Araq | I thought there is still some show stopper bug in the compiler left |
09:53:19 | Araq | well please ask him if you can help |
09:54:07 | Araq | next step is to write native python/ruby addons with --os:standalone and *document* it |
09:55:09 | Varriount|Mobile | Yeah, but what would be suitable add-ons? |
10:10:43 | Araq | just make some data structure like a B tree and wrap it for python |
10:10:51 | Araq | that the standard example I think |
10:10:59 | Araq | *that is |
10:13:02 | Araq | Varriount|Mobile: if you're looking for work, you should checkout the new_comments branch or whatever I called it |
10:13:13 | Araq | it fixes comment handling but somebody needs to |
10:13:24 | Araq | a) add a transition switch for code like |
10:13:29 | Araq | if foo: |
10:13:35 | Araq | # comment counts as statement |
10:14:06 | Araq | b) check its consequences for "nimrod doc" and "nimrod doc2" |
10:22:19 | * | BitPuffin quit (Ping timeout: 258 seconds) |
10:32:50 | * | Jehan_ joined #nimrod |
10:34:15 | * | darkf_ is now known as darkf |
10:50:47 | * | eximiusw1staken joined #nimrod |
10:54:57 | * | Zuchto_ joined #nimrod |
10:55:29 | * | Zuchto quit (Ping timeout: 252 seconds) |
10:55:31 | * | eximiuswastaken quit (Ping timeout: 252 seconds) |
10:56:47 | * | Zuchto_ is now known as Zuchto |
11:00:14 | * | Johz joined #nimrod |
11:15:29 | * | uggedal joined #nimrod |
11:21:15 | dom96 | Araq: Stop stealing my work force, fsmonitor is important :P |
11:23:02 | * | Zuchto quit (*.net *.split) |
11:26:48 | Araq | why? who runs windows servers anyway? |
11:29:54 | * | Zuchto joined #nimrod |
11:31:37 | dom96 | fsmonitor's applications are not limited to server usage |
11:31:56 | dom96 | Aporia needs it |
11:55:05 | * | BitPuffin joined #nimrod |
11:58:37 | Araq | hi Johz welcome |
12:04:08 | * | darkf quit (*.net *.split) |
12:04:10 | * | JStoker quit (*.net *.split) |
12:18:35 | * | JStoker joined #nimrod |
12:52:18 | * | Jehan_ quit (Ping timeout: 240 seconds) |
13:45:57 | * | nande joined #nimrod |
14:23:48 | * | wan joined #nimrod |
14:34:41 | * | Jesin joined #nimrod |
14:41:26 | * | Varriount|Mobile quit (Ping timeout: 252 seconds) |
15:01:40 | * | Jesin quit (Quit: Leaving) |
15:05:18 | * | Skrylar quit (Ping timeout: 240 seconds) |
15:15:21 | * | Jehan_ joined #nimrod |
15:16:30 | * | Jehan_ quit (Client Quit) |
15:21:08 | * | bjz_ quit (Ping timeout: 240 seconds) |
15:37:14 | * | zahary quit (Ping timeout: 240 seconds) |
16:03:23 | * | untitaker quit (Ping timeout: 252 seconds) |
16:09:03 | * | untitaker joined #nimrod |
16:17:53 | * | DAddYE joined #nimrod |
16:34:39 | * | chh joined #nimrod |
16:36:43 | * | jita joined #nimrod |
16:37:14 | * | jita left #nimrod (#nimrod) |
16:40:25 | * | kunev quit (Ping timeout: 250 seconds) |
16:57:17 | * | wan quit (Ping timeout: 252 seconds) |
17:10:04 | * | q66 joined #nimrod |
17:10:05 | * | q66 quit (Changing host) |
17:10:05 | * | q66 joined #nimrod |
18:01:57 | Varriount | Meep |
18:06:01 | Varriount | Anybody here awake? |
18:06:06 | dom96 | yea |
18:07:27 | boydgreenfield | yep |
18:08:35 | Varriount | Hm. Is there any way to send messages to another user on github? |
18:09:02 | * | brson joined #nimrod |
18:09:29 | fowl | no |
18:12:11 | EXetoC | no |
18:12:14 | EXetoC | yeah |
18:12:35 | EXetoC | I mean yes I'm awake |
18:13:35 | * | Varriount slaps EXetoC around a bit with a small tuna. |
18:13:47 | Varriount | EXetoC: Now are you awake? |
18:14:34 | fowl | oo i found a segfault |
18:14:35 | EXetoC | yes what what what |
18:16:21 | Varriount | Hm. What should be the policy for style in the standard library, with regards to wrapper identifiers and functions? |
18:17:23 | NimBot | Araq/Nimrod devel 809390e Patrick Pelletier [+0 ±3 -0]: fix some typos |
18:17:23 | NimBot | Araq/Nimrod devel 4d5ad91 Simon Hafner [+0 ±3 -0]: Merge pull request #1186 from ppelleti/typos... 2 more lines |
18:19:48 | EXetoC | types often get the type prefix |
18:20:36 | Varriount | EXetoC: I mean, should we stick to using the same exact identifiers as the wrappers, or make use of Nimrod's style-insensitivity? |
18:20:49 | EXetoC | and lib prefixes are often stripped |
18:21:20 | Araq | Varriount: lib prefixes should be stripped unless really short like Q |
18:21:35 | Araq | camelCase instead under_scores |
18:22:10 | Araq | Types capitalized, dunno about Obj Ptr suffixes ... |
18:22:19 | EXetoC | that's reasonable if you are indeed not using some tool like c2nim |
18:22:30 | EXetoC | but |
18:22:34 | Varriount | EXetoC: I mean, outside the wrappers. |
18:22:41 | Araq | why? c2nim can transform names, EXetoC |
18:22:51 | EXetoC | I just remembered that |
18:22:57 | Araq | though it needs a few more features |
18:23:05 | Varriount | Like, if os.nim imports windows.nim, should it stick to using the exact same style idents as in windows.nim, or the style of the rest of the library. |
18:23:14 | EXetoC | what about foo_bar -> fooBar? |
18:23:35 | Araq | EXetoC: I think that's missing in c2nim |
18:24:21 | EXetoC | otherwise it doesn't matter too much, because of the not-so-strict rules, but I'm sure there are other tools that can deal with this |
18:29:42 | EXetoC | Varriount: I don't know. I like to use camelCase everywhere, no matter what conventions are used in wrappers |
18:30:22 | Varriount | EXetoC: Should that be the case in the std library? I'm trying to draft a style guide. |
18:30:25 | EXetoC | and today I got lazy and started using only lower case in conjunction with the command syntax |
18:31:50 | EXetoC | Araq: ? ^ |
18:32:20 | EXetoC | is referencing foo_bar symbols as fooBar encouraged in the std lib? |
18:32:34 | Araq | who knows |
18:32:41 | Varriount | -_-' |
18:32:46 | EXetoC | right.. |
18:33:03 | Varriount | Fine, I'll just use my best judgement. |
18:39:12 | * | Matthias247 joined #nimrod |
18:43:07 | Varriount | Hey Matthias247 |
18:43:18 | Matthias247 | hi |
18:43:23 | Araq | bbl |
18:47:02 | CARAM | is there a nim.vim? |
18:47:26 | * | Demos joined #nimrod |
18:47:38 | fowl | hm |
18:47:43 | Varriount | CARAM: There is. |
18:49:04 | CARAM | found it, thanks |
18:59:05 | * | brson quit (Ping timeout: 250 seconds) |
19:03:36 | * | wan joined #nimrod |
19:14:59 | * | tdc joined #nimrod |
19:17:44 | Araq | back |
19:30:58 | fowl | im trying to rewrite entitty to store more info at compiletime |
19:34:50 | * | enurlyx joined #nimrod |
19:40:38 | enurlyx | If i use type TEventHandler[T] = proc (e: var TEventArgs, data: T) {.closure.} |
19:41:01 | enurlyx | and proc add*[T] (e: var TEvent[T], h: TEventHandler[T]) |
19:41:41 | enurlyx | Then if i add a closure to the add function, i get strange c compilation errors. |
19:42:26 | Araq | feel free to report it but chances are high it's a duplicate bug |
19:42:33 | Araq | closures still have some bugs left |
19:42:48 | enurlyx | that is what i wanted to ask. Is it known? |
19:43:02 | Araq | hard to say without a gist |
19:43:08 | Araq | just report it please |
19:43:12 | enurlyx | ok |
19:47:53 | enurlyx | The good thing is, it works if i replace TEventHandler[T] with its definition :) |
19:48:09 | enurlyx | proc add*[T] (e: var TEvent[T], h: proc (e: var TEventArgs, data: T) {.closure.}) |
19:48:53 | Araq | huh? that's a strange bug then |
19:50:31 | Varriount | fowl: What is entitty? Some console thing? |
19:54:02 | fowl | Varriount, no its a component entities thing |
20:00:11 | Varriount | So.. dom96, what are you working on? |
20:00:30 | dom96 | Varriount: nothing, studying for exams. |
20:00:48 | Varriount | Ah. I hope you're having... fun |
20:01:08 | dom96 | Varriount: hah, is studying ever fun? |
20:01:50 | dom96 | I think i'm pretty much done though, there isn't much to study for a practical physics exam. |
20:02:17 | Varriount | dom96: Algebraic Physics? Or Calculus? |
20:02:44 | * | Varriount <3 Algebraic Physics |
20:04:35 | dom96 | Varriount: no idea lol |
20:04:52 | dom96 | The British don't use those names, so i'm not sure. |
20:05:49 | Varriount | dom96: Does it have regular formulas, or are "integrals", "derivatives", and "limits" involved? |
20:06:13 | dom96 | Varriount: Just regular formulas. |
20:06:49 | Varriount | Ah. Algebraic then. |
20:06:59 | dom96 | I guess I should have deduced that. |
20:07:21 | * | brson joined #nimrod |
20:07:40 | dom96 | But yeah, we don't have like a calculus exam. We just have "integration" and "differentiation" (that's what they call it here) mixed in among "core" math modules. |
20:09:40 | Varriount | dom96: Are those part of regular math classes, or are they for advanced/optional programs? |
20:10:10 | dom96 | Varriount: Depends what you mean by regular. They're not compulsory. |
20:10:31 | dom96 | At age 16 you take GCSEs where a Maths GCSE is compulsory. |
20:10:57 | dom96 | At age 18 you take A levels and you can choose the ones you take. |
20:11:12 | dom96 | There is a Maths A level as well as a Further Maths. |
20:11:26 | dom96 | Calculus is part of the Maths A level. |
20:12:13 | Varriount | dom96: Your educational system is quite different from mine. |
20:13:10 | * | Varriount is idly reading python's asyncio pep, wondering which parts can be feasably replicated in Nimrod. |
20:13:19 | fowl | wow |
20:13:23 | fowl | i think it works |
20:13:31 | fowl | using const to pull information from compiletime variables |
20:13:41 | dom96 | In any case, we should probably move this convo into #nimrod-offtopic, if you wish to continue it heh. |
20:13:50 | Varriount | fowl: Gist? |
20:14:03 | Araq | fowl: compiletime vars are now persistent across module boundaries |
20:14:30 | Araq | which is a PITA for --symbolfiles btw |
20:14:50 | Varriount | Which doesn't work anyway, unfortunately. |
20:14:59 | Araq | but I think I found a solution |
20:15:26 | Araq | Varriount: yes, but that doesn't mean we should *design* the language to be impossible to compile incrementally |
20:15:28 | fowl | https://gist.github.com/fowlmouth/4ed290e7c6b1f9e47a88 |
20:16:33 | fowl | Araq, the ecs depends on single compilation though, if the number of messages or components changes after you start doing stuff it would probably fall apart |
20:17:08 | Araq | fowl: I can't follow |
20:25:41 | dom96 | Araq: Can we get rid of getCurrentException and specify a var name in the 'except' instead? |
20:26:06 | Araq | dom96: we can but it's lots of work |
20:26:38 | dom96 | Awesome! Because lots of time is what we have!!!!-- oh wait. :( |
20:26:56 | * | Matthias247 quit (Read error: Connection reset by peer) |
20:27:44 | dom96 | But out of curiosity, why is it lot's of work? |
20:28:40 | Araq | parser/grammar needs changed, it needs semantic checking and codegen support for 3 backends |
20:29:36 | fowl | you cant just inject let name = getcurrentexception() ? |
20:29:37 | dom96 | can't we just transform it into a 'let varName = getCurrentException()' in the except block's body? :P |
20:29:50 | fowl | ^5 |
20:29:59 | dom96 | fowl: :O |
20:30:00 | Araq | hmm |
20:30:02 | Varriount | Perhaps there needs to be an 'exception stack' instead, for when exceptions are being propagated? (That might be nonsense, I have no idea how the exception system works) |
20:30:09 | dom96 | fowl: Great minds think alike :D |
20:30:28 | Araq | Varriount: we already have a stack for this |
20:31:22 | Araq | dom96: ok, this could work. What should the syntax be? |
20:31:40 | Araq | except e: EIO: ??? |
20:31:46 | dom96 | Araq: Yeah, that's a bigger problem lol |
20:31:54 | dom96 | Python uses 'except EIO, e:' |
20:32:24 | Araq | Python 3 uses 'EIO as e' iirc |
20:32:53 | dom96 | hrm |
20:33:12 | dom96 | Maybe we should use that too. |
20:33:35 | Araq | yeah |
20:33:43 | Varriount | I like the Python 3 way over python 2 |
20:33:59 | Araq | I recently tried the python 3 shell on their website |
20:33:59 | dom96 | But won't we get inconsistency criticisms? |
20:34:28 | Varriount | dom96: Maybe your proposal needs a mini-NEP |
20:34:58 | Varriount | It would be nice iff we could get a list of choices, pros/cons, etc |
20:35:02 | dom96 | Varriount: Ain't nobody got time for that. |
20:35:08 | Araq | and I typed 'print foo' and it didn't work |
20:35:10 | dom96 | I can create an issue for it with an RFC tag |
20:35:10 | Varriount | -_- |
20:36:59 | fowl | Araq, yea print used to be special syntax, its now a normal function |
20:37:16 | Varriount | As a side note, do I need to create an issue stating that there is currently no way to have the asyncdispatch module share its IO completion port with another thread? |
20:37:56 | Araq | fowl: I know, but it puzzles me how one can think this is a change for the better |
20:38:14 | Araq | Guido could easily have generalized the command syntax instead like we do |
20:38:36 | Araq | that would be against "there is one way to do it" |
20:38:37 | Varriount | Araq: You're forgetting that Guido can't just do whatever he wants. |
20:39:02 | Varriount | He has the entire community pressuring him. A community of thousands. |
20:39:26 | Varriount | And the Python-Ideas mailing list can get quite... heated. |
20:39:38 | Araq | iirc getting rid of () for print was his idea? |
20:39:52 | Varriount | No.. |
20:40:08 | Varriount | print started as a statement, since the beginning. |
20:40:21 | Araq | still he could have veto'ed |
20:42:20 | Araq | well I would only have changed / (div) for Python 3 and perhaps stole @foo for self.foo from Ruby |
20:47:02 | * | Varriount|Mobile joined #nimrod |
20:53:11 | * | Varriount|Mobile quit (Ping timeout: 276 seconds) |
21:00:45 | * | DAddYE quit (Remote host closed the connection) |
21:07:46 | * | Jehan_ joined #nimrod |
21:10:44 | * | zahary joined #nimrod |
21:21:58 | fowl | can i see the expansion from a template |
21:31:35 | * | BitPuffin quit (Ping timeout: 255 seconds) |
21:38:18 | * | tdc quit (Ping timeout: 240 seconds) |
21:40:03 | * | Demos quit (Remote host closed the connection) |
21:43:48 | * | DAddYE joined #nimrod |
21:47:00 | * | BitPuffin joined #nimrod |
21:48:05 | * | brson quit (Quit: leaving) |
21:48:18 | * | brson joined #nimrod |
21:51:34 | * | DAddYE quit (Remote host closed the connection) |
21:52:10 | * | Jesin joined #nimrod |
21:52:52 | * | DAddYE_ joined #nimrod |
22:17:54 | reactormonk | @foo is not self.foo |
22:24:23 | fowl | i would love if this worked echo(type(echo("Hello")) is void) |
22:24:34 | fowl | Error: expression 'echo("Hello")' has no type (or is ambiguous) |
22:24:51 | * | Varriount|Mobile joined #nimrod |
22:27:22 | Varriount|Mobile | Araq: Does nimrod use the remap_file_pages call on Linux for any core things, like memory management? |
22:28:57 | EXetoC | grep it? |
22:29:58 | Varriount|Mobile | EXetoC: Do you not see my nickname? |
22:30:37 | Varriount|Mobile | I like Nimrod, but I think it might be a tad obsessive to try to develop it on my phone. |
22:31:37 | EXetoC | oops |
22:31:44 | EXetoC | it turns up nothing |
22:33:24 | Varriount|Mobile | Ok, good. Apparently there's talk of that particular syscall being removed from the Linux kernel |
22:36:23 | Jehan_ | Hmm, I thought that Linux was extremely reluctant to break userland stuff? |
22:38:12 | fowl | unicast messages work :> https://gist.github.com/fowlmouth/4ed290e7c6b1f9e47a88 |
22:43:04 | Varriount|Mobile | Jehan_: http://lwn.net/SubscriberLink/597632/6f444e69b9931d1a/ |
22:43:24 | * | brson quit (Ping timeout: 245 seconds) |
22:43:47 | Jehan_ | Varriount|Mobile: Oh, I believe you, I'm just surprised. |
22:52:19 | dom96 | good night |
22:53:50 | * | brson joined #nimrod |
22:59:12 | * | Jehan_ quit (Quit: Leaving) |
23:02:20 | * | enurlyx quit (Quit: Nettalk6 - www.ntalk.de) |
23:16:26 | * | darkf joined #nimrod |
23:18:39 | Araq | "Starting with E 0.22, each release version has received a nickname. This usually is the name of a tea (or the corresponding tea garden) which I drank a lot while programming the version." XD |
23:21:56 | Varriount|Mobile | What software is that? |
23:22:41 | * | Varriount|Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) |
23:22:54 | Araq | "E" |
23:23:05 | Araq | some tool for proving things |
23:23:10 | * | Varriount|Mobile joined #nimrod |
23:23:47 | Varriount|Mobile | Araq: You mean, like formal verification? |
23:24:02 | Araq | yeah |
23:25:12 | Johz | Side note, if you search "E 0.22 tea", it actually turns up as the fifth link, below four links to shops selling tea equipment... |
23:26:41 | Araq | hi Johz welcome |
23:26:53 | Araq | but I need to sleep now, good night |
23:27:20 | Johz | Hi, bye? :P |
23:28:57 | Varriount|Mobile | Johz: Don't worry, a couple of us are still awake. |
23:33:59 | * | xenagi joined #nimrod |
23:43:18 | * | Skrylar joined #nimrod |