Search Results

Search found 15051 results on 603 pages for 'meta programming'.

Page 176/603 | < Previous Page | 172 173 174 175 176 177 178 179 180 181 182 183  | Next Page >

  • Zipping with padding in Haskell

    - by Travis Brown
    A couple of times I've found myself wanting a zip in Haskell that adds padding to the shorter list instead of truncating the longer one. This is easy enough to write. (Monoid works for me here, but you could also just pass in the elements that you want to use for padding.) zipPad :: (Monoid a, Monoid b) => [a] -> [b] -> [(a, b)] zipPad xs [] = zip xs (repeat mempty) zipPad [] ys = zip (repeat mempty) ys zipPad (x:xs) (y:ys) = (x, y) : zipPad xs ys This approach gets ugly when trying to define zipPad3. I typed up the following and then realized that of course it doesn't work: zipPad3 :: (Monoid a, Monoid b, Monoid c) => [a] -> [b] -> [c] -> [(a, b, c)] zipPad3 xs [] [] = zip3 xs (repeat mempty) (repeat mempty) zipPad3 [] ys [] = zip3 (repeat mempty) ys (repeat mempty) zipPad3 [] [] zs = zip3 (repeat mempty) (repeat mempty) zs zipPad3 xs ys [] = zip3 xs ys (repeat mempty) zipPad3 xs [] zs = zip3 xs (repeat mempty) zs zipPad3 [] ys zs = zip3 (repeat mempty) ys zs zipPad3 (x:xs) (y:ys) (z:zs) = (x, y, z) : zipPad3 xs ys zs At this point I cheated and just used length to pick the longest list and pad the others. Am I overlooking a more elegant way to do this, or is something like zipPad3 already defined somewhere?

    Read the article

  • posmax: like argmax but gives the position(s) of the element x for which f[x] is maximal

    - by dreeves
    Mathematica has a built-in function ArgMax for functions over infinite domains, based on the standard mathematical definition. The analog for finite domains is a handy utility function. Given a function and a list (call it the domain of the function), return the element(s) of the list that maximize the function. Here's an example of finite argmax in action: http://stackoverflow.com/questions/471029/canonicalize-nfl-team-names/472213#472213 And here's my implementation of it (along with argmin for good measure): (* argmax[f, domain] returns the element of domain for which f of that element is maximal -- breaks ties in favor of first occurrence. *) SetAttributes[{argmax, argmin}, HoldFirst]; argmax[f_, dom_List] := Fold[If[f[#1]>=f[#2], #1, #2]&, First[dom], Rest[dom]] argmin[f_, dom_List] := argmax[-f[#]&, dom] First, is that the most efficient way to implement argmax? What if you want the list of all maximal elements instead of just the first one? Second, how about the related function posmax that, instead of returning the maximal element(s), returns the position(s) of the maximal elements?

    Read the article

  • Telling someone to "let the world judge their development practices" without being condicending?

    - by leeand00
    There's a person in management on my team, that: Doesn't ask questions on Stack Overflow. Doesn't read development blogs. Doesn't use development best practices. This person is about to make some major decisions about the technology stack that will be used throughout the company. (I asked him what the technology stack was they were planning to use was, and it included many things that are not even development tools). How can I tell them to "Let the world's experience" judge their development practices, before they set them in stone; without being condescending or upsetting them?

    Read the article

  • Using static variable in function vs passing variable from caller

    - by Patrick
    I have a function which spawns various types of threads, one of the thread types needs to be spawned every x seconds. I currently have it like this: bool isTime( Time t ) { return t >= now(); } void spawner() { while( 1 ) { Time t = now(); if( isTime( t ) )//is time is called in more than one place in the real function { launchthread() t = now() + offset; } } } but I'm thinking of changing it to: bool isTime() { static Time t = now(); if( t >= now() ) { t = now() + offset; return true; } return false; } void spawner() { if( isTime() ) launchthread(); } I think the second way is neater but I generally avoid statics in much the same way I avoid global data; anyone have any thoughts on the different styles?

    Read the article

  • php functions new php developers should be aware of

    - by John
    Can people suggest a list of common or popular php functions that new/junior programmers should be aware of so that they don't "re-invent-the-wheel" so to speak? For example, I've seen a lot of new coders try to write their own date parsing functions when a combination of date(), strtotime() and time() can do everything their looking for. Any other ones you guys want to add to this list? Thanks

    Read the article

  • F#: how to find Cartesian power

    - by Nike
    I have a problem with writing a Cartesian power function. I found many examples about calculating Cartesian Product, but no one about Cartesian power. For example, [1;2] raised to power 3 = [ [1;1;1] ; [1;1;2] ; [1;2;1] ; [1;2;2] ; [2;1;1] ; [2;1;2] ; [2;2;1]; [2;2;2] ] I use following code to calculate Cartesian Product: let Cprod U V = let mutable res = [] for u in U do for v in V do res <- res @ [[u;v]] res And trying to calculate Cartesian power. I use following code to calculate Cartesian Product: let Cpower U n = let mutable V = U for i=0 to n-1 do V <- Dprod U V V Visual Studio said: Error The resulting type would be infinite when unifying ''a' and ''a list'. I will thankful for any help and links.

    Read the article

  • Hex Decompilers for PIC

    - by Chathuranga Chandrasekara
    I've faced to a problem with a PIC Micro controller. I have a micro-controller programmed by me long time ago and I lost the relevant source code and the schematic diagrams. Now I need to invert the value of a port. I can do this using some NOT gates but it is a big hassle to do so. or alternatively I will need to write the whole program back. I don't expect to see the code back in PIC C or MikroC. Having an understandable assembly code would be sufficient. So do anyone has any experience on a good HEX decompiler that I can use for this purpose? Any comments based on your experience? :)

    Read the article

  • How to number the ls output in unix?

    - by Snehal
    I am trying to write a file with format - "id file_absolute_path" which basically lists down all the files recursively in a folder and give an identifier to each file listed like 1,2,3,4. I can get the absolute path of the files recursively using the following command: ls -d -1 $PWD/**/*/* However, I am unable to give an identifier from the output of the ls command. I am sure this can be done using awk, but can't seem to solve it.

    Read the article

  • The next step & technology towards web services.

    - by webzide
    Hi, My name is Dennis and I am pretty ambitious of creating the next big thing for the web. I have ideas but now I gotta get to work to learn the tools. I am learning Javascript. I don't know if next step for me to take is PHP or some suggests RUBY on Rails. What are the pros and cons. With your experience, I wish you could hint me to the right direction. Thanks. I don't mind working hard. My goal is to create a comprehensive and secure web service platform as well as a fast and user friendly UI.

    Read the article

  • Explain ML type inference to a C++ programmer

    - by Tsubasa Gomamoto
    How does ML perform the type inference in the following function definition: let add a b = a + b Is it like C++ templates where no type-checking is performed until the point of template instantiation after which if the type supports the necessary operations, the function works or else a compilation error is thrown ? i.e. for example, the following function template template <typename NumType> NumType add(NumType a, NumType b) { return a + b; } will work for add<int>(23, 11); but won't work for add<ostream>(cout, fout); Is what I am guessing is correct or ML type inference works differently? PS: Sorry for my poor English; it's not my native language.

    Read the article

  • Help me understand this C code

    - by Benjamin
    INT GetTree (HWND hWnd, HTREEITEM hItem, HKEY *pRoot, TCHAR *pszKey, INT nMax) { TV_ITEM tvi; TCHAR szName[256]; HTREEITEM hParent; HWND hwndTV = GetDlgItem (hWnd, ID_TREEV); memset (&tvi, 0, sizeof (tvi)); hParent = TreeView_GetParent (hwndTV, hItem); if (hParent) { // Get the parent of the parent of the... GetTree (hWnd, hParent, pRoot, pszKey, nMax); // Get the name of the item. tvi.mask = TVIF_TEXT; tvi.hItem = hItem; tvi.pszText = szName; tvi.cchTextMax = dim(szName); TreeView_GetItem (hwndTV, &tvi); //send the TVM_GETITEM message? lstrcat (pszKey, TEXT ("\\")); lstrcat (pszKey, szName); } else { *pszKey = TEXT ('\0'); szName[0] = TEXT ('\0'); // Get the name of the item. tvi.mask = TVIF_TEXT | TVIF_PARAM; tvi.hItem = hItem; tvi.pszText = szName; tvi.cchTextMax = dim(szName); if (TreeView_GetItem (hwndTV, &tvi)) //*pRoot = (HTREEITEM)tvi.lParam; //original hItem = (HTREEITEM)tvi.lParam; else { INT rc = GetLastError(); } } return 0; } The block of code that begins with the comment "Get the name of the item" does not make sense to me. If you are getting the listview item why does the code set the parameters of the item being retrieved? If you already had the values there would be no need to retrieve them. Secondly near the comment "original" is the original line of code which will compile with a warning under embedded visual c++ 4.0, but if you copy the exact same code into visual studio 2008 it will not compile. Since I did not write any of this code, and am trying to learn, is it possible the original author made a mistake on this line? The *pRoot should point to HKEY type yet he is casting to an HTREEITEM type which should never work since the data types don't match?

    Read the article

  • Conventions for the behavior of double or triple "click to select text" features?

    - by John Sullivan
    Almost any mature program that involves text implements "double click to select the word" and, in some cases, "triple click to select additional stuff like an entire line" as a feature. I find these features useful but they are often inconsistent between programs. Example - some programs' double clicks do not select the ending space after a word, but most do. Some recognize the - character as the end of a word, others do not. SO likes to select the entire paragraph as I write this post when I triple click it, VS web developer 2005 has no triple click support, and ultra-edit 32 will select one line upon triple clicking. We could come up with innumerable inconsistencies about how double and triple click pattern matching is implemented across programs. I am concerned about how to implement this behavior in my program if nobody else has achieved a convention about how the pattern matching should work. My question is, does a convention (conventions? maybe an MS or Linux convention?) exist that dictates how these features are supposed to behave to the end user? What, if any, are they?

    Read the article

  • Good language to learn in order to build small websites

    - by mkoryak
    I want to start building websites and charging people for them! My problem is that the stack that know well does not lend itself to quick development, or cheap hosting. I am looking for languages that satisfy the following criteria: Fast to develop in Can find cheap hosting for it Bonus points if it can also be 'enterprisey'

    Read the article

  • my realtime network receiving time differs a lot, anyone can help?

    - by sguox002
    I wrote a program using tcpip sockets to send commands to a device and receive the data from the device. The data size would be around 200kB to 600KB. The computer is directly connected to the device using a 100MB network. I found that the sending packets always arrive at the computer at 100MB/s speed (I have debugging information on the unit and I also verified this using some network monitoring software), but the receiving time differs a lot from 40ms to 250ms, even if the size is the same (I have a receiving buffer about 700K and the receiving window of 8092 bytes and changing the window size does not change anything). The phenomena differs also on different computers, but on the same computer the problem is very stable. For example, receiving 300k bytes on computer a would be 40ms, but it may cost 200ms on another computer. I have disabled firewall, antivirus, all other network protocol except the TCP/IP. Any experts on this can give me some hints?

    Read the article

< Previous Page | 172 173 174 175 176 177 178 179 180 181 182 183  | Next Page >