00:00:03 | filwit | no i know about defined too.. i'm just retarded sometimes |
00:00:16 | fowl | why remove compiles() |
00:01:01 | filwit | ^ |
00:01:53 | Araq | because we'll get type traits/type classes/whatever instead |
00:02:17 | Araq | and the other usages for "compiles" should be analysed and a proper solution be found |
00:02:34 | Araq | but it's not like "compiles" will disappear over night, so don't worry |
00:03:03 | Araq | good night |
00:03:09 | filwit | btw, is something changing with the scope rules of if blocks in the next version? |
00:03:13 | filwit | good night |
00:03:49 | Araq | filwit: yeah but only =~ is affected in practice |
00:04:09 | filwit | ah, okay, anywhere i can read about it? |
00:04:20 | filwit | some guy on phoronix mentioned it |
00:04:38 | filwit | but never responded when i asked him where he saw that |
00:04:57 | filwit | he thought it meant the language was still unstable |
00:05:39 | filwit | then again, it *was* phoronix, lol |
00:06:07 | Araq | well the language IS still unstable imho |
00:06:34 | filwit | the release is more stable than git-head for me |
00:06:45 | filwit | my 'part' macros don't compile on git-head |
00:07:12 | Araq | yeah but you're simply lucky here for release I think |
00:07:14 | filwit | in fact, any template(typedesc, ...) seems to break something, i should probably report it soon |
00:07:25 | Araq | yeah please do that |
00:07:34 | Araq | though check against "devel" please |
00:07:43 | Araq | or wait until I merged it back into master |
00:07:57 | filwit | well i need to hunt down exactly what it is first |
00:08:34 | filwit | and just haven't spent that much time, rather just use stable, but i will do it and make a more useful report soon |
00:08:49 | filwit | i would prefer to be able to use master |
00:08:58 | filwit | will check devel in a second |
00:10:36 | reactormonk | Araq, from https://github.com/Araq/Nimrod/pull/801 nimrod-assets for testing data? |
00:12:55 | filwit | Araq: still fails with 'devel' |
00:13:28 | Araq | reactormonk: just close the PR, discoloda will come up with a better PR |
00:15:21 | filwit | Araq: nimrod dies with "Illegal storage access. (Attempt to read from nil?)" |
00:15:33 | filwit | that means i should build with the --parralle:on ? |
00:15:39 | filwit | (i forgot the actually command) |
00:16:52 | filwit | sorry, not trying to keep you from sleep, i'll have time tomorrow to hang out here probably, i'll just figure it out then if need to take off |
00:16:53 | Araq | so? should I be concerned now? lol |
00:17:01 | reactormonk | Araq, he can still change it |
00:17:21 | Araq | reactormonk: no, I want a new one |
00:18:28 | filwit | Araq: was the "should i be concerned now?" comment towards what i said or what reactormonk? |
00:18:38 | Araq | you |
00:19:17 | filwit | i wasn't saying you should be concerned about anything, just wondering what steps i should take to understand what is going on with the compiler |
00:19:41 | Araq | usually you get a stack trace when you compiled in debug mode |
00:20:56 | filwit | yeah, you're right, i'm just not thinking well tonight |
00:22:36 | Araq | I need to sleep now. see you tomorrow |
00:22:43 | filwit | k |
00:59:24 | filwit | hmm.. defined is not the same as compiled |
00:59:32 | filwit | how can i check for a specific overload? |
00:59:52 | filwit | when defined(foo.bar(int, string)) |
01:00:08 | filwit | else defined(foo.bar(int, float)) |
01:09:09 | filwit | nevermind, just realized i don't need that anyways |
01:22:38 | * | athaudia quit (Ping timeout: 245 seconds) |
01:34:25 | * | athaudia joined #nimrod |
01:41:43 | * | vbtt joined #nimrod |
01:42:16 | vbtt | hello - qq about nimrod threads - are they just system threads? |
01:49:42 | * | DAddYE quit (Ping timeout: 252 seconds) |
01:50:09 | * | fred_ joined #nimrod |
01:50:28 | fred_ | hello |
01:50:32 | * | fred_ is now known as Guest72856 |
01:51:12 | filwit | hi fred_ |
01:51:23 | filwit | vbtt, sorry don't know |
01:51:51 | filwit | vbtt, usually there's not as many people on the IRC at this time (most in europe) |
01:53:06 | Guest72856 | filwit, do you know how often or when the devel branch will be merged into master? |
01:53:28 | filwit | sorry, no i don't know |
01:53:36 | vbtt | filwit:thanks anyway |
01:53:39 | filwit | though i'm sure you could take a look at the github history |
01:54:28 | filwit | vbtt, there's probably an answer to your question in the docs though |
01:59:55 | Guest72856 | looks like its been ongoing since mid october |
02:01:34 | filwit | Araq has been working on some pretty cool stuff |
02:02:43 | vbtt | I looked through the docs and didn't find it |
02:04:08 | Guest72856 | The language is pretty cool, Araq and others have done an amazing job. |
02:04:18 | Guest72856 | Just wondering how stable it is for production use. |
02:05:38 | filwit | i'm sorry, i can't really answer that. For me, Nimrod has been pretty stable, but I haven't written a program with thousands of lines of code in it yet. |
02:06:12 | filwit | Nimrod itself is written in Nimrod though, and I believe there's some company already using Nimrod in production |
02:07:38 | filwit | i've ran into a couple bugs in Nimrod, but usually they where minor and fixed fast |
02:11:16 | Guest72856 | what kind of stuff has nimrod worked well for you? |
02:17:58 | filwit | sorry, i have to make a phone call, i'll brb |
02:19:07 | OrionPK | nimrod is awesome for meta programming |
02:19:44 | OrionPK | it's great for writing libraries for other Nimrod programs :-P |
02:19:54 | Guest72856 | :-) |
02:20:26 | OrionPK | I wouldn't depend on it for a large production system just yet though |
02:20:47 | Guest72856 | how would you rate the meta programming against some other languages? |
02:20:59 | OrionPK | use it for building tools used by devs |
02:21:04 | Guest72856 | Ruby, Python, lisp ... ? |
02:21:24 | OrionPK | I'm not the one to ask on that, sorry |
02:21:47 | OrionPK | I'm a c# dev primarily |
02:22:06 | OrionPK | professionally anyway |
02:22:17 | Guest72856 | gotcha. I take it you like it compared to c# then? |
02:22:43 | OrionPK | yep for sure. it's very different though, obviously |
02:22:58 | OrionPK | and I still like CQ:-) |
02:23:01 | OrionPK | c# |
02:23:13 | OrionPK | sorry, on my phone on a tread mill |
02:23:30 | Guest72856 | multitasking, nice! |
02:23:45 | OrionPK | (using an irc program I built with Nimrod) |
02:23:47 | OrionPK | :-) |
02:24:05 | Guest72856 | really? That's pretty cool. |
02:24:24 | Guest72856 | on Android, iOS or other? |
02:24:48 | OrionPK | https://www.dropbox.com/s/uq64u47v1d2dqa0/Screenshot_2013-12-29-12-30-58.png |
02:24:57 | OrionPK | its a web app |
02:25:06 | OrionPK | running on rbpi |
02:26:18 | * | xkxx joined #nimrod |
02:26:24 | Guest72856 | rbpi? |
02:26:35 | Guest72856 | not familiar with it |
02:27:23 | OrionPK | raspberry pi |
02:28:19 | Guest72856 | your phone talks to the web server on your rbpi, which is running nimrod? |
02:28:23 | xkxx | hi guys, i'm trying to write `template `/` (s: string, flagSym: sym): expr {.immediate.} =` but the compiler says 'sym' is undeclared. Got any ideas why? |
02:28:56 | xkxx | i've tried importing macros but it didn't help |
02:30:02 | OrionPK | correct |
02:30:03 | filwit | xkxx: is there a 'sym' in Nimrod? Maybe you mean 'expr'? |
02:31:06 | xkxx | http://nimrod-lang.org/trmacros.html#parameter-constraints |
02:31:21 | xkxx | it mentions 'sym' |
02:31:52 | filwit | oh interesting |
02:32:33 | xkxx | and if sym is not a valid type, how do i match a symbol? |
02:32:50 | filwit | i'm wondering what version of the compiler you're using |
02:33:05 | xkxx | github master |
02:33:16 | xkxx | I just recompiled today |
02:33:23 | filwit | hmmm.. idk then |
02:33:32 | EXetoC | expr{sym}? |
02:33:39 | Guest72856 | have you tried flagsym: expr |
02:33:58 | xkxx | let me see... |
02:34:08 | OrionPK | parameter constraints aren't types on their own |
02:34:32 | xkxx | ok got it |
02:34:33 | xkxx | thanks |
02:36:00 | Guest72856 | OrionPK, so what server are you using? Is it Jester or did you roll your own? |
02:37:15 | reactormonk | can someone confirm? https://github.com/Araq/Nimrod/issues/804 |
02:38:54 | OrionPK | jester |
02:39:31 | * | brson quit (Quit: leaving) |
02:39:49 | OrionPK | afk |
02:39:58 | * | brson joined #nimrod |
02:40:47 | * | Guest72856 quit (Ping timeout: 272 seconds) |
02:40:53 | * | brson quit (Client Quit) |
02:41:11 | * | brson joined #nimrod |
02:46:18 | * | DAddYE joined #nimrod |
02:46:45 | * | expr_ joined #nimrod |
02:46:58 | * | filwit quit (Quit: Leaving) |
02:51:14 | * | DAddYE quit (Ping timeout: 264 seconds) |
03:00:43 | xkxx | hum, how do convert a unbound symbol to a string in a template? |
03:00:57 | xkxx | the compiler is complaining about it being undefined |
03:01:10 | xkxx | to* |
03:02:22 | OrionPK | can you make a gist |
03:02:32 | xkxx | sure |
03:02:57 | fowl | xkxx, system.astToStr |
03:03:25 | xkxx | cool |
03:05:14 | xkxx | well, that doesn't work in this case |
03:05:57 | OrionPK | thats if you wanted to use the string at compile time |
03:06:15 | xkxx | give me a second |
03:07:09 | xkxx | here: http://pastebin.com/KVhiesNs |
03:07:46 | xkxx | the problem is at the 6th line |
03:08:53 | fowl | xkxx, sym The matching node must be a symbol (a bound identifier). |
03:09:10 | xkxx | ugh |
03:09:41 | xkxx | i tried changing it to expr{ident}, same problem |
03:12:18 | xkxx | any ideas? |
03:12:49 | fowl | i think this hsould be a macro |
03:13:11 | xkxx | can a macro overload `/`? |
03:13:24 | xkxx | i thought only templates can do that? |
03:14:36 | fowl | what made you think that |
03:15:11 | xkxx | the tutorial mentions that only templates can implement new syntax |
03:15:14 | fowl | http://pastebin.com/SFZfC8xx |
03:16:44 | xkxx | okay |
03:17:36 | EXetoC | same naming restrictions for everything, basically |
03:20:08 | EXetoC | well, it's not new syntax |
03:20:28 | xkxx | gotcha |
03:27:28 | fowl | xkxx, here you go: http://pastebin.com/CaSa5ihz |
03:40:04 | * | [Pete_27] joined #nimrod |
03:51:43 | xkxx | i have that figured out, but thanks :) |
03:57:42 | * | xkxx quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
03:57:54 | OrionPK | lol |
03:57:56 | OrionPK | ass crack bandit |
03:58:07 | OrionPK | i can already tell this episode is gonna be amaze |
03:59:57 | * | expr_ quit (Ping timeout: 272 seconds) |
04:32:14 | * | dmac quit (Quit: Leaving.) |
04:55:07 | * | Zuchto quit (Ping timeout: 245 seconds) |
04:56:42 | * | JStoker quit (Ping timeout: 276 seconds) |
04:57:31 | * | Zuchto joined #nimrod |
05:01:15 | * | JStoker joined #nimrod |
05:19:09 | * | dmac joined #nimrod |
05:19:40 | * | shodan45 quit (Quit: Konversation terminated!) |
05:20:40 | * | dmac quit (Client Quit) |
06:01:14 | * | dmac joined #nimrod |
06:09:53 | * | dmac quit (Quit: Leaving.) |
06:12:29 | * | dmac joined #nimrod |
06:15:53 | * | dmac quit (Client Quit) |
07:32:36 | * | dmac joined #nimrod |
07:40:15 | * | dmac quit (Ping timeout: 272 seconds) |
08:03:06 | * | achim joined #nimrod |
08:04:18 | * | io2 joined #nimrod |
08:08:23 | * | brson quit (Quit: leaving) |
08:13:04 | * | dmac joined #nimrod |
08:13:58 | * | Araq_ joined #nimrod |
08:41:59 | * | wan quit (Quit: leaving) |
08:42:11 | * | wan joined #nimrod |
08:46:49 | * | io2_ joined #nimrod |
08:47:22 | * | io2_ quit (Client Quit) |
08:48:56 | * | io2 quit (Ping timeout: 272 seconds) |
08:51:24 | * | io2 joined #nimrod |
08:58:15 | wan | If you want to see the impact of nawak workers on the framework benchmarks tests: http://i.imgur.com/CuXf0qK.png |
08:58:29 | * | Araq_ quit (Read error: Connection timed out) |
08:59:12 | * | Araq_ joined #nimrod |
09:00:31 | wan | I'll probably set the number of workers to 32 or more. And when they'll add redis as a database, the 'updates' test will become so biaised. |
09:21:24 | * | evil_CarpNet joined #nimrod |
09:25:40 | * | io2 quit (Remote host closed the connection) |
09:26:58 | * | evil_CarpNet quit (Quit: Leaving) |
09:27:23 | * | io2 joined #nimrod |
09:32:35 | * | dmac quit (Quit: Leaving.) |
09:42:00 | * | Araq_ quit (Read error: Connection timed out) |
09:43:12 | * | Araq_ joined #nimrod |
10:03:18 | * | dmac joined #nimrod |
10:10:26 | * | dmac quit (Ping timeout: 264 seconds) |
11:08:06 | * | dmac joined #nimrod |
11:08:30 | * | io2 quit (Read error: Operation timed out) |
11:14:44 | * | dmac quit (Ping timeout: 252 seconds) |
12:10:56 | * | dmac joined #nimrod |
12:15:50 | * | dmac quit (Ping timeout: 264 seconds) |
12:33:17 | * | darkf quit (Quit: Leaving) |
12:52:08 | * | achim quit (Quit: Computer has gone to sleep.) |
13:00:51 | * | aftershave quit (Quit: Textual IRC Client: www.textualapp.com) |
13:01:57 | * | aftershave joined #nimrod |
13:11:35 | * | dmac joined #nimrod |
13:16:26 | * | dmac quit (Ping timeout: 264 seconds) |
13:41:19 | * | achim joined #nimrod |
13:58:41 | * | io2 joined #nimrod |
14:04:18 | * | isenmann quit (Quit: Leaving.) |
14:07:03 | * | Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131205075310]) |
14:12:01 | * | dmac joined #nimrod |
14:14:32 | * | gradha joined #nimrod |
14:16:45 | * | dmac quit (Ping timeout: 265 seconds) |
14:56:16 | * | Araq_ joined #nimrod |
15:01:18 | * | Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131205075310]) |
15:09:44 | * | BitPuffin joined #nimrod |
15:12:14 | * | dmac joined #nimrod |
15:17:02 | * | dmac quit (Ping timeout: 264 seconds) |
15:27:08 | * | psquid quit (Quit: work) |
15:27:44 | * | faassen joined #nimrod |
16:12:37 | * | dmac joined #nimrod |
16:16:47 | * | dmac quit (Ping timeout: 245 seconds) |
16:28:06 | * | aftershave quit (Ping timeout: 272 seconds) |
16:29:21 | * | aftershave joined #nimrod |
16:31:55 | * | [1]Endy joined #nimrod |
16:57:45 | * | [2]Endy joined #nimrod |
16:59:07 | * | [1]Endy quit (Ping timeout: 246 seconds) |
17:13:04 | * | dmac joined #nimrod |
17:14:29 | * | [1]Endy joined #nimrod |
17:17:31 | * | dmac quit (Ping timeout: 265 seconds) |
17:18:45 | * | [2]Endy quit (Ping timeout: 272 seconds) |
17:33:09 | * | [2]Endy joined #nimrod |
17:36:34 | * | [1]Endy quit (Ping timeout: 246 seconds) |
17:46:29 | * | brson joined #nimrod |
17:54:22 | * | aftersha_ joined #nimrod |
17:55:43 | * | aftersha_ quit (Client Quit) |
17:59:54 | * | DAddYE joined #nimrod |
18:02:49 | * | [1]Endy joined #nimrod |
18:06:49 | * | [2]Endy quit (Ping timeout: 265 seconds) |
18:13:13 | * | dmac joined #nimrod |
18:17:53 | * | dmac quit (Read error: Connection reset by peer) |
18:21:22 | * | brson quit (Ping timeout: 245 seconds) |
18:23:35 | * | [2]Endy joined #nimrod |
18:24:16 | * | brson joined #nimrod |
18:26:04 | * | CarpNet quit (Quit: Leaving) |
18:27:47 | * | [1]Endy quit (Ping timeout: 272 seconds) |
18:28:21 | vbtt | hello - qq about nimrod threads - are they just system threads? |
18:30:04 | Araq | yes |
18:30:20 | Araq | there is an "actors" module though that implements a thread pool |
18:31:01 | Araq | which shows surprisingly bad performance on my machine but haven't looked into this issue plus I plan to deprecate it anyway |
18:32:06 | Araq | best way to do threading for now is to implement your own thread pool which is quite easy to do with nimrod's channels |
18:32:13 | * | BitPuffin quit (Ping timeout: 272 seconds) |
18:33:06 | Araq | and interestingly that's more efficient than my prototype for a light weight "spawn" which puzzles me |
18:33:34 | icebattle | Are there any plans to do something along the line of go's goroutines? |
18:35:02 | Araq | yes, we'll get something comparable |
18:35:22 | Araq | as I said I have a working prototype for "spawn" which is quite like Go's "go" |
18:35:36 | icebattle | right, that makes sense. |
18:37:05 | Araq | we won't get Go's growing stacks though or the stop the world GC ... ;-) |
18:37:18 | icebattle | lol |
18:42:36 | * | [1]Endy joined #nimrod |
18:44:41 | * | dmac joined #nimrod |
18:46:15 | * | [2]Endy quit (Ping timeout: 272 seconds) |
19:05:28 | * | brson quit (Quit: leaving) |
19:05:41 | * | brson joined #nimrod |
19:07:05 | Araq | ping zahary, zahary__ |
19:13:13 | vbtt | awesome (spawn) |
19:13:33 | vbtt | so nimrod coroutines will have isolated heaps? |
19:14:31 | vbtt | what's really useful for server type program is a coroutine with a isolated heap that can just be discarded after the request is processed (no GC traversal needed) |
19:15:28 | vbtt | go's moving away from segmented stacks i believe |
19:18:23 | * | DAddYE quit (Read error: Connection reset by peer) |
19:19:06 | * | DAddYE joined #nimrod |
19:19:57 | Araq | vbtt: coroutines are something different and are implemented but still buggy |
19:20:15 | Araq | well actually it's more like Python's generators |
19:20:27 | Araq | as we have no stack capturing |
19:22:14 | Araq | vbtt: we have thread local heaps, call GC_disable and then it will be gone once the thread died, this implies 1 thread per request though which is old fashioned |
19:26:02 | * | ddl_smurf quit (Quit: ddl_smurf) |
19:32:02 | vbtt | Araq: what does 'spawn' create? if not a coroutine? |
19:32:39 | Araq | it doesn't create anything, it causes the passed function to run concurrently |
19:32:53 | Araq | spawn foo(a, b) |
19:33:04 | Araq | spawn bar(c, d) |
19:33:08 | Araq | sync() |
19:33:36 | Araq | if 'foo' has a non-void return type a Future[ReturnType] is returned: |
19:33:50 | Araq | let a = spawn(foo(a, b)) |
19:33:59 | Araq | let a = spawn(bar(c, d)) |
19:34:02 | vbtt | which thread will foo() use? |
19:34:24 | OrionPK | spawn has such a negative connotations |
19:34:27 | Araq | echo "result A", ^a, " B ", ^b |
19:34:33 | vbtt | interesting |
19:34:46 | Araq | OrionPK: really? why? |
19:35:01 | OrionPK | spawn is something insects do |
19:35:18 | Araq | "spawn" or "fork" are what the literature uses |
19:35:30 | OrionPK | fork is nicer sounding |
19:35:36 | OrionPK | in terms of what images it brings to mind |
19:35:52 | Araq | "fork" is already a syscall though |
19:36:15 | Araq | vbtt: it runs the function on some unspecificed background thread |
19:36:16 | OrionPK | if you ever call your offspring your 'spawn' it makes them sound rather disgusting :) |
19:36:49 | vbtt | Araq:so there's a pool of background threads? Does each have it's own heap? |
19:37:00 | Araq | yes and yes |
19:39:02 | vbtt | so each backgroudn thread runs its own GC, cleaning garbage possibly accumulated from different spawn calls..? |
19:39:30 | gradha | OrionPK: if the offspring came from a caesarean you may as well call them tumors |
19:40:04 | Araq | vbtt: that's the plan for 1.0, but yeah I know it doesn't make too much sense ;-) |
19:40:34 | OrionPK | i mean.. infants basically are tumors until they're born |
19:40:34 | OrionPK | :p |
19:41:10 | Araq | it depends on whether the passed function does lots of work or not though, it's a hard problem |
19:41:10 | vbtt | Araq: it's resonable even if not ideal. this does mean that spawn()ed functions cannot access data on the callers heap (i.e. args must be copied) |
19:41:24 | dom96 | infants aren't really 'abnormal' though. |
19:41:42 | dom96 | Personally I don't mind the name 'spawn' |
19:41:46 | vbtt | Araq: It's better than a 'normal' thread pool with shared heap :) |
19:42:00 | Araq | vbtt: read what I wrote please: http://forum.nimrod-lang.org/t/334 |
19:42:28 | OrionPK | depends on your definition of normal |
19:42:28 | vbtt | But yeah - if you had a way to create an isolated heap for a function call (e.g. isolate f(a_copy, b_copy)) then you could just clean up the heap when the function returns without worrying about GC. |
19:43:25 | Araq | I have 2-4 ideas of how to provide "shared ref" without a global GC but no idea what is the sanest solution :-) |
19:44:50 | Araq | vbtt: 'f' could be a long running function though which itself requires proper GC |
19:45:35 | Araq | and that's not even too unrealistic as the argument passing semantics indeed require a copy for "spawn" and so it's not as cheap as one would like |
19:46:01 | vbtt | Araq: yes and that's ok. I'm just looking for a way to avoid GC for a specific (and very common) usage pattern (server handling requests) |
19:47:33 | vbtt | If I can say 'run this function in an isolated heap and GC if the heap grows over 32M' that would be cool. If my function doesn't grow above that the GC will never kick in. |
19:48:38 | Araq | that's not how the GC works though ;-) |
19:49:20 | Araq | better tell it to not collect for longer than 2ms |
19:49:26 | * | tdc joined #nimrod |
19:49:44 | Araq | hi tdc welcome |
19:50:24 | fowl | vbtt, nimrods gc is performant and you can tune it |
19:50:36 | tdc | Hi Araq |
19:53:11 | EXetoC | OrionPK: what about fork? some people might have something against forks. I say, spoons all the way |
19:53:28 | OrionPK | im big spoon |
19:59:33 | fowl | fork and spoon could be considered sexual references, that would be extremely bad PR |
20:00:03 | Araq | they say any form of publicity is good publicity, fowl ... |
20:01:27 | fowl | not in the tech industry, where people get fired over jokes |
20:01:32 | dom96 | Yeah, just look at Miley Cyrus. |
20:05:01 | discoloda | why not both? spork |
20:05:36 | * | [2]Endy joined #nimrod |
20:08:33 | OrionPK | spawrk |
20:09:06 | * | [1]Endy quit (Ping timeout: 265 seconds) |
20:12:24 | * | cwds420 joined #nimrod |
20:18:00 | * | filwit joined #nimrod |
20:22:14 | Araq | hi cwds420 welcome |
20:24:24 | dom96 | hello cwds420 and filwit |
20:24:30 | filwit | hey |
20:25:20 | cwds420 | Hi. Thanks for the welcome. Came across your language from a 'Dr Dobb's Update - Rise and Fall of Languages in 2013' mailing a few days ago; never heard of it before this. Read through all the docs, built sample code to run on iOS, OSX, Linux, Android - all worked wonderfully. Very impressed. Don't know why I haven't came across this project before now. |
20:26:12 | dom96 | That's great :) |
20:26:18 | filwit | yes, very :) |
20:26:24 | gradha | cwds420: it's a secret project, welcome to our sect |
20:26:35 | filwit | all hail araq |
20:27:07 | Araq | lol thanks |
20:28:36 | * | [1]Endy joined #nimrod |
20:32:02 | * | [2]Endy quit (Ping timeout: 252 seconds) |
20:39:13 | filwit | btw, dom96, do you guys have any traffic analytics on nimrod-lang.org? |
20:39:46 | filwit | reason i ask is cause I just added google analytics to my site, and it's waaaay better than what i was using before. |
20:40:32 | filwit | very useful information if you want to know where people are being directed to the site from the most |
20:42:11 | dom96 | No. I only have it on my blog. |
20:42:24 | filwit | is the site's source online? |
20:42:28 | dom96 | We should indeed add it to nimrod-lang.org and forum.nimrod-lang.org |
20:42:35 | filwit | it's really really simple |
20:42:53 | filwit | just create a google account for nimrod, then add a js script to each page |
20:43:08 | dom96 | I bet it's not that simple heh |
20:43:20 | filwit | i just added it to my site, it's that simple :) |
20:43:43 | dom96 | the site is generated by koch or something |
20:43:55 | gradha | dom96: half of the web uses google analytics |
20:44:23 | gradha | dom96: for the forum it would be just changing the template |
20:44:54 | dom96 | Yeah, and I would need to recompile it, reboot to linux, ssh into the server, restart the forum... etc... |
20:45:44 | dom96 | filwit: Wanna join VNUG? |
20:45:57 | filwit | dom96: in a couple minutes |
20:46:14 | * | BitPuffin joined #nimrod |
20:46:55 | cwds420 | Been looking for a C/C++ replacement for years. Tried most of what's out there (that I was aware of) but the big sticking point came back to portability in all cases. Your decision to target C (and I suppose C++/LLVM/Javascript) is by and far the best feature (from my point of view)... needs to be advertised better! Very interested in an IRC discussion from the past few days on a lightweight threading model ("spawn??") similar to |
20:47:37 | * | [1]Endy quit (Ping timeout: 245 seconds) |
20:49:36 | vbtt | is there a more detailed explanation of 'deferrent reference counting' used by nimrod? |
20:52:00 | filwit | cwds420: compile to C certainly has it's benefits. I'm always excited about GCC & LLVM/Clang updates even though I don't really write in C/C++ at all :) |
21:01:16 | OrionPK | who wants to wrap this bad boy |
21:01:16 | OrionPK | https://code.google.com/p/zopfli/source/browse/#git%2Fsrc%2Fzopfli |
21:01:31 | OrionPK | " compresses around 5% better than zlib " |
21:01:58 | OrionPK | (obviously meant for static resources, since it's also much slower) |
21:03:22 | cwds420 | Count yourself lucky for not needing to deal with C++; we use a strict subset that is nearly impossible to enforce - something like nimrod would be a vast improvement for new work. Over the coming weeks I think we'll port over a few libraries nimrod does not yet have to try things out; perhaps a bigmath implmentation and a few other compute-centric things. I think the web stuff should wait until the threading model is flushed out, |
21:04:38 | BitPuffin | filwit: join ze VNUG! |
21:05:53 | filwit | k |
21:06:05 | OrionPK | idk if araq will be flushing anything out |
21:06:16 | BitPuffin | you mean fleshing? |
21:06:18 | OrionPK | we'll see if he's up to fleshing it out though |
21:06:23 | * | cwds420_ joined #nimrod |
21:06:30 | * | cwds420_ quit (Client Quit) |
21:06:37 | Araq | flesh out what? |
21:06:38 | dom96 | Araq: gradha: We need the PDF slides! |
21:06:48 | BitPuffin | Araq: the sausage |
21:08:18 | gradha | dom96: I gave a 90% version to Araq, but he is still playing with clicks and stuff |
21:17:41 | Araq | well I'm working hard to get my new tester to work and then merging devel into master and then ensuring that for fuck's sake the examples in my talk and in the drdobbs article still work |
21:18:04 | Araq | and I have no time and need all this done by monday |
21:18:51 | Araq | if you have any better ideas of how to fight bad reputation let me know |
21:19:15 | gradha | who's giving you a bad reputation? |
21:19:21 | * | gradha prepares the baseball bats |
21:23:51 | Araq | the people trying out my examples and saying "gah, doesn't work, nimrod sucks, araq is a liar" |
21:25:18 | gradha | you could mention the git hash which worked, but people will say then "gah, so unstable, nimrod sucks, araq is a liar" |
21:27:53 | Araq | yup ... :-/ |
21:28:02 | * | Araq is scared |
21:30:50 | OrionPK | also i've heard "araq is a doody head" |
21:33:05 | * | achim quit (Quit: Computer has gone to sleep.) |
21:34:09 | * | Mat3 joined #nimrod |
21:34:26 | Mat3 | hello |
21:36:16 | Mat3 | Araq: Is your 'spawn* solution interpretable in sense of these defination: "'spawn', which is a method for a master processor to start up and connect pipes to an arbitrary set of other processes on other processors" ? |
21:38:00 | cwds420 | Would be happy to test out samples as a sanity check over the next few days over a variety of platforms if that would be useful. |
21:40:00 | Araq | Mat3: I don't think so. pipes/channels are deliberately not involved |
21:41:14 | EXetoC | badger badger badger |
21:41:37 | * | tdc quit (Quit: Leaving) |
21:46:04 | * | cwds420 quit (Quit: Lingo - http://www.lingoirc.com) |
21:49:38 | Mat3 | Araq: so your spawn routine simply delegate the working thread or process context ? |
21:51:06 | Araq | spawn simply checks the thread pool for a thread that is ready |
21:52:24 | Araq | and then passes the work item to that thread via a rendevous |
21:52:36 | Araq | that's what Ada calls it iirc |
21:53:06 | Araq | this seems to be primitive but has in fact lots of advantages |
21:53:33 | Araq | (which I will blog about :P ) |
21:54:09 | Mat3 | I know this function as 'transfer' |
22:00:53 | Mat3 | probably this is a better name |
22:02:01 | Araq | but I like "spawn" ... |
22:02:37 | Mat3 | your choice |
22:03:21 | Mat3 | go to bed, ciao |
22:03:36 | * | Mat3 quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
22:12:50 | * | cwds420 joined #nimrod |
22:28:52 | * | psquid joined #nimrod |
22:36:59 | Raynes | Araq: Did you meet José Valim!?!?! |
22:37:14 | Raynes | José is mah boy. |
22:38:11 | * | cwds420 quit (Quit: Lingo - http://www.lingoirc.com) |
22:40:12 | gradha | please ellaborate on "mah boy" |
22:40:33 | Araq | who is that? |
22:41:59 | Araq | elixir? |
22:44:31 | gradha | I'm more interested in the suspicious https://www.youtube.com/watch?v=X6XXia5B2Wg ma boy reference |
22:44:52 | Araq | Raynes: I don't think I met him |
22:45:15 | Raynes | Aw. You'd like him, he's swell. |
22:45:28 | Raynes | gradha: We're pals, man. |
22:45:34 | Raynes | I've worked on Elixir a bit. |
22:56:22 | * | zezba9000 joined #nimrod |
22:56:47 | dom96 | hello zezba9000 |
22:57:03 | zezba9000 | Howdy |
22:57:58 | gradha | hey there |
23:01:38 | * | hitesh joined #nimrod |
23:01:48 | dom96 | hello hitesh! |
23:02:02 | hitesh | hi dom96 |
23:02:08 | gradha | hi hitesh |
23:02:16 | hitesh | hi gradha |
23:02:28 | hitesh | what are you guys still doing up? |
23:02:31 | hitesh | isn't it late for you? |
23:02:42 | * | gradha is drinking and writing blog posts |
23:02:46 | dom96 | 11pm |
23:02:54 | dom96 | Talking on teamspeak with BitPuffin and filwit |
23:03:16 | hitesh | gradha, that's the way to do it |
23:03:21 | gradha | man, where's Varriount, he doesn't even join his Nimrod User Group |
23:04:02 | gradha | hitesh: well, it's called "Rants from the Ballmer Peak" for a reason http://gradha.github.io |
23:06:13 | zezba9000 | "Users prefer static linking" lol |
23:06:36 | gradha | hey, it's true (at least for a sample size of one where that's me) |
23:06:56 | Araq | make that two :-) |
23:07:02 | Araq | hi zezba9000, hi hitesh |
23:07:16 | zezba9000 | Hey |
23:07:18 | hitesh | Hi Araq |
23:08:01 | BitPuffin | zezba9000: hello uncle witte |
23:08:34 | zezba9000 | Uncle?! What you Puffin Mr Bit lol |
23:09:04 | BitPuffin | zezba9000: you are older than filwit |
23:09:21 | zezba9000 | as his brother, not uncle |
23:11:06 | BitPuffin | zezba9000: haha yeah I know |
23:11:54 | zezba9000 | :) |
23:12:04 | BitPuffin | but something to make you sound older xD |
23:15:42 | gradha | dom96: man, ipsum doesn't support rnLiteralBlock? |
23:15:58 | dom96 | it supports very little |
23:16:00 | gradha | lol, already reported that |
23:16:10 | dom96 | PR! |
23:16:11 | gradha | well, I guess I'll have to fix it |
23:16:42 | gradha | dom96: so what are your big 2014 plans regarding ipsum? |
23:18:06 | dom96 | hopefully a release |
23:18:20 | gradha | release the Kraken! |
23:19:55 | vbtt | is there an atom/rss feed for the nimrod blog? |
23:20:27 | gradha | vbtt: no, it's all classic interface at the moment |
23:21:08 | gradha | in fact, it's a secret blog, you should not talk about it |
23:21:50 | gradha | Araq: your use of human .htaccess is breaking! |
23:22:41 | Araq | well I'll put if offline soon |
23:23:16 | Araq | for maximum reddit impact we'll keep them secret for weeks |
23:23:27 | Araq | on monday my talk is released |
23:23:57 | gradha | are you sure about that? there's a backlog from 16th december |
23:24:36 | gradha | hmm… or maybe they are skipping talks, like the bodol one |
23:25:21 | vbtt | Araq:what's the talk? |
23:27:22 | vbtt | ok - dont worry I wont release the blog anywhere. |
23:36:04 | vbtt | what is the name for this syntax pattern {. foo .} |
23:36:15 | gradha | pragma? curly braces? |
23:36:59 | gradha | vbtt: http://nimrod-lang.org/manual.html#pragmas |
23:37:08 | dom96 | gradha: They are!? Noooo |
23:37:17 | vbtt | dom96: thank you |
23:37:18 | gradha | dom96: wat |
23:37:26 | dom96 | or rather, there is a backlog nooo |
23:37:28 | vbtt | I mean gradha, thank you. |
23:38:14 | * | gradha wonders if dislexia makes irc as fun as alcohol |
23:47:09 | * | darkf joined #nimrod |
23:51:37 | vbtt | I read the concurrency posts. which version do i need to run the examples? |
23:52:19 | Araq | there is no implementation, there is a prototype of the runtime aspects which never left this computer |
23:52:40 | OrionPK | hopefully ur hdd doesnt fail |
23:53:45 | vbtt | ah ok |
23:54:49 | vbtt | it appears the shared memory model with locks is very low level. |
23:56:11 | Araq | actually not really |
23:56:23 | Araq | but the high level stuff doesn't cause much problems |
23:56:37 | Araq | so I didn't talk about it |