00:03:47 | * | ics joined #nimrod |
00:13:30 | * | carum quit (Remote host closed the connection) |
00:13:57 | * | carum joined #nimrod |
00:18:39 | * | carum quit (Ping timeout: 252 seconds) |
00:19:57 | Varriount | I like name/style refactoring. It's relaxing. |
00:25:06 | * | carum joined #nimrod |
00:30:53 | NimBot | Araq/Nimrod vm2_2 983fdb7 Araq [+0 ±10 -0]: new VM is getting stable |
00:33:52 | * | EXetoC quit (Ping timeout: 264 seconds) |
00:37:40 | * | EXetoC joined #nimrod |
00:39:52 | * | ics quit (Ping timeout: 264 seconds) |
00:40:13 | skrylar | Varriount: its pretty easy to do with vim and tpope's subvert addon |
00:40:21 | skrylar | if all you are doing is renaming |
00:43:13 | * | io2 quit () |
00:48:55 | * | ddl_smurf quit (Quit: ddl_smurf) |
00:49:38 | * | EXetoC quit (*.net *.split) |
00:49:40 | * | OrionPK quit (*.net *.split) |
00:49:40 | * | Trixar_za quit (*.net *.split) |
00:49:42 | * | renesac quit (*.net *.split) |
00:49:43 | * | rixx quit (*.net *.split) |
00:50:27 | * | Trixar_za joined #nimrod |
00:50:27 | * | renesac joined #nimrod |
00:50:27 | * | rixx joined #nimrod |
00:53:16 | * | EXetoC joined #nimrod |
01:04:51 | Varriount | Araq: Why do strings values returned by the json module have quotes? |
01:07:27 | EXetoC | just access the field directly |
01:08:33 | Varriount | EXetoC: What do you mean? |
01:09:01 | EXetoC | you mean when calling `$`? it does give you the json representation |
01:09:32 | Varriount | I do something like fooNode["name"] and get ""Foo"" |
01:10:28 | Varriount | I spent 10 minutes trying to figure out why a string.startsWith call was always returning false. |
01:13:38 | EXetoC | so you get a node, and then `$` is invoked. it gives you the JSON representation, so it's consistent |
01:15:06 | EXetoC | but you can access the str field if you want |
01:19:41 | EXetoC | you don't do print-debugging? :p |
01:19:59 | Varriount | EXetoC: I didn't notice the quotes |
01:20:14 | EXetoC | right |
01:20:32 | Varriount | Araq: I have a mini-program which downloads and builds packages using babel. I'll be able to integrate it with babel later this week. |
01:59:04 | * | carum quit () |
02:19:29 | * | brson quit (Ping timeout: 240 seconds) |
03:19:55 | * | brson joined #nimrod |
03:20:12 | * | brson quit (Client Quit) |
03:20:26 | * | brson joined #nimrod |
03:33:41 | * | aftersha_ joined #nimrod |
03:52:06 | * | aftersha_ quit (Quit: Computer has gone to sleep.) |
03:57:58 | * | darkf_ joined #nimrod |
03:59:13 | * | darkf quit (Disconnected by services) |
03:59:14 | * | darkf_ is now known as darkf |
04:36:29 | * | BitPuffi1 quit (Ping timeout: 246 seconds) |
05:06:12 | * | OrionPK joined #nimrod |
05:41:07 | * | Demos quit (Read error: Connection reset by peer) |
05:43:29 | * | r0b2 quit (Ping timeout: 240 seconds) |
05:50:20 | * | carum joined #nimrod |
05:55:31 | * | skyfex_ quit (Quit: Computer has gone to sleep.) |
05:57:41 | * | Zuchto_ is now known as Zuchto |
06:29:41 | * | r0b2 joined #nimrod |
06:35:59 | * | r0b2 quit (Ping timeout: 240 seconds) |
06:59:08 | * | carum quit (Remote host closed the connection) |
06:59:42 | * | carum joined #nimrod |
07:00:27 | * | brson quit (Quit: leaving) |
07:01:00 | * | skyfex_ joined #nimrod |
07:04:41 | * | carum quit (Ping timeout: 252 seconds) |
07:12:49 | * | isenmann joined #nimrod |
07:56:24 | * | ddl_smurf joined #nimrod |
08:01:15 | * | Arcanum_za joined #nimrod |
08:03:27 | * | OrionPK quit (*.net *.split) |
08:03:28 | * | EXetoC quit (*.net *.split) |
08:03:28 | * | Trixar_za quit (*.net *.split) |
08:03:29 | * | renesac quit (*.net *.split) |
08:03:30 | * | rixx quit (*.net *.split) |
08:09:27 | * | renesac joined #nimrod |
08:11:40 | * | rixx joined #nimrod |
08:15:40 | * | EXetoC joined #nimrod |
08:46:05 | * | zahary__ is now known as zahary_ |
08:53:11 | * | jita joined #nimrod |
08:53:25 | * | jita left #nimrod (#nimrod) |
09:04:12 | * | ddl_smurf_ joined #nimrod |
09:07:09 | * | ddl_smurf quit (Ping timeout: 265 seconds) |
09:07:09 | * | ddl_smurf_ is now known as ddl_smurf |
09:32:50 | * | CarpNet joined #nimrod |
09:44:02 | * | io2 joined #nimrod |
09:59:57 | * | JStoker quit (Excess Flood) |
10:01:18 | * | JStoker joined #nimrod |
10:08:15 | * | ddl_smurf_ joined #nimrod |
10:09:29 | * | ddl_smurf quit (Ping timeout: 240 seconds) |
10:09:29 | * | ddl_smurf_ is now known as ddl_smurf |
10:51:47 | * | BitPuffi1 joined #nimrod |
10:58:07 | * | darkf_ joined #nimrod |
11:01:42 | * | darkf quit (Ping timeout: 265 seconds) |
11:03:35 | * | zielmicha1 quit (Ping timeout: 378 seconds) |
11:04:27 | * | JStoker quit (Excess Flood) |
11:05:13 | * | zielmicha1_ joined #nimrod |
11:06:57 | * | JStoker joined #nimrod |
11:17:44 | * | Zuchto quit (Ping timeout: 469 seconds) |
11:18:21 | * | Zuchto joined #nimrod |
11:20:00 | * | BitPuffi1 quit (Ping timeout: 240 seconds) |
11:24:41 | * | darkf_ is now known as darkf |
12:14:46 | * | Mat3 joined #nimrod |
12:14:48 | Mat3 | hello |
12:15:01 | Araq | hi Mat3 |
12:15:59 | Mat3 | hi Araq |
12:17:55 | * | psquid joined #nimrod |
12:19:11 | * | Guest2317 quit (Ping timeout: 246 seconds) |
12:21:33 | * | BitPuffi1 joined #nimrod |
12:33:02 | * | Mat3 found the termcap library not well designed |
12:42:55 | Araq | Mat3: I just fixed the last showstopper bugs for vm2 :-) |
12:45:00 | Mat3 | great ! |
12:46:01 | BitPuffi1 | Araq: w00000000000000000000007 |
12:46:19 | Araq | had to rework how registers are stored, but it should work now and be sligthly faster too |
12:46:21 | Mat3 | so I can now now start some threading benchmarking? |
12:47:15 | Araq | BitPuffi1: don't worry there are quire some showstopper bugs left and dom96 doesn't want to release before the async io is ready |
12:49:24 | BitPuffi1 | Araq: well at least it's cool that the VM going stable |
12:52:44 | Mat3 | by the way, how are registers now stored ? |
12:53:16 | Araq | check out the vm2_2 branch, Mat3 |
12:53:53 | BitPuffi1 | Araq: man I still want the capability to invoke the compiler easily in code |
12:54:04 | Araq | TRegisterKind = enum |
12:54:06 | Araq | rkNone, rkNode, rkInt, rkFloat, rkRegisterAddr, rkNodeAddr |
12:54:07 | Araq | TRegister = object # with a custom mark proc, we could use the same |
12:54:09 | Araq | # data representation as LuaJit (tagged NaNs). |
12:54:10 | Araq | case kind: TRegisterKind |
12:54:12 | Araq | of rkNone: nil |
12:54:13 | Araq | of rkInt: intVal: BiggestInt |
12:54:15 | Araq | of rkFloat: floatVal: BiggestFloat |
12:54:16 | Araq | of rkNode: node: PNode |
12:54:18 | Araq | of rkRegisterAddr: regAddr: ptr TRegister |
12:54:19 | Araq | of rkNodeAddr: nodeAddr: ptr PNode |
12:54:46 | Araq | --> 16 bytes, but it's very hard to do better and keep the memory safety |
12:56:07 | Araq | and since I already had to *learn* how to debug it, I can't resign memory safety |
12:56:42 | BitPuffi1 | use a pastebin pls |
12:56:45 | BitPuffi1 | ;D |
12:57:00 | Mat3 | Araq: looks good |
12:57:39 | Araq | BitPuffi1: quod licet Iovi, non licet bovi |
12:57:52 | BitPuffi1 | Araq: are you speaking latin to me now? |
12:58:12 | Araq | ita est |
12:58:20 | BitPuffi1 | or italian |
12:58:22 | BitPuffi1 | same thing |
12:58:54 | BitPuffi1 | well it was latin |
12:59:01 | BitPuffi1 | just that google wanted it to be italian |
12:59:02 | BitPuffi1 | What is legitimate for Jove (Jupiter), is not legitimate for the ox |
12:59:56 | Araq | or in german if you prefer: wenn zwei das gleiche machen, ist es noch lange nicht dasselbe |
13:03:08 | BitPuffi1 | Araq: when two people do the same it is far from the same? |
13:03:18 | * | BitPuffi1 is now known as BitPuffin |
13:04:01 | BitPuffin | Araq: I humbly disagree |
13:04:07 | Araq | lol I guess it can't be translated into english |
13:04:08 | BitPuffin | from now on my code will all be pasted in irc :P |
13:04:25 | Araq | BitPuffin: don't you dare. I'll call dom96 then |
13:04:34 | BitPuffin | oh snap diddely doodely |
13:04:42 | BitPuffin | seriously though |
13:04:52 | * | Araq notes he never ever used his admin rights and doesn't even remember how to activate them |
13:04:54 | BitPuffin | so much potential with the VM if you can then also invoke the compiler |
13:05:02 | BitPuffin | hahaha |
13:05:24 | BitPuffin | because then I could implement seamless code reloading for my game dev api thing I wanna make for nimrod |
13:05:40 | Araq | what's wrong with 'gorge'? |
13:05:54 | BitPuffin | so it could run the new code in the vm while it compiles |
13:06:02 | BitPuffin | what the actual fuck is gorge |
13:06:26 | Araq | also known as 'staticExec' |
13:06:52 | BitPuffin | does that actually compile it? |
13:07:12 | BitPuffin | and also I want to be able to create dynamic libs on the fly |
13:07:38 | Araq | no but creating a command line like "nimrod c --app:lib foo" shouldn't be too hard |
13:07:59 | BitPuffin | yeah but I mean in a way that the compiler is embedded in the executable |
13:08:06 | BitPuffin | so that you are not dependent on the system |
13:08:07 | BitPuffin | haha |
13:08:23 | Araq | import compiler/ast, compiler/eval then |
13:08:27 | BitPuffin | yeah exactly |
13:08:41 | BitPuffin | but there is no easy way at the moment to call it on a file |
13:08:47 | BitPuffin | it isn't much to add I guess |
13:09:08 | Araq | but it still calls the external C compiler, so embedding the nimrod compiler doesn't gain you much ? |
13:09:17 | BitPuffin | hmm shit |
13:09:20 | BitPuffin | guess you are right |
13:09:24 | BitPuffin | well |
13:09:40 | BitPuffin | at least it would be sweet whenever we have a non-c backend :P |
13:09:56 | BitPuffin | in ~10 years or so |
13:10:19 | Mat3 | I'm working on (slowly because of sparse free time at moment) |
13:11:11 | BitPuffin | oh, as a part of the regular compiler? |
13:11:14 | BitPuffin | thought you were making your own |
13:12:07 | Mat3 | no, but coding a backend will be easy |
13:12:20 | BitPuffin | oighty matie |
13:12:46 | Araq | Mat3: we will see about this :P though native code looks easier than bytecode |
13:13:44 | Araq | ping zahary1, zahary_ |
13:14:16 | BitPuffin | ping all the zaharies |
13:14:19 | BitPuffin | we need a bot for that |
13:15:12 | Araq | or zahary himself should become a bot |
13:15:23 | Mat3 | Araq: For the purpose of static code generation surprisly libJIT would be a good solution |
13:15:24 | Araq | that would help even more |
13:15:55 | Araq | Mat3: perhaps, but things are more fun to code from scratch |
13:16:34 | Araq | as a nice side effect you don't have to deal with C's weird notion of correctness ( if foo_result != E_NO_MEM_LEFT ) |
13:16:46 | Mat3 | right |
13:17:57 | Araq | (what do you mean, the language segfaults on a stack overflow and encourages stack allocations and yet the libraries think the return value of 'malloc' matters?!) |
13:19:39 | Mat3 | spontan, I suspect the pointer is only checked aqainst NIL |
13:30:48 | * | noam_ joined #nimrod |
13:32:09 | * | io2_ joined #nimrod |
13:33:26 | * | io2 quit (Disconnected by services) |
13:33:30 | * | io2_ is now known as io2 |
13:33:34 | * | silven_ joined #nimrod |
13:34:16 | * | r0b2 joined #nimrod |
13:35:39 | * | tumak_ joined #nimrod |
13:38:09 | * | io2_ joined #nimrod |
13:38:59 | * | phI||Ip_ joined #nimrod |
13:39:00 | * | io2 quit (Excess Flood) |
13:40:37 | * | noam quit (*.net *.split) |
13:40:41 | * | phI||Ip quit (*.net *.split) |
13:40:42 | * | silven quit (*.net *.split) |
13:40:44 | * | Araq quit (*.net *.split) |
13:40:47 | * | comex quit (*.net *.split) |
13:40:48 | * | tumak quit (*.net *.split) |
13:40:54 | * | io2_ is now known as io2 |
13:44:49 | * | JStoker quit (Excess Flood) |
13:46:05 | * | Araq joined #nimrod |
13:46:28 | * | comex joined #nimrod |
13:59:59 | * | darkf quit (Quit: Leaving) |
14:00:23 | * | zielmicha1_ is now known as zielmicha |
14:07:55 | zahary_ | pong Araq |
14:13:03 | BitPuffin | pang! |
14:14:42 | * | sale4one joined #nimrod |
14:24:00 | * | OrionPK joined #nimrod |
14:26:23 | OrionPK | hm |
14:26:30 | OrionPK | freenode keeps kicking me off |
14:26:39 | BitPuffin | OrionPK: freenode hates you |
14:27:05 | OrionPK | yep |
14:27:47 | * | BitPuffin feels like improving the fucking dom module |
14:27:48 | OrionPK | I'll eventually update ircfamiliar to auto reconnect, it's on my list of things ;P |
14:27:59 | OrionPK | the dom module is pretty out of date |
14:28:07 | BitPuffin | yeah |
14:28:12 | OrionPK | doesnt even have a console |
14:28:18 | BitPuffin | would be cool to have my javascript for my website written in nimrod |
14:29:00 | BitPuffin | the annoying thing is that what should we do with like canvas and stuff |
14:29:24 | BitPuffin | when you set a context for canvas you do it with a string, but in nimrod we can't determine which kind of object to return |
14:29:37 | BitPuffin | based on a string |
14:29:41 | BitPuffin | can we? |
14:29:50 | BitPuffin | I guess maybe with term rewriting macros or something |
14:30:20 | EXetoC | variants? |
14:31:25 | BitPuffin | hrm |
14:31:26 | OrionPK | well |
14:31:33 | BitPuffin | well no |
14:31:34 | OrionPK | we should use delegators if possible |
14:31:39 | BitPuffin | because it can only be biding code |
14:31:40 | BitPuffin | yeah I guess |
14:31:52 | BitPuffin | binding |
14:32:01 | BitPuffin | or ah |
14:32:06 | BitPuffin | yeah I guess maybe it could work |
14:34:40 | * | sale4one left #nimrod (#nimrod) |
14:55:07 | * | sale4one joined #nimrod |
15:03:54 | Mat3 | ciao |
15:04:02 | * | Mat3 quit (Quit: Verlassend) |
15:07:01 | * | sale4one quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
15:07:15 | * | vendethiel quit (Ping timeout: 265 seconds) |
15:07:52 | * | vendethiel joined #nimrod |
15:08:03 | * | sale4one joined #nimrod |
15:12:04 | * | io2 quit () |
15:27:33 | * | Endy joined #nimrod |
15:34:23 | Araq | zahary_: tests/manyloc/keineschweine doesn't compile anymore due to a regression. proc foo[T: int|int32](x: T) # seems to match any T now |
15:36:31 | * | charlie joined #nimrod |
15:37:20 | Araq | hi charlie welcome |
15:40:49 | * | Arcanum_za is now known as Trixar_za |
15:42:57 | * | charlie is now known as Demos |
15:43:04 | Demos | derp |
15:43:27 | Demos | hello :D |
15:43:39 | Discoloda | darp |
15:43:44 | Trixar_za | pred |
15:44:00 | Trixar_za | prad |
15:54:25 | fowl | Araq, theres an issue for that |
15:54:47 | fowl | https://github.com/Araq/Nimrod/issues/907 |
15:57:52 | Araq | fowl: thanks, I made it a showstopper |
16:07:01 | * | ddl_smurf quit (Quit: ddl_smurf) |
16:29:59 | * | BitPuffin quit (Ping timeout: 240 seconds) |
16:45:31 | dom96 | Impressed to see Nimrod in this list: https://news.ycombinator.com/item?id=7291237 |
16:46:31 | dom96 | Surprised D isn't in that list. |
16:56:50 | * | Demos quit (Ping timeout: 281 seconds) |
16:57:17 | * | [1]Endy joined #nimrod |
17:00:12 | * | rixx quit (*.net *.split) |
17:00:13 | * | Varriount quit (*.net *.split) |
17:00:13 | * | eigenlicht quit (*.net *.split) |
17:00:14 | * | cark quit (*.net *.split) |
17:00:15 | * | betawaffle quit (*.net *.split) |
17:00:15 | * | iNode001 quit (*.net *.split) |
17:00:19 | * | OrionPK quit (*.net *.split) |
17:00:22 | * | phI||Ip_ quit (*.net *.split) |
17:00:23 | * | silven_ quit (*.net *.split) |
17:00:26 | * | CarpNet quit (*.net *.split) |
17:00:28 | * | skyfex_ quit (*.net *.split) |
17:00:31 | * | psquid quit (*.net *.split) |
17:00:33 | * | zielmicha quit (*.net *.split) |
17:01:04 | * | Endy quit (Ping timeout: 252 seconds) |
17:01:04 | * | [1]Endy is now known as Endy |
17:05:54 | * | psquid joined #nimrod |
17:05:54 | * | zielmicha joined #nimrod |
17:06:03 | * | OrionPK joined #nimrod |
17:06:03 | * | phI||Ip_ joined #nimrod |
17:06:03 | * | silven_ joined #nimrod |
17:06:03 | * | CarpNet joined #nimrod |
17:06:03 | * | skyfex_ joined #nimrod |
17:06:30 | * | betawaffle joined #nimrod |
17:10:26 | * | Araq quit (Ping timeout: 264 seconds) |
17:13:24 | skrylar | Lisp! |
17:20:38 | * | [1]Endy joined #nimrod |
17:20:48 | * | Araq_bnc joined #nimrod |
17:22:31 | * | Endy quit (Ping timeout: 252 seconds) |
17:22:31 | * | [1]Endy is now known as Endy |
17:31:52 | * | BitPuffin joined #nimrod |
17:37:55 | * | Endy quit (Ping timeout: 252 seconds) |
17:44:16 | * | aftershave_ is now known as 5EXAAMAAB |
17:44:28 | * | Endy joined #nimrod |
17:44:28 | * | aftershave_ joined #nimrod |
17:44:28 | * | rixx joined #nimrod |
17:44:28 | * | Varriount joined #nimrod |
17:44:28 | * | eigenlicht joined #nimrod |
17:44:28 | * | cark joined #nimrod |
17:44:28 | * | iNode001 joined #nimrod |
17:51:37 | * | rixx_weechat joined #nimrod |
17:52:20 | * | rixx quit (Write error: Broken pipe) |
17:55:39 | * | [1]Endy joined #nimrod |
17:58:59 | * | Endy quit (Ping timeout: 240 seconds) |
18:03:29 | * | [1]Endy is now known as Endy |
18:03:46 | * | Matthias247 joined #nimrod |
18:04:06 | * | carum joined #nimrod |
18:06:31 | * | nande joined #nimrod |
18:09:35 | dom96 | Less than an hour until GSoC orgs are announced :O |
18:13:11 | * | DAddYE joined #nimrod |
18:13:36 | * | brson joined #nimrod |
18:15:22 | * | [1]Endy joined #nimrod |
18:18:59 | * | Endy quit (Ping timeout: 245 seconds) |
18:18:59 | * | [1]Endy is now known as Endy |
18:31:16 | * | [1]Endy joined #nimrod |
18:36:03 | * | skrylar ponders whether to make this gap buffer unicode-safe or get text widgets working |
18:43:13 | * | sale4one quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
18:43:33 | * | nande quit (Remote host closed the connection) |
18:45:22 | * | Endy quit (Ping timeout: 289 seconds) |
18:45:22 | * | [1]Endy is now known as Endy |
18:46:10 | * | [1]Endy joined #nimrod |
18:46:25 | * | nande joined #nimrod |
18:49:00 | * | askatasuna joined #nimrod |
18:49:36 | * | Endy quit (Ping timeout: 240 seconds) |
18:49:37 | * | [1]Endy is now known as Endy |
18:50:22 | reactormonk | dom96, let's see if we get through ;-) |
18:50:31 | dom96 | Already got the email. |
18:50:36 | dom96 | We didn't :\ |
18:50:53 | reactormonk | duh |
18:50:57 | reactormonk | any reasons why? |
18:51:20 | reactormonk | not googly enough? |
18:51:21 | dom96 | They will give feedback on Friday |
18:52:23 | * | carum quit (Remote host closed the connection) |
18:55:56 | dom96 | But here is the list anyway: http://www.google-melange.com/gsoc/org/list/public/google/gsoc2014 |
19:04:20 | skrylar | probably because you don't have a large enough corporate presense and also because "nimrod = word for stupid" in the USA |
19:04:41 | skrylar | they rejected the "Buzztard" tracker because it had 'tard' in the name |
19:05:17 | dom96 | Well i'm annoyed. Julia got accepted. |
19:05:43 | NimBot | nimrod-code/packages master 72c1562 charlie barto [+0 ±1 -0]: added nimlibpng |
19:05:43 | NimBot | nimrod-code/packages master 07b2fbc charlie barto [+0 ±1 -0]: changed git url from ssh to http |
19:05:43 | NimBot | nimrod-code/packages master ff08c5d Dominik Picheta [+0 ±1 -0]: Merge pull request #47 from barcharcraz/master... 2 more lines |
19:06:20 | skrylar | dom96: not surprised; i had to go look up what julia actually is |
19:06:41 | * | [1]Endy joined #nimrod |
19:06:49 | skrylar | "Designed for Parallelism and Cloud Computing" or basically, "this would be great for google to snarf and use internally" |
19:07:17 | dom96 | oh well. Life can't be this easy :P |
19:07:27 | skrylar | meh, i understand the annoyance |
19:07:40 | skrylar | I just also understand Google isn't really doing it because they love OSS :) |
19:08:29 | skrylar | there was a catfight about Google actively rejecting projects right to use the AGPL on Google Code, which lead to accusations of Google only being interested in that which they can steal for internal use and not really being part of the OSS spirit |
19:09:43 | * | Endy quit (Ping timeout: 272 seconds) |
19:09:44 | * | [1]Endy is now known as Endy |
19:10:11 | skrylar | Nimrod is basically competing with Go, and they don't really need that |
19:12:27 | dom96 | :( |
19:12:59 | * | ddl_smurf joined #nimrod |
19:13:12 | skrylar | julia looks like a data miner's dream |
19:13:13 | * | Araq_bnc is now known as Araq |
19:13:28 | dom96 | Araq: We got rejected :( |
19:14:30 | dom96 | bbl |
19:15:01 | Araq | dom96: ok, never mind |
19:15:40 | Matthias247 | skrylar: would also have been my dream 6 years ago when I was doing signal processing (with matlab) |
19:16:16 | skrylar | my bet is still them complaining about the name |
19:17:11 | Matthias247 | I would guess it was because they chose the more well known projects |
19:17:35 | skrylar | Well Buzztard was also unheard of several years ago, and the reason they were rejected was name paranoia |
19:18:29 | Matthias247 | but I'm sure it has no technical reasons |
19:18:33 | Matthias247 | only soft facts |
19:18:39 | skrylar | http://en.wikipedia.org/wiki/Buzztrax "In 2013 the project was renamed to Buzztrax after Google rejected the project for its Summer of Code programm due to the name.[2]" |
19:18:51 | skrylar | (would have given a more direct line but buzztrax.org is broken on my machine right now) |
19:19:44 | * | ddl_smurf quit (Quit: ddl_smurf) |
19:20:15 | reactormonk | Araq, if they say it's the name, will you bend? |
19:20:41 | Araq | I've already registered nim-lang.org |
19:21:48 | reactormonk | and linked it to nimrod-lang.org ? |
19:22:15 | Araq | not yet |
19:22:29 | skrylar | i kind of think its sad when people like google act as name police |
19:23:05 | reactormonk | with great power comes great political correctness |
19:23:09 | Araq | I think it's cool. I especially like Facebook's new approach to sex. |
19:23:17 | reactormonk | Araq, link? |
19:23:37 | skrylar | Linus got away with naming his version controller after stupid people :) |
19:24:58 | * | io2 joined #nimrod |
19:25:05 | Araq | reactormonk: IF I rename the language, I'll do so for version 1 anyway |
19:25:33 | skrylar | if you rename it, you just have to rename the stdlib to rod |
19:25:33 | skrylar | lol |
19:26:35 | * | Varriount|Mobile joined #nimrod |
19:26:43 | Varriount|Mobile | Hi guys |
19:27:16 | * | [1]Endy joined #nimrod |
19:29:01 | NimBot | Araq/Nimrod devel 563ebd9 Michał Zieliński [+0 ±1 -0]: osproc: MacOSX workaround for lack of execvpe |
19:29:01 | NimBot | Araq/Nimrod devel b376f8b Michał Zieliński [+0 ±1 -0]: osproc: MacOSX fix - if -> when |
19:29:01 | NimBot | Araq/Nimrod devel b156ace Andreas Rumpf [+0 ±1 -0]: Merge pull request #957 from zielmicha/macosx-fix... 2 more lines |
19:29:26 | reactormonk | dom96, what to do with the wiki page? |
19:29:56 | * | aftershave_ quit (Quit: Computer has gone to sleep.) |
19:30:14 | * | Endy quit (Ping timeout: 264 seconds) |
19:30:14 | * | [1]Endy is now known as Endy |
19:30:27 | Araq | reactormonk: rename it to "list of projects for people who have what it takes" |
19:30:53 | Araq | or maybe just "do you have what it takes?" |
19:31:18 | reactormonk | Araq, a bit more functional. |
19:31:19 | * | aftershave_ joined #nimrod |
19:32:33 | * | [1]Endy joined #nimrod |
19:33:31 | * | nande quit (Remote host closed the connection) |
19:35:38 | * | Endy quit (Ping timeout: 264 seconds) |
19:35:38 | * | [1]Endy is now known as Endy |
19:40:03 | Varriount|Mobile | Sorry about the GSoC response :( |
19:40:19 | * | rixx_weechat is now known as rixx |
19:44:16 | Varriount|Mobile | dom96: Fix babel's path command, pretty please |
19:46:32 | * | ddl_smurf joined #nimrod |
19:48:00 | Araq | no, fix it quickly, not pretty |
19:48:34 | * | skrylar grumbles about 'nimrod doc' still making empty files |
19:51:37 | Araq | skrylar: "nimrod doc2" tends to work better |
19:52:03 | skrylar | Araq: doc2 gives me an ICE |
19:53:05 | * | [1]Endy joined #nimrod |
19:53:30 | Araq | skrylar: some people say bugs get fixed if you report them |
19:54:02 | skrylar | I'm pretty sure I already mentioned doc/doc2 not working |
19:56:07 | EXetoC | in the issue tracker? it's hard to keep track of everything in ones head |
19:56:50 | skrylar | EXetoC: well usually i come in here and say "hey it exploded when I [..] do you want test code?" and someone says "we know about that already" |
19:56:54 | * | ddl_smurf quit (Quit: ddl_smurf) |
19:56:55 | skrylar | so i've never had to *go* to the issue tracker yet |
19:57:05 | Araq | well now you do |
19:57:12 | Araq | congratulations |
19:57:14 | * | Endy quit (Ping timeout: 264 seconds) |
19:57:14 | * | [1]Endy is now known as Endy |
19:57:24 | * | Varriount|Mobile throws glitter into the air |
19:57:45 | skyfex_ | Araq: I'm toying with the idea of creating a backend for Nimrod to target ZPU (a tiny stack based 32-bit CPU with 8-bit instruction width).. I want to push for using that ZPU in our ICs at work.. Would probably just use C, but it would've been a fun project to target Nimrod directly, even if it's just a subset |
19:58:01 | * | skyfex_ is now known as skyfex |
19:58:40 | Araq | skyfex: you can use nimrod as a "better C" via --os:standalone |
19:59:00 | skyfex | Have anyone tried to work on a backend that targets an instruction set directly? I know there's some work on an LLVM backend? But that's not quite the same is it |
19:59:32 | Araq | there is some work on that, yes, but nothing in master |
19:59:38 | Araq | or devel for that matter |
19:59:58 | Varriount|Mobile | You mean, like a native compiler? |
20:00:22 | Araq | well mat3 keeps talking about that, Varriount|Mobile |
20:01:06 | * | Varriount|Mobile cheers on mat3 |
20:01:55 | Araq | skyfex: I don't think it's feasible, we don't even have common subexpression elimination |
20:02:17 | Araq | and I consider backends without that bad jokes |
20:03:00 | Araq | on the other hand, CSE is easily implemented, even across basic blocks, sempass2 almost does it already |
20:03:01 | skyfex | Do you think implementing a subexpression elimination pass would be difficult? |
20:03:25 | * | r0b2 quit (Read error: Operation timed out) |
20:03:29 | skyfex | Right |
20:04:48 | Araq | you can try to implement my "write tracking" algorithm and easily get a better optimizer than VCC's :P |
20:05:24 | Araq | (or maybe I tested VCC's optimizer in unfair way last time) |
20:05:24 | skyfex | Implementing a backend as part of starting to use that ZPU would make a bit sense, because we'd initially just use it for maintenance tasks, and we would have loooots of cycles to spend |
20:05:27 | * | r0b2 joined #nimrod |
20:06:14 | * | shodan45 joined #nimrod |
20:06:43 | skyfex | Maybe after a while we'd want to start using it for algorithms (auto-exposure, auto-whitebalance... we make CMOS camera chips).. and I could work on improving the backend as the requirements expand |
20:06:47 | EXetoC | too much honesty is bad for marketing |
20:07:21 | Araq | EXetoC: what are you refering to? |
20:08:05 | Varriount|Mobile | Comcast Exec possibly? |
20:08:12 | EXetoC | VCC's optimizer |
20:08:44 | skyfex | And then I could make that Hardware Description Language as a DSL in Nimrod (which is the main reason I got into Nimrod in the first place).. then redesign the ZPU processor in that Nimrod DSL.. and then we could say we have the only processor where the processor itself, the full compiler, and the software written for it is in the same language |
20:09:12 | skyfex | Should get Nimrod some serious attention |
20:09:28 | skyfex | *the only language |
20:09:54 | Araq | skyfex: does LLVM have a backend for ZPU? |
20:10:06 | skyfex | Araq: No, unfortunately.. only GCC |
20:10:20 | skyfex | I actually don't know of an open source CPU with an LLVM backend |
20:10:34 | skyfex | Unless someone has done it with OpenRISC since last I checked |
20:11:00 | skyfex | Oh, there are open source MIPS implementations |
20:11:22 | Araq | well direct integration with GCC is perhaps preferable but then linking against gcc itself is a huge effort |
20:11:45 | Araq | so... I'm fine with a native backend |
20:12:28 | skyfex | I think you mentioned in passing in the forum that you had some issues with LLVM? If so, what was that about? |
20:13:36 | * | [1]Endy joined #nimrod |
20:14:00 | Araq | in a nutshell: What does LLVM provide over C? |
20:14:58 | Araq | not much and what it does provide over C is barely documented (stack tables for zero cost exception handling comes to mind) |
20:15:19 | skrylar | more direct control over how the IR is translated, FWIW |
20:16:06 | Araq | no unions nor bitfields, so to get excellent C interop, you have to reimplement these lowerings |
20:16:14 | * | Endy quit (Ping timeout: 246 seconds) |
20:16:14 | * | [1]Endy is now known as Endy |
20:16:29 | skrylar | I didn't know we officially had unions anyway :) |
20:16:44 | Araq | well it's like a 10 lines patch to the current compiler |
20:16:47 | * | skrylar remembers someone here discussing doing those as a macro |
20:16:58 | Araq | and they are in my todo |
20:17:28 | Araq | also Posix doesn't specify the *values* of anything really |
20:17:37 | EXetoC | who was working an alternative variant construct? |
20:18:19 | skrylar | hrmm. i wonder what fastRuneAt does if i ask for a stupid index |
20:18:29 | Araq | so you're better off to translate E_OUTOFBRAIN to C's E_OUTOFBRAIN instead of determining the #define's value |
20:18:33 | EXetoC | check the source |
20:19:04 | skrylar | i'm patching this gap buffer module so it doesn't potentially mutilate unicode |
20:19:08 | Araq | though determining the #define's value has its merrits too of course (can compute with it at compiletime then) |
20:19:29 | skrylar | isn't that one of the reasons autotools became existent? |
20:19:49 | skrylar | "does this system have this type? no. how big is int? 4. good enough to fake it." |
20:20:01 | EXetoC | skrylar: I suppose it might crash. an assertion shouldn't hurt |
20:20:29 | EXetoC | unless of course you want fast debug builds as well :> |
20:20:31 | * | zahary_ quit (Read error: Connection reset by peer) |
20:22:44 | skrylar | EXetoC: looks like it doesn't check |
20:22:44 | * | Demos joined #nimrod |
20:23:17 | shodan45 | I read a discussion on the forum debating the "export syntax", and since I'm coming from python, I have to ask: why not just export everything? |
20:23:34 | Araq | brb |
20:23:49 | Demos | I thought export was used to export stuff you imported from another module |
20:23:50 | skrylar | EXetoC: well i guess its patching time :/ |
20:23:53 | * | nequitans quit (Remote host closed the connection) |
20:24:18 | * | nequitans joined #nimrod |
20:24:32 | skrylar | EXetoC: it looks like if you ask it to read a rune in the middle of a 4-byte rune, it will just panic and give you the byte itself, it doesn't go "oh this is a continuation byute" and skip over it |
20:24:43 | EXetoC | ok |
20:26:19 | skrylar | meh. i'll get this gap buffer working assuming the stdlib did it correctly and make a note to patch the rtl later |
20:26:30 | EXetoC | shodan45: I don't mind keeping it as it is. anyway, the problem then is that any naming convention for denoting private symbols is bound to be ugly due to the insignificance of underscores |
20:26:56 | Demos | how would using underscores be any better? |
20:27:00 | Demos | assuming we coul |
20:27:02 | Demos | d |
20:28:59 | Demos | having everything exported by default with sugar for making modules that just forwarded stuff on would be OK, but at that point you have almost the same thing as we have now. And you have to move about the source to change exports, which is annoying. |
20:32:35 | dom96 | reactormonk: leave the wiki page as is |
20:34:08 | * | [1]Endy joined #nimrod |
20:34:15 | Matthias247 | dart uses underscores for private functions (and even enforces it) and I find it not that bad. However if you have lot's of private functions it will look quite strange |
20:35:31 | Demos | like any underscore anywhere? |
20:35:42 | Matthias247 | I also thought about pointers when I first saw the * syntax ;) But it's a minor issue |
20:35:52 | Matthias247 | Demos: underscore at the beginning of the function |
20:36:20 | Matthias247 | _imPrivate() |
20:36:58 | Demos | ah, yeah that is not uncommon in C++, (so long as you are in a namespace) but I feel like it is uglifying the name of the private, which is not really worth doing. People do that in C++ to try and combat name collisions |
20:37:26 | * | Endy quit (Ping timeout: 264 seconds) |
20:37:27 | * | [1]Endy is now known as Endy |
20:37:43 | reactormonk | dom96, I'd rename it to "roadmap for contributions" |
20:37:51 | Matthias247 | I use it in C++ too :) But just for convention and to get a better overview what is private and what not |
20:38:01 | dom96 | reactormonk: I would like to keep it as a reference for next year. |
20:38:11 | dom96 | So please keep it as is. You can copy it into a new wiki page if you want. |
20:38:20 | Demos | well the reason to use it in c++ is because you hope that nobody puts anything like that in a header file |
20:38:43 | dom96 | Regarding the previous discussion: I will be really angry if they tell me that they rejected us because of the name... |
20:38:46 | Matthias247 | skyfex: The HDL thing would be really cool |
20:38:50 | dom96 | Git has been accepted. |
20:38:59 | Varriount|Mobile | Araq: Is it possible for nimrod to gain zero cost exceptions? |
20:39:17 | dom96 | Varriount|Mobile: Sorry. I've been away. I'll try to fix it ASAP. |
20:39:37 | Varriount|Mobile | dom96: Thanks |
20:40:45 | EXetoC | I thought it was just potentially cheaper on x64 compared to x86, but how can it be exactly zero? |
20:42:09 | * | askatasuna quit (Quit: WeeChat 0.4.2) |
20:42:18 | Demos | zero cost exceptions do not execute more code than replaceing the exception with abort would in the case of no exception |
20:42:27 | Demos | that is what it means |
20:42:27 | Matthias247 | EXetoC: it's described here: http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gnat_ugn_unw/Exception-Handling-Control.html |
20:42:46 | EXetoC | ok it makes sense then |
20:44:55 | skyfex | Matthias247: Thanks, I need a few features that's in the pipeline before I can start, so for now I'm trying to help out any way I can, and play around with the language/compiler |
20:45:14 | skyfex | Matthias247: Specifically static params with generic types: http://build.nimrod-lang.org/docs/manual.html#static-t |
20:45:42 | Demos | static params of /any/ type except range fail to work currently |
20:46:13 | Demos | I am looking forward to static[T] working as well. Also generic specialization (like c++) would be sweet |
20:49:49 | * | Demos quit (Quit: Demos) |
20:50:23 | * | Mat3 joined #nimrod |
20:53:39 | nequitans | Demos, so can you explain briefly how Nimrod handles generics (I assumed they handled it like C++, specializing functions for each type). |
20:54:38 | * | [1]Endy joined #nimrod |
20:55:01 | * | aftershave_ quit (Quit: Computer has gone to sleep.) |
20:57:19 | * | Endy quit (Ping timeout: 244 seconds) |
20:57:19 | * | [1]Endy is now known as Endy |
21:00:22 | reactormonk | nequitans, from what I understand, nimrod checks if the type has the called functions on it, but I can't guarantee that matches up with the internals |
21:02:24 | Araq | nequitans: specializing for each type is it |
21:04:58 | nequitans | thanks Araq |
21:05:02 | skrylar | Araq: would you be offended if i hacked on the unicode module later? |
21:05:45 | Araq | skrylar: not offended, but I'm unlikely to accept any pull requests |
21:06:10 | Araq | unicode is a clusterfuck and you'll introduce regressions |
21:07:01 | reactormonk | Araq, still a better clusterfuck than different encodings |
21:07:02 | skrylar | is there an actual test suite for the unicode? |
21:07:10 | skrylar | i looked in the unicode module and it had ~4 lines for testing |
21:08:04 | Araq | reactormonk: not in my opinion, it simply trades one set of problems for another. Besides all the different encodings still exist. |
21:08:09 | * | Endy quit (Ping timeout: 272 seconds) |
21:08:34 | Araq | skrylar: no, I ported the code over from plan9 back in the days |
21:08:37 | reactormonk | Araq, btw, when will the rebase happen to kick out the csources? |
21:08:45 | skrylar | bleh. |
21:08:53 | skrylar | I should dig up my old unicode stuff from C |
21:09:07 | skrylar | I had a tiny stack of tests for basic unicode crap in that |
21:09:07 | Araq | you should but it's old and outdated |
21:09:09 | * | Demos joined #nimrod |
21:09:21 | Araq | unicode moved on and now support klingon |
21:09:26 | skrylar | lol |
21:09:37 | Araq | have fun keeping up to date with an evolving "standard" |
21:09:47 | skrylar | they have versioned reports you know |
21:09:59 | Araq | I know but I wish I didn't |
21:10:05 | Araq | ignorance is bliss |
21:10:18 | skrylar | I was mostly concerned about fastRuneAt not understanding that its not okay to return the middle of an encoding byte as a character |
21:10:31 | reactormonk | just wrap fucking ICU |
21:10:36 | skrylar | if you give it the middle of a 4-byte rune, it will happily return garbage o.o |
21:10:43 | Varriount|Mobile | ICU? |
21:10:52 | skrylar | ICU is an internationalization library |
21:11:08 | reactormonk | http://site.icu-project.org/ |
21:11:30 | Varriount|Mobile | It wouldn't happen to be the same lib used by GTK, would it? |
21:12:10 | skrylar | i had this really annoying method for getting the safest split point at a given coordinate |
21:12:23 | skrylar | you told it if you wanted to go left or right, and it would check if that was the middle of a grapheme or not |
21:12:31 | Araq | skrylar: you know, HTML has versioned reports to |
21:12:42 | skrylar | Araq: until they went Full Retard(tm) with 5 |
21:12:52 | skrylar | "nobody follows this anyway, we're done versioning it \o/" |
21:13:49 | Araq | heh, I like it |
21:13:59 | Araq | finally accepting the reality |
21:14:07 | skrylar | what i would like to know is why they endorsed 5 :| |
21:14:11 | Araq | unicode is still some versions away from that |
21:14:16 | skrylar | they went through all this work for XHTML |
21:14:22 | skrylar | people went and wrote backend emitters for XHTML |
21:14:29 | skrylar | and the w3c went "fuck it, we're going to be morons" |
21:15:24 | Mat3 | what are morons ? |
21:15:50 | Araq | as soon as you start with a group people who are only concerned with a *spec* you're doomed |
21:16:05 | skrylar | Mat3: they basically did all this work to clean up the spec, people (esp in the ruby world) went "okay we can support that" and then they threw it all out |
21:16:20 | Araq | they will overengineer and make it too hard to implement |
21:16:35 | skrylar | I didn't know you were a member of the C++0x committee, Araq :P |
21:17:02 | skrylar | as a spy :o |
21:17:18 | Matthias247 | he's right, that happens for most specs :) |
21:17:21 | skrylar | Anyway, yeah. I think that tends to happen when you're more corporate than coding |
21:17:26 | Matthias247 | you could also look at Websockets |
21:17:32 | Demos | c++11 seems to actually be implementable though |
21:17:41 | Matthias247 | or Autosar |
21:17:56 | skrylar | remember the nightmare when they were poking to have vorbis made part of the spec? |
21:18:04 | skrylar | "well we have this audio tag, and this codec is free for everyone to use" |
21:18:12 | skrylar | "NO WE WON'T IMPLEMENT THAT BECAUSE WE DIDN'T PATENT IT." etc |
21:19:23 | Demos | bigger problem with <audio> (for me) is that it is so very limited, and awkward to use from javascript |
21:20:01 | skrylar | Demos: but people weren't objecting to the functional problems, they were objecting that *their* patented format wasn't the official one |
21:20:13 | Demos | yeah, that is/was stupid |
21:22:06 | skrylar | whats really weird is the torrential flamewar that came up over webp |
21:22:18 | skrylar | someone asking when firefox would support it and people blowing up |
21:22:56 | NimBot | nimrod-code/babel master fbeddd5 Dominik Picheta [+0 ±1 -0]: Fixes #31... 2 more lines |
21:23:11 | Varriount|Mobile | :D |
21:23:18 | dom96 | Varriount|Mobile: Voila. |
21:24:44 | Mat3 | CSS is still limited in its formatting capabilities and Javascript still lacks some specification (that's more important in my opinion) |
21:25:19 | Demos | the web is an interesting example of how "sound software engeneering" can we worthless in the face getting it done NOW. Dispite all these problems the web is pretty darn useful |
21:25:23 | skrylar | remember when the IETF actually dealt with standards |
21:25:34 | skrylar | that actually were compatible with things |
21:26:26 | skrylar | if email were implemented today, i doubt it would even work without violating 12 patents and having 500 if/else cases to deal with bolton crap |
21:27:24 | Demos | well implementing an email client/server today would probably require exactly that (well not the patent thing but still) |
21:27:55 | skrylar | Demos: i donno, there's a lot of email that is pretty modular |
21:28:28 | skrylar | even some of the hacks done to add say, compression to MUD server/clients uses the feature negotiation fields in telnet and has graceful fallbacks |
21:28:56 | Demos | right, you can get something that works most of the time just following whatever spec (IMAP or POP3). But I bet most established email readers and email servers have their own extensions |
21:29:36 | skrylar | i know i bitched about MS exchange because of that |
21:29:56 | skrylar | "lets make a proprietary protocol when all we *needed* was an addon that would have already fit in what existed" |
21:31:11 | Demos | and to be fair the "web" is a spec for an operateing system while email is not. And I have found that IMAP does not really do all that MAPI/exchange can do. Although whether an mail protocol should be doing contacts and calenders is a bit questionable |
21:32:06 | skrylar | I imagine the IETF would have told you to put it in an X-Header or a .vcard file or similar |
21:32:43 | skrylar | as for 'web'.. eh |
21:33:10 | skrylar | its sorta been screwed since day 1, considering javascript was contrived by Netscape IIRC |
21:33:44 | skrylar | IIRC the guy who came up with javascript wanted it to work like Hypercard, but the execs said "it needs to be like that java thing!" |
21:33:48 | Demos | well it was screwed when people started to want to put whole apps on it instead of just text with markup |
21:34:24 | skrylar | Demos: the guy who made hypercard lamented about wishing he had put in hyperlinks ;) |
21:34:30 | skrylar | Maybe if he had, we'd be in a better place |
21:34:40 | Varriount|Mobile | Didn't the guy who designed javascript say that it was originally just a test/prototype language |
21:35:23 | skrylar | Varriount|Mobile: IIRC it was supposed to be hypertalk, but the execs pooped on the syntax |
21:36:11 | Demos | I thought it was "we need a language for the web. you have one week" |
21:38:32 | Araq | "and it has to be Java-like" |
21:38:33 | skrylar | i found a reference but its wikiderp |
21:38:49 | skrylar | I love how wikipedia whines about what kind of source is allowed, and then they allow their citations to link to 404 pages |
21:39:23 | Araq | otherwise Brendan would have picked Scheme and called it a day :P |
21:39:45 | skrylar | well the hypercard page on wikipedia talks about how most of the HTTP/browser/script work was inspired by it, so :) |
21:39:46 | Demos | javascript is not even like java at all though. |
21:39:50 | EXetoC | skrylar: surely it can be disputed then by reviewers |
21:39:56 | skrylar | Demos: it had to look like it to the executives |
21:40:04 | Araq | Demos: "java-like" only refers to the syntax |
21:40:06 | skrylar | which basically meant "it needs to LOOK like algol" |
21:40:40 | Araq | programmers don't know shit about semantics anyway, so syntax is all that matters |
21:40:58 | Demos | sadly that is probably right. |
21:41:07 | Mat3 | well, how long it looks like Algol ;) |
21:42:13 | * | q66 joined #nimrod |
21:44:26 | * | Mat3 just compiled chicken and test out this scheme-to-C compiler |
21:45:15 | EXetoC | might as well just use C then |
21:45:26 | EXetoC | oh yeah, that argument doesn't work. nvm |
21:45:30 | skrylar | I tried chicken scheme once. |
21:45:39 | skrylar | It had some.. gross stupidity in regards to restrictions |
21:47:38 | Araq | EXetoC: lol |
21:48:31 | Araq | skrylar: the author of scheme now thinks we should program with NAND gates directly, iirc |
21:48:53 | Demos | I thought R6RS was a bit insane |
21:49:19 | skrylar | could always go back to lisp :p |
21:49:22 | Araq | "every expression should have a name" is part of his great idea to revolutionize programming iirc |
21:49:44 | Mat3 | skrylar: It uses the C stack and some hacks for compiling continuations. That explains my interest |
21:49:54 | skrylar | Mat3: did they fix it so threads work? |
21:50:15 | skrylar | i seem to remember threading not working when I used it, and i consider things where threading doesn't work to be jokes |
21:50:36 | Araq | skrylar: threads are an implementation detail and can be implemented with macros anyway |
21:50:51 | Araq | (I'm kidding, they cannot, of course) |
21:50:55 | skrylar | Araq: lol |
21:51:04 | skrylar | (import 'c-lang) |
21:51:07 | skrylar | problem solved \o/ |
21:53:05 | Mat3 | skrylar: I does not expect that threads work with that method. However one can replace threads though coroutines |
21:53:30 | skrylar | Mat3: coroutines do not span processors |
21:54:13 | Mat3 | there can. All needed are pools of coroutines running as processes |
21:54:38 | skrylar | yeah, they mentioned using fork() and serialization |
21:54:43 | skrylar | too bad fork is broken on windows |
21:56:07 | NimBot | Varriount/NimLime caas 17be7df Matthias Einwag [+0 ±1 -0]: Futher tests with Caas. Still deadlocks on bigger files |
21:56:23 | Araq | just fyi fork is just as broken on iOS and OS X |
21:56:53 | Mat3 | skrylar: I think you mean the winCreateProcess API (or some of its descendents) ? |
21:56:57 | Araq | but people never cared about what works on macs |
21:57:09 | skrylar | I still miss my mac. |
21:57:28 | Araq | I still my "del" key |
21:57:32 | Araq | *miss my |
21:57:39 | skrylar | i have one of those |
21:58:24 | Araq | apple's idea of usability is to remove things Steve Jobs personally doesn't use |
21:58:26 | Varriount|Mobile | I miss *not* having a sore throat and swollen tonsils |
21:59:33 | Mat3 | Araq: Well, that is a strategy, alias attitude also known by the Gnome community |
21:59:49 | Mat3 | (and both share success) |
21:59:58 | skrylar | :/ |
22:00:10 | skrylar | some of it isn't "remove stuff people don't use", so much as "don't put it in unless someone understands how to use it" |
22:00:30 | Araq | and apparently Steve didn't even deleted stuff on a usb stick |
22:00:35 | Araq | *delete |
22:01:21 | Araq | otherwise they might have noticed that storing the wastebin on the same device is braindead |
22:01:50 | skrylar | http://zynaddsubfx.sourceforge.net/images/screenshot03.png how do? :P |
22:02:14 | Mat3 | skrylar: Probably you should read about Jeff Raskin |
22:02:21 | NimBot | Varriount/NimLime master eeff412 Matthias Einwag [+0 ±1 -0]: Fixed bug that autocomplete settings did not get load on startup |
22:02:27 | skrylar | Mat3: i saw one of his designs |
22:02:34 | skrylar | the one where the whole OS was one huge text file |
22:03:28 | Mat3 | reads like the Canon Cat |
22:03:36 | skrylar | there is also a "Raskin" desktop app which tries to make it so your whole desktop is this big scrollable surface |
22:05:22 | NimBot | Varriount/NimLime caas be0d10c Matthias Einwag [+1 ±2 -0]: First caas code... 2 more lines |
22:05:30 | skrylar | oh dear |
22:06:20 | skrylar | Unicode hell of the day: determining if a key is something a text field should allow entry of |
22:06:40 | skyfex | Varriount|Mobile: Would you recommend upgrading to Sublime 3? |
22:07:11 | skrylar | i probably should upgrade my sublime at some point; i haven't fired it up in a while |
22:07:26 | Varriount|Mobile | I don't have sublime 3 |
22:07:55 | skrylar | I'm kind of disappointed that Sublime 3 hasn't made UI improvements the last time I touched it; you're still expected to edit JSON files to get anything done |
22:08:03 | skrylar | At that point, why am I not using Vim? |
22:08:18 | skyfex | Isn't VimScript a nightmare? |
22:08:27 | skrylar | Isn't JSON a nightmare too? :) |
22:08:59 | Varriount|Mobile | skrylar: Which is why I use a plugin that allows me to edit files as YAML |
22:09:08 | Matthias247 | sublime 3 has a less broken plugin API |
22:09:16 | Matthias247 | but it still lacks many things |
22:09:18 | skrylar | Varriount|Mobile: how about they actually implement a GUI so you can edit them like a user? |
22:09:46 | Varriount|Mobile | And how about they actually lower the price so that I can pay for a license? |
22:09:47 | Matthias247 | and version 3 has now resolution independent font sizes |
22:10:02 | skrylar | Varriount|Mobile: well the infinite demo was nice |
22:10:04 | Mat3 | ciao |
22:10:07 | Araq | skrylar: funny, I prefer text files for configurations |
22:10:16 | Araq | Mat3: good night |
22:10:17 | * | Mat3 quit (Quit: Verlassend) |
22:10:26 | Varriount|Mobile | skrylar: Yes, but I feel bad that I don't have a license |
22:10:31 | skrylar | Araq: i tend not to like having to push JSON files around in 60$ software |
22:11:01 | skrylar | but i'm just one of those stupid mac users that likes not having to check the wiki every time i want a program to do something *shrug* |
22:11:25 | Araq | skrylar: well JSON sucks for configuration; however, *searching* through an endless list of options is hard |
22:11:44 | Araq | searching through a config file tends to be easy |
22:12:00 | Varriount|Mobile | ctrl+f |
22:12:07 | skrylar | Araq: its less great for things like entering font infos or key bindings |
22:12:12 | Demos | I fail to see how JSON is worse than elisp or vimscript for config files |
22:12:33 | Varriount|Mobile | It could be worse - it could be xml |
22:12:34 | skrylar | Demos: its not necessarily worse its just not becoming of 60$ software with paid upgrades |
22:12:48 | Araq | JSON: "everything" "has" "to" "be" "in" "quotes" |
22:13:00 | Varriount|Mobile | Anyway, iirc, the decision to use json was for textmate compatibility |
22:13:10 | skrylar | but textmate has an options window! |
22:13:15 | Demos | I suppose. but (everying(has(to(be)in)parens)) |
22:13:24 | skyfex | Varriount|Mobile: You a student? |
22:13:24 | nequitans | I really like sublime, but somehow I've reverted back to my tried and true Vim in a terminal with Nimrod highlighting. I guess I like the fact that my environment isn't that different (and is speedy) SSHed or not |
22:13:38 | Varriount|Mobile | Yes. |
22:13:42 | skrylar | you can set up the CSS-style themes through a GUI in textmate without addons |
22:14:19 | skyfex | Wish they did student discount.. I actually emailed them about it.. they said to just keep ignoring the popup message to buy it |
22:14:32 | Matthias247 | lol |
22:14:38 | skrylar | I liked Sublime, I've just found that more often than not Subvert+Column Edit does 90% of what I used multicaret for, and i always forget i have a snippet for something until after i've already typed it all in >_< |
22:14:48 | skrylar | skyfex: well theres what reaper does instead :P |
22:14:52 | skrylar | it just nags on startup |
22:14:57 | Varriount|Mobile | Yeah. In my opinion, more people would buy sublime text if the price was lowered. |
22:15:11 | skrylar | sublime 1/2 wasn't overpriced |
22:15:35 | Varriount|Mobile | skryler: Reaper? |
22:15:37 | skrylar | it cost about the same as textmate and loads of people bought that |
22:15:52 | skrylar | some communities switched to macs *just* to use it, so 60$ isn't insane |
22:16:33 | skrylar | Varriount|Mobile: reapers an audio DAW; its basically nagware until you pay for a license; and the license is 60$ for nonprofit/student/profit under 20k$ or 200$ for 'commercial' |
22:16:37 | dom96 | People who use Macs already have too much money. |
22:16:48 | Matthias247 | it's a point of view thing. If you are using it for a job then 60$ is peanuts. If you are a student it might sound high |
22:16:59 | Varriount|Mobile | ^ |
22:17:12 | Demos | honetly sublime is like vim/emacs without all the history and funny UI quirks |
22:17:24 | skrylar | I donno. I used to use Sublime 1 and 2 daily |
22:17:28 | Varriount|Mobile | And an actual gui |
22:17:37 | skrylar | I haven't really felt like paying for the upgrade |
22:17:48 | skrylar | IMO they haven't fixed anything I care about that is worth paying money for *again* over |
22:17:53 | Demos | sublime's gui is really just about as deep as vim's, I guess it has tabs but still |
22:18:08 | Varriount|Mobile | Vim had a GUI? |
22:18:11 | skrylar | gvim |
22:18:16 | Varriount|Mobile | *has |
22:18:36 | skrylar | i guess i don't get to do GUI code today; everything leads back to unicrap |
22:18:37 | skrylar | sigh |
22:18:59 | dom96 | I attempted vim a long time ago. It just feels too archaic for me. |
22:19:09 | Araq | skrylar: what's wrong with keeping the bytes as they are? |
22:19:33 | Matthias247 | dom96: same for me |
22:19:40 | Matthias247 | plus the font rendering is terrible |
22:19:59 | * | JStoker joined #nimrod |
22:25:53 | * | io2 quit () |
22:26:16 | skrylar | Araq: i have to check if the character from the keyboard is a control code or something printable |
22:26:33 | skrylar | you don't want to actually append the backspace code to a buffer, you want to backspace a character |
22:26:39 | Araq | and you use unicode tables for that? |
22:26:53 | Araq | sounds insane and wrong |
22:27:35 | Araq | you know unicode has its own ideas of how a line terminator looks like |
22:27:51 | skrylar | unicode usually makes me sad |
22:29:38 | Araq | yeah but python 3 gets it right. It exposes everything as utf-32. |
22:30:26 | Araq | unfortunately utf-32 is a variable length encoding too nowadays so it doesn't help with anything ... |
22:31:45 | skrylar | i had a pretty nice system for hiding away the pain of utf-8 but it had the pain of being C99 |
22:32:14 | Araq | it should expose glyphs instead but nobody knows how to store those ... utf-128 ? |
22:32:24 | skrylar | i used a struct |
22:32:30 | skrylar | 32 ints |
22:33:02 | Araq | with unicode 9 we'll get variable length glyphs |
22:33:07 | skrylar | the number of combining marks allowed in the stream safe encoding is 30, so if you deal with that subset a ~32 int struct can represent an entire grapheme |
22:33:49 | Araq | ah interesting |
22:34:10 | skrylar | i had it layered so there was a rune level, and a grapheme level, with iterators for both |
22:34:18 | Araq | did I mix up glyph and grapheme? |
22:34:22 | skrylar | possibly |
22:34:40 | skrylar | grapheme is "all the shit which comprises the letter 'a'" |
22:34:56 | skrylar | oh good, i found my old C code for this |
22:34:58 | Araq | yeah I meant grapheme then |
22:35:05 | skrylar | time to port. :| |
22:35:29 | Araq | which only proves my point ... this is so complex that nobody can possibly get it right |
22:35:51 | skrylar | not very efficiently anyway |
22:36:19 | Araq | so the world pretends to support utf-8 but it's more like a subset of unicode and you better think of utf-8 as a stream of bytes ... |
22:36:38 | skrylar | most people don't even pretend to support utf-8 |
22:36:58 | skrylar | they just chuck bytes around and hope for the best |
22:37:05 | Araq | yeah |
22:37:18 | skrylar | the only reason i imposed a limit is because i hate liberal use of stretchy buffers |
22:37:49 | Araq | and that tends to work better than the tools which are obsessed with "correctness" |
22:37:50 | skrylar | and a single letter 'a' which takes up 5 gigabytes in umlauts is valid unicode |
22:38:20 | Araq | (gedit doesn't open files that are not unicode, thanks for that) |
22:38:59 | Araq | speaking of which |
22:39:08 | Varriount|Mobile | Woah, really? |
22:39:16 | Araq | should the compiler accept unicode newlines? if so, why? |
22:39:23 | Araq | who uses them? |
22:39:37 | Araq | we already have CR, LF and CR+LF |
22:39:37 | dom96 | I'm pretty sure gedit does |
22:39:42 | skrylar | oh, heh. i still have the gcc barf in this folder |
22:40:06 | skrylar | (i used to test the unicrap code with gcov+unit test rig, not sure if nimrod has a coverage tool though) |
22:40:39 | Araq | dom96: well I'm sure I had files gedit wouldn't open |
22:40:57 | dom96 | possible |
22:40:58 | Araq | it's hard to fix encoding issues when you can't edit the file ... |
22:42:13 | * | Mordecai joined #nimrod |
22:42:35 | * | Mordecai is now known as Guest90099 |
22:42:46 | skrylar | oh gibbus this is nightmare fuel |
22:42:59 | skrylar | looking at old utf internals |
22:43:30 | Araq | why does unicode introduce new newline characters in the first place? |
22:45:14 | * | psquid quit (Disconnected by services) |
22:45:17 | * | Guest90099 is now known as psquid |
22:45:18 | Araq | "The Klingon called, they want their own newline" |
22:45:55 | Araq | -- "ha, this joke never gets old. Let's add it to the standard" |
22:46:05 | skrylar | "if [..] return sylYES" .. the greatness of ANSI C not having a bool |
22:46:21 | Araq | -- "Guys, are you having crystal meth again?!" |
22:47:25 | * | Araq dreams up a new xkcd cartoon |
22:50:25 | skrylar | alright, i found the old code. i'll port it over and toss it on github |
22:50:50 | skrylar | it even has extremely painful things like bidirectional support |
23:11:42 | * | q66 quit (Read error: Connection reset by peer) |
23:13:41 | * | vendethiel quit (Ping timeout: 246 seconds) |
23:18:31 | * | q66 joined #nimrod |
23:20:04 | * | vendethiel joined #nimrod |
23:35:13 | * | Varriount|Mobile gives skrylar a cookie with sprinkles |
23:36:26 | NimBot | Araq/Nimrod devel 49ab1ea Zahary Karadjov [+0 ±4 -0]: some fixes for static params usage in macros |
23:36:54 | Araq | zahary1: want me to merge my vm2 stuff now? |
23:37:06 | Araq | it's at least as stable as the old vm2 afaict |
23:37:25 | zahary1 | I don't have any objections |
23:38:06 | * | carum joined #nimrod |
23:38:21 | zahary1 | what's left to do? the typedesc hangling, the "can't eval" path and the re-entrancy issues? |
23:39:09 | Araq | yup |
23:39:34 | Araq | I will do the "can't eval" path soon |
23:42:14 | Araq | btw did you change skGenericParam to skType? |
23:42:16 | zahary1 | I haven't read all of the code yet, but the use of genType looks a bit problematic; it assumes that the types will be known at the time of code generation, which is not the case with all typedesc values |
23:42:24 | zahary1 | the old VM had some similar issues |
23:42:47 | Araq | that's because we have no real spec for typedesc |
23:43:04 | Araq | is typedesc[T] the same as typedesc[typedesc[T]] ? |
23:43:36 | zahary1 | they were flattened in the previous design, yes |
23:44:17 | Araq | is a, b: typedesc the same as a: typedesc, b: typedesc ? |
23:44:41 | zahary1 | I assume we are talking about proc params - then yes |
23:44:49 | Araq | yeah, ok |
23:44:57 | Araq | what about 'distinct typedesc' ? |
23:44:59 | zahary1 | typedesc is not a bindOnce type in the parlance of the code |
23:45:15 | Araq | but typedesc[T] has to be |
23:45:17 | zahary1 | it is distinct by default |
23:45:38 | zahary1 | you get bindOnce by using this form |
23:45:38 | zahary1 | proc foo[T: typedesc](a, b: T) |
23:46:10 | Araq | ok, but what about: |
23:46:22 | Araq | proc foo[T](a, b: typedesc[T]) |
23:47:04 | Varriount|Mobile | Under what circumstances would a distinct typedesc type be needed? |
23:47:24 | zahary1 | T will be bindOnce here, which will effectively make a, b the same |
23:49:47 | Araq | why are types not known at codegen time btw? you get a fresh instantiation context |
23:50:08 | Araq | for each instantiation it should be known |
23:50:18 | zahary1 | they are not known when they are parameters |
23:50:36 | Araq | oh hmm... I guess you don't get a fresh instantiation context |
23:50:37 | zahary1 | maybe I'm missing some part of the code that specifically handles parameters |
23:51:04 | zahary1 | I mean parameters to macros, etc; return values of expressions like seqOfTypes[3] |
23:51:28 | Araq | parameters to macros are just like parameters to procs for the vm |
23:51:47 | Araq | they get their own register like a local variable |
23:53:22 | zahary1 | I'm asking questions a bit too early, because I haven't yet tried to step through the code |
23:54:42 | Araq | the code it produces kicks ass :-) |
23:56:37 | * | zielmicha quit (Quit: Connection closed for inactivity) |
23:58:32 | * | noam__ joined #nimrod |
23:59:32 | NimBot | Araq/Nimrod vm2_2 188be10 Araq [+0 ±3 -0]: keine_schweine test is not platform dependent |
23:59:32 | NimBot | Araq/Nimrod vm2_2 3c6d741 Araq [+0 ±1 -0]: bugfix: typo |