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