Git Product home page Git Product logo

nothing's People

Contributors

gregoryyoung avatar jkonecki avatar jvitkauskas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

nothing's Issues

Serialization/Deserialization

The Nothing type needs to correctly support serialization and deserialization so that the "Nothing.Instance == Nothing.Instance" is always true :)

Bug: this type supports the "null" value

The "Nothing" type supports the "null" value in addition to the "Instance" value. That's a bug. Please update your programming language to make sure that it doesn't permit null values of this type under normal use. Do not close this issue until you have successfully done this.

Is this project still active?

SMH no commits on this project for years. My enterprise is using this for a very critical function in our FizzBuzz factory and I need my features to be implemented! It can't even be that hard. You need to take your responsibility as an open source author more seriously.

I keep checking for updates, but there's Nothing here.

Update README to explain the reasoning behind the library

Personally, I don't understand the benefit/purpose of trying to replace the void type with Nothing other than, arguably, slightly better readability. I could argue that this library adds an extra layer of complexity given Nothing doesn't really appear to be nothing (it retains an internal instance).

I think as part of the README you should justify your reasoning for the use of Nothing vs void.

Please reference the originator

I would encourage you to add a reference to William Shakespeare, who first came up with the idea, see here

image

The .NET community has a problem acknowledging the original creators of ideas and their connections to other technical, theatric and dramatic communities. Please set an example to the community in this regard.

Continuous integration?

I'm looking for ways to contribute to this project and thought setting up a CI server for it might be the best place to start.

What should we use for CI on this one? Is Travis enough? I'm OK with setting up a dedicated Jenkins server if people think we'll need the throughput.

I assume this needs to be built and tested cross-platform too.

Insufficiently specific

This library is great for representing that there is no thing. But what if we need to be more specific about what we do not have? This library needs NoOne, NoChance, NoIdea etc.

Where are the unit tests?

I know this is a small framework in all, but where are the unit tests? It even has unit as the name!

Lacks symmetry

To be a well rounded Framework I suggest making it more symetrical by adding an All type. With All and Nothing it is surely a framework I would bet on.

Needs a security review

We need to make sure this gets a security review. With this recent events in the news, we need to be confident that this won't allow attackers to gain access from an exploit. My company won't allow any code that hasn't been thoroughly reviewed.

i18n & call for translators!

Let's get all strings moved to a resource file and get started localizing. I will volunteer to take Klingon. I'm halfway done already.

Is it web scale?

Since framework looks pretty mature right now I think we should focus on the most serious goals. Maybe it should be rewritten using vanila javascript, renamed to nothing.js and eventually transpiled to .NET framework to maintain good web scalability.

cannot find the nothing(tm) logo

Given good ideas live forever and everything starts from nothing. I see this becoming the next big thing.
Has 0 dependencies, you cannot get more stable than that #bigWinRightHere. From now on I will use it as foundation to bootstrap our enterprise wide projects.

Where do I get your logo this is definitely our competitive advantage and I want to make it visible on our corporate site.

Awesome job guys!

Performance metrix

I think an important feature is how nothing performs, so I would like a performance metrix to ensure it provides industry leading performance. With nothing being essential to lots og applications, how it performs is critical.

Roadmap please!

As mentioned in this issue, this framework needs a roadmap. We all know no one use a framework until it reaches at least version 2.0 or 3.0. Version 1.0 is just a hack.

Please add a roadmap so we can have confidence that "Nothing" is actually going "somewhere" (ha ha), and won't just stagnate like so many promising projects before it.

Big Nothing and Inference?

The age of the data scientist is upon us. In the era of big data we need frameworks that can handle the uncertainty and scale inherent in the never-ending rivers of data observations coming from IoT, DevOps, web analytics and microservices.

Now, ask yourself: what is at the heart of this? What is the core problem that no one has addressed? What does that data contain most of the time? Yes!! Nothing!!!!

What could possibly be more central to the challenges faced by the data industry than a scalable, streaming and inherently probabilistic treatment of Nothingness?

The timeliness of this framework is matched only by the urgency of the problem it addresses. We need a probabilistic, inference-ready, learning-powered nothingess. If you can take this wonderful Nothing framework in that direction, you will address the vacuous heart of information science today, right at its core.

Nuget package?

I'd like to use this in my project as a nuget dependency.

List of nothing like

Rx.Net:
https://github.com/dotnet/reactive/blob/525b719f5e341a4c0cc6668028fdd15194de5559/Rx.NET/Source/src/System.Reactive/Unit.cs

System.Threading.Channels:
https://github.com/dotnet/corefx/blob/master/src/System.Threading.Channels/src/System/VoidResult.cs

Other like:

var unitLike1 = new System.ValueTuple();
var unitLike2 = System.Threading.Tasks.Task.CompletedTask;
var unitLike3 = new  System.Threading.Tasks.ValueTask();
object unitLike4 = null;

F# unit

// Unit
using Microsoft.FSharp.Core;
using System;

[Serializable]
[CompilationMapping(SourceConstructFlags.ObjectType)]
public sealed class Unit : IComparable
{
	internal Unit()
	{
		((object)this)..ctor();
	}

	public override int GetHashCode()
	{
		return 0;
	}

	public override bool Equals(object obj)
	{
		if (obj != null)
		{
			if (!LanguagePrimitives.IntrinsicFunctions.TypeTestGeneric<Unit>(obj))
			{
				return false;
			}
			return true;
		}
		return true;
	}

	private virtual int System-IComparable-CompareTo(object _obj)
	{
		return 0;
	}

	int IComparable.CompareTo(object _obj)
	{
		//ILSpy generated this explicit interface implementation from .override directive in System-IComparable-CompareTo
		return this.System-IComparable-CompareTo(_obj);
	}
}

C# void:

// Void
using System;
using System.Runtime.InteropServices;

/// <summary>Specifies a return value type for a method that does not return a value.</summary>
[Serializable]
[StructLayout(LayoutKind.Sequential, Size = 1)]
[ComVisible(true)]
[__DynamicallyInvokable]
public sealed class Void
{
}

Documentation?

Just a placeholder to remind us not to forget this one - this framework needs documentation, including both a tutorial for beginners and a more in-depth guide for advanced users

Not very testable...

I'd love to use this, but since it doesn't implement an interface and relies on a static instance, it's a lot more work to integrate Nothing in my DI framework and mock it out.

compiler optimization

I'd like to use this but I'm concerned about the overhead of creating classes.

If Nothing is truly nothing then shouldn't it be removed at compile time? Otherwise it's technically something.

I'm confused, is "Nothing" like "void" or "null" or the empty string or...

I'm new to "Nothing" and I'm trying to get the hang of this framework. I'm used to navigating big frameworks like Entity Framework. But this one is really baffling me.

First, why do we need it? I mean, we already have "void". Isn't "void" good enough? Or is Nothing like "null"? But then I've never understood the difference between the empty string and "null". And why not just use 0 (32-bit or 64-bit?) as void anyway? JavaScript just has none of these problems. And if I have a list of nothing, is that nothing? It's making my head hurt just to think about that.

Secondly, I don't understand the future evolution path. What's the roadmap here? What can we expect in Nothing 2.0? I'll add a separate issue about this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.