« first day (931 days earlier)      last day (4078 days later) » 

psr
12:01 AM
Has the possibility of being used in enterprise environment, if other devs don't know Haskell (remote possibility), then if generated code is clean they can pretend it was human written. Of course as long as you want the real source to be Haskell they can't touch it, but still.
 
Judicious implementation of show and an ast creating monad could probably do some interesting stuff in that vein
There's mumps in enterprise??
 
psr
12:19 AM
MUMPS is mostly in health care, followed by financial. I would call both very much enterprise.
You could code generate some C# yourself.
 
 
1 hour later…
1:23 AM
@psr yeah, I was pondering how I would do that on my drive home from work.. might try something really simple because it sounds pretty crazy complex
 
user20683
@JimmyHoffa There's a "roll you a scheme in 48 hours" for Haskell
 
@WorldEngineer yeah, people tout it for learning parsing, but call me crazy, I found it jumped in way too deep without the up front "here's parser combinators, here's how you use them" bit. It's really hard to find the initial beginning explanation of parser combinator usage, I mostly ended up just guessing with hackage references how to do stuff, actually fparsec documentation was the first time parser combinators made sense to me because all the haskell docs online completely skip the basics
 
user20683
yeah
 
user20683
I'd argue that the SICP is better as far as that kind of learning goes but they are both very heavy
 
maybe if you had a formal education with training on grammars and such you wouldn't need that initial bits, but I was definitely lost at every intro to parser combinators stuff I found online. after working with them for a day though they click pretty quick, they're such a great API
but the roll you a scheme is about parsing which isn't particularly difficult (even writing parser combinators from scratch isn't that hard with a functional language), code generation on the other hand is a bit trickier in the fashion I'm thinking about
I'm imagining a monad that takes:
do
x <- 4
increment x

and returns:
Block [(Assignment x 4), (Exec increment x)]

which you could trivially fold to get a result of:
{
int x = 4;
return increment(x);
}
a monad that constructs that abstract syntax tree...I'm not certain how one would go about that..
 
user20683
1:33 AM
@JimmyHoffa I've covered a good deal of theory, I wasn't able to take the Compilers class when they offered it. It was in Java anyway...
 
user20683
not that I'd mind that but I don't know
 
it would have been a state machine class then, the only interesting part would be details about the difference between front/middle/back ends and when you don't need a middle and what the consequences of that are
 
user20683
between Programming Language Concepts (covered lexers and parsers to a degree along with formal BNF) and Automata, I could probably pull one out of my ass
 
@WorldEngineer parsing that do block into the abstract syntax tree would be easy enough, but I'm not talking about parsing it, rather referring to an implementation of >>= that builds it, so the final return in that block (from the call to increment) returns that abstract syntax tree instead of executing the code. The actual execution in haskell of that do block doesn't execute the code; but returns an AST describing the code so from the AST you could generate other code
and that, I do not know how to approach heh
 
user20683
hmm
 
1:40 AM
@WorldEngineer imagine this haskell evaluating to True for instance:

(foldl1 (+) [1,2,3]) == "Int[] nums = new Int[] { 1,2,3 }; int res = 0; for (int i = 0; i < nums; i++) { res += nums[i]; } return res;"
that could be a custom implementation of foldl1 perhaps or who knows, it's just a strange concept.
 
2:19 AM
Woo, I wrote a bunch more on my combinator blog post. Maybe I'll actually finish it tonight. @WorldEngineer you want a blog post on programmers about combinators? I wouldn't normally bother, but I read the current blog post there and I'm not a fan, so I'd be glad to unseat it as the current post heh
 
user20683
@JimmyHoffa sure, I'll put it into the queue
 
3:31 AM
Woot. Part 1 is done, save for a little saving-face blurb at the bottom I need to hack up for anyone who reads the article and actually knows how LINQ is implemented under the covers.
I'll write Part 2 either some time or never, basically it exists in the Maybe monad for now.
 
3:42 AM
agh crap crap crap, stupid blogger ate my code...
 
3:53 AM
@WorldEngineer let me know what ya think, Combinators Part I: The fall of society Ignore the last part
I haven't finished the final saving-face snippet yet, was just trying to get things formatted properly
 
 
10 hours later…
user41796
1:48 PM
0
Q: What's are some great monad transform tutorials on the net?

