Perlゼミ はてな出張所

Perlゼミのはてな出張所。Perlイベントなどの紹介

2019年6月15日 Perl入学式 東京 第三回 レポート

本日は雨模様。講義資料が少し変わったらしく。前回の復習と、正規表現のようです。最初の自己紹介で、直近の仕事で、正規表現を活用した例を話しました。正規表現で、日々の作業を楽にしていきましょう。四則演算の復習 13:20前回の復習です。簡単な四則演…

MojoliciousでLet's Encryptのサーバー証明書を取得

ルモーリンさんが、MojoliciousでLet's Encryptのサーバー証明書を取得という記事を書いておられた。Mojoliciousを一般ユーザーで運用するときに、役立ちそうなのでメモ。ホームページに記事を追加しました日本で唯一の記事を書けたと自負しております(こう…

Perlの公式ドキュメントperldocがスマートフォン対応の新しいデザインに

Perlの公式ドキュメントperldocがスマートフォン対応の新しいデザインになりました。5.30.0 Documentation - Perl Language2019年もPerlは、更新・メンテナンスされ続けていきます。

PerlテックブログはPerlゼミ はてな出張所に名称が変わりました

PerlテックブログはPerlゼミ はてな出張所に名称が変わりました。Perlゼミ はてな出張所では、Perlのイベント情報などを、書きこしていこうと思います。

テストページ

テストページ

ネイティブのディレクトリ構成を変えてみる - SPVM開発日記

SPVM言語自体は、仕様が完成に近づいてきた。まだまだ、仕様に未定の部分があるのが、C言語につなげるナイティブな部分。もう少しディレクトリ構成を簡単にできそう。デフォルトのincludeとlibのディレクトリ構成についても、もう少し考えないといけなさそう…

C言語は安全性ではなく完全にパフォーマンスをとる - SPVM開発日記

C言語の設計は、安全なことではなくって、完全にパフォーマンス。「もし、プログラマが、間違った引数を渡したら、セグフォールトしますよ。チェックなんてしません。パフォーマンスが落ちるので」という感じ。メモリセーフな言語は、セグフォールトを許さな…

C言語におけるポインタの引数をどう表現するか

SPVMには、ポインタというものはない。C言語のポインタ引数は、アドレスそのものなので、8bit整数でも、32bit整数でもよいし、配列の先頭を指しても、配列の中間を指してもよいし、なんでもできる。いくつかのアプローチがあるけれど、記述性やパフォーマン…

ファイル入出力のライブラリ - SPVM開発日記

ファイル入出力のライブラリを作成していきます。WindowsとLinux/Unixでソケット通信ができるようになるところが、目的地。

比較演算子の仕様を書いていこう - SPVM開発日記

比較演算子の仕様を書いていこう。

インターフェース型は、サブルーチン型に名称変更したい

インターフェースという名前は、複数の意味がある。一般的は、同じ関数名、引数、戻り値を持つものをインターフェースと呼ぶが、インターフェースという名前が、言語の機能そのものである場合もある。現在策定中のSPVMでは、インターフェース型は、サブルー…

仕様作成で根本的な誤りに気が付く - SPVM開発日記

SPVMの仕様書を書いているのですが、数値演算の仕様を書いているときに、根本的な勘違いに気が付く。それは、数値計算はJavaと同じ仕様にしようと思ったのですが、SPVMは、C言語のラッパーを目指しているので、C言語の仕様になるということ。たとえば、他の…

比較演算子の見直し - SPVM開発日記

比較演算子と論理演算子が戻り値を返せないのは、よくよく考えるとおかしいと思うようになってきた。 my $ret = 2 > 1; my $ret = 2 || 1; ができるようにしなくっちゃ。これは、大変やー。

数値計算の仕様を書いていく - SPVM開発日記

数値計算の仕様を書いていく。数値計算は、めっちゃ苦手な分野。ラウンドトリップとか、浮動小数点演算とか、仕様なのか処理系依存なのか、いろいろなことが、いまだによくわかっていない。

CGIのお問合せフォームをひとつつける

