Skip to content

Instantly share code, notes, and snippets.

View bromne's full-sized avatar

bromne

View GitHub Profile
@bromne
bromne / quick_sort.js
Last active June 27, 2016 13:45
Quicksort: comparison of recursive and loop
var swap = function(elements, i, j) {
var temp = elements[i];
elements[i] = elements[j];
elements[j] = temp;
};
var calculate_pivot_index = function(elements, left, right) {
return right;
};
@bromne
bromne / fontawsome_map.tsv
Created July 31, 2016 11:53
Font Awsome 4.6.3: name-entity relation list
fa-500px 
fa-adjust 
fa-adn 
fa-align-center 
fa-align-justify 
fa-align-left 
fa-align-right 
fa-amazon 
fa-ambulance 
fa-american-sign-language-interpreting 
@bromne
bromne / fontawesome_extract_codes.js
Created July 31, 2016 11:58
Font Awesome: extract codes
// このサイトで使った。
// http://fontawesome.io/cheatsheet/
var data = $("div.col-md-4.col-sm-6.col-lg-3").toArray()
.map(function(element) {
var name = $(element).contents()
.filter(function() {
return this.nodeType === 3;
}).text()
.replace(/(^\s+)|(\s+$)/g, "");
var charcter = $("i", element).text();
@bromne
bromne / fragment_monokai.xml
Created August 8, 2016 05:07
Fragment: Monokai color set
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
#!/usr/bin/perl -w
# src/htdocs 下の PHP ファイルのパスを取得して表示します。
# ファイル名が php-files.txt に含まれているもののみ取得します。
# @files は「foo.php」のような PHP ファイル名のリスト,行区切り
open FILE, '<', 'php-files.txt';
chomp(my @files = <FILE>);
# *.php
@bromne
bromne / linq-type-unsafe.cs
Created December 28, 2016 05:52
Linq: type-unsafe
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
IEnumerable values = new List<string>() { "foo", "bar" };
@bromne
bromne / newlang.md
Last active September 18, 2017 03:19
Concept of the new language

新しい言語

**新しい言語(仮称)**のコンセプトです。

パラダイム

  • 静的型つけ: 型の整合性は実行前に完全に検証される
  • クラスベースオブジェクト指向 + 関数型: グローバルな関数よりもobject.method(...)という書き方を優先する,高階関数を多用する
  • 高級: 典型的な表現は簡単な書き方で記述できる
  • 空値安全: 空値(null)の存在は隠ぺいされる
@bromne
bromne / tailcall.js
Created October 24, 2017 03:59
末尾呼び出し最適化
// 参考
// 『Java による関数型プログラミング』7章
let TailRec = {
done: function(result) {
return {
complete: true,
result: result
};
},
@bromne
bromne / gist:9cc125bb1389f1b459a6c4a040b66ad0
Created October 26, 2017 06:18
帰納的可変長多相型(recursive variable-length polymorphic type)
class Router<T...> {
portions: [String];
when (T) {
case <>: {
}
otherwise: {
leading: Router<* T.init>;
parser: Parser<T.last>;
}
@bromne
bromne / NestedParallelStream.scala
Last active November 17, 2017 00:47
ネストされた並列ストリームでは、ScalaのストリームとJavaのストリームで挙動が異なる
import java.util.stream.IntStream
object NestedParallelStream {
def main(args: Array[String])]: Unit = {
iterateScalaStream()
iterateJavaStream()
}
def iterateScalaStream(): Unit = {
Stream.range(0, 100)