chibro2So far I found these three: http://blog.sigfpe.com/2006/05/grok-haskell-monad-transformers.html http://en.wikibooks.org/wiki/Haskell/Monad_transformers#liftM And the chapter from Real World Haskell. They're all pretty good, but thus far on the journey I've found that there's always some obscu...

 
user41796
^^^^^ @JimmyHoffa - you should be a little less obvious in trying to convert everyone to haskell and monads.
 
hello
first time here .. do I just ask a question?
 
user41796
@chibro2 - scroll back through the chat log and you'll see a conversation between WorldEngineer, JimmyHoffa, & psr about various Haskell resources.
 
user41796
@chibro2 - and yes, just asking a question is kind of how it works. Not many are active in the chat room at the moment. The US is still waking up.
 
oh hey oh great thanks ok
Thanks for posting my question here too :)
 
user41796
1:54 PM
You can also call out users with the @ sign. Which is why I pinged Jimmy regarding your question. @WorldEngineer is pretty good about picking up on Haskell conversations as well. Personally, I'm just a simpleton who sticks with OO. :-)
 
Ah great thanks feel like a 7 year old in a new elementary school again and you're that nice dude
 
user41796
yes, we've all had that moment. Chat is a much better place for polling questions. The flipside is that your question may not get as much attention.
 
ah it's ok no different than other times in my life. Thanks again!
 
user41796
You know it's going to be a long day when you spend 15 minutes trying to understand why your new WCF service isn't available and you realize that you forgot to add the operation contract decorator. <sigh>
 
@chibro2 Wish I could help but I haven't frankly bothered working with transformers yet myself. That was going to be my next tackle as well. I have a general understanding of them, what they're for and how they work but actually implementing or working with one iduno.
@GlenH7 heh oops. Look at the bright side, you're not getting null values on datacontract members because you forgot a datamember attribute, that's a nasty one because it gives you no inkling why other than you start getting null reference exceptions somewhere down the stack
 
2:11 PM
@Jimm
@JimmyHoffa It's all good thanks for replying though! If I find anything I'll post it here
 
I think I remember the one on the haskellwiki being fairly well explained, but then I like the writing style on the haskellwiki in general. Very terse and authoratative
 
user41796
@JimmyHoffa - that was a few days ago.... ;-) ironically, I had the same type of problem with advertising an enum since I wasn't using it with a data member yet. <grrrr>
 
user41796
Clearly I'm not the only one having challenges today
 
user41796
1
Q: How do you deal with pain from coding too much?

CielThis is probably not the right place for this question, but I figure it is a board visited by thousands of programmers, and I am a programmer, and it is related, so I would try anyway. This is not a technical question, but rather a physical one - targeting mostly programmers, who have, as we all...

 
@JimmyHoffa yup Im taking a look
 
2:47 PM
Great, I just implemented the maybe monad in C# to actually use it... It was fun when I did that in the past playing around, but actually doing it in a real code base feels really dirty because it is sooo non-idiomatic...
 
3:12 PM
@GlenH7 Where would you suggest asking that question? And can it be edited to be more on topic?
 
@Phil For the medical issues, you should really consider talking to a doctor (don't take medical advice from the internet, it never turns out well). For the productivity issues, you should take a look at our sister site, Personal Productivity.
 
@YannisRizos how do you know I don't have my M.D.? Perhaps internet medical advice from me is fully backed by the united states medical board, did ya ever think of that?
 
@JimmyHoffa That's irrelevant. If you have a M.D. and are giving medical advice over the internet, you're a charlatan.
 
My name's not charles
Oh charlatan, I was thinking charlemagne
:)
 
@Phil Don't edit it - it's gonna end up rejected anyway. It was judged off-topic by enough high reppers to close it, and has attracted quite a few "me too!" answers for the short space of time it's been up. But it got a very decent answer anyway, so hopefully the OP got out of it what they needed.
 
3:43 PM
Wouldn't this throw a StackOverflowException?
 
@maple_shaft that depends.
It looks like java, so; yes.
Though I don't know for certain if any of the JVMs have tail call optimization or not
 