静的HTML構成ツールに、CGIのお問合せフォームをひとつ作ろうと思う。さくらスタンダードならLet's EncryptでSSL化ができそう。ページ構成を静的HTMLにして、お問合せだけ、CGIのフォームを作る。こうすると、サービスや商品を作っている人が、Webで公開して…

giblogのリポジトリを作成した

HTML構成ツール「giblog」のリポジトリを作成した。github.comこれは、PerlゼミやSPVMの情報発信ツールという位置づけです。簡単にブログを作成して、すぐにリリースするということをやりたくって、作り始めています。これは、コマンドラインツールです。GUI…

情報発信用にHTMLの静的構成ツールを作成する

PerlゼミとSPVMの情報発信用に、HTMLの静的構成ツールを、作成したくなってきた。ちょっと作ってみよう。

UTF8とUnicodeコードポイント、UnicodeコードポイントとUTF-16の相互変換 - SPVM開発日記

SPVMの文字コードはUTF-8にしようと考えている。Webの標準的な文字コードはUTF-8である。Windowsの標準文字コードは、日本語環境だとcp932だが、内部的には、UTF-16で処理されているらしい。とすると、UTF-8とUnicodeコードポイント、Unicodeコードポイント…

ASCIIコードを表現するエスケープ - SPVM開発日記

ASCIIコードを表現できるエスケープ表現を追加したい。 "\0D\0A\00";

シングルトンのtrueとfalse - SPVM開発日記

trueとfalseという存在は、プログラムの中で一意にしておいたほうが、メモリやパフォーマンス上よいだろう。シングルトンのtrueとfalseを作ろう。

文字列定数のコンパイル時連結 - SPVM開発日記

"abc" . "def" をコンパイル時に "abcdef" に変換する

__LINE__, __FILE__, __PACKAGE__ - SPVM開発日記

定数として「__LINE__」「__FILE__」「__PACKAGE__」を導入したい。

UnicodeのコードポイントとUTF-8はアルゴリズムで変換できるのね - SPVM開発日記

文字コードでUnicodeとUTF-8について調べていた。UTF-8の文字列で、文字の長さの取得方法、一文字づつ取得するのってどうするんだろうって動機で。UnicodeのコードポイントとUTF-8はアルゴリズムで変換できるみたいね。そうすると、文字列リテラルで、Unicod…

SPVMの仕様策定へ向けて - SPVM開発日記

SPVMの仕様を確定するために、ドキュメントと試験を並行して書いていく。最初は、未定義値と整数リテラル。ドキュメントはこちら。SPVM公式ドキュメント 1.0 ベータ

文字列リテラルと数値リテラルの改善 - SPVM開発日記

文字列リテラルと数値リテラルを見直す。C言語とPerlのリテラル表現を見比べて、どれが一番フィットするかを調査。

「YAPC 2019 東京」の前にPerlがどんなもんかサラッと見ておきたい学生さんは「Perl基本文法最速マスター」が便利

「YAPC 2019 東京」の前にPerlがどんなもんかサラッと見ておきたい学生さんは「Perl基本文法最速マスター」が便利です。30分くらいで、読み通せるので、ふむふむとなって、さらに、YAPCがいい感じになります。d.hatena.ne.jp「なんかちょっとだけPerlやった…

ネイティブAPIの名前を短く - SPVM開発日記

ネイティブAPIの名前を短くしたい。頻繁に使うものの名前は短く。

ネイティブAPIの整理 - SPVM開発日記

C拡張で利用できるネイティブAPIを整理する。

スレッドごとの例外変数とモータルスタック - SPVM開発日記

SPVMにはスレッド機構はないが、C拡張からスレッドを使ったときに、SPVMのデータが破損しないように実装したい。例外変数とモータルスタックがグローバルなので、スレッドを生成したときに破壊されてしまうので、スレッド単位で壊れないようにする。

ウィークリファレンス情報を改善して、オブジェクトサイズを小さくする - SPVM開発日記

オブジェクトサイズの最適化をしていく。現在は、ウィークリファレンスのための、フィールドが、3つある。「バックリファレンスの配列への参照」「バックリファレンスの長さ」「バックリファレンスのキャパシティ」弱参照というのは、普段は使わない機能なの…