He may be good at Physics, but his Java class design needs some work
 
though if it were tail call optimized (which it could be), it would just be an infinite loop anyway
because there's no exit case
 
@JimmyHoffa I think that NOT throwing a StackOverflow in this case would be a bad thing
 
It would, because then you'd have an infinite loop
stackoverflow is preferable to that
 
3:50 PM
right... thats why I think that tail call optimization, even if it exists, doesn't apply to this scenario
now a better way to do this would be to start a new thread of execution on aim
 
but just saying.. JVM probably does have tail call optimization because it has scala, and it's possible for a java compiler to use those IL codes for that scenario since the parameters are known quantitys. Just saying, not all recursive functions can be tail call optimized, it depends on how the recursive call is given values, but that one could be
 
and a better way still would be to not use catch statements for your application logic flow
 
I suddenly realized he only created that comic specifically to make people have conversations like this
Touche Randal Munroe... you win this round.
 
@JimmyHoffa Hmm... If I had a ton of free time on my hands I would try to modify the JVM source code to see what would happen ;-)
@JimmyHoffa damnit... your right... he got us again lol
 
user41796
4:22 PM
@JimmyHoffa & @maple_shaft - you two are aware of "What If" XKCD, right?
 
user41796
 
user41796
I should probably add a "highly addictive" warning to that URL....
 
@GlenH7 did you just steal my entire morning? In the case of maple_shaft you're liable to get him in some crap, he needs to become a photoshop expert within a week
 
user41796
erm, don't click through then. God save you otherwise.
 
@JimmyHoffa @GlenH7 Don't worry I discovered this months ago and since then have been hitting F5 repeatedly every Tuesday until the new one loads
The first one, Light Speed Baseball Pitch is probably the single funniest thing I have ever read on the Internet
 
user41796
4:29 PM
I need to add What If to my RSS feedlist. Unfortunately, I need to find a new RSS reader package since Google is axing Reader. <sigh>
 
@GlenH7 sucks right?! RSS has been around for over a decade
and I still have yet to find a decent quality RSS feed reader
 
user41796
yeah, I'm annoyed. I use a mac at home and Winders at work. Reader made it easy to jump back and forth between the platforms
 
Its even harder if you have a Blackberry
 
They're killing reader? Ugh. That is indeed the only RSS reader I found worth a damn.
 
user41796
There's the typical internet outrage about it, but they've dropped reader off of the menu bar when you're logged in
 
user41796
4:31 PM
that's pretty much a kiss of death
 
user41796
and I'm pretty happy with my feature phone
 
Does anyone anywhere know why google does these things?
 
I kid you not... the only passable free RSS reader on the Blackberry app marketplace keeps throwing RIMJobException
2
 
HAHAHA
 
user41796
although I've been eying some of the newer androids
 
4:32 PM
dont google that!
 
@maple_shaft make it do that, take a picture of it, and e-mail that image to the daily wtf
btw, I'm 3 back into what-if now, thanks. Jerk. I'm going to close that tab to avoid hurting myself..
 
user41796
too late. Image googled that term. Thanks....
 
If only capturing a screenshot on a blackberry was that simple
 
user41796
I warned you @JimmyHoffa
 
@maple_shaft it's much more fun to take pictures of things that have cameras, the irony is tantamount.
ahhh..closing that tab was smart, I had to larf at the method I just wrote and couldn't reasonably continue immediately, and went looking for that tab. That would have been another 20 minutes lost..
 
 
1 hour later…
user41796
5:52 PM
@YannisRizos - I think a non-friend of the community is back.
 
goma in his head thinks he's a friend, so I can only presume you mean leslar
 
@GlenH7 Is it Leslar? I missed that guy!
 
user41796
Me thinks, yes. <sigh>
 
user41796
MO is a little different but not by much. Rather sporting of him to give us some clues about actual identity
 
user41796
perhaps it's not as much fun if there's no chance of getting caught
 
5:54 PM
> You've earned the "Tumbleweed" badge for Haskell network connection graceful handler. See your profile.
 
@GlenH7 Nothing Leslar-y about this one. But certainly something trollish (oscillation is the latest MSO meme...)
18
A: The Many Memes of Meta

BoltClock's a UnicornMeme: Oscillation Originator: asdf_enel_hak First Heard: February 3rd, 2013 Cultural Height: Oscillates between then and now Definition: The repetitive variation, typically in time, of some measure about a central value (often a point of equilibrium) or between two or more different states (W...

 
user41796
perhaps I should hang out at MSO more often. Or not. P.SE eats up enough of my time as it is. :-)
 
user41796
the comments in that MSO link are hilarious
 
user41796
poor unicorns
 
@GlenH7 poor people feeling sad due to the treatment of imaginary things ;P
 
user41796
5:58 PM
@JimmyHoffa - don't you know? N. Korea has actual, physical evidence of unicorns having existed.
 
user41796
Or so they say. I'm not aware of any outside verification of those claims. But N. Korea has proven very trustworthy in the past with claims like this.
 
@GlenH7 that's right, I forgot about the N. Korean War of '86, personally I wish the unicorns had won.
 
user41796
Shhhh, I think they did
 
ahhh you know, that makes sense, it would totally explain the water slides, everyone knows unicorns love water slides...
 
psr
6:15 PM
The "Let's Trim Our Hair In Accordance With The Socialist Lifestyle Unicorn Fun Play Wet Park" is totally worth a visit.
 
@psr Have you run into the term Combinator yet and/or gotten a definition of it in haskell?
 
psr
6:37 PM
I've looked it up before, but I don't think it's been mentioned in a haskell specific source. I've also read a couple of books about DSLs that had some detail on combinator parsers.
 
7:00 PM
@psr yeah people usually only hear the term related to parsers because you can create great parsers using combinators, but the concept is more generic than that and something you'll hear people talk about a lot regarding haskell. I wrote a little blog on them last night here but that's meant to be generic info for any dev, since you're learning haskell I'd suggest you go learn combinators here:
SKI combinator calculus is a computational system that may be perceived as a reduced version of untyped lambda calculus. It can be thought of as a computer programming language, though it is not useful for writing software. Instead, it is important in the mathematical theory of algorithms because it is an extremely simple Turing complete language. All operations in lambda calculus are expressed in SKI as binary trees whose leaves are one of the three symbols S, K, and I (called combinators). In fact, the symbol I is added only for convenience, and just the other two suffice for all of th...
SKI is just one system of combinators, there's a variety of others but the important point is to understand the behaviour as in haskell it's good practice to break things up into generic combinators, $ for instance is the B combinator from BCKW combinator system
 
7:21 PM
@JimmyHoffa When you turn this into a "useful" programming language, do you wind up with Lisp or ML?
 
user20683
@RobertHarvey when you turn it into Lambda Calculus then yes
 
Gotta put that in my bookmarks. I have a thousand or so of those now; one of these days I'll get around to actually reading all of them. :)
 
user20683
@RobertHarvey there's a good, cheap book by Dover on the subject of Lambda Calculus
 
user20683
 
user20683
it's not very rigorous but other than that, it's pretty solid
 
7:25 PM
Thanks.
 
@RobertHarvey and if you leave it as an unuseful language, you end up with..
Unlambda is a minimal, "nearly pure" functional programming language invented by David Madore. It is based on combinatory logic, a version of the lambda calculus that omits the lambda operator. It relies mainly on two built-in functions (s and k) and an "apply" operator (written `, the backquote character). These alone make it Turing-complete, but there are also some I/O functions to make it possible to interact with the user, some shortcut functions and a function for lazy evaluation. There are no variables in the language. Basic principles As an esoteric programming language, Unlambda is...
But as a useful language it's most related to LISP, after all LISP was originally developed to be the computer based variant of church's lambda calculus, which combinatory calculus is barely different from
ML would be more recognizable in the eyes of...
In mathematical logic and computer science, the lambda-mu calculus is an extension of the lambda calculus, and was introduced by M. Parigot. It introduces two new operators: the mu operator (which is completely different both from the mu operator found in computability theory and from the μ operator of modal μ-calculus) and the bracket operator. Proof-theoretically, it provides a well-behaved formulation of Classical natural deduction. One of the main goals of this extended calculus is to be able to describe expressions corresponding to theorems in classical logic. According to the Curry&...
 
user55340
Ghads... any more talk of this, and @YannisRizos would feel right at home with all the greek. ;-)
 
Lambda-mu being an extension of lambda calculus which implements types, and ML is all about types
 
user20683
Lazy K is the most horrible version
 
7:34 PM
> Lazy K was designed to address a shortcoming of Unlambda; namely, its lack of functional purity
lol... what about it's other shortcoming, being totally useless
 
user20683
@JimmyHoffa Lazy K is even more useless
 
Yeah, but I just love that somebody felt they should fix one of the shortcomings in a turing tar pit, that's like somebody deciding "Huh, I don't like the case sensitivity in lolcode, I'm going to go fix that..."
 
Hello! I'm looking for some guidance with implementing user permissions that does not follow the regular "user may read/write/edit/delete" flagging. I've got multiple objects storing booleans for specific UI functions which is better off implementing a true/false "matrix" instead of bit assignments. My problem is storing this, I'm thinking of storing state blobs, but is this even a good idea? Anyone with a good question link here on programmers opr stackoverflow
 
user55340
@Daniel Is this matrix forever a fixed size?
 
@MichaelT Properties may be added, but not removed
Defaults set in objects
Defaults to* object properties
 
user55340
7:47 PM
I tend to think you want to store this in a more db friendly format - so you can search and update... and then... if you want that boolean matrix, write something either in the database or after you pull the data back to create it.
 
user55340
Storing blobs is one of those 'icky' things when I see it in a database... especially if there is actually structured data within it (rather than just "here's a file" or "here is a serialized object that I really can't do anything with."
 
user55340
@Daniel comments on that? Thoughts?
 
Yeah, I was afraid of that. Though I'd like a good way to implement these permissions that can be quickly re-instatiated becuase no real modifying will be done unless the objects are live.
I guess I'm looking for some sort of article about actually implementing these kind of things.
And how to store them efficiently
I see the problem, unless the originating objects are available the data is fixed. Which is not a good thing.
I'm researching the area and the current system is implementing a column-based matrix which the system is outgrowing
 
user55340
8:42 PM
-2
Q: Should I include poker on my resume?

Paul BIn 2009 I graduated with a degree in compsci, 3.0 gpa from an average school. I worked for a few professors as a research assistant doing fairly simple programming in C/C++. After graduating I found a better paying job at a different school. This job is hard to describe as my duties were all over...

 
user55340
If this question was de-resumed, might it be one that could get moved to the workplace?
 
user41796
@MichaelT what do you mean by de-resumed? The question is inherently about how to explain that period of time on his resume. In any case, I thought "how do I explain ..." Q's were ok for Workplace. Have you flagged the Q for review?
 
user55340
I was under the impression that workplace tried to avoid resume questions.
 
user41796
could be; I don't frequent there often enough to say. Thought I had seen some along those lines though
 
user41796
did you flag? Otherwise I'm happy to do so and I'll put a comment on the P.SE Q
 
user55340
 
user55340
"Please review my resume/CV"
Questions need to apply to more than just you. Since this site is here to help everyone, and not review to a specific resume, these are not "questions" to us as they don't have definite answers.
 
user41796
I went ahead and flagged on that one for migration consideration. Not sure if it's on-topic or not for Workplace, but the mods can figure that out more quickly than you or I can. :-)
 
user55340
Yep... mods are human exception handlers. Still not sure if they want to catch that Blackberry exception though.
 
user20683
@MichaelT /dons biohazard suit and gets to handling with a mop and bucket
 
9:39 PM
Alright. My monadic state machine works in C#... Not yet sure how this will go over with my new team, either they're going to start raising crucifi at me or shrug and just ask if it works... stepping through it debugging is really damn confusing even to me..
@WorldEngineer Don't do it, just wait for RIM to go out of business then claim it unsupported
yeck
 
10:35 PM
@WorldEngineer I just looked at that "Old Man's War" article on wikipedia closer and found it describes the FTL concept, yeah you're right that's basically how the IO monad works. That's pretty funny actually.
 

« first day (931 days earlier)      last day (4078 days later